From d3f48aaa2e42e6148df7a3c6b1f936eac93ee849 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 10:09:40 -0500 Subject: [PATCH 01/24] ci: Add containers_config workflow --- .github/workflows/containers_config.yml | 31 ++++++++++++ conf/containers/docker.config | 64 +++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 .github/workflows/containers_config.yml create mode 100644 conf/containers/docker.config diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml new file mode 100644 index 000000000..2e0b58a60 --- /dev/null +++ b/.github/workflows/containers_config.yml @@ -0,0 +1,31 @@ +name: CI + +on: + # FIXME Remove these and only run on release or PRs to main + push: + branches: [main,dev] + pull_request: + branches: [main,dev] + release: + types: [published] + # TODO workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + env: + FORCE_COLOR: 1 + # TODO matrix: + steps: + # TODO + # - uses: earthly/actions/setup-earthly@v1 + # with: + # version: v0.8.13 + - uses: actions/checkout@v2 + - uses: nf-core/setup-nextflow@v2 + with: + version: "25.01.0-edge" + - name: Snapshot containers + run: | + nextflow inspect . -profile wave,docker -format config > conf/containers/docker.config + diff --git a/conf/containers/docker.config b/conf/containers/docker.config new file mode 100644 index 000000000..f297d788d --- /dev/null +++ b/conf/containers/docker.config @@ -0,0 +1,64 @@ +process { withName: 'DUPRADAR' { container = 'community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'FASTP' { container = 'community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'DESEQ2_QC' { container = 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } +process { withName: 'GFFREAD' { container = 'community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'CAT_FASTQ' { container = 'community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } +process { withName: 'GUNZIP' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } +process { withName: 'SAMTOOLS_STATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'HISAT2_BUILD' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'TRIMGALORE' { container = 'community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } +process { withName: 'QUALIMAP_RNASEQ' { container = 'community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } +process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } +process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } +process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'UCSC_BEDCLIP' { container = 'community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } +process { withName: 'SAMTOOLS_SORT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } +process { withName: 'SALMON_INDEX' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'HISAT2_ALIGN' { container = 'community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } +process { withName: 'KALLISTO_INDEX' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'UMICOLLAPSE' { container = 'community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } +process { withName: 'BBMAP_BBSPLIT' { container = 'community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } +process { withName: 'RSEQC_TIN' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'KALLISTO_QUANT' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'SAMTOOLS_IDXSTATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STAR_GENOMEGENERATE' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'SALMON_QUANT' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'FQ_LINT' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } From ee28ef229b02fec7dd96b83b36301b44f606a501 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 10:23:25 -0500 Subject: [PATCH 02/24] ci: Give it a matrix --- .github/workflows/containers_config.yml | 12 ++++++++++-- ...{docker.config => containers_docker_amd64.config} | 0 2 files changed, 10 insertions(+), 2 deletions(-) rename conf/containers/{docker.config => containers_docker_amd64.config} (100%) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index 2e0b58a60..3b2074503 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -15,7 +15,10 @@ jobs: runs-on: ubuntu-latest env: FORCE_COLOR: 1 - # TODO matrix: + strategy: + matrix: + container_type: ['docker', 'singularity'] # TODO , "singularity_oras"] + architecture: ['amd64', 'arm64'] steps: # TODO # - uses: earthly/actions/setup-earthly@v1 @@ -27,5 +30,10 @@ jobs: version: "25.01.0-edge" - name: Snapshot containers run: | - nextflow inspect . -profile wave,docker -format config > conf/containers/docker.config + if [ "${{ matrix.architecture }}" == "arm64" ]; then + profile="wave,${{ matrix.container_type }},arm" + else + profile="wave,${{ matrix.container_type }}" + fi + nextflow inspect . -profile $profile -format config > conf/containers/containers_${{ matrix.container_type }}_${{ matrix.architecture }}.config diff --git a/conf/containers/docker.config b/conf/containers/containers_docker_amd64.config similarity index 100% rename from conf/containers/docker.config rename to conf/containers/containers_docker_amd64.config From 09a8ce8d47ae798363df27cce5afba570e29dce0 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 11:21:58 -0500 Subject: [PATCH 03/24] ci: Update names --- .github/workflows/containers_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index 3b2074503..267f3b2f3 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -1,4 +1,4 @@ -name: CI +name: Container Configs on: # FIXME Remove these and only run on release or PRs to main From d082b44e257c779a04b74876339042bd662feb46 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 11:32:38 -0500 Subject: [PATCH 04/24] ci: Add commit step --- .github/workflows/containers_config.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index 267f3b2f3..b98f78f06 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -1,7 +1,7 @@ name: Container Configs on: - # FIXME Remove these and only run on release or PRs to main + # FIXME Remove these and only run on release or PRs to main or TEMPLATE updates push: branches: [main,dev] pull_request: @@ -36,4 +36,14 @@ jobs: profile="wave,${{ matrix.container_type }}" fi nextflow inspect . -profile $profile -format config > conf/containers/containers_${{ matrix.container_type }}_${{ matrix.architecture }}.config + - name: Commit & push changes + id: commit-and-push + run: | + git config user.email "core@nf-co.re" + git config user.name "nf-core-bot" + git config push.default upstream + git add . + git status + git commit -m "[automated] Update container configs" + git push From f44a3b487bcb61d2fe581dcea00f0e0d6d8f6c4d Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 11:42:35 -0500 Subject: [PATCH 05/24] ci: Check out with bot auth token and just add containers --- .github/workflows/containers_config.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index b98f78f06..9162a9a8b 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -24,7 +24,10 @@ jobs: # - uses: earthly/actions/setup-earthly@v1 # with: # version: v0.8.13 - - uses: actions/checkout@v2 + # Use the @nf-core-bot token to check out so we can push later + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + token: ${{ secrets.nf_core_bot_auth_token }} - uses: nf-core/setup-nextflow@v2 with: version: "25.01.0-edge" @@ -42,7 +45,7 @@ jobs: git config user.email "core@nf-co.re" git config user.name "nf-core-bot" git config push.default upstream - git add . + git add conf/containers/ git status git commit -m "[automated] Update container configs" git push From f45a4a4045e427f425b872921beb43c2f80e7cc0 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 11:47:47 -0500 Subject: [PATCH 06/24] ci: Checkout pull request HEAD commit instead of merge commit --- .github/workflows/containers_config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index 9162a9a8b..7826f24dd 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -28,6 +28,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: token: ${{ secrets.nf_core_bot_auth_token }} + ref: ${{ github.event.pull_request.head.sha }} - uses: nf-core/setup-nextflow@v2 with: version: "25.01.0-edge" From 36980a3b9584515c1d5bb742307375c7e7509680 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 11:58:59 -0500 Subject: [PATCH 07/24] ci: Try with head_ref --- .github/workflows/containers_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index 7826f24dd..bafa64253 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -28,7 +28,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: token: ${{ secrets.nf_core_bot_auth_token }} - ref: ${{ github.event.pull_request.head.sha }} + ref: ${{ github.head_ref }} - uses: nf-core/setup-nextflow@v2 with: version: "25.01.0-edge" From 3a6b4ca11d19c1266a5c9a1009e6ecf74e0612cc Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 13:25:46 -0500 Subject: [PATCH 08/24] ci: Add a . --- .github/workflows/containers_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index bafa64253..9446271f7 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -46,7 +46,7 @@ jobs: git config user.email "core@nf-co.re" git config user.name "nf-core-bot" git config push.default upstream - git add conf/containers/ + git add conf/containers/. git status git commit -m "[automated] Update container configs" git push From 095a5151e915b05a29b7df9488acf70648055f79 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 13:54:06 -0500 Subject: [PATCH 09/24] ci: Run containers snapshot in one step --- .github/workflows/containers_config.yml | 26 +++++++++++-------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index 9446271f7..53b692e7b 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -15,16 +15,7 @@ jobs: runs-on: ubuntu-latest env: FORCE_COLOR: 1 - strategy: - matrix: - container_type: ['docker', 'singularity'] # TODO , "singularity_oras"] - architecture: ['amd64', 'arm64'] steps: - # TODO - # - uses: earthly/actions/setup-earthly@v1 - # with: - # version: v0.8.13 - # Use the @nf-core-bot token to check out so we can push later - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: token: ${{ secrets.nf_core_bot_auth_token }} @@ -34,12 +25,17 @@ jobs: version: "25.01.0-edge" - name: Snapshot containers run: | - if [ "${{ matrix.architecture }}" == "arm64" ]; then - profile="wave,${{ matrix.container_type }},arm" - else - profile="wave,${{ matrix.container_type }}" - fi - nextflow inspect . -profile $profile -format config > conf/containers/containers_${{ matrix.container_type }}_${{ matrix.architecture }}.config + mkdir -p conf/containers + for container in docker singularity; do + for arch in amd64 arm64; do + if [ "$arch" = "arm64" ]; then + profile="wave,$container,arm" + else + profile="wave,$container" + fi + nextflow inspect . -profile $profile -format config > conf/containers/containers_${container}_${arch}.config + done + done - name: Commit & push changes id: commit-and-push run: | From 4fb75479fea2fd446aa20cce1d207924e59f8b5f Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 14:00:01 -0500 Subject: [PATCH 10/24] ci: Sort the outputs ourselves --- .github/workflows/containers_config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/containers_config.yml b/.github/workflows/containers_config.yml index 53b692e7b..e179c3b38 100644 --- a/.github/workflows/containers_config.yml +++ b/.github/workflows/containers_config.yml @@ -34,6 +34,8 @@ jobs: profile="wave,$container" fi nextflow inspect . -profile $profile -format config > conf/containers/containers_${container}_${arch}.config + echo "Created conf/containers/containers_${container}_${arch}.config" + sort -o conf/containers/containers_${container}_${arch}.config conf/containers/containers_${container}_${arch}.config done done - name: Commit & push changes From 05fe8dbe32bab087a1258b5b1eca685f92f330cb Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Mon, 17 Mar 2025 19:06:30 +0000 Subject: [PATCH 11/24] [automated] Update container configs --- .../containers/containers_docker_amd64.config | 104 +++++++++--------- .../containers/containers_docker_arm64.config | 64 +++++++++++ .../containers_singularity_amd64.config | 64 +++++++++++ .../containers_singularity_arm64.config | 64 +++++++++++ 4 files changed, 244 insertions(+), 52 deletions(-) create mode 100644 conf/containers/containers_docker_arm64.config create mode 100644 conf/containers/containers_singularity_amd64.config create mode 100644 conf/containers/containers_singularity_arm64.config diff --git a/conf/containers/containers_docker_amd64.config b/conf/containers/containers_docker_amd64.config index f297d788d..aca76f390 100644 --- a/conf/containers/containers_docker_amd64.config +++ b/conf/containers/containers_docker_amd64.config @@ -1,64 +1,64 @@ +process { withName: 'BBMAP_BBSPLIT' { container = 'community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } +process { withName: 'CAT_FASTQ' { container = 'community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } +process { withName: 'DESEQ2_QC' { container = 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } process { withName: 'DUPRADAR' { container = 'community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } -process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } -process { withName: 'FQ_SUBSAMPLE' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } process { withName: 'FASTP' { container = 'community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } -process { withName: 'RSEQC_READDISTRIBUTION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } -process { withName: 'DESEQ2_QC' { container = 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } +process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } +process { withName: 'FQ_LINT' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } process { withName: 'GFFREAD' { container = 'community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } -process { withName: 'RSEQC_READDUPLICATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } -process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } -process { withName: 'CAT_FASTQ' { container = 'community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } +process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } +process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } process { withName: 'GUNZIP' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } -process { withName: 'KRAKEN2_KRAKEN2' { container = 'community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } -process { withName: 'TXIMETA_TXIMPORT' { container = 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } -process { withName: 'SAMTOOLS_STATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'HISAT2_ALIGN' { container = 'community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } process { withName: 'HISAT2_BUILD' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } -process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'TRIMGALORE' { container = 'community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } -process { withName: 'BEDTOOLS_GENOMECOV' { container = 'community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } -process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } -process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'KALLISTO_INDEX' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KALLISTO_QUANT' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } +process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } process { withName: 'QUALIMAP_RNASEQ' { container = 'community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } -process { withName: 'SAMTOOLS_INDEX' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } -process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'UCSC_BEDCLIP' { container = 'community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } -process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } -process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } -process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } -process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } -process { withName: 'SAMTOOLS_SORT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } -process { withName: 'SALMON_INDEX' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } -process { withName: 'BRACKEN_BRACKEN' { container = 'community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } -process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'HISAT2_ALIGN' { container = 'community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } -process { withName: 'KALLISTO_INDEX' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } -process { withName: 'UMICOLLAPSE' { container = 'community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } -process { withName: 'BBMAP_BBSPLIT' { container = 'community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } process { withName: 'RSEQC_TIN' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'SALMON_INDEX' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SALMON_QUANT' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'CUSTOM_TX2GENE' { container = 'community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } -process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } -process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } -process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } -process { withName: 'KALLISTO_QUANT' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } process { withName: 'SAMTOOLS_IDXSTATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_SORT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_STATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } +process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } process { withName: 'STAR_GENOMEGENERATE' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } -process { withName: 'SALMON_QUANT' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } -process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } -process { withName: 'FQ_LINT' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } -process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } -process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } +process { withName: 'TRIMGALORE' { container = 'community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } +process { withName: 'UCSC_BEDCLIP' { container = 'community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } +process { withName: 'UMICOLLAPSE' { container = 'community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } diff --git a/conf/containers/containers_docker_arm64.config b/conf/containers/containers_docker_arm64.config new file mode 100644 index 000000000..16fb4769b --- /dev/null +++ b/conf/containers/containers_docker_arm64.config @@ -0,0 +1,64 @@ +process { withName: 'BBMAP_BBSPLIT' { container = 'community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } +process { withName: 'CAT_FASTQ' { container = 'community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } +process { withName: 'DESEQ2_QC' { container = 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } +process { withName: 'DUPRADAR' { container = 'community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } +process { withName: 'FASTP' { container = 'community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } +process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } +process { withName: 'FQ_LINT' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'GFFREAD' { container = 'community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } +process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } +process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'GUNZIP' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'HISAT2_ALIGN' { container = 'community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } +process { withName: 'HISAT2_BUILD' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'KALLISTO_INDEX' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KALLISTO_QUANT' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } +process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } +process { withName: 'QUALIMAP_RNASEQ' { container = 'community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:5f8b7771e0edff1d' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:5f8b7771e0edff1d' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_TIN' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'SALMON_INDEX' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SALMON_QUANT' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_IDXSTATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_SORT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_STATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } +process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STAR_GENOMEGENERATE' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:342c22574b6bb80b' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } +process { withName: 'TRIMGALORE' { container = 'community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } +process { withName: 'UCSC_BEDCLIP' { container = 'community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } +process { withName: 'UMICOLLAPSE' { container = 'community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } diff --git a/conf/containers/containers_singularity_amd64.config b/conf/containers/containers_singularity_amd64.config new file mode 100644 index 000000000..5c5b57da7 --- /dev/null +++ b/conf/containers/containers_singularity_amd64.config @@ -0,0 +1,64 @@ +process { withName: 'BBMAP_BBSPLIT' { container = 'docker://community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'docker://community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'docker://community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } +process { withName: 'CAT_FASTQ' { container = 'docker://community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'docker://community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'docker://community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } +process { withName: 'DESEQ2_QC' { container = 'docker://community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } +process { withName: 'DUPRADAR' { container = 'docker://community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } +process { withName: 'FASTP' { container = 'docker://community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } +process { withName: 'FASTQC' { container = 'docker://community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } +process { withName: 'FQ_LINT' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'GFFREAD' { container = 'docker://community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } +process { withName: 'GTF2BED' { container = 'docker://community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } +process { withName: 'GTF_FILTER' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'GUNZIP' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'HISAT2_ALIGN' { container = 'docker://community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } +process { withName: 'HISAT2_BUILD' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'KALLISTO_INDEX' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KALLISTO_QUANT' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'docker://community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } +process { withName: 'MULTIQC' { container = 'docker://community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'docker://community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'docker://community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } +process { withName: 'QUALIMAP_RNASEQ' { container = 'docker://community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'docker://community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'docker://community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_TIN' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'SALMON_INDEX' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SALMON_QUANT' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_IDXSTATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_SORT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_STATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SORTMERNA' { container = 'docker://community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } +process { withName: 'STAR_ALIGN' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STAR_GENOMEGENERATE' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'docker://community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'docker://community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'docker://community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } +process { withName: 'TRIMGALORE' { container = 'docker://community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'docker://community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } +process { withName: 'UCSC_BEDCLIP' { container = 'docker://community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'docker://community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } +process { withName: 'UMICOLLAPSE' { container = 'docker://community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UNTAR' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } diff --git a/conf/containers/containers_singularity_arm64.config b/conf/containers/containers_singularity_arm64.config new file mode 100644 index 000000000..032c75222 --- /dev/null +++ b/conf/containers/containers_singularity_arm64.config @@ -0,0 +1,64 @@ +process { withName: 'BBMAP_BBSPLIT' { container = 'docker://community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'docker://community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'docker://community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } +process { withName: 'CAT_FASTQ' { container = 'docker://community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'docker://community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'docker://community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } +process { withName: 'DESEQ2_QC' { container = 'docker://community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } +process { withName: 'DUPRADAR' { container = 'docker://community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } +process { withName: 'FASTP' { container = 'docker://community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } +process { withName: 'FASTQC' { container = 'docker://community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } +process { withName: 'FQ_LINT' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'GFFREAD' { container = 'docker://community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } +process { withName: 'GTF2BED' { container = 'docker://community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } +process { withName: 'GTF_FILTER' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'GUNZIP' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'HISAT2_ALIGN' { container = 'docker://community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } +process { withName: 'HISAT2_BUILD' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'KALLISTO_INDEX' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KALLISTO_QUANT' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'docker://community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } +process { withName: 'MULTIQC' { container = 'docker://community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'docker://community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'docker://community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } +process { withName: 'QUALIMAP_RNASEQ' { container = 'docker://community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'docker://community.wave.seqera.io/library/rsem_star:5f8b7771e0edff1d' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'docker://community.wave.seqera.io/library/rsem_star:5f8b7771e0edff1d' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_TIN' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'SALMON_INDEX' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SALMON_QUANT' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_IDXSTATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_SORT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_STATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SORTMERNA' { container = 'docker://community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } +process { withName: 'STAR_ALIGN' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STAR_GENOMEGENERATE' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:342c22574b6bb80b' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'docker://community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'docker://community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'docker://community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } +process { withName: 'TRIMGALORE' { container = 'docker://community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'docker://community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } +process { withName: 'UCSC_BEDCLIP' { container = 'docker://community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'docker://community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } +process { withName: 'UMICOLLAPSE' { container = 'docker://community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UNTAR' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } From d54bcf922e8750caa14d1cd304d2a322e0ae5b4e Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 17 Mar 2025 14:05:34 -0500 Subject: [PATCH 12/24] build: Try locking down some containers --- conf/arm.config | 274 ------------------------------------------------ nextflow.config | 5 +- 2 files changed, 4 insertions(+), 275 deletions(-) delete mode 100644 conf/arm.config diff --git a/conf/arm.config b/conf/arm.config deleted file mode 100644 index 881db8748..000000000 --- a/conf/arm.config +++ /dev/null @@ -1,274 +0,0 @@ -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Nextflow config file for running the pipeline with ARM architecture -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Defines custom containers and Conda definitions required to run pipeline with ARM. - - Use as follows: - nextflow run nf-core/rnaseq -profile ,arm - ----------------------------------------------------------------------------------------- -*/ - -process { - - // - // Tools that have native Conda builds for AMD and ARM - // - - withName: 'GTF_FILTER' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/f0/f012a4fe624e7965c4c52fe1eb1b591a3d97cee5c16c5c0d654aa86ee1c0c801/data' : 'community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } - } - - withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/4a/4ad78019c37ff4ab22c0dff6ab1af655c6438562ef644d0323861a97971d7694/data' : 'community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } - } - - withName: 'DESEQ2_QC' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/70/70a3d17733d2c21cff464c31a7a57438cea528bea84c675b7c474eaa7f075f57/data' : 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:8bd3e9db55b129d7' } - } - - withName: 'GTF2BED' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/89/896a3e55b2f664def0f8707420e1f53b4c447adb99fd6a1432a155c3403b9199/data' : 'community.wave.seqera.io/library/perl:5.26.2--2a6adf51d600e047' } - } - - withName: 'MULTIQC_CUSTOM_BIOTYPE' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/f0/f012a4fe624e7965c4c52fe1eb1b591a3d97cee5c16c5c0d654aa86ee1c0c801/data' : 'community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } - } - - withName: 'RSEM_MERGE_COUNTS' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/4a/4ad78019c37ff4ab22c0dff6ab1af655c6438562ef644d0323861a97971d7694/data' : 'community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } - } - - withName: 'UCSC_BEDCLIP' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/5f/5f559cabdfda8b2937c4213d3a53547eb882b2fc8cc36ebfeff07481fa47823a/data' : 'community.wave.seqera.io/library/ucsc-bedclip:377--489576e83f1992e0' } - } - - withName: 'UCSC_BEDGRAPHTOBIGWIG' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/38/389312a4a6022c5f5d2510dfa9bedb0491b36c8a27e8d842c05de00bc3b5be76/data' : 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--1db18e1b19f8e5f1' } - } - - withName: 'CAT_FASTQ' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/38/38d3638640600b355110f9bca56c514e3cc068bf96b8b68f98cba2a59a053505/data' : 'community.wave.seqera.io/library/coreutils:9.5--3931e2d27d9884e5' } - } - - withName: 'RSEQC_TIN' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6306dc454d7a565c726e30b9da0b9070fc67555516a660c54e7baba365070b25/data' : 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } - } - - withName: 'RSEQC_READDISTRIBUTION' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6306dc454d7a565c726e30b9da0b9070fc67555516a660c54e7baba365070b25/data' : 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } - } - - withName: 'RSEQC_JUNCTIONSATURATION' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6306dc454d7a565c726e30b9da0b9070fc67555516a660c54e7baba365070b25/data' : 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } - } - - withName: 'RSEQC_READDUPLICATION' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6306dc454d7a565c726e30b9da0b9070fc67555516a660c54e7baba365070b25/data' : 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } - } - - withName: 'RSEQC_INFEREXPERIMENT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6306dc454d7a565c726e30b9da0b9070fc67555516a660c54e7baba365070b25/data' : 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } - } - - withName: 'RSEQC_BAMSTAT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6306dc454d7a565c726e30b9da0b9070fc67555516a660c54e7baba365070b25/data' : 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } - } - - withName: 'RSEQC_INNERDISTANCE' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6306dc454d7a565c726e30b9da0b9070fc67555516a660c54e7baba365070b25/data' : 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } - } - - withName: 'RSEQC_JUNCTIONANNOTATION' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/6306dc454d7a565c726e30b9da0b9070fc67555516a660c54e7baba365070b25/data' : 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } - } - - withName: 'PICARD_MARKDUPLICATES' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/c0/c0d4bbb10417a70d137a28da09329d9f9fbdf964a1cfeda24b05b618cae6b16f/data' : 'community.wave.seqera.io/library/picard:3.1.1--c28da730a329ab3c' } - } - - withName: 'QUALIMAP_RNASEQ' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/7a/7aa0998788d327c6e7104c2c1e7bea2e8bb8fb7076ec5de3fdab4027e501b9a9/data' : 'community.wave.seqera.io/library/qualimap:2.3--8375b60bba97a2a6' } - } - - withName: 'SUBREAD_FEATURECOUNTS' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/2a/2a81571bc8c4ac812adb76c51045a245041d7cc8923a2d7cc34a866588fead0c/data' : 'community.wave.seqera.io/library/subread:2.0.6--df9c6b502b57bb9c' } - } - - withName: 'MULTIQC' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/6e/6e97dcafc5915f90f863e70153f96bbe47963ebfd08383454d8bcd7263696e4e/data' : 'community.wave.seqera.io/library/multiqc:1.25.1--4062a515975cacba' } - } - - withName: 'STRINGTIE_STRINGTIE' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/9e/9ebc6b1a27262420a5739330d369086b0d8c941a43b81d3fd0f741045bb3d46f/data' : 'community.wave.seqera.io/library/stringtie:2.2.3--77d8df3265c94ba1' } - } - - withName: 'UNTAR' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/4b/4bcb36d5e1fb90c8af0171a83b792ada446b04feb4ac3f26d0ce550d3c678383/data' : 'community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } - } - - withName: 'FQ_SUBSAMPLE' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b0/b00189d4f7eed55199354a3dff8a9a535e1dfb3a2f4c97f5d0bf9e388105795e/data' : 'community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } - } - - withName: 'DUPRADAR' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/10/10141f8fd43964316d04214a5f7d99a62e11cdbab5bd2fcd4f7c3c06eca9f2f6/data' : 'community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--f75495d6abf45328' } - } - - withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a7/a7d1ef576617b9790973bc9d178c4ef136a52b6337260c536cff6cd68f103b45/data' : 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--859858039875a2a5' } - } - - withName: 'STAR_GENOMEGENERATE' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/40/40d803371e50330de0773c7cc50315e2c3b4b41dcf123823adeb0a07d71654c1/data' : 'community.wave.seqera.io/library/htslib_samtools_star_gawk:ae438e9a604351a4' } - } - - withName: 'STAR_ALIGN' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/40/40d803371e50330de0773c7cc50315e2c3b4b41dcf123823adeb0a07d71654c1/data' : 'community.wave.seqera.io/library/htslib_samtools_star_gawk:ae438e9a604351a4' } - } - - withName: 'TXIMETA_TXIMPORT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/f8/f89ab1fef6e38e572ad1844d06f6d3d334d2b19a70c9e5d87bfc862b88728c23/data' : 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--3b0ca8a1710e2b2b' } - } - - withName: 'SORTMERNA' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/f1/f161ea3d4083b7d8fcbf8524cb5ab69f386b4e36b771bb5abf9ccf8ab29e9775/data' : 'community.wave.seqera.io/library/sortmerna:4.3.7--4cc83a7bffbaaa61' } - } - - withName: 'PRESEQ_LCEXTRAP' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/5a/5ab535d5b4c88dc4837cab00919d4d5ea66dd4d6dc837d841886bef72145f435/data' : 'community.wave.seqera.io/library/preseq:3.2.0--80c9d2ffee38d3ac' } - } - - withName: 'BEDTOOLS_GENOMECOV' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/51/519a920dacc643078823740486c40d30b9f555c493217d9f72db04901350e009/data' : 'community.wave.seqera.io/library/bedtools:2.31.1--efd79503b8c63422' } - } - - withName: 'BBMAP_BBSPLIT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/63/63ca91c8bf7285296777de219e5d5a71d2a7de47599cbc94441aced7868a4f83/data' : 'community.wave.seqera.io/library/bbmap:39.10--908996c2fb304bec' } - } - - withName: 'FASTQC' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/fd/fd39534bf298698cbe3ee4d4a6f1e73330ec4bca44c38dd9a4d06cb5ea838017/data' : 'community.wave.seqera.io/library/fastqc:0.12.1--df99cb252670875a' } - } - - withName: 'KALLISTO_QUANT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/24/24655791b5db39ffdfffa8e5aeabfd11dda4553b5311ddb22e724c38b1591e8d/data' : 'community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } - } - - withName: 'KALLISTO_INDEX' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/24/24655791b5db39ffdfffa8e5aeabfd11dda4553b5311ddb22e724c38b1591e8d/data' : 'community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } - } - - withName: 'SAMTOOLS_SORT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b9/b993d5094fcf4fe7e5016b9118363a8e9dc1a48e35964e5f15465ba4a65739e9/data' : 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } - } - - withName: 'SAMTOOLS_IDXSTATS' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b9/b993d5094fcf4fe7e5016b9118363a8e9dc1a48e35964e5f15465ba4a65739e9/data' : 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } - } - - withName: 'SAMTOOLS_INDEX' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b9/b993d5094fcf4fe7e5016b9118363a8e9dc1a48e35964e5f15465ba4a65739e9/data' : 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } - } - - withName: 'SAMTOOLS_FLAGSTAT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b9/b993d5094fcf4fe7e5016b9118363a8e9dc1a48e35964e5f15465ba4a65739e9/data' : 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } - } - - withName: 'SAMTOOLS_STATS' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b9/b993d5094fcf4fe7e5016b9118363a8e9dc1a48e35964e5f15465ba4a65739e9/data' : 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } - } - - withName: 'CUSTOM_CATADDITIONALFASTA' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/c1/c17acd739990ad12c06583f57b097014c2bde5a91d0977fd102864a82f95e136/data' : 'community.wave.seqera.io/library/python:3.12.2--0d47e6fe32e00784' } - } - - withName: 'CUSTOM_TX2GENE' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/60/6029f43341dc0bea31d14c2ce4c779d7a48dfed6ecb29ce1630b8378c560c490/data' : 'community.wave.seqera.io/library/python:3.10.4--d0dc5eb8ea72fa82' } - } - - withName: 'CUSTOM_GETCHROMSIZES' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b9/b993d5094fcf4fe7e5016b9118363a8e9dc1a48e35964e5f15465ba4a65739e9/data' : 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } - } - - withName: 'UMITOOLS_PREPAREFORRSEM' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ba/ba7c02244236db73a56ff1eb880b16c2dd53679834e1b72bb096e1f633e35644/data' : 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } - } - - withName: 'UMITOOLS_EXTRACT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ba/ba7c02244236db73a56ff1eb880b16c2dd53679834e1b72bb096e1f633e35644/data' : 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } - } - - withName: 'UMITOOLS_DEDUP' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ba/ba7c02244236db73a56ff1eb880b16c2dd53679834e1b72bb096e1f633e35644/data' : 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } - } - - withName: 'GFFREAD' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/9e/9e6db95013607b07689e38ee37a654d029236de77fdfde97fe1866f45d01e064/data' : 'community.wave.seqera.io/library/gffread:0.12.7--1577aa7c95340d9f' } - } - - withName: 'FASTP' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/7e/7ec6234f24305b9694b89de0352fff942ce1d68f840184020b0b9135bc54bda1/data' : 'community.wave.seqera.io/library/fastp:0.23.4--c1051f83dcae53f5' } - } - - withName: 'SALMON_QUANT' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b8/b8e3bcb1daa42497d0159cd5ae3b6d164b4470a972dd72d9d10b365fa166e5a4/data' : 'community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } - } - - withName: 'SALMON_INDEX' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b8/b8e3bcb1daa42497d0159cd5ae3b6d164b4470a972dd72d9d10b365fa166e5a4/data' : 'community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } - } - - withName: 'GUNZIP' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/4b/4bcb36d5e1fb90c8af0171a83b792ada446b04feb4ac3f26d0ce550d3c678383/data' : 'community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } - } - - withName: 'TRIMGALORE' { - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/10/10e7b91ef06bdf5790120809afc8cf36aac0261b618d810c952d5afd60dd5ed2/data' : 'community.wave.seqera.io/library/cutadapt_trim-galore:2aa2fc797328573b' } - } - - // - // Tools that do not have native Conda builds for AMD and ARM. Required custom builds in 'seqera' Conda channel. - // - - withName: '.*:ALIGN_STAR:STAR_ALIGN_IGENOMES' { - conda = 'seqera::star=2.6.1d bioconda::samtools=1.21 conda-forge::gawk=5.1.0' - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/18/18b787cb710e54b55e04d8df4f5d363b3581c0f6008a908d7ab7de03275dfedb/data' : 'community.wave.seqera.io/library/star_samtools_gawk:c0246261b9d809e1' } - } - - withName: 'STAR_GENOMEGENERATE_IGENOMES' { - conda = 'seqera::star=2.6.1d bioconda::samtools=1.21 conda-forge::gawk=5.1.0' - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/18/18b787cb710e54b55e04d8df4f5d363b3581c0f6008a908d7ab7de03275dfedb/data' : 'community.wave.seqera.io/library/star_samtools_gawk:c0246261b9d809e1' } - } - - withName: 'RSEM_PREPAREREFERENCE' { - conda = 'seqera::rsem=1.3.3 seqera::star=2.7.10a' - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/eb/eb5a2993bc13825b1b2443f740248c56ce0730a29553683392ce6388b7a2afe3/data' : 'community.wave.seqera.io/library/rsem_star:0dc50db916f3de8f' } - } - - withName: 'RSEM_CALCULATEEXPRESSION' { - conda = 'seqera::rsem=1.3.3 seqera::star=2.7.10a' - container = { workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/eb/eb5a2993bc13825b1b2443f740248c56ce0730a29553683392ce6388b7a2afe3/data' : 'community.wave.seqera.io/library/rsem_star:0dc50db916f3de8f' } - } - - // - // Tools currently unsupported for ARM - // - - //withName: 'HISAT2_ALIGN' { - // conda = 'bioconda::hisat2=2.2.1 bioconda::samtools=1.16.1' - //} - - //withName: 'HISAT2_BUILD|HISAT2_EXTRACTSPLICESITES' { - // conda = 'bioconda::hisat2=2.2.1' - //} - - // withName: 'KRAKEN2_KRAKEN2' { - // conda = 'bioconda::kraken2=2.1.3 coreutils=9.4 pigz=2.8' - //} - - // withName: 'BRACKEN_BRACKEN' { - // conda = 'bioconda::bracken=2.9' - //} -} diff --git a/nextflow.config b/nextflow.config index 112046bd0..d8b6a43e0 100644 --- a/nextflow.config +++ b/nextflow.config @@ -181,6 +181,7 @@ profiles { apptainer.enabled = false } docker { + includeConfig 'conf/containers/containers_docker_amd64.config' docker.enabled = true conda.enabled = false singularity.enabled = false @@ -191,10 +192,12 @@ profiles { docker.runOptions = '-u $(id -u):$(id -g)' } arm { + // TODO: Handle docker_arm, singularity_arm, etc. + includeConfig 'conf/containers/containers_docker_arm64.config' docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' - includeConfig 'conf/arm.config' } singularity { + includeConfig 'conf/containers/containers_singularity_amd64.config' singularity.enabled = true singularity.autoMounts = true conda.enabled = false From dd3b67c8858bb89e9e504269c4f703da15c3215d Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Mon, 17 Mar 2025 19:12:00 +0000 Subject: [PATCH 13/24] [automated] Update container configs --- conf/containers/containers_docker_arm64.config | 6 +++--- conf/containers/containers_singularity_arm64.config | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/conf/containers/containers_docker_arm64.config b/conf/containers/containers_docker_arm64.config index 16fb4769b..aca76f390 100644 --- a/conf/containers/containers_docker_arm64.config +++ b/conf/containers/containers_docker_arm64.config @@ -27,9 +27,9 @@ process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } process { withName: 'QUALIMAP_RNASEQ' { container = 'community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } -process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:5f8b7771e0edff1d' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } -process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:5f8b7771e0edff1d' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } @@ -49,7 +49,7 @@ process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/ process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } process { withName: 'STAR_GENOMEGENERATE' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } -process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:342c22574b6bb80b' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } diff --git a/conf/containers/containers_singularity_arm64.config b/conf/containers/containers_singularity_arm64.config index 032c75222..5c5b57da7 100644 --- a/conf/containers/containers_singularity_arm64.config +++ b/conf/containers/containers_singularity_arm64.config @@ -27,9 +27,9 @@ process { withName: 'PICARD_MARKDUPLICATES' { container = 'docker://community.wa process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } process { withName: 'PRESEQ_LCEXTRAP' { container = 'docker://community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } process { withName: 'QUALIMAP_RNASEQ' { container = 'docker://community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } -process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'docker://community.wave.seqera.io/library/rsem_star:5f8b7771e0edff1d' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'docker://community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } process { withName: 'RSEM_MERGE_COUNTS' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } -process { withName: 'RSEM_PREPAREREFERENCE' { container = 'docker://community.wave.seqera.io/library/rsem_star:5f8b7771e0edff1d' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'docker://community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } process { withName: 'RSEQC_BAMSTAT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } process { withName: 'RSEQC_INNERDISTANCE' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } @@ -49,7 +49,7 @@ process { withName: 'SORTMERNA' { container = 'docker://community.wave.seqera.io process { withName: 'STAR_ALIGN' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } process { withName: 'STAR_ALIGN_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } process { withName: 'STAR_GENOMEGENERATE' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } -process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:342c22574b6bb80b' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } process { withName: 'STRINGTIE_STRINGTIE' { container = 'docker://community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'docker://community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'docker://community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } From f88b3148f5d4c8d0a501a7e4572ab8dbb73c61b2 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Tue, 25 Mar 2025 15:46:17 -0500 Subject: [PATCH 14/24] build: Rename arm profile to apple and make a real arm profile Update container versions for ARM architecture and --- .../containers/containers_docker_arm64.config | 128 +++++++++--------- .../containers_singularity_arm64.config | 128 +++++++++--------- nextflow.config | 8 +- 3 files changed, 132 insertions(+), 132 deletions(-) diff --git a/conf/containers/containers_docker_arm64.config b/conf/containers/containers_docker_arm64.config index aca76f390..f4e5fa426 100644 --- a/conf/containers/containers_docker_arm64.config +++ b/conf/containers/containers_docker_arm64.config @@ -1,64 +1,64 @@ -process { withName: 'BBMAP_BBSPLIT' { container = 'community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } -process { withName: 'BEDTOOLS_GENOMECOV' { container = 'community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } -process { withName: 'BRACKEN_BRACKEN' { container = 'community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } -process { withName: 'CAT_FASTQ' { container = 'community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } -process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } -process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'CUSTOM_TX2GENE' { container = 'community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } -process { withName: 'DESEQ2_QC' { container = 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } -process { withName: 'DUPRADAR' { container = 'community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } -process { withName: 'FASTP' { container = 'community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } -process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } -process { withName: 'FQ_LINT' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } -process { withName: 'FQ_SUBSAMPLE' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } -process { withName: 'GFFREAD' { container = 'community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } -process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } -process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } -process { withName: 'GUNZIP' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } -process { withName: 'HISAT2_ALIGN' { container = 'community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } -process { withName: 'HISAT2_BUILD' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } -process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } -process { withName: 'KALLISTO_INDEX' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } -process { withName: 'KALLISTO_QUANT' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } -process { withName: 'KRAKEN2_KRAKEN2' { container = 'community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } -process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } -process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } -process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } -process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } -process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } -process { withName: 'QUALIMAP_RNASEQ' { container = 'community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } -process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } -process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } -process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } -process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_READDISTRIBUTION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_READDUPLICATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_TIN' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'SALMON_INDEX' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } -process { withName: 'SALMON_QUANT' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } -process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SAMTOOLS_IDXSTATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SAMTOOLS_INDEX' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SAMTOOLS_SORT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SAMTOOLS_STATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } -process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } -process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } -process { withName: 'STAR_GENOMEGENERATE' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } -process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } -process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } -process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } -process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } -process { withName: 'TRIMGALORE' { container = 'community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } -process { withName: 'TXIMETA_TXIMPORT' { container = 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } -process { withName: 'UCSC_BEDCLIP' { container = 'community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } -process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } -process { withName: 'UMICOLLAPSE' { container = 'community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } -process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'BBMAP_BBSPLIT' { container = 'community.wave.seqera.io/library/bbmap:39.10--908996c2fb304bec' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'community.wave.seqera.io/library/bedtools:2.31.1--efd79503b8c63422' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'community.wave.seqera.io/library/bracken:2.9--e06b532ae215c74d' } } +process { withName: 'CAT_FASTQ' { container = 'community.wave.seqera.io/library/coreutils:9.5--3931e2d27d9884e5' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'community.wave.seqera.io/library/python:3.12.2--0d47e6fe32e00784' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'community.wave.seqera.io/library/python:3.10.4--d0dc5eb8ea72fa82' } } +process { withName: 'DESEQ2_QC' { container = 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:8bd3e9db55b129d7' } } +process { withName: 'DUPRADAR' { container = 'community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--f75495d6abf45328' } } +process { withName: 'FASTP' { container = 'community.wave.seqera.io/library/fastp:0.23.4--c1051f83dcae53f5' } } +process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--df99cb252670875a' } } +process { withName: 'FQ_LINT' { container = 'community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } } +process { withName: 'GFFREAD' { container = 'community.wave.seqera.io/library/gffread:0.12.7--1577aa7c95340d9f' } } +process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--2a6adf51d600e047' } } +process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } } +process { withName: 'GUNZIP' { container = 'community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } } +process { withName: 'HISAT2_ALIGN' { container = 'community.wave.seqera.io/library/hisat2_samtools:16f4ce5d5c83f6ec' } } +process { withName: 'HISAT2_BUILD' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--722945b3f185af3d' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--722945b3f185af3d' } } +process { withName: 'KALLISTO_INDEX' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } } +process { withName: 'KALLISTO_QUANT' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'community.wave.seqera.io/library/kraken2_coreutils_pigz:efede2ece83f7a32' } } +process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.27--7cf5785022026d98' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera.io/library/picard:3.1.1--c28da730a329ab3c' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--80c9d2ffee38d3ac' } } +process { withName: 'QUALIMAP_RNASEQ' { container = 'community.wave.seqera.io/library/qualimap:2.3--8375b60bba97a2a6' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:871666abaeb8fb01' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:871666abaeb8fb01' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_TIN' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'SALMON_INDEX' { container = 'community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } } +process { withName: 'SALMON_QUANT' { container = 'community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } } +process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SAMTOOLS_IDXSTATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SAMTOOLS_SORT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SAMTOOLS_STATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/sortmerna:4.3.7--4cc83a7bffbaaa61' } } +process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:de8c848656c2c4c5' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:6ae64d775f2cb855' } } +process { withName: 'STAR_GENOMEGENERATE' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:de8c848656c2c4c5' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:6ae64d775f2cb855' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--77d8df3265c94ba1' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--df9c6b502b57bb9c' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--859858039875a2a5' } } +process { withName: 'TRIMGALORE' { container = 'community.wave.seqera.io/library/cutadapt_trim-galore_pigz:d0b730b6770575ef' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--3b0ca8a1710e2b2b' } } +process { withName: 'UCSC_BEDCLIP' { container = 'community.wave.seqera.io/library/ucsc-bedclip:377--489576e83f1992e0' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--1db18e1b19f8e5f1' } } +process { withName: 'UMICOLLAPSE' { container = 'community.wave.seqera.io/library/umicollapse:1.1.0--d406900dbf84ec60' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } +process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } } diff --git a/conf/containers/containers_singularity_arm64.config b/conf/containers/containers_singularity_arm64.config index 5c5b57da7..5fc385fc5 100644 --- a/conf/containers/containers_singularity_arm64.config +++ b/conf/containers/containers_singularity_arm64.config @@ -1,64 +1,64 @@ -process { withName: 'BBMAP_BBSPLIT' { container = 'docker://community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } -process { withName: 'BEDTOOLS_GENOMECOV' { container = 'docker://community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } -process { withName: 'BRACKEN_BRACKEN' { container = 'docker://community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } -process { withName: 'CAT_FASTQ' { container = 'docker://community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } -process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'docker://community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } -process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'CUSTOM_TX2GENE' { container = 'docker://community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } -process { withName: 'DESEQ2_QC' { container = 'docker://community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } -process { withName: 'DUPRADAR' { container = 'docker://community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } -process { withName: 'FASTP' { container = 'docker://community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } -process { withName: 'FASTQC' { container = 'docker://community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } -process { withName: 'FQ_LINT' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } -process { withName: 'FQ_SUBSAMPLE' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } -process { withName: 'GFFREAD' { container = 'docker://community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } -process { withName: 'GTF2BED' { container = 'docker://community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } -process { withName: 'GTF_FILTER' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } -process { withName: 'GUNZIP' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } -process { withName: 'HISAT2_ALIGN' { container = 'docker://community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } -process { withName: 'HISAT2_BUILD' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } -process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } -process { withName: 'KALLISTO_INDEX' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } -process { withName: 'KALLISTO_QUANT' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } -process { withName: 'KRAKEN2_KRAKEN2' { container = 'docker://community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } -process { withName: 'MULTIQC' { container = 'docker://community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } -process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } -process { withName: 'PICARD_MARKDUPLICATES' { container = 'docker://community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } -process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } -process { withName: 'PRESEQ_LCEXTRAP' { container = 'docker://community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } -process { withName: 'QUALIMAP_RNASEQ' { container = 'docker://community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } -process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'docker://community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } -process { withName: 'RSEM_MERGE_COUNTS' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } -process { withName: 'RSEM_PREPAREREFERENCE' { container = 'docker://community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } -process { withName: 'RSEQC_BAMSTAT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_INNERDISTANCE' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_READDISTRIBUTION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_READDUPLICATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'RSEQC_TIN' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } -process { withName: 'SALMON_INDEX' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } -process { withName: 'SALMON_QUANT' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } -process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SAMTOOLS_IDXSTATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SAMTOOLS_INDEX' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SAMTOOLS_SORT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SAMTOOLS_STATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } -process { withName: 'SORTMERNA' { container = 'docker://community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } -process { withName: 'STAR_ALIGN' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } -process { withName: 'STAR_ALIGN_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } -process { withName: 'STAR_GENOMEGENERATE' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } -process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } -process { withName: 'STRINGTIE_STRINGTIE' { container = 'docker://community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } -process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'docker://community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } -process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'docker://community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } -process { withName: 'TRIMGALORE' { container = 'docker://community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } -process { withName: 'TXIMETA_TXIMPORT' { container = 'docker://community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } -process { withName: 'UCSC_BEDCLIP' { container = 'docker://community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } -process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'docker://community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } -process { withName: 'UMICOLLAPSE' { container = 'docker://community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } -process { withName: 'UMITOOLS_DEDUP' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'UMITOOLS_EXTRACT' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } -process { withName: 'UNTAR' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'BBMAP_BBSPLIT' { container = 'docker://community.wave.seqera.io/library/bbmap:39.10--908996c2fb304bec' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'docker://community.wave.seqera.io/library/bedtools:2.31.1--efd79503b8c63422' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'docker://community.wave.seqera.io/library/bracken:2.9--e06b532ae215c74d' } } +process { withName: 'CAT_FASTQ' { container = 'docker://community.wave.seqera.io/library/coreutils:9.5--3931e2d27d9884e5' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'docker://community.wave.seqera.io/library/python:3.12.2--0d47e6fe32e00784' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'docker://community.wave.seqera.io/library/python:3.10.4--d0dc5eb8ea72fa82' } } +process { withName: 'DESEQ2_QC' { container = 'docker://community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:8bd3e9db55b129d7' } } +process { withName: 'DUPRADAR' { container = 'docker://community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--f75495d6abf45328' } } +process { withName: 'FASTP' { container = 'docker://community.wave.seqera.io/library/fastp:0.23.4--c1051f83dcae53f5' } } +process { withName: 'FASTQC' { container = 'docker://community.wave.seqera.io/library/fastqc:0.12.1--df99cb252670875a' } } +process { withName: 'FQ_LINT' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } } +process { withName: 'GFFREAD' { container = 'docker://community.wave.seqera.io/library/gffread:0.12.7--1577aa7c95340d9f' } } +process { withName: 'GTF2BED' { container = 'docker://community.wave.seqera.io/library/perl:5.26.2--2a6adf51d600e047' } } +process { withName: 'GTF_FILTER' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } } +process { withName: 'GUNZIP' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } } +process { withName: 'HISAT2_ALIGN' { container = 'docker://community.wave.seqera.io/library/hisat2_samtools:16f4ce5d5c83f6ec' } } +process { withName: 'HISAT2_BUILD' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--722945b3f185af3d' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--722945b3f185af3d' } } +process { withName: 'KALLISTO_INDEX' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } } +process { withName: 'KALLISTO_QUANT' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'docker://community.wave.seqera.io/library/kraken2_coreutils_pigz:efede2ece83f7a32' } } +process { withName: 'MULTIQC' { container = 'docker://community.wave.seqera.io/library/multiqc:1.27--7cf5785022026d98' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'docker://community.wave.seqera.io/library/picard:3.1.1--c28da730a329ab3c' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'docker://community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'docker://community.wave.seqera.io/library/preseq:3.2.0--80c9d2ffee38d3ac' } } +process { withName: 'QUALIMAP_RNASEQ' { container = 'docker://community.wave.seqera.io/library/qualimap:2.3--8375b60bba97a2a6' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'docker://community.wave.seqera.io/library/rsem_star:871666abaeb8fb01' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'docker://community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'docker://community.wave.seqera.io/library/rsem_star:871666abaeb8fb01' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'RSEQC_TIN' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } +process { withName: 'SALMON_INDEX' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } } +process { withName: 'SALMON_QUANT' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } } +process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SAMTOOLS_IDXSTATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SAMTOOLS_SORT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SAMTOOLS_STATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } +process { withName: 'SORTMERNA' { container = 'docker://community.wave.seqera.io/library/sortmerna:4.3.7--4cc83a7bffbaaa61' } } +process { withName: 'STAR_ALIGN' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:de8c848656c2c4c5' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:6ae64d775f2cb855' } } +process { withName: 'STAR_GENOMEGENERATE' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:de8c848656c2c4c5' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:6ae64d775f2cb855' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'docker://community.wave.seqera.io/library/stringtie:2.2.3--77d8df3265c94ba1' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'docker://community.wave.seqera.io/library/subread:2.0.6--df9c6b502b57bb9c' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'docker://community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--859858039875a2a5' } } +process { withName: 'TRIMGALORE' { container = 'docker://community.wave.seqera.io/library/cutadapt_trim-galore_pigz:d0b730b6770575ef' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'docker://community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--3b0ca8a1710e2b2b' } } +process { withName: 'UCSC_BEDCLIP' { container = 'docker://community.wave.seqera.io/library/ucsc-bedclip:377--489576e83f1992e0' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'docker://community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--1db18e1b19f8e5f1' } } +process { withName: 'UMICOLLAPSE' { container = 'docker://community.wave.seqera.io/library/umicollapse:1.1.0--d406900dbf84ec60' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } +process { withName: 'UNTAR' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } } diff --git a/nextflow.config b/nextflow.config index d8b6a43e0..99e2b3ee1 100644 --- a/nextflow.config +++ b/nextflow.config @@ -191,13 +191,13 @@ profiles { apptainer.enabled = false docker.runOptions = '-u $(id -u):$(id -g)' } - arm { - // TODO: Handle docker_arm, singularity_arm, etc. - includeConfig 'conf/containers/containers_docker_arm64.config' + apple { docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' } + arm { + process.arch = 'linux/arm64' + } singularity { - includeConfig 'conf/containers/containers_singularity_amd64.config' singularity.enabled = true singularity.autoMounts = true conda.enabled = false From c58a256841d05f0e8f1ac2c3aab09cfc807fcf40 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 26 Mar 2025 09:22:49 -0500 Subject: [PATCH 15/24] ci: Add ARM Megatests --- .github/workflows/cloud_tests_full.yml | 9 +++++---- .github/workflows/cloud_tests_small.yml | 12 ++++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cloud_tests_full.yml b/.github/workflows/cloud_tests_full.yml index c7ba753bb..2c4856bc7 100644 --- a/.github/workflows/cloud_tests_full.yml +++ b/.github/workflows/cloud_tests_full.yml @@ -22,21 +22,22 @@ jobs: strategy: matrix: aligner: ["star_salmon", "star_rsem"] + arch: ["arm64", "x86_64"] steps: - uses: seqeralabs/action-tower-launch@v2 with: workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} - compute_env: ${{ secrets.TOWER_CE_AWS_CPU }} + compute_env: ${{ matrix.arch == 'arm64' && secrets.TOWER_CE_AWS_CPU_ARM64 || secrets.TOWER_CE_AWS_CPU }} workdir: "${{ secrets.TOWER_BUCKET_AWS }}/work/rnaseq/work-${{ github.sha }}" - run_name: "aws_rnaseq_full_${{ matrix.aligner }}" + run_name: "aws_rnaseq_full_${{ matrix.aligner }}_${{ matrix.arch }}" revision: ${{ github.sha }} - profiles: test_full_aws + profiles: test_full_aws${{ matrix.arch == 'arm64' && ',wave,arm' || '' }} parameters: | { "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}", "aligner": "${{ matrix.aligner }}", - "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-${{ github.sha }}/aligner_${{ matrix.aligner }}/" + "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-${{ github.sha }}/${{ matrix.arch }}/aligner_${{ matrix.aligner }}/" } - uses: actions/upload-artifact@v3 with: diff --git a/.github/workflows/cloud_tests_small.yml b/.github/workflows/cloud_tests_small.yml index 69647ff04..c6eab0bc4 100644 --- a/.github/workflows/cloud_tests_small.yml +++ b/.github/workflows/cloud_tests_small.yml @@ -17,19 +17,23 @@ jobs: run-small-tests-on-aws: if: ${{ github.event.inputs.platform == 'all' || github.event.inputs.platform == 'aws' }} runs-on: ubuntu-latest + strategy: + matrix: + aligner: ["star_salmon", "star_rsem"] + arch: ["arm64", "x86_64"] steps: - uses: seqeralabs/action-tower-launch@v2 with: workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }} access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} - compute_env: ${{ secrets.TOWER_CE_AWS_CPU }} + compute_env: ${{ matrix.arch == 'arm64' && secrets.TOWER_CE_AWS_CPU_ARM64 || secrets.TOWER_CE_AWS_CPU }} workdir: "${{ secrets.TOWER_BUCKET_AWS }}/work/rnaseq/work-${{ github.sha }}" - run_name: "aws_rnaseq_small" + run_name: "aws_rnaseq_small_${{ matrix.arch }}" revision: ${{ github.sha }} - profiles: test + profiles: test${{ matrix.arch == 'arm64' && ',wave,arm' || '' }} parameters: | { - "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-test-${{ github.sha }}/" + "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-test-${{ github.sha }}/${{ matrix.arch }}/aligner_${{ matrix.aligner }}/" } - uses: actions/upload-artifact@v3 with: From b2a5b081aa21e65cdad4a19b87e5d70b6b990a15 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 26 Mar 2025 13:19:29 -0500 Subject: [PATCH 16/24] chore: upload-artifact@v3 is deprecated https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/ --- .github/workflows/cloud_tests_full.yml | 6 +++--- .github/workflows/cloud_tests_small.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/cloud_tests_full.yml b/.github/workflows/cloud_tests_full.yml index 2c4856bc7..05e3487e0 100644 --- a/.github/workflows/cloud_tests_full.yml +++ b/.github/workflows/cloud_tests_full.yml @@ -39,7 +39,7 @@ jobs: "aligner": "${{ matrix.aligner }}", "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-${{ github.sha }}/${{ matrix.arch }}/aligner_${{ matrix.aligner }}/" } - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: Tower debug log file path: tower_action_*.log @@ -67,7 +67,7 @@ jobs: "outdir": "${{ secrets.TOWER_BUCKET_AZURE }}/rnaseq/results-${{ github.sha }}/aligner_${{ matrix.aligner }}/", "igenomes_base": "${{ secrets.TOWER_IGENOMES_BASE_AZURE }}" } - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: Tower debug log file path: tower_action_*.log @@ -94,7 +94,7 @@ jobs: "aligner": "${{ matrix.aligner }}", "outdir": "${{ secrets.TOWER_BUCKET_GCP }}/rnaseq/results-${{ github.sha }}/aligner_${{ matrix.aligner }}/" } - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: Tower debug log file path: tower_action_*.log diff --git a/.github/workflows/cloud_tests_small.yml b/.github/workflows/cloud_tests_small.yml index c6eab0bc4..c2f328d32 100644 --- a/.github/workflows/cloud_tests_small.yml +++ b/.github/workflows/cloud_tests_small.yml @@ -35,7 +35,7 @@ jobs: { "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-test-${{ github.sha }}/${{ matrix.arch }}/aligner_${{ matrix.aligner }}/" } - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: Tower debug log file path: tower_action_*.log @@ -57,7 +57,7 @@ jobs: { "outdir": "${{ secrets.TOWER_BUCKET_AZURE }}/rnaseq/results-test-${{ github.sha }}/" } - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: Tower debug log file path: tower_action_*.log @@ -79,7 +79,7 @@ jobs: { "outdir": "${{ secrets.TOWER_BUCKET_GCP }}/rnaseq/results-test-${{ github.sha }}/" } - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: Tower debug log file path: tower_action_*.log From 738ddaa093ce85c7ea0046f57a8e19da3623f06b Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Fri, 11 Apr 2025 14:11:13 -0500 Subject: [PATCH 17/24] ci: Update artifact name format in cloud tests workflow Changed the artifact name format for the Tower debug log to include aligner and architecture details for better traceability. https://github.com/actions/upload-artifact/tree/v4/?tab=readme-ov-file#not-uploading-to-the-same-artifact --- .github/workflows/cloud_tests_full.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cloud_tests_full.yml b/.github/workflows/cloud_tests_full.yml index 05e3487e0..dc3a74992 100644 --- a/.github/workflows/cloud_tests_full.yml +++ b/.github/workflows/cloud_tests_full.yml @@ -41,7 +41,7 @@ jobs: } - uses: actions/upload-artifact@v4 with: - name: Tower debug log file + name: Tower_debug_action-${{ matrix.aligner }}-${{ matrix.arch }}.log path: tower_action_*.log run-full-tests-on-azure: From 201f6579d434efd7cef6493c52b5e3cbe837ca20 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Fri, 11 Apr 2025 14:43:11 -0500 Subject: [PATCH 18/24] build: Rename to graviton for now --- .github/workflows/cloud_tests_full.yml | 2 +- .github/workflows/cloud_tests_small.yml | 2 +- nextflow.config | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cloud_tests_full.yml b/.github/workflows/cloud_tests_full.yml index dc3a74992..d01578fb1 100644 --- a/.github/workflows/cloud_tests_full.yml +++ b/.github/workflows/cloud_tests_full.yml @@ -32,7 +32,7 @@ jobs: workdir: "${{ secrets.TOWER_BUCKET_AWS }}/work/rnaseq/work-${{ github.sha }}" run_name: "aws_rnaseq_full_${{ matrix.aligner }}_${{ matrix.arch }}" revision: ${{ github.sha }} - profiles: test_full_aws${{ matrix.arch == 'arm64' && ',wave,arm' || '' }} + profiles: test_full_aws${{ matrix.arch == 'arm64' && ',wave,graviton' || '' }} parameters: | { "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}", diff --git a/.github/workflows/cloud_tests_small.yml b/.github/workflows/cloud_tests_small.yml index c2f328d32..12106e348 100644 --- a/.github/workflows/cloud_tests_small.yml +++ b/.github/workflows/cloud_tests_small.yml @@ -30,7 +30,7 @@ jobs: workdir: "${{ secrets.TOWER_BUCKET_AWS }}/work/rnaseq/work-${{ github.sha }}" run_name: "aws_rnaseq_small_${{ matrix.arch }}" revision: ${{ github.sha }} - profiles: test${{ matrix.arch == 'arm64' && ',wave,arm' || '' }} + profiles: test${{ matrix.arch == 'arm64' && ',wave,graviton' || '' }} parameters: | { "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-test-${{ github.sha }}/${{ matrix.arch }}/aligner_${{ matrix.aligner }}/" diff --git a/nextflow.config b/nextflow.config index 99e2b3ee1..9eb2c9ad5 100644 --- a/nextflow.config +++ b/nextflow.config @@ -191,10 +191,11 @@ profiles { apptainer.enabled = false docker.runOptions = '-u $(id -u):$(id -g)' } - apple { + arm { docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' } - arm { + // TODO PR this to tools + graviton { process.arch = 'linux/arm64' } singularity { From 9bb03b0ac589c0604edefd0285d682c0470e3451 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Fri, 11 Apr 2025 19:47:36 +0000 Subject: [PATCH 19/24] [automated] Update container configs --- .../containers/containers_docker_arm64.config | 128 +++++++++--------- .../containers_singularity_arm64.config | 128 +++++++++--------- 2 files changed, 128 insertions(+), 128 deletions(-) diff --git a/conf/containers/containers_docker_arm64.config b/conf/containers/containers_docker_arm64.config index f4e5fa426..aca76f390 100644 --- a/conf/containers/containers_docker_arm64.config +++ b/conf/containers/containers_docker_arm64.config @@ -1,64 +1,64 @@ -process { withName: 'BBMAP_BBSPLIT' { container = 'community.wave.seqera.io/library/bbmap:39.10--908996c2fb304bec' } } -process { withName: 'BEDTOOLS_GENOMECOV' { container = 'community.wave.seqera.io/library/bedtools:2.31.1--efd79503b8c63422' } } -process { withName: 'BRACKEN_BRACKEN' { container = 'community.wave.seqera.io/library/bracken:2.9--e06b532ae215c74d' } } -process { withName: 'CAT_FASTQ' { container = 'community.wave.seqera.io/library/coreutils:9.5--3931e2d27d9884e5' } } -process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'community.wave.seqera.io/library/python:3.12.2--0d47e6fe32e00784' } } -process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'CUSTOM_TX2GENE' { container = 'community.wave.seqera.io/library/python:3.10.4--d0dc5eb8ea72fa82' } } -process { withName: 'DESEQ2_QC' { container = 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:8bd3e9db55b129d7' } } -process { withName: 'DUPRADAR' { container = 'community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--f75495d6abf45328' } } -process { withName: 'FASTP' { container = 'community.wave.seqera.io/library/fastp:0.23.4--c1051f83dcae53f5' } } -process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--df99cb252670875a' } } -process { withName: 'FQ_LINT' { container = 'community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } } -process { withName: 'FQ_SUBSAMPLE' { container = 'community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } } -process { withName: 'GFFREAD' { container = 'community.wave.seqera.io/library/gffread:0.12.7--1577aa7c95340d9f' } } -process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--2a6adf51d600e047' } } -process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } } -process { withName: 'GUNZIP' { container = 'community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } } -process { withName: 'HISAT2_ALIGN' { container = 'community.wave.seqera.io/library/hisat2_samtools:16f4ce5d5c83f6ec' } } -process { withName: 'HISAT2_BUILD' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--722945b3f185af3d' } } -process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--722945b3f185af3d' } } -process { withName: 'KALLISTO_INDEX' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } } -process { withName: 'KALLISTO_QUANT' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } } -process { withName: 'KRAKEN2_KRAKEN2' { container = 'community.wave.seqera.io/library/kraken2_coreutils_pigz:efede2ece83f7a32' } } -process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.27--7cf5785022026d98' } } -process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } } -process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera.io/library/picard:3.1.1--c28da730a329ab3c' } } -process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } } -process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--80c9d2ffee38d3ac' } } -process { withName: 'QUALIMAP_RNASEQ' { container = 'community.wave.seqera.io/library/qualimap:2.3--8375b60bba97a2a6' } } -process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:871666abaeb8fb01' } } -process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } } -process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:871666abaeb8fb01' } } -process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_READDISTRIBUTION' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_READDUPLICATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_TIN' { container = 'community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'SALMON_INDEX' { container = 'community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } } -process { withName: 'SALMON_QUANT' { container = 'community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } } -process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SAMTOOLS_IDXSTATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SAMTOOLS_INDEX' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SAMTOOLS_SORT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SAMTOOLS_STATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/sortmerna:4.3.7--4cc83a7bffbaaa61' } } -process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:de8c848656c2c4c5' } } -process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:6ae64d775f2cb855' } } -process { withName: 'STAR_GENOMEGENERATE' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:de8c848656c2c4c5' } } -process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:6ae64d775f2cb855' } } -process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--77d8df3265c94ba1' } } -process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--df9c6b502b57bb9c' } } -process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--859858039875a2a5' } } -process { withName: 'TRIMGALORE' { container = 'community.wave.seqera.io/library/cutadapt_trim-galore_pigz:d0b730b6770575ef' } } -process { withName: 'TXIMETA_TXIMPORT' { container = 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--3b0ca8a1710e2b2b' } } -process { withName: 'UCSC_BEDCLIP' { container = 'community.wave.seqera.io/library/ucsc-bedclip:377--489576e83f1992e0' } } -process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--1db18e1b19f8e5f1' } } -process { withName: 'UMICOLLAPSE' { container = 'community.wave.seqera.io/library/umicollapse:1.1.0--d406900dbf84ec60' } } -process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } -process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } -process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } -process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } } +process { withName: 'BBMAP_BBSPLIT' { container = 'community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } +process { withName: 'CAT_FASTQ' { container = 'community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } +process { withName: 'DESEQ2_QC' { container = 'community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } +process { withName: 'DUPRADAR' { container = 'community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } +process { withName: 'FASTP' { container = 'community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } +process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } +process { withName: 'FQ_LINT' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'GFFREAD' { container = 'community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } +process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } +process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'GUNZIP' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'HISAT2_ALIGN' { container = 'community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } +process { withName: 'HISAT2_BUILD' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'KALLISTO_INDEX' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KALLISTO_QUANT' { container = 'community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } +process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } +process { withName: 'QUALIMAP_RNASEQ' { container = 'community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_TIN' { container = 'community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'SALMON_INDEX' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SALMON_QUANT' { container = 'community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_IDXSTATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_SORT' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_STATS' { container = 'community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SORTMERNA' { container = 'community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } +process { withName: 'STAR_ALIGN' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STAR_GENOMEGENERATE' { container = 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } +process { withName: 'TRIMGALORE' { container = 'community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } +process { withName: 'UCSC_BEDCLIP' { container = 'community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } +process { withName: 'UMICOLLAPSE' { container = 'community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } diff --git a/conf/containers/containers_singularity_arm64.config b/conf/containers/containers_singularity_arm64.config index 5fc385fc5..5c5b57da7 100644 --- a/conf/containers/containers_singularity_arm64.config +++ b/conf/containers/containers_singularity_arm64.config @@ -1,64 +1,64 @@ -process { withName: 'BBMAP_BBSPLIT' { container = 'docker://community.wave.seqera.io/library/bbmap:39.10--908996c2fb304bec' } } -process { withName: 'BEDTOOLS_GENOMECOV' { container = 'docker://community.wave.seqera.io/library/bedtools:2.31.1--efd79503b8c63422' } } -process { withName: 'BRACKEN_BRACKEN' { container = 'docker://community.wave.seqera.io/library/bracken:2.9--e06b532ae215c74d' } } -process { withName: 'CAT_FASTQ' { container = 'docker://community.wave.seqera.io/library/coreutils:9.5--3931e2d27d9884e5' } } -process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'docker://community.wave.seqera.io/library/python:3.12.2--0d47e6fe32e00784' } } -process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'CUSTOM_TX2GENE' { container = 'docker://community.wave.seqera.io/library/python:3.10.4--d0dc5eb8ea72fa82' } } -process { withName: 'DESEQ2_QC' { container = 'docker://community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:8bd3e9db55b129d7' } } -process { withName: 'DUPRADAR' { container = 'docker://community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--f75495d6abf45328' } } -process { withName: 'FASTP' { container = 'docker://community.wave.seqera.io/library/fastp:0.23.4--c1051f83dcae53f5' } } -process { withName: 'FASTQC' { container = 'docker://community.wave.seqera.io/library/fastqc:0.12.1--df99cb252670875a' } } -process { withName: 'FQ_LINT' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } } -process { withName: 'FQ_SUBSAMPLE' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--ad6857b304869ce9' } } -process { withName: 'GFFREAD' { container = 'docker://community.wave.seqera.io/library/gffread:0.12.7--1577aa7c95340d9f' } } -process { withName: 'GTF2BED' { container = 'docker://community.wave.seqera.io/library/perl:5.26.2--2a6adf51d600e047' } } -process { withName: 'GTF_FILTER' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } } -process { withName: 'GUNZIP' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } } -process { withName: 'HISAT2_ALIGN' { container = 'docker://community.wave.seqera.io/library/hisat2_samtools:16f4ce5d5c83f6ec' } } -process { withName: 'HISAT2_BUILD' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--722945b3f185af3d' } } -process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--722945b3f185af3d' } } -process { withName: 'KALLISTO_INDEX' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } } -process { withName: 'KALLISTO_QUANT' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--58dde61fc91c371b' } } -process { withName: 'KRAKEN2_KRAKEN2' { container = 'docker://community.wave.seqera.io/library/kraken2_coreutils_pigz:efede2ece83f7a32' } } -process { withName: 'MULTIQC' { container = 'docker://community.wave.seqera.io/library/multiqc:1.27--7cf5785022026d98' } } -process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--d54415978b031ba5' } } -process { withName: 'PICARD_MARKDUPLICATES' { container = 'docker://community.wave.seqera.io/library/picard:3.1.1--c28da730a329ab3c' } } -process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'docker://community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } } -process { withName: 'PRESEQ_LCEXTRAP' { container = 'docker://community.wave.seqera.io/library/preseq:3.2.0--80c9d2ffee38d3ac' } } -process { withName: 'QUALIMAP_RNASEQ' { container = 'docker://community.wave.seqera.io/library/qualimap:2.3--8375b60bba97a2a6' } } -process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'docker://community.wave.seqera.io/library/rsem_star:871666abaeb8fb01' } } -process { withName: 'RSEM_MERGE_COUNTS' { container = 'docker://community.wave.seqera.io/library/sed:4.7--978821297d2b6677' } } -process { withName: 'RSEM_PREPAREREFERENCE' { container = 'docker://community.wave.seqera.io/library/rsem_star:871666abaeb8fb01' } } -process { withName: 'RSEQC_BAMSTAT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_INNERDISTANCE' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_READDISTRIBUTION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_READDUPLICATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'RSEQC_TIN' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:092fef07cff0abfa' } } -process { withName: 'SALMON_INDEX' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } } -process { withName: 'SALMON_QUANT' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--dc33937abc5bffd1' } } -process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SAMTOOLS_IDXSTATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SAMTOOLS_INDEX' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SAMTOOLS_SORT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SAMTOOLS_STATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--1dcf014b5ab22a61' } } -process { withName: 'SORTMERNA' { container = 'docker://community.wave.seqera.io/library/sortmerna:4.3.7--4cc83a7bffbaaa61' } } -process { withName: 'STAR_ALIGN' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:de8c848656c2c4c5' } } -process { withName: 'STAR_ALIGN_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:6ae64d775f2cb855' } } -process { withName: 'STAR_GENOMEGENERATE' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:de8c848656c2c4c5' } } -process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:6ae64d775f2cb855' } } -process { withName: 'STRINGTIE_STRINGTIE' { container = 'docker://community.wave.seqera.io/library/stringtie:2.2.3--77d8df3265c94ba1' } } -process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'docker://community.wave.seqera.io/library/subread:2.0.6--df9c6b502b57bb9c' } } -process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'docker://community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--859858039875a2a5' } } -process { withName: 'TRIMGALORE' { container = 'docker://community.wave.seqera.io/library/cutadapt_trim-galore_pigz:d0b730b6770575ef' } } -process { withName: 'TXIMETA_TXIMPORT' { container = 'docker://community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--3b0ca8a1710e2b2b' } } -process { withName: 'UCSC_BEDCLIP' { container = 'docker://community.wave.seqera.io/library/ucsc-bedclip:377--489576e83f1992e0' } } -process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'docker://community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--1db18e1b19f8e5f1' } } -process { withName: 'UMICOLLAPSE' { container = 'docker://community.wave.seqera.io/library/umicollapse:1.1.0--d406900dbf84ec60' } } -process { withName: 'UMITOOLS_DEDUP' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } -process { withName: 'UMITOOLS_EXTRACT' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } -process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--b2721816f7a92564' } } -process { withName: 'UNTAR' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4b2523b1c76a5494' } } +process { withName: 'BBMAP_BBSPLIT' { container = 'docker://community.wave.seqera.io/library/bbmap:39.10--168578230ff6490a' } } +process { withName: 'BEDTOOLS_GENOMECOV' { container = 'docker://community.wave.seqera.io/library/bedtools:2.31.1--7c4ce4cb07c09ee4' } } +process { withName: 'BRACKEN_BRACKEN' { container = 'docker://community.wave.seqera.io/library/bracken:2.9--3d5af74ed6966fc1' } } +process { withName: 'CAT_FASTQ' { container = 'docker://community.wave.seqera.io/library/coreutils:9.5--ae99c88a9b28c264' } } +process { withName: 'CUSTOM_CATADDITIONALFASTA' { container = 'docker://community.wave.seqera.io/library/python:3.12.2--8aba3d9ac529ff19' } } +process { withName: 'CUSTOM_GETCHROMSIZES' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'CUSTOM_TX2GENE' { container = 'docker://community.wave.seqera.io/library/python:3.10.4--a643e28963f01eef' } } +process { withName: 'DESEQ2_QC' { container = 'docker://community.wave.seqera.io/library/r-base_r-optparse_r-ggplot2_r-rcolorbrewer_pruned:d06fadc02f8422a2' } } +process { withName: 'DUPRADAR' { container = 'docker://community.wave.seqera.io/library/bioconductor-dupradar:1.32.0--dcb3a3be56be6612' } } +process { withName: 'FASTP' { container = 'docker://community.wave.seqera.io/library/fastp:0.23.4--f8cefc1e5f7a782e' } } +process { withName: 'FASTQC' { container = 'docker://community.wave.seqera.io/library/fastqc:0.12.1--af7a5314d5015c29' } } +process { withName: 'FQ_LINT' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'FQ_SUBSAMPLE' { container = 'docker://community.wave.seqera.io/library/fq:0.12.0--45ea0ea1c4d20daa' } } +process { withName: 'GFFREAD' { container = 'docker://community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } } +process { withName: 'GTF2BED' { container = 'docker://community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } } +process { withName: 'GTF_FILTER' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'GUNZIP' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } +process { withName: 'HISAT2_ALIGN' { container = 'docker://community.wave.seqera.io/library/hisat2_samtools:9ef5e68250d2aa60' } } +process { withName: 'HISAT2_BUILD' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'HISAT2_EXTRACTSPLICESITES' { container = 'docker://community.wave.seqera.io/library/hisat2:2.2.1--df34d2bb25ac6de5' } } +process { withName: 'KALLISTO_INDEX' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KALLISTO_QUANT' { container = 'docker://community.wave.seqera.io/library/kallisto:0.51.1--b63691b6841c7a52' } } +process { withName: 'KRAKEN2_KRAKEN2' { container = 'docker://community.wave.seqera.io/library/kraken2_coreutils_pigz:0892e153c7954635' } } +process { withName: 'MULTIQC' { container = 'docker://community.wave.seqera.io/library/multiqc:1.27--b0d1ffb40dfd9e97' } } +process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { container = 'docker://community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } } +process { withName: 'PICARD_MARKDUPLICATES' { container = 'docker://community.wave.seqera.io/library/picard:3.1.1--bae6cd265e6bf3d3' } } +process { withName: 'PREPROCESS_TRANSCRIPTS_FASTA_GENCODE' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'PRESEQ_LCEXTRAP' { container = 'docker://community.wave.seqera.io/library/preseq:3.2.0--2789d8b704b33613' } } +process { withName: 'QUALIMAP_RNASEQ' { container = 'docker://community.wave.seqera.io/library/qualimap:2.3--c1797c2253925b3a' } } +process { withName: 'RSEM_CALCULATEEXPRESSION' { container = 'docker://community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'RSEM_MERGE_COUNTS' { container = 'docker://community.wave.seqera.io/library/sed:4.7--c9d1b71422302845' } } +process { withName: 'RSEM_PREPAREREFERENCE' { container = 'docker://community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' } } +process { withName: 'RSEQC_BAMSTAT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INFEREXPERIMENT' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_INNERDISTANCE' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONANNOTATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_JUNCTIONSATURATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDISTRIBUTION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_READDUPLICATION' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'RSEQC_TIN' { container = 'docker://community.wave.seqera.io/library/rseqc_r-base:2c6374f25c7b060e' } } +process { withName: 'SALMON_INDEX' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SALMON_QUANT' { container = 'docker://community.wave.seqera.io/library/salmon:1.10.3--fcd0755dd8abb423' } } +process { withName: 'SAMTOOLS_FLAGSTAT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_IDXSTATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_INDEX' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_SORT' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SAMTOOLS_STATS' { container = 'docker://community.wave.seqera.io/library/htslib_samtools:1.21--6cb89bfd40cbaabf' } } +process { withName: 'SORTMERNA' { container = 'docker://community.wave.seqera.io/library/sortmerna:4.3.7--6502243397c065ba' } } +process { withName: 'STAR_ALIGN' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_ALIGN_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STAR_GENOMEGENERATE' { container = 'docker://community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' } } +process { withName: 'STAR_GENOMEGENERATE_IGENOMES' { container = 'docker://community.wave.seqera.io/library/star_samtools_gawk:bef5708b1c54889a' } } +process { withName: 'STRINGTIE_STRINGTIE' { container = 'docker://community.wave.seqera.io/library/stringtie:2.2.3--3c30041821e5a79a' } } +process { withName: 'SUBREAD_FEATURECOUNTS' { container = 'docker://community.wave.seqera.io/library/subread:2.0.6--1968a7457b0ed34e' } } +process { withName: 'SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT' { container = 'docker://community.wave.seqera.io/library/bioconductor-summarizedexperiment:1.32.0--13051b66560c2065' } } +process { withName: 'TRIMGALORE' { container = 'docker://community.wave.seqera.io/library/cutadapt_trim-galore_pigz:a98edd405b34582d' } } +process { withName: 'TXIMETA_TXIMPORT' { container = 'docker://community.wave.seqera.io/library/bioconductor-tximeta:1.20.1--cd025af46d4ef23a' } } +process { withName: 'UCSC_BEDCLIP' { container = 'docker://community.wave.seqera.io/library/ucsc-bedclip:377--41de764ea1c26af4' } } +process { withName: 'UCSC_BEDGRAPHTOBIGWIG' { container = 'docker://community.wave.seqera.io/library/ucsc-bedgraphtobigwig:469--f66c00635e28f216' } } +process { withName: 'UMICOLLAPSE' { container = 'docker://community.wave.seqera.io/library/umicollapse:1.1.0--74864b350c72f3a0' } } +process { withName: 'UMITOOLS_DEDUP' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_EXTRACT' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'docker://community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } } +process { withName: 'UNTAR' { container = 'docker://community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } } From dc75a5e2200abf040d8175f8baac825cdaca9b5c Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Tue, 22 Apr 2025 09:28:04 -0500 Subject: [PATCH 20/24] chore(arm): Bump modules --- modules.json | 2 +- modules/nf-core/rsem/preparereference/environment.yml | 2 ++ modules/nf-core/rsem/preparereference/tests/main.nf.test | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules.json b/modules.json index 96e8fe205..cc4ec2b0c 100644 --- a/modules.json +++ b/modules.json @@ -136,7 +136,7 @@ }, "rsem/preparereference": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "rseqc/bamstat": { diff --git a/modules/nf-core/rsem/preparereference/environment.yml b/modules/nf-core/rsem/preparereference/environment.yml index bcf70fa9a..4b358a32b 100644 --- a/modules/nf-core/rsem/preparereference/environment.yml +++ b/modules/nf-core/rsem/preparereference/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rsem/preparereference/tests/main.nf.test b/modules/nf-core/rsem/preparereference/tests/main.nf.test index 210e03e87..9f618ad4c 100644 --- a/modules/nf-core/rsem/preparereference/tests/main.nf.test +++ b/modules/nf-core/rsem/preparereference/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process RSEM_PREPAREREFERENCE" script "../main.nf" process "RSEM_PREPAREREFERENCE" + tag "modules" + tag "modules_nfcore" + tag "rsem" + tag "rsem/preparereference" test("homo_sapiens") { From 91c65a2535fd9973579f4469bb028f6dfa832254 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Tue, 22 Apr 2025 09:28:47 -0500 Subject: [PATCH 21/24] build(arm): Update profile names https://github.com/nf-core/tools/issues/3536 --- .github/workflows/cloud_tests_full.yml | 2 +- .github/workflows/cloud_tests_small.yml | 2 +- nextflow.config | 35 ++++++++++++++++++++----- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/.github/workflows/cloud_tests_full.yml b/.github/workflows/cloud_tests_full.yml index d01578fb1..3e331d9af 100644 --- a/.github/workflows/cloud_tests_full.yml +++ b/.github/workflows/cloud_tests_full.yml @@ -32,7 +32,7 @@ jobs: workdir: "${{ secrets.TOWER_BUCKET_AWS }}/work/rnaseq/work-${{ github.sha }}" run_name: "aws_rnaseq_full_${{ matrix.aligner }}_${{ matrix.arch }}" revision: ${{ github.sha }} - profiles: test_full_aws${{ matrix.arch == 'arm64' && ',wave,graviton' || '' }} + profiles: test_full_aws${{ matrix.arch == 'arm64' && ',docker_arm' || '' }} parameters: | { "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}", diff --git a/.github/workflows/cloud_tests_small.yml b/.github/workflows/cloud_tests_small.yml index 12106e348..d65b26760 100644 --- a/.github/workflows/cloud_tests_small.yml +++ b/.github/workflows/cloud_tests_small.yml @@ -30,7 +30,7 @@ jobs: workdir: "${{ secrets.TOWER_BUCKET_AWS }}/work/rnaseq/work-${{ github.sha }}" run_name: "aws_rnaseq_small_${{ matrix.arch }}" revision: ${{ github.sha }} - profiles: test${{ matrix.arch == 'arm64' && ',wave,graviton' || '' }} + profiles: test${{ matrix.arch == 'arm64' && ',docker_arm' || '' }} parameters: | { "outdir": "${{ secrets.TOWER_BUCKET_AWS }}/rnaseq/results-test-${{ github.sha }}/${{ matrix.arch }}/aligner_${{ matrix.aligner }}/" diff --git a/nextflow.config b/nextflow.config index 9eb2c9ad5..53b78861c 100644 --- a/nextflow.config +++ b/nextflow.config @@ -191,14 +191,8 @@ profiles { apptainer.enabled = false docker.runOptions = '-u $(id -u):$(id -g)' } - arm { - docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' - } - // TODO PR this to tools - graviton { - process.arch = 'linux/arm64' - } singularity { + includeConfig 'conf/containers/containers_singularity_amd64.config' singularity.enabled = true singularity.autoMounts = true conda.enabled = false @@ -264,6 +258,33 @@ profiles { ] } } + // ARM Related Profiles + apple { + docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' + } + docker_arm { + includeConfig 'conf/containers/containers_docker_arm64.config' + docker.enabled = true + conda.enabled = false + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + apptainer.enabled = false + docker.runOptions = '-u $(id -u):$(id -g)' + } + singularity_arm { + includeConfig 'conf/containers/containers_singularity_arm64.config' + singularity.enabled = true + singularity.autoMounts = true + conda.enabled = false + docker.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + apptainer.enabled = false + } + test { includeConfig 'conf/test.config' } test_full { includeConfig 'conf/test_full.config' } test_full_aws { From be0cfc4cfe141795bdfb8eab5e484e8f2cc20051 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Fri, 9 May 2025 12:30:14 -0500 Subject: [PATCH 22/24] refactor: Bring arm back, and just use arm on macos Now that we have arm builds for most of the software --- nextflow.config | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/nextflow.config b/nextflow.config index 53b78861c..557cb6dfb 100644 --- a/nextflow.config +++ b/nextflow.config @@ -181,7 +181,7 @@ profiles { apptainer.enabled = false } docker { - includeConfig 'conf/containers/containers_docker_amd64.config' + // includeConfig 'conf/containers/containers_docker_amd64.config' docker.enabled = true conda.enabled = false singularity.enabled = false @@ -259,8 +259,16 @@ profiles { } } // ARM Related Profiles - apple { - docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' + arm { + process.arch = 'arm64' + // TODO https://github.com/nf-core/modules/issues/6694 + // For now if you're using arm64 you have to use wave for the sake of the maintainers + // wave profile + apptainer.ociAutoPull = true + singularity.ociAutoPull = true + wave.enabled = true + wave.freeze = true + wave.strategy = 'conda,container' } docker_arm { includeConfig 'conf/containers/containers_docker_arm64.config' From c32fd2b4445ee3bdacc5a047c8d0b49a502d0b12 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Fri, 9 May 2025 13:13:55 -0500 Subject: [PATCH 23/24] chore: nf-core modules --branch arm-runners update --- modules.json | 142 +-- modules/nf-core/bbmap/bbsplit/environment.yml | 5 +- modules/nf-core/bbmap/bbsplit/main.nf | 4 +- modules/nf-core/bbmap/bbsplit/meta.yml | 4 +- .../nf-core/bbmap/bbsplit/tests/main.nf.test | 4 + .../bbmap/bbsplit/tests/main.nf.test.snap | 36 +- .../genomecov/bedtools-genomecov.diff | 6 +- .../bedtools/genomecov/environment.yml | 2 + .../nf-core/bracken/bracken/environment.yml | 4 +- .../bracken/bracken/tests/main.nf.test | 6 + modules/nf-core/cat/fastq/environment.yml | 7 + modules/nf-core/cat/fastq/main.nf | 29 +- modules/nf-core/cat/fastq/tests/main.nf.test | 94 +- .../nf-core/cat/fastq/tests/main.nf.test.snap | 176 ++-- .../catadditionalfasta/tests/main.nf.test | 5 + .../custom/getchromsizes/environment.yml | 2 + .../custom/getchromsizes/tests/main.nf.test | 5 + .../nf-core/custom/tx2gene/tests/main.nf.test | 6 + modules/nf-core/dupradar/environment.yml | 2 +- modules/nf-core/dupradar/tests/main.nf.test | 4 + modules/nf-core/fastp/environment.yml | 4 +- modules/nf-core/fastp/main.nf | 4 +- modules/nf-core/fastp/meta.yml | 5 +- modules/nf-core/fastp/tests/main.nf.test | 3 + modules/nf-core/fastp/tests/main.nf.test.snap | 180 ++-- modules/nf-core/fastqc/environment.yml | 2 + modules/nf-core/fastqc/main.nf | 2 +- modules/nf-core/fastqc/tests/main.nf.test | 4 + modules/nf-core/fq/lint/environment.yml | 5 +- modules/nf-core/fq/lint/tests/main.nf.test | 5 + modules/nf-core/fq/subsample/environment.yml | 5 +- .../nf-core/fq/subsample/tests/main.nf.test | 5 + modules/nf-core/gffread/environment.yml | 2 + modules/nf-core/gffread/tests/main.nf.test | 7 +- modules/nf-core/gunzip/environment.yml | 5 + modules/nf-core/gunzip/main.nf | 40 +- modules/nf-core/gunzip/meta.yml | 2 +- modules/nf-core/gunzip/tests/main.nf.test | 3 + .../nf-core/gunzip/tests/main.nf.test.snap | 40 +- modules/nf-core/hisat2/align/environment.yml | 2 + modules/nf-core/hisat2/align/main.nf | 7 +- modules/nf-core/hisat2/align/meta.yml | 2 +- .../nf-core/hisat2/align/tests/main.nf.test | 6 + modules/nf-core/hisat2/build/environment.yml | 2 + modules/nf-core/hisat2/build/main.nf | 46 +- .../nf-core/hisat2/build/tests/main.nf.test | 5 + .../hisat2/extractsplicesites/environment.yml | 2 + .../extractsplicesites/tests/main.nf.test | 4 + .../nf-core/kallisto/index/environment.yml | 2 + .../nf-core/kallisto/index/tests/main.nf.test | 4 + .../nf-core/kallisto/quant/environment.yml | 2 + .../nf-core/kallisto/quant/tests/main.nf.test | 5 + .../nf-core/kraken2/kraken2/environment.yml | 8 +- modules/nf-core/kraken2/kraken2/meta.yml | 2 +- .../kraken2/kraken2/tests/main.nf.test | 5 + modules/nf-core/multiqc/environment.yml | 4 +- modules/nf-core/multiqc/main.nf | 4 +- modules/nf-core/multiqc/tests/main.nf.test | 5 + .../nf-core/multiqc/tests/main.nf.test.snap | 18 +- .../picard/markduplicates/environment.yml | 4 +- modules/nf-core/picard/markduplicates/main.nf | 4 +- .../nf-core/picard/markduplicates/meta.yml | 116 ++- .../picard/markduplicates/tests/main.nf.test | 4 + .../markduplicates/tests/main.nf.test.snap | 48 +- .../nf-core/preseq/lcextrap/environment.yml | 2 + .../preseq/lcextrap/tests/main.nf.test | 4 + .../nf-core/qualimap/rnaseq/environment.yml | 2 + .../qualimap/rnaseq/tests/main.nf.test | 4 + .../rsem/calculateexpression/environment.yml | 2 + .../calculateexpression/tests/main.nf.test | 5 + modules/nf-core/rseqc/bamstat/environment.yml | 2 + .../nf-core/rseqc/bamstat/tests/main.nf.test | 4 + .../rseqc/inferexperiment/environment.yml | 2 + .../rseqc/inferexperiment/tests/main.nf.test | 5 + .../rseqc/innerdistance/environment.yml | 2 + .../rseqc/innerdistance/tests/main.nf.test | 5 + .../rseqc/junctionannotation/environment.yml | 2 + .../junctionannotation/tests/main.nf.test | 5 + .../rseqc/junctionsaturation/environment.yml | 2 + .../junctionsaturation/tests/main.nf.test | 5 + .../rseqc/readdistribution/environment.yml | 2 + .../rseqc/readdistribution/tests/main.nf.test | 4 + .../rseqc/readduplication/environment.yml | 2 + .../rseqc/readduplication/tests/main.nf.test | 4 + modules/nf-core/rseqc/tin/environment.yml | 2 + modules/nf-core/rseqc/tin/meta.yml | 2 +- modules/nf-core/rseqc/tin/tests/main.nf.test | 4 + modules/nf-core/salmon/index/environment.yml | 2 + modules/nf-core/salmon/quant/environment.yml | 2 + modules/nf-core/salmon/quant/main.nf | 94 +- .../nf-core/salmon/quant/tests/main.nf.test | 5 + modules/nf-core/samtools/flagstat/main.nf | 1 - .../samtools/flagstat/tests/main.nf.test | 4 + modules/nf-core/samtools/idxstats/main.nf | 1 - .../samtools/idxstats/tests/main.nf.test | 4 + .../nf-core/samtools/index/tests/main.nf.test | 4 + .../nf-core/samtools/sort/tests/main.nf.test | 4 + modules/nf-core/samtools/stats/main.nf | 1 - .../nf-core/samtools/stats/tests/main.nf.test | 5 + modules/nf-core/sortmerna/environment.yml | 4 +- modules/nf-core/sortmerna/main.nf | 4 +- modules/nf-core/sortmerna/tests/main.nf.test | 28 +- .../nf-core/sortmerna/tests/main.nf.test.snap | 251 ++--- modules/nf-core/star/align/environment.yml | 2 + modules/nf-core/star/align/star-align.diff | 3 +- .../star/genomegenerate/environment.yml | 2 + .../genomegenerate/star-genomegenerate.diff | 3 +- .../stringtie/stringtie/environment.yml | 2 + .../stringtie/stringtie/tests/main.nf.test | 4 + .../subread/featurecounts/environment.yml | 2 + modules/nf-core/subread/featurecounts/main.nf | 33 +- .../nf-core/subread/featurecounts/meta.yml | 8 +- .../subread/featurecounts/tests/main.nf.test | 4 + .../featurecounts/tests/main.nf.test.snap | 90 +- .../summarizedexperiment/environment.yml | 2 +- .../summarizedexperiment/tests/main.nf.test | 93 +- .../tests/main.nf.test.snap | 20 + .../summarizedexperiment/tests/unify.config | 7 + modules/nf-core/trimgalore/environment.yml | 2 + modules/nf-core/trimgalore/tests/main.nf.test | 5 +- .../nf-core/tximeta/tximport/environment.yml | 2 +- .../tximeta/tximport/tests/main.nf.test | 129 ++- .../tximeta/tximport/tests/main.nf.test.snap | 778 +++++++-------- modules/nf-core/ucsc/bedclip/environment.yml | 2 + .../nf-core/ucsc/bedclip/tests/main.nf.test | 4 + .../ucsc/bedgraphtobigwig/environment.yml | 2 + .../ucsc/bedgraphtobigwig/tests/main.nf.test | 4 + modules/nf-core/umicollapse/environment.yml | 2 + modules/nf-core/umicollapse/tests/tags.yml | 2 - .../nf-core/umitools/dedup/environment.yml | 2 + modules/nf-core/umitools/dedup/tests/tags.yml | 2 - .../nf-core/umitools/extract/environment.yml | 2 + .../umitools/extract/tests/main.nf.test | 5 + .../umitools/prepareforrsem/environment.yml | 2 + .../prepareforrsem/tests/main.nf.test | 5 + modules/nf-core/untar/environment.yml | 5 + modules/nf-core/untar/main.nf | 36 +- modules/nf-core/untar/meta.yml | 9 +- modules/nf-core/untar/tests/main.nf.test | 3 + .../tests/tags.yml | 2 - .../tests/tags.yml | 2 - .../nf-core/bam_dedup_umi/tests/main.nf.test | 8 +- .../tests/main.nf.test | 14 + .../tests/main.nf.test.snap | 26 +- .../nf-core/bam_rseqc/tests/main.nf.test | 13 + .../tests/main.nf.test | 12 + .../bam_stats_samtools/tests/main.nf.test | 8 + .../tests/main.nf.test | 7 + .../nf-core/fastq_align_hisat2/meta.yml | 2 +- .../fastq_align_hisat2/tests/main.nf.test | 16 +- .../fastq_fastqc_umitools_fastp/main.nf | 145 ++- .../tests/main.nf.test | 540 ++++++----- .../tests/main.nf.test.snap | 886 +++++++++--------- .../tests/nextflow.config | 5 + .../tests/nextflow.save_trimmed.config | 6 - .../fastq_fastqc_umitools_trimgalore/main.nf | 113 ++- .../tests/main.nf.test | 10 + .../main.nf | 180 ++-- .../meta.yml | 1 + .../tests/main.nf.test | 1 + .../tests/main.nf.test | 7 + .../nf-core/quantify_pseudo_alignment/main.nf | 43 +- .../tests/main.nf.test | 26 +- .../tests/main.nf.test.snap | 132 +-- .../tests/nextflow.config | 11 + 165 files changed, 2833 insertions(+), 2325 deletions(-) create mode 100644 modules/nf-core/summarizedexperiment/summarizedexperiment/tests/unify.config delete mode 100644 modules/nf-core/umicollapse/tests/tags.yml delete mode 100644 modules/nf-core/umitools/dedup/tests/tags.yml delete mode 100644 subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/tags.yml delete mode 100644 subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/tags.yml delete mode 100644 subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/nextflow.save_trimmed.config create mode 100644 subworkflows/nf-core/quantify_pseudo_alignment/tests/nextflow.config diff --git a/modules.json b/modules.json index cc4ec2b0c..bbc0bdee9 100644 --- a/modules.json +++ b/modules.json @@ -7,131 +7,131 @@ "nf-core": { "bbmap/bbsplit": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_qc_trim_filter_setstrandedness", "modules"] }, "bedtools/genomecov": { "branch": "master", - "git_sha": "bfa8975eefb8df3e480a44ac9e594f23f52b2963", + "git_sha": "81880787133db07d9b4c1febd152c090eb8325dc", "installed_by": ["modules"], "patch": "modules/nf-core/bedtools/genomecov/bedtools-genomecov.diff" }, "bracken/bracken": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "cat/fastq": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_qc_trim_filter_setstrandedness", "modules"], "patch": "modules/nf-core/cat/fastq/cat-fastq.diff" }, "custom/catadditionalfasta": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "custom/getchromsizes": { "branch": "master", - "git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "custom/tx2gene": { "branch": "master", - "git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules", "quantify_pseudo_alignment"] }, "dupradar": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "fastp": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "d082103d7976a2804f21225446cc110cbd822f4c", "installed_by": ["fastq_fastqc_umitools_fastp", "modules"] }, "fastqc": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "b1966f36ec9de31927b2603d8f499960b2a4c294", "installed_by": ["fastq_fastqc_umitools_fastp", "fastq_fastqc_umitools_trimgalore"] }, "fq/lint": { "branch": "master", - "git_sha": "2c0260ed80daeca9c6dfa477a4daf04ff336dc37", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_qc_trim_filter_setstrandedness", "modules"] }, "fq/subsample": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_subsample_fq_salmon", "modules"] }, "gffread": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "gunzip": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "hisat2/align": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_align_hisat2"], "patch": "modules/nf-core/hisat2/align/hisat2-align.diff" }, "hisat2/build": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "db5a84497b80c4932b4498ec231f19403d19bcff", "installed_by": ["modules"] }, "hisat2/extractsplicesites": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "kallisto/index": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "kallisto/quant": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules", "quantify_pseudo_alignment"] }, "kraken2/kraken2": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "multiqc": { "branch": "master", - "git_sha": "f0719ae309075ae4a291533883847c3f7c441dad", + "git_sha": "7b50cb7be890e4b28cffb82e438cc6a8d7805d3f", "installed_by": ["modules"] }, "picard/markduplicates": { "branch": "master", - "git_sha": "06c8865e36741e05ad32ef70ab3fac127486af48", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_markduplicates_picard"], "patch": "modules/nf-core/picard/markduplicates/picard-markduplicates.diff" }, "preseq/lcextrap": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "qualimap/rnaseq": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "rsem/calculateexpression": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "rsem/preparereference": { @@ -141,67 +141,67 @@ }, "rseqc/bamstat": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_rseqc"] }, "rseqc/inferexperiment": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_rseqc"] }, "rseqc/innerdistance": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_rseqc"] }, "rseqc/junctionannotation": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_rseqc"] }, "rseqc/junctionsaturation": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_rseqc"] }, "rseqc/readdistribution": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_rseqc"] }, "rseqc/readduplication": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_rseqc"] }, "rseqc/tin": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_rseqc"] }, "salmon/index": { "branch": "master", - "git_sha": "25ddc0bb25292280923eed07e6351789a671e86a", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_subsample_fq_salmon"] }, "salmon/quant": { "branch": "master", - "git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358", + "git_sha": "db5a84497b80c4932b4498ec231f19403d19bcff", "installed_by": ["fastq_subsample_fq_salmon", "modules", "quantify_pseudo_alignment"] }, "samtools/flagstat": { "branch": "master", - "git_sha": "b13f07be4c508d6ff6312d354d09f2493243e208", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_stats_samtools"] }, "samtools/idxstats": { "branch": "master", - "git_sha": "b13f07be4c508d6ff6312d354d09f2493243e208", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_stats_samtools"] }, "samtools/index": { "branch": "master", - "git_sha": "b13f07be4c508d6ff6312d354d09f2493243e208", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": [ "bam_dedup_stats_samtools_umicollapse", "bam_dedup_stats_samtools_umitools", @@ -211,90 +211,90 @@ }, "samtools/sort": { "branch": "master", - "git_sha": "b7800db9b069ed505db3f9d91b8c72faea9be17b", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_dedup_umi", "bam_sort_stats_samtools"] }, "samtools/stats": { "branch": "master", - "git_sha": "b13f07be4c508d6ff6312d354d09f2493243e208", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_stats_samtools"] }, "sortmerna": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_qc_trim_filter_setstrandedness", "modules"], "patch": "modules/nf-core/sortmerna/sortmerna.diff" }, "star/align": { "branch": "master", - "git_sha": "3c259f0ac1ed9ae3f6b835461d054edffc60120e", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"], "patch": "modules/nf-core/star/align/star-align.diff" }, "star/genomegenerate": { "branch": "master", - "git_sha": "3c259f0ac1ed9ae3f6b835461d054edffc60120e", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"], "patch": "modules/nf-core/star/genomegenerate/star-genomegenerate.diff" }, "stringtie/stringtie": { "branch": "master", - "git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "subread/featurecounts": { "branch": "master", - "git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] }, "summarizedexperiment/summarizedexperiment": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "1f008221e451e7a4738226c49e69aaa2eb731369", "installed_by": ["modules", "quantify_pseudo_alignment"] }, "trimgalore": { "branch": "master", - "git_sha": "8d3e71002c5008e3f68a691ad8cd32c346356258", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_fastqc_umitools_trimgalore"] }, "tximeta/tximport": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "1f008221e451e7a4738226c49e69aaa2eb731369", "installed_by": ["modules", "quantify_pseudo_alignment"] }, "ucsc/bedclip": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bedgraph_bedclip_bedgraphtobigwig"] }, "ucsc/bedgraphtobigwig": { "branch": "master", - "git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bedgraph_bedclip_bedgraphtobigwig"] }, "umicollapse": { "branch": "master", - "git_sha": "0b27602842d3d79fd0e8db79f4afa764967fc3d1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_dedup_stats_samtools_umicollapse"] }, "umitools/dedup": { "branch": "master", - "git_sha": "0b27602842d3d79fd0e8db79f4afa764967fc3d1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_dedup_stats_samtools_umitools"] }, "umitools/extract": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_fastqc_umitools_fastp", "fastq_fastqc_umitools_trimgalore"] }, "umitools/prepareforrsem": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_dedup_umi", "modules"] }, "untar": { "branch": "master", - "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["modules"] } } @@ -303,37 +303,37 @@ "nf-core": { "bam_dedup_stats_samtools_umicollapse": { "branch": "master", - "git_sha": "0b27602842d3d79fd0e8db79f4afa764967fc3d1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_dedup_umi", "subworkflows"] }, "bam_dedup_stats_samtools_umitools": { "branch": "master", - "git_sha": "0b27602842d3d79fd0e8db79f4afa764967fc3d1", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_dedup_umi", "subworkflows"] }, "bam_dedup_umi": { "branch": "master", - "git_sha": "b5828f47c17c41ce3a4c70b863c99207e3f6d37c", + "git_sha": "332fdceaada99b70d9a538db57430afb19566fe0", "installed_by": ["subworkflows"] }, "bam_markduplicates_picard": { "branch": "master", - "git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["subworkflows"] }, "bam_rseqc": { "branch": "master", - "git_sha": "0eacd714effe5aac1c1de26593873960b3346cab", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["subworkflows"] }, "bam_sort_stats_samtools": { "branch": "master", - "git_sha": "763d4b5c05ffda3ac1ac969dc67f7458cfb2eb1d", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["bam_dedup_umi", "fastq_align_hisat2"] }, "bam_stats_samtools": { "branch": "master", - "git_sha": "763d4b5c05ffda3ac1ac969dc67f7458cfb2eb1d", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": [ "bam_dedup_stats_samtools_umicollapse", "bam_dedup_stats_samtools_umitools", @@ -343,37 +343,37 @@ }, "bedgraph_bedclip_bedgraphtobigwig": { "branch": "master", - "git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["subworkflows"] }, "fastq_align_hisat2": { "branch": "master", - "git_sha": "763d4b5c05ffda3ac1ac969dc67f7458cfb2eb1d", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["subworkflows"] }, "fastq_fastqc_umitools_fastp": { - "branch": "master", - "git_sha": "4026bab16a91b1b0b18d80ff465819ca725f33fd", + "branch": "arm-runners", + "git_sha": "db5a84497b80c4932b4498ec231f19403d19bcff", "installed_by": ["fastq_qc_trim_filter_setstrandedness", "subworkflows"] }, "fastq_fastqc_umitools_trimgalore": { "branch": "master", - "git_sha": "4c2d06a5e79abf08ba7f04c58e39c7dad75f094d", + "git_sha": "db5a84497b80c4932b4498ec231f19403d19bcff", "installed_by": ["fastq_qc_trim_filter_setstrandedness", "subworkflows"] }, "fastq_qc_trim_filter_setstrandedness": { - "branch": "master", - "git_sha": "8a01490596dbe8443bd6bc6ae4207ae9485f33e3", + "branch": "arm-runners", + "git_sha": "db5a84497b80c4932b4498ec231f19403d19bcff", "installed_by": ["subworkflows"] }, "fastq_subsample_fq_salmon": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", "installed_by": ["fastq_qc_trim_filter_setstrandedness", "subworkflows"] }, "quantify_pseudo_alignment": { "branch": "master", - "git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc", + "git_sha": "1f008221e451e7a4738226c49e69aaa2eb731369", "installed_by": ["subworkflows"] }, "utils_nextflow_pipeline": { diff --git a/modules/nf-core/bbmap/bbsplit/environment.yml b/modules/nf-core/bbmap/bbsplit/environment.yml index a2f655067..a33ddca85 100644 --- a/modules/nf-core/bbmap/bbsplit/environment.yml +++ b/modules/nf-core/bbmap/bbsplit/environment.yml @@ -1,5 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - - bioconda::bbmap=39.10 + - bioconda::bbmap=39.18 + - pigz=2.8 diff --git a/modules/nf-core/bbmap/bbsplit/main.nf b/modules/nf-core/bbmap/bbsplit/main.nf index 9eb53208c..71c817894 100644 --- a/modules/nf-core/bbmap/bbsplit/main.nf +++ b/modules/nf-core/bbmap/bbsplit/main.nf @@ -5,8 +5,8 @@ process BBMAP_BBSPLIT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/bbmap:39.10--h92535d8_0': - 'biocontainers/bbmap:39.10--h92535d8_0' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/5a/5aae5977ff9de3e01ff962dc495bfa23f4304c676446b5fdf2de5c7edfa2dc4e/data' : + 'community.wave.seqera.io/library/bbmap_pigz:07416fe99b090fa9' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/bbmap/bbsplit/meta.yml b/modules/nf-core/bbmap/bbsplit/meta.yml index c34196e47..081aeb2b3 100644 --- a/modules/nf-core/bbmap/bbsplit/meta.yml +++ b/modules/nf-core/bbmap/bbsplit/meta.yml @@ -10,8 +10,8 @@ tools: - bbmap: description: BBMap is a short read aligner, as well as various other bioinformatic tools. - homepage: https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/ - documentation: https://jgi.doe.gov/data-and-tools/bbtools/bb-tools-user-guide/ + homepage: https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/ + documentation: https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/ licence: ["UC-LBL license (see package)"] identifier: biotools:bbmap input: diff --git a/modules/nf-core/bbmap/bbsplit/tests/main.nf.test b/modules/nf-core/bbmap/bbsplit/tests/main.nf.test index 0674d247f..1f260d5f6 100644 --- a/modules/nf-core/bbmap/bbsplit/tests/main.nf.test +++ b/modules/nf-core/bbmap/bbsplit/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process BBMAP_BBSPLIT" script "../main.nf" process "BBMAP_BBSPLIT" + tag "modules" + tag "modules_nfcore" + tag "bbmap" + tag "bbmap/bbsplit" test("sarscov2_se_fastq_fasta_chr22_fasta - index") { diff --git a/modules/nf-core/bbmap/bbsplit/tests/main.nf.test.snap b/modules/nf-core/bbmap/bbsplit/tests/main.nf.test.snap index 6bdc3c0d1..656d3ed05 100644 --- a/modules/nf-core/bbmap/bbsplit/tests/main.nf.test.snap +++ b/modules/nf-core/bbmap/bbsplit/tests/main.nf.test.snap @@ -9,26 +9,26 @@ "namelist.txt:md5,45e7a4cdc7a11a39ada56844ca3a1e30" ], [ - "versions.yml:md5,97dfea8bc38fdb0ec800ee936e0c6e27" + "versions.yml:md5,b75d21d7649b5a512e7b54dd15cd3eba" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-10-19T16:03:51.869574777" + "timestamp": "2025-03-12T18:57:32.958846" }, "sarscov2_se_fastq_fasta_chr22_fasta - index": { "content": [ [ - "versions.yml:md5,97dfea8bc38fdb0ec800ee936e0c6e27" + "versions.yml:md5,b75d21d7649b5a512e7b54dd15cd3eba" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-10-19T15:47:22.996403051" + "timestamp": "2025-03-12T18:57:12.155636" }, "sarscov2_se_fastq_fasta_chr22_fasta - index - stub": { "content": [ @@ -56,7 +56,7 @@ ] ], "5": [ - "versions.yml:md5,97dfea8bc38fdb0ec800ee936e0c6e27" + "versions.yml:md5,b75d21d7649b5a512e7b54dd15cd3eba" ], "all_fastq": [ @@ -81,15 +81,15 @@ ], "versions": [ - "versions.yml:md5,97dfea8bc38fdb0ec800ee936e0c6e27" + "versions.yml:md5,b75d21d7649b5a512e7b54dd15cd3eba" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-10-19T16:03:10.27746726" + "timestamp": "2025-03-12T18:57:17.177351" }, "sarscov2_se_fastq_fasta_chr22_fasta - stub": { "content": [ @@ -139,7 +139,7 @@ ] ], "5": [ - "versions.yml:md5,97dfea8bc38fdb0ec800ee936e0c6e27" + "versions.yml:md5,b75d21d7649b5a512e7b54dd15cd3eba" ], "all_fastq": [ [ @@ -186,14 +186,14 @@ ] ], "versions": [ - "versions.yml:md5,97dfea8bc38fdb0ec800ee936e0c6e27" + "versions.yml:md5,b75d21d7649b5a512e7b54dd15cd3eba" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-10-19T16:04:18.416324262" + "timestamp": "2025-03-12T18:57:42.233549" } } \ No newline at end of file diff --git a/modules/nf-core/bedtools/genomecov/bedtools-genomecov.diff b/modules/nf-core/bedtools/genomecov/bedtools-genomecov.diff index 17aa9eb2d..874fa6800 100644 --- a/modules/nf-core/bedtools/genomecov/bedtools-genomecov.diff +++ b/modules/nf-core/bedtools/genomecov/bedtools-genomecov.diff @@ -1,4 +1,6 @@ -Changes in module 'nf-core/bedtools/genomecov' +Changes in component 'nf-core/bedtools/genomecov' +'modules/nf-core/bedtools/genomecov/environment.yml' is unchanged +'modules/nf-core/bedtools/genomecov/meta.yml' is unchanged Changes in 'bedtools/genomecov/main.nf': --- modules/nf-core/bedtools/genomecov/main.nf +++ modules/nf-core/bedtools/genomecov/main.nf @@ -14,8 +16,6 @@ Changes in 'bedtools/genomecov/main.nf': input: tuple val(meta), path(intervals), val(scale) -'modules/nf-core/bedtools/genomecov/meta.yml' is unchanged -'modules/nf-core/bedtools/genomecov/environment.yml' is unchanged 'modules/nf-core/bedtools/genomecov/tests/main.nf.test.snap' is unchanged 'modules/nf-core/bedtools/genomecov/tests/nextflow.config' is unchanged Changes in 'bedtools/genomecov/tests/main.nf.test': diff --git a/modules/nf-core/bedtools/genomecov/environment.yml b/modules/nf-core/bedtools/genomecov/environment.yml index 5683bc05f..45c307b0e 100644 --- a/modules/nf-core/bedtools/genomecov/environment.yml +++ b/modules/nf-core/bedtools/genomecov/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/bracken/bracken/environment.yml b/modules/nf-core/bracken/bracken/environment.yml index b96b00d7a..5730fc9a1 100644 --- a/modules/nf-core/bracken/bracken/environment.yml +++ b/modules/nf-core/bracken/bracken/environment.yml @@ -1,5 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - - "bioconda::bracken=2.9" + - bioconda::bracken=2.9 diff --git a/modules/nf-core/bracken/bracken/tests/main.nf.test b/modules/nf-core/bracken/bracken/tests/main.nf.test index 3085f3f89..9d2105ded 100644 --- a/modules/nf-core/bracken/bracken/tests/main.nf.test +++ b/modules/nf-core/bracken/bracken/tests/main.nf.test @@ -4,6 +4,12 @@ nextflow_process { script "../main.nf" process "BRACKEN_BRACKEN" + tag "modules" + tag "modules_nfcore" + tag "bracken" + tag "bracken/bracken" + tag "kraken2/kraken2" + tag "untar" setup { run ("UNTAR") { diff --git a/modules/nf-core/cat/fastq/environment.yml b/modules/nf-core/cat/fastq/environment.yml index 71e04c3d7..9b926b1ff 100644 --- a/modules/nf-core/cat/fastq/environment.yml +++ b/modules/nf-core/cat/fastq/environment.yml @@ -1,5 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - conda-forge::coreutils=9.5 + - conda-forge::grep=3.11 + - conda-forge::gzip=1.13 + - conda-forge::lbzip2=2.5 + - conda-forge::sed=4.8 + - conda-forge::tar=1.34 diff --git a/modules/nf-core/cat/fastq/main.nf b/modules/nf-core/cat/fastq/main.nf index 6f4f96e34..acfb6d0e6 100644 --- a/modules/nf-core/cat/fastq/main.nf +++ b/modules/nf-core/cat/fastq/main.nf @@ -1,24 +1,25 @@ process CAT_FASTQ { - tag "$meta.id" + tag "${meta.id}" label 'process_single' conda "${moduleDir}/environment.yml" - container 'nf-core/coreutils:9.5--ae99c88a9b28c264' + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data' + : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}" input: tuple val(meta), path(reads, stageAs: "input*/*") output: tuple val(meta), path("*.merged.fastq.gz"), emit: reads - path "versions.yml" , emit: versions + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def readList = reads instanceof List ? reads.collect{ it.toString() } : [reads.toString()] + def readList = reads instanceof List ? reads.collect { it.toString() } : [reads.toString()] if (meta.single_end) { if (readList.size >= 1) { """ @@ -29,12 +30,15 @@ process CAT_FASTQ { cat: \$(echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//') END_VERSIONS """ + } else { + error("Could not find any FASTQ files to concatenate in the process input") } - } else { + } + else { if (readList.size >= 2) { def read1 = [] def read2 = [] - readList.eachWithIndex{ v, ix -> ( ix & 1 ? read2 : read1 ) << v } + readList.eachWithIndex { v, ix -> (ix & 1 ? read2 : read1) << v } """ cat ${read1.join(' ')} > ${prefix}_1.merged.fastq.gz cat ${read2.join(' ')} > ${prefix}_2.merged.fastq.gz @@ -44,12 +48,14 @@ process CAT_FASTQ { cat: \$(echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//') END_VERSIONS """ + } else { + error("Could not find any FASTQ file pairs to concatenate in the process input") } } stub: def prefix = task.ext.prefix ?: "${meta.id}" - def readList = reads instanceof List ? reads.collect{ it.toString() } : [reads.toString()] + def readList = reads instanceof List ? reads.collect { it.toString() } : [reads.toString()] if (meta.single_end) { if (readList.size >= 1) { """ @@ -60,8 +66,11 @@ process CAT_FASTQ { cat: \$(echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//') END_VERSIONS """ + } else { + error("Could not find any FASTQ files to concatenate in the process input") } - } else { + } + else { if (readList.size >= 2) { """ echo '' | gzip > ${prefix}_1.merged.fastq.gz @@ -72,6 +81,8 @@ process CAT_FASTQ { cat: \$(echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//') END_VERSIONS """ + } else { + error("Could not find any FASTQ file pairs to concatenate in the process input") } } } diff --git a/modules/nf-core/cat/fastq/tests/main.nf.test b/modules/nf-core/cat/fastq/tests/main.nf.test index 6cc7aad15..013c1d0f4 100644 --- a/modules/nf-core/cat/fastq/tests/main.nf.test +++ b/modules/nf-core/cat/fastq/tests/main.nf.test @@ -1,10 +1,12 @@ -// NOTE The version snaps may not be consistant -// https://github.com/nf-core/modules/pull/4087#issuecomment-1767948035 nextflow_process { name "Test Process CAT_FASTQ" script "../main.nf" process "CAT_FASTQ" + tag "modules" + tag "modules_nfcore" + tag "cat" + tag "cat/fastq" test("test_cat_fastq_single_end") { @@ -241,4 +243,92 @@ nextflow_process { ) } } + + test("test_cat_fastq_single_end_no_files") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [] + ]) + """ + } + } + + then { + assertAll( + { assert process.failed }, + { assert snapshot(process.stdout.find { it.contains("-- Check script") }.split(" -- Check script")[0]).match() } + ) + } + } + + test("test_cat_fastq_paired_end_no_files") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [] + ]) + """ + } + } + + then { + assertAll( + { assert process.failed }, + { assert snapshot(process.stdout.find { it.contains("-- Check script") }.split(" -- Check script")[0]).match() } + ) + } + } + + test("test_cat_fastq_single_end_no_files - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [] + ]) + """ + } + } + + then { + assertAll( + { assert process.failed }, + { assert snapshot(process.stdout.find { it.contains("-- Check script") }.split(" -- Check script")[0]).match() } + ) + } + } + + test("test_cat_fastq_paired_end_no_files - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [] + ]) + """ + } + } + + then { + assertAll( + { assert process.failed }, + { assert snapshot(process.stdout.find { it.contains("-- Check script") }.split(" -- Check script")[0]).match() } + ) + } + } } diff --git a/modules/nf-core/cat/fastq/tests/main.nf.test.snap b/modules/nf-core/cat/fastq/tests/main.nf.test.snap index f8689a1ce..ee5ab3647 100644 --- a/modules/nf-core/cat/fastq/tests/main.nf.test.snap +++ b/modules/nf-core/cat/fastq/tests/main.nf.test.snap @@ -1,5 +1,15 @@ { - "test_cat_fastq_single_end": { + "test_cat_fastq_paired_end_no_files - stub": { + "content": [ + " Could not find any FASTQ file pairs to concatenate in the process input" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-25T17:14:51.248685461" + }, + "test_cat_fastq_single_end_single_file": { "content": [ { "0": [ @@ -8,7 +18,7 @@ "id": "test", "single_end": true }, - "test.merged.fastq.gz:md5,ee314a9bd568d06617171b0c85f508da" + "test.merged.fastq.gz:md5,4161df271f9bfcd25d5845a1e220dbec" ] ], "1": [ @@ -20,7 +30,7 @@ "id": "test", "single_end": true }, - "test.merged.fastq.gz:md5,ee314a9bd568d06617171b0c85f508da" + "test.merged.fastq.gz:md5,4161df271f9bfcd25d5845a1e220dbec" ] ], "versions": [ @@ -29,21 +39,24 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:02:07.519211144" + "timestamp": "2025-02-25T17:24:04.902821069" }, - "test_cat_fastq_single_end_same_name": { + "test_cat_fastq_paired_end_same_name": { "content": [ { "0": [ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22" + [ + "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", + "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" + ] ] ], "1": [ @@ -53,9 +66,12 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22" + [ + "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", + "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" + ] ] ], "versions": [ @@ -64,21 +80,24 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:02:31.618628921" + "timestamp": "2025-02-25T17:23:57.476357974" }, - "test_cat_fastq_single_end_single_file": { + "test_cat_fastq_paired_end_same_name - stub": { "content": [ { "0": [ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.merged.fastq.gz:md5,4161df271f9bfcd25d5845a1e220dbec" + [ + "test_1.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] ], "1": [ @@ -88,9 +107,12 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.merged.fastq.gz:md5,4161df271f9bfcd25d5845a1e220dbec" + [ + "test_1.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] ], "versions": [ @@ -99,24 +121,21 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:02:57.904149581" + "timestamp": "2025-02-25T17:24:34.615815265" }, - "test_cat_fastq_paired_end_same_name": { + "test_cat_fastq_single_end": { "content": [ { "0": [ [ { "id": "test", - "single_end": false + "single_end": true }, - [ - "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", - "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" - ] + "test.merged.fastq.gz:md5,ee314a9bd568d06617171b0c85f508da" ] ], "1": [ @@ -126,12 +145,9 @@ [ { "id": "test", - "single_end": false + "single_end": true }, - [ - "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", - "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" - ] + "test.merged.fastq.gz:md5,ee314a9bd568d06617171b0c85f508da" ] ], "versions": [ @@ -140,12 +156,12 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:02:44.577183829" + "timestamp": "2025-02-25T17:23:32.489874386" }, - "test_cat_fastq_single_end - stub": { + "test_cat_fastq_single_end_same_name": { "content": [ { "0": [ @@ -154,7 +170,7 @@ "id": "test", "single_end": true }, - "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "test.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22" ] ], "1": [ @@ -166,7 +182,7 @@ "id": "test", "single_end": true }, - "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "test.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22" ] ], "versions": [ @@ -175,24 +191,21 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:03:10.603734777" + "timestamp": "2025-02-25T17:23:49.184759506" }, - "test_cat_fastq_paired_end_same_name - stub": { + "test_cat_fastq_single_end - stub": { "content": [ { "0": [ [ { "id": "test", - "single_end": false + "single_end": true }, - [ - "test_1.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "1": [ @@ -202,12 +215,9 @@ [ { "id": "test", - "single_end": false + "single_end": true }, - [ - "test_1.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "versions": [ @@ -216,10 +226,30 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-25T17:24:12.857293744" + }, + "test_cat_fastq_paired_end_no_files": { + "content": [ + " Could not find any FASTQ file pairs to concatenate in the process input" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-25T17:14:40.806088747" + }, + "test_cat_fastq_single_end_no_files - stub": { + "content": [ + " Could not find any FASTQ files to concatenate in the process input" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:03:46.041808828" + "timestamp": "2025-02-25T17:14:45.852365218" }, "test_cat_fastq_single_end_same_name - stub": { "content": [ @@ -251,10 +281,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:03:34.13865402" + "timestamp": "2025-02-25T17:24:27.816080065" }, "test_cat_fastq_paired_end": { "content": [ @@ -292,10 +322,20 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-25T17:23:41.739469187" + }, + "test_cat_fastq_single_end_no_files": { + "content": [ + " Could not find any FASTQ files to concatenate in the process input" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:02:19.64383573" + "timestamp": "2025-02-25T17:14:35.695192409" }, "test_cat_fastq_paired_end - stub": { "content": [ @@ -333,10 +373,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:03:22.597246066" + "timestamp": "2025-02-25T17:24:21.178950408" }, "test_cat_fastq_single_end_single_file - stub": { "content": [ @@ -368,9 +408,9 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.4" }, - "timestamp": "2024-10-19T20:03:58.44849001" + "timestamp": "2025-02-25T17:24:40.851404993" } } \ No newline at end of file diff --git a/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test b/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test index 878c05d16..a0ef5c91d 100644 --- a/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test +++ b/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "CUSTOM_CATADDITIONALFASTA" + tag "modules" + tag "modules_nfcore" + tag "custom" + tag "custom/catadditionalfasta" + test("sarscov2 - fastq - gtf") { when { diff --git a/modules/nf-core/custom/getchromsizes/environment.yml b/modules/nf-core/custom/getchromsizes/environment.yml index 2bcd47ee1..9eac2f1e2 100644 --- a/modules/nf-core/custom/getchromsizes/environment.yml +++ b/modules/nf-core/custom/getchromsizes/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/custom/getchromsizes/tests/main.nf.test b/modules/nf-core/custom/getchromsizes/tests/main.nf.test index 2dadc1a55..2f741a4bb 100644 --- a/modules/nf-core/custom/getchromsizes/tests/main.nf.test +++ b/modules/nf-core/custom/getchromsizes/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "CUSTOM_GETCHROMSIZES" + tag "modules" + tag "modules_nfcore" + tag "custom" + tag "custom/getchromsizes" + test("test_custom_getchromsizes") { when { diff --git a/modules/nf-core/custom/tx2gene/tests/main.nf.test b/modules/nf-core/custom/tx2gene/tests/main.nf.test index e56a0b8fe..4cbb8d4ef 100644 --- a/modules/nf-core/custom/tx2gene/tests/main.nf.test +++ b/modules/nf-core/custom/tx2gene/tests/main.nf.test @@ -4,6 +4,12 @@ nextflow_process { script "../main.nf" process "CUSTOM_TX2GENE" + tag "modules" + tag "modules_nfcore" + tag "custom" + tag "custom/tx2gene" + tag "untar" + test("saccharomyces_cerevisiae - gtf") { setup { diff --git a/modules/nf-core/dupradar/environment.yml b/modules/nf-core/dupradar/environment.yml index fb16938d2..0add73e81 100644 --- a/modules/nf-core/dupradar/environment.yml +++ b/modules/nf-core/dupradar/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::bioconductor-dupradar=1.32.0" + - bioconda::bioconductor-dupradar=1.32.0 diff --git a/modules/nf-core/dupradar/tests/main.nf.test b/modules/nf-core/dupradar/tests/main.nf.test index 60f8dfb7d..ef213df9f 100644 --- a/modules/nf-core/dupradar/tests/main.nf.test +++ b/modules/nf-core/dupradar/tests/main.nf.test @@ -4,6 +4,10 @@ nextflow_process { script "../main.nf" process "DUPRADAR" + tag "modules" + tag "modules_nfcore" + tag "dupradar" + test("sarscov2 - bam - single_end") { config './nextflow.config' diff --git a/modules/nf-core/fastp/environment.yml b/modules/nf-core/fastp/environment.yml index 26d4aca5d..90adcd2c5 100644 --- a/modules/nf-core/fastp/environment.yml +++ b/modules/nf-core/fastp/environment.yml @@ -1,5 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - - bioconda::fastp=0.23.4 + - bioconda::fastp=0.24.0 diff --git a/modules/nf-core/fastp/main.nf b/modules/nf-core/fastp/main.nf index e1b9f5656..1342741d5 100644 --- a/modules/nf-core/fastp/main.nf +++ b/modules/nf-core/fastp/main.nf @@ -4,8 +4,8 @@ process FASTP { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/fastp:0.23.4--h5f740d0_0' : - 'biocontainers/fastp:0.23.4--h5f740d0_0' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/88/889a182b8066804f4799f3808a5813ad601381a8a0e3baa4ab8d73e739b97001/data' : + 'community.wave.seqera.io/library/fastp:0.24.0--62c97b06e8447690' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/fastp/meta.yml b/modules/nf-core/fastp/meta.yml index 159404d08..9c4b24584 100644 --- a/modules/nf-core/fastp/meta.yml +++ b/modules/nf-core/fastp/meta.yml @@ -30,8 +30,9 @@ input: pattern: "*.{fasta,fna,fas,fa}" - - discard_trimmed_pass: type: boolean - description: Specify true to not write any reads that pass trimming thresholds. - | This can be used to use fastp for the output report only. + description: | + Specify true to not write any reads that pass trimming thresholds. + This can be used to use fastp for the output report only. - - save_trimmed_fail: type: boolean description: Specify true to save files that failed to pass trimming thresholds diff --git a/modules/nf-core/fastp/tests/main.nf.test b/modules/nf-core/fastp/tests/main.nf.test index c4e119aff..30dbb8aab 100644 --- a/modules/nf-core/fastp/tests/main.nf.test +++ b/modules/nf-core/fastp/tests/main.nf.test @@ -3,6 +3,9 @@ nextflow_process { name "Test Process FASTP" script "../main.nf" process "FASTP" + tag "modules" + tag "modules_nfcore" + tag "fastp" test("test_fastp_single_end") { diff --git a/modules/nf-core/fastp/tests/main.nf.test.snap b/modules/nf-core/fastp/tests/main.nf.test.snap index 54be7e45f..9e2aaf315 100644 --- a/modules/nf-core/fastp/tests/main.nf.test.snap +++ b/modules/nf-core/fastp/tests/main.nf.test.snap @@ -39,7 +39,7 @@ ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -78,15 +78,15 @@ ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T14:31:10.841098" + "timestamp": "2025-03-31T13:40:51.8619133" }, "test_fastp_paired_end": { "content": [ @@ -96,7 +96,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" + "test.fastp.json:md5,7cf3bff1922b512bcca58439eb2d3679" ] ], [ @@ -118,14 +118,14 @@ ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:43:28.665779" + "timestamp": "2025-03-31T13:39:15.121411815" }, "test_fastp_paired_end_merged_adapterlist": { "content": [ @@ -135,7 +135,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,5914ca3f21ce162123a824e33e8564f6" + "test.fastp.json:md5,533983f8c11cc3f2ccdcea01531f68ae" ] ], [ @@ -163,14 +163,14 @@ ] ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:44:18.210375" + "timestamp": "2025-03-31T13:39:51.561598206" }, "test_fastp_single_end_qc_only": { "content": [ @@ -180,7 +180,7 @@ "id": "test", "single_end": true }, - "test.fastp.json:md5,5cc5f01e449309e0e689ed6f51a2294a" + "test.fastp.json:md5,93f407199ee8b94c023c291bddfc4dce" ] ], [ @@ -202,14 +202,14 @@ ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:44:27.380974" + "timestamp": "2025-03-31T13:39:56.392912049" }, "test_fastp_paired_end_trim_fail": { "content": [ @@ -247,18 +247,18 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,4c3268ddb50ea5b33125984776aa3519" + "test.fastp.json:md5,5009a892192f2084c2af69c153d88d6c" ] ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:43:58.749589" + "timestamp": "2025-03-31T13:39:38.690242568" }, "fastp - stub test_fastp_interleaved": { "content": [ @@ -306,7 +306,7 @@ ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -351,15 +351,15 @@ ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:50:00.270029" + "timestamp": "2025-03-31T13:40:23.678200076" }, "test_fastp_single_end - stub": { "content": [ @@ -407,7 +407,7 @@ ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -452,15 +452,15 @@ ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:49:42.502789" + "timestamp": "2025-03-31T13:40:08.756547678" }, "test_fastp_paired_end_merged_adapterlist - stub": { "content": [ @@ -517,7 +517,7 @@ ] ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -571,15 +571,15 @@ ] ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:54:53.458252" + "timestamp": "2025-03-31T13:40:47.596331823" }, "test_fastp_paired_end_merged - stub": { "content": [ @@ -636,7 +636,7 @@ ] ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -690,15 +690,15 @@ ] ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:50:27.689379" + "timestamp": "2025-03-31T13:40:39.962303534" }, "test_fastp_paired_end_merged": { "content": [ @@ -708,7 +708,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,b712fd68ed0322f4bec49ff2a5237fcc" + "test.fastp.json:md5,8f99097bfa04b629891105b8af9c429f" ] ], [ @@ -736,14 +736,14 @@ ] ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:44:08.68476" + "timestamp": "2025-03-31T13:39:46.300238743" }, "test_fastp_paired_end - stub": { "content": [ @@ -794,7 +794,7 @@ ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -842,15 +842,15 @@ ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:49:51.679221" + "timestamp": "2025-03-31T13:40:16.309925689" }, "test_fastp_single_end": { "content": [ @@ -860,7 +860,7 @@ "id": "test", "single_end": true }, - "test.fastp.json:md5,c852d7a6dba5819e4ac8d9673bedcacc" + "test.fastp.json:md5,81dc86dd695967bb5c015e0a978bf20c" ] ], [ @@ -879,14 +879,14 @@ ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:43:18.834322" + "timestamp": "2025-03-31T13:39:07.133909607" }, "test_fastp_single_end_trim_fail - stub": { "content": [ @@ -940,7 +940,7 @@ ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -991,15 +991,15 @@ ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T14:05:36.898142" + "timestamp": "2025-03-31T13:40:28.086573661" }, "test_fastp_paired_end_trim_fail - stub": { "content": [ @@ -1060,7 +1060,7 @@ ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -1118,15 +1118,15 @@ ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T14:05:49.212847" + "timestamp": "2025-03-31T13:40:35.606162029" }, "fastp test_fastp_interleaved": { "content": [ @@ -1145,18 +1145,18 @@ "id": "test", "single_end": true }, - "test.fastp.json:md5,b24e0624df5cc0b11cd5ba21b726fb22" + "test.fastp.json:md5,101003b8ac634ca5fd381656ac2b8b9f" ] ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:43:38.910832" + "timestamp": "2025-03-31T13:39:23.114582408" }, "test_fastp_single_end_trim_fail": { "content": [ @@ -1166,7 +1166,7 @@ "id": "test", "single_end": true }, - "test.fastp.json:md5,9a7ee180f000e8d00c7fb67f06293eb5" + "test.fastp.json:md5,d721f75d68a382c819b6499e6325a942" ] ], [ @@ -1191,14 +1191,14 @@ ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:43:48.22378" + "timestamp": "2025-03-31T13:39:30.757538842" }, "test_fastp_paired_end_qc_only": { "content": [ @@ -1208,7 +1208,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,623064a45912dac6f2b64e3f2e9901df" + "test.fastp.json:md5,1ad31d6559ff5d4d275f501f3f5c02b9" ] ], [ @@ -1230,14 +1230,14 @@ ], [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T13:44:36.334938" + "timestamp": "2025-03-31T13:40:01.381972575" }, "test_fastp_paired_end_qc_only - stub": { "content": [ @@ -1279,7 +1279,7 @@ ], "6": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ], "html": [ [ @@ -1318,14 +1318,14 @@ ], "versions": [ - "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02" + "versions.yml:md5,3799377c4173131ba9392346e1c40bb9" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-05T14:31:27.096468" + "timestamp": "2025-03-31T13:40:56.392034947" } } \ No newline at end of file diff --git a/modules/nf-core/fastqc/environment.yml b/modules/nf-core/fastqc/environment.yml index 691d4c763..f9f54ee9b 100644 --- a/modules/nf-core/fastqc/environment.yml +++ b/modules/nf-core/fastqc/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/fastqc/main.nf b/modules/nf-core/fastqc/main.nf index 033f4154a..23e16634c 100644 --- a/modules/nf-core/fastqc/main.nf +++ b/modules/nf-core/fastqc/main.nf @@ -29,7 +29,7 @@ process FASTQC { // The total amount of allocated RAM by FastQC is equal to the number of threads defined (--threads) time the amount of RAM defined (--memory) // https://github.com/s-andrews/FastQC/blob/1faeea0412093224d7f6a07f777fad60a5650795/fastqc#L211-L222 // Dividing the task.memory by task.cpu allows to stick to requested amount of RAM in the label - def memory_in_mb = task.memory ? task.memory.toUnit('MB').toFloat() / task.cpus : null + def memory_in_mb = task.memory ? task.memory.toUnit('MB') / task.cpus : null // FastQC memory value allowed range (100 - 10000) def fastqc_memory = memory_in_mb > 10000 ? 10000 : (memory_in_mb < 100 ? 100 : memory_in_mb) diff --git a/modules/nf-core/fastqc/tests/main.nf.test b/modules/nf-core/fastqc/tests/main.nf.test index a67f92777..e9d79a074 100644 --- a/modules/nf-core/fastqc/tests/main.nf.test +++ b/modules/nf-core/fastqc/tests/main.nf.test @@ -4,6 +4,10 @@ nextflow_process { script "../main.nf" process "FASTQC" + tag "modules" + tag "modules_nfcore" + tag "fastqc" + test("sarscov2 single-end [fastq]") { when { diff --git a/modules/nf-core/fq/lint/environment.yml b/modules/nf-core/fq/lint/environment.yml index 74b146083..828288ff0 100644 --- a/modules/nf-core/fq/lint/environment.yml +++ b/modules/nf-core/fq/lint/environment.yml @@ -1,5 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - - conda-forge + # Having bioconda first here is intentional, see https://github.com/nf-core/modules/issues/7871 - bioconda + - conda-forge dependencies: - bioconda::fq=0.12.0 diff --git a/modules/nf-core/fq/lint/tests/main.nf.test b/modules/nf-core/fq/lint/tests/main.nf.test index f96a7c21a..ec2eaf8bc 100644 --- a/modules/nf-core/fq/lint/tests/main.nf.test +++ b/modules/nf-core/fq/lint/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "FQ_LINT" + tag "modules" + tag "modules_nfcore" + tag "fq" + tag "fq/lint" + test("test_fq_lint_success") { when { params { diff --git a/modules/nf-core/fq/subsample/environment.yml b/modules/nf-core/fq/subsample/environment.yml index 74b146083..828288ff0 100644 --- a/modules/nf-core/fq/subsample/environment.yml +++ b/modules/nf-core/fq/subsample/environment.yml @@ -1,5 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - - conda-forge + # Having bioconda first here is intentional, see https://github.com/nf-core/modules/issues/7871 - bioconda + - conda-forge dependencies: - bioconda::fq=0.12.0 diff --git a/modules/nf-core/fq/subsample/tests/main.nf.test b/modules/nf-core/fq/subsample/tests/main.nf.test index 13bb75945..5e038d9e2 100644 --- a/modules/nf-core/fq/subsample/tests/main.nf.test +++ b/modules/nf-core/fq/subsample/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "FQ_SUBSAMPLE" + tag "modules" + tag "modules_nfcore" + tag "fq" + tag "fq/subsample" + test("test_fq_subsample_no_args") { config "./nextflow_no_args.config" when { diff --git a/modules/nf-core/gffread/environment.yml b/modules/nf-core/gffread/environment.yml index ee2398416..46c5faece 100644 --- a/modules/nf-core/gffread/environment.yml +++ b/modules/nf-core/gffread/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/gffread/tests/main.nf.test b/modules/nf-core/gffread/tests/main.nf.test index e03820f4d..d039f367c 100644 --- a/modules/nf-core/gffread/tests/main.nf.test +++ b/modules/nf-core/gffread/tests/main.nf.test @@ -4,6 +4,10 @@ nextflow_process { script "../main.nf" process "GFFREAD" + tag "gffread" + tag "modules_nfcore" + tag "modules" + test("sarscov2-gff3-gtf") { config "./nextflow.config" @@ -19,6 +23,7 @@ nextflow_process { file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) ] input[1] = [] + """ } } @@ -216,4 +221,4 @@ nextflow_process { } -} +} \ No newline at end of file diff --git a/modules/nf-core/gunzip/environment.yml b/modules/nf-core/gunzip/environment.yml index c7794856d..9b926b1ff 100644 --- a/modules/nf-core/gunzip/environment.yml +++ b/modules/nf-core/gunzip/environment.yml @@ -1,7 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: + - conda-forge::coreutils=9.5 - conda-forge::grep=3.11 + - conda-forge::gzip=1.13 + - conda-forge::lbzip2=2.5 - conda-forge::sed=4.8 - conda-forge::tar=1.34 diff --git a/modules/nf-core/gunzip/main.nf b/modules/nf-core/gunzip/main.nf index 5e67e3b9b..3ffc8e926 100644 --- a/modules/nf-core/gunzip/main.nf +++ b/modules/nf-core/gunzip/main.nf @@ -1,37 +1,37 @@ process GUNZIP { - tag "$archive" + tag "${archive}" label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ubuntu:22.04' : - 'nf-core/ubuntu:22.04' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data' + : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}" input: tuple val(meta), path(archive) output: - tuple val(meta), path("$gunzip"), emit: gunzip - path "versions.yml" , emit: versions + tuple val(meta), path("${gunzip}"), emit: gunzip + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' - def extension = ( archive.toString() - '.gz' ).tokenize('.')[-1] - def name = archive.toString() - '.gz' - ".$extension" - def prefix = task.ext.prefix ?: name - gunzip = prefix + ".$extension" + def args = task.ext.args ?: '' + def extension = (archive.toString() - '.gz').tokenize('.')[-1] + def name = archive.toString() - '.gz' - ".${extension}" + def prefix = task.ext.prefix ?: name + gunzip = prefix + ".${extension}" """ # Not calling gunzip itself because it creates files # with the original group ownership rather than the # default one for that user / the work directory gzip \\ -cd \\ - $args \\ - $archive \\ - > $gunzip + ${args} \\ + ${archive} \\ + > ${gunzip} cat <<-END_VERSIONS > versions.yml "${task.process}": @@ -40,13 +40,13 @@ process GUNZIP { """ stub: - def args = task.ext.args ?: '' - def extension = ( archive.toString() - '.gz' ).tokenize('.')[-1] - def name = archive.toString() - '.gz' - ".$extension" - def prefix = task.ext.prefix ?: name - gunzip = prefix + ".$extension" + def args = task.ext.args ?: '' + def extension = (archive.toString() - '.gz').tokenize('.')[-1] + def name = archive.toString() - '.gz' - ".${extension}" + def prefix = task.ext.prefix ?: name + gunzip = prefix + ".${extension}" """ - touch $gunzip + touch ${gunzip} cat <<-END_VERSIONS > versions.yml "${task.process}": gunzip: \$(echo \$(gunzip --version 2>&1) | sed 's/^.*(gzip) //; s/ Copyright.*\$//') diff --git a/modules/nf-core/gunzip/meta.yml b/modules/nf-core/gunzip/meta.yml index 9066c0353..69d310245 100644 --- a/modules/nf-core/gunzip/meta.yml +++ b/modules/nf-core/gunzip/meta.yml @@ -27,7 +27,7 @@ output: type: file description: Compressed/uncompressed file pattern: "*.*" - - $gunzip: + - ${gunzip}: type: file description: Compressed/uncompressed file pattern: "*.*" diff --git a/modules/nf-core/gunzip/tests/main.nf.test b/modules/nf-core/gunzip/tests/main.nf.test index 384edf226..776211adf 100644 --- a/modules/nf-core/gunzip/tests/main.nf.test +++ b/modules/nf-core/gunzip/tests/main.nf.test @@ -3,6 +3,9 @@ nextflow_process { name "Test Process GUNZIP" script "../main.nf" process "GUNZIP" + tag "gunzip" + tag "modules_nfcore" + tag "modules" test("Should run without failures") { diff --git a/modules/nf-core/gunzip/tests/main.nf.test.snap b/modules/nf-core/gunzip/tests/main.nf.test.snap index 069967e76..a0f0e67ed 100644 --- a/modules/nf-core/gunzip/tests/main.nf.test.snap +++ b/modules/nf-core/gunzip/tests/main.nf.test.snap @@ -11,7 +11,7 @@ ] ], "1": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ], "gunzip": [ [ @@ -22,15 +22,15 @@ ] ], "versions": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-25T11:35:10.861293" + "timestamp": "2024-12-13T11:48:22.080222697" }, "Should run without failures - stub": { "content": [ @@ -44,7 +44,7 @@ ] ], "1": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ], "gunzip": [ [ @@ -55,15 +55,15 @@ ] ], "versions": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-25T11:35:05.857145" + "timestamp": "2024-12-13T11:48:14.593020264" }, "Should run without failures": { "content": [ @@ -77,7 +77,7 @@ ] ], "1": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ], "gunzip": [ [ @@ -88,15 +88,15 @@ ] ], "versions": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2023-10-17T15:35:37.690477896" + "timestamp": "2024-12-13T11:48:01.295397925" }, "Should run without failures - prefix": { "content": [ @@ -110,7 +110,7 @@ ] ], "1": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ], "gunzip": [ [ @@ -121,14 +121,14 @@ ] ], "versions": [ - "versions.yml:md5,54376d32aca20e937a4ec26dac228e84" + "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-06-25T11:33:32.921739" + "timestamp": "2024-12-13T11:48:07.414271387" } } \ No newline at end of file diff --git a/modules/nf-core/hisat2/align/environment.yml b/modules/nf-core/hisat2/align/environment.yml index 26c62a3bf..804be5ef8 100644 --- a/modules/nf-core/hisat2/align/environment.yml +++ b/modules/nf-core/hisat2/align/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/hisat2/align/main.nf b/modules/nf-core/hisat2/align/main.nf index 464a28e2b..f45f9bccb 100644 --- a/modules/nf-core/hisat2/align/main.nf +++ b/modules/nf-core/hisat2/align/main.nf @@ -34,7 +34,7 @@ process HISAT2_ALIGN { ss = "$splicesites" ? "--known-splicesite-infile $splicesites" : '' def seq_center = params.seq_center ? "--rg-id ${prefix} --rg SM:$prefix --rg CN:${params.seq_center.replaceAll('\\s','_')}" : "--rg-id ${prefix} --rg SM:$prefix" if (meta.single_end) { - def unaligned = params.save_unaligned || params.contaminant_screening ? "--un-gz ${prefix}.unmapped.fastq.gz" : '' + def unaligned = params.save_unaligned ? "--un-gz ${prefix}.unmapped.fastq.gz" : '' """ INDEX=`find -L ./ -name "*.1.ht2" | sed 's/\\.1.ht2\$//'` hisat2 \\ @@ -56,7 +56,7 @@ process HISAT2_ALIGN { END_VERSIONS """ } else { - def unaligned = params.save_unaligned || params.contaminant_screening ? "--un-conc-gz ${prefix}.unmapped.fastq.gz" : '' + def unaligned = params.save_unaligned ? "--un-conc-gz ${prefix}.unmapped.fastq.gz" : '' """ INDEX=`find -L ./ -name "*.1.ht2" | sed 's/\\.1.ht2\$//'` hisat2 \\ @@ -91,8 +91,7 @@ process HISAT2_ALIGN { stub: def prefix = task.ext.prefix ?: "${meta.id}" - def unaligned = params.save_unaligned || params.contaminant_screening ? "echo '' | gzip > ${prefix}.unmapped_1.fastq.gz \n echo '' | gzip > ${prefix}.unmapped_2.fastq.gz" : '' - def VERSION = '2.2.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + def unaligned = params.save_unaligned ? "echo '' | gzip > ${prefix}.unmapped_1.fastq.gz \n echo '' | gzip > ${prefix}.unmapped_2.fastq.gz" : '' """ ${unaligned} diff --git a/modules/nf-core/hisat2/align/meta.yml b/modules/nf-core/hisat2/align/meta.yml index d869c5d56..3416c87aa 100644 --- a/modules/nf-core/hisat2/align/meta.yml +++ b/modules/nf-core/hisat2/align/meta.yml @@ -63,7 +63,7 @@ output: e.g. [ id:'test', single_end:false ] - "*.log": type: file - description: Aligment log + description: Alignment log pattern: "*.log" - fastq: - meta: diff --git a/modules/nf-core/hisat2/align/tests/main.nf.test b/modules/nf-core/hisat2/align/tests/main.nf.test index 8193c82d8..396757d7b 100644 --- a/modules/nf-core/hisat2/align/tests/main.nf.test +++ b/modules/nf-core/hisat2/align/tests/main.nf.test @@ -3,6 +3,12 @@ nextflow_process { name "Test Process HISAT2_ALIGN" script "../main.nf" process "HISAT2_ALIGN" + tag "modules" + tag "modules_nfcore" + tag "hisat2" + tag "hisat2/align" + tag "hisat2/build" + tag "hisat2/extractsplicesites" test("Single-End") { diff --git a/modules/nf-core/hisat2/build/environment.yml b/modules/nf-core/hisat2/build/environment.yml index afced7338..246a78af3 100644 --- a/modules/nf-core/hisat2/build/environment.yml +++ b/modules/nf-core/hisat2/build/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/hisat2/build/main.nf b/modules/nf-core/hisat2/build/main.nf index 37a3e4565..778d09382 100644 --- a/modules/nf-core/hisat2/build/main.nf +++ b/modules/nf-core/hisat2/build/main.nf @@ -1,12 +1,12 @@ process HISAT2_BUILD { - tag "$fasta" + tag "${fasta}" label 'process_high' label 'process_high_memory' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/hisat2:2.2.1--h1b792b2_3' : - 'biocontainers/hisat2:2.2.1--h1b792b2_3' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/hisat2:2.2.1--h1b792b2_3' + : 'biocontainers/hisat2:2.2.1--h1b792b2_3'}" input: tuple val(meta), path(fasta) @@ -14,8 +14,8 @@ process HISAT2_BUILD { tuple val(meta3), path(splicesites) output: - tuple val(meta), path("hisat2") , emit: index - path "versions.yml" , emit: versions + tuple val(meta), path("hisat2"), emit: index + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when @@ -24,34 +24,36 @@ process HISAT2_BUILD { def args = task.ext.args ?: '' def avail_mem = 0 if (!task.memory) { - log.info "[HISAT2 index build] Available memory not known - defaulting to 0. Specify process memory requirements to change this." - } else { - log.info "[HISAT2 index build] Available memory: ${task.memory}" + log.info("[HISAT2 index build] Available memory not known - defaulting to 0. Specify process memory requirements to change this.") + } + else { + log.info("[HISAT2 index build] Available memory: ${task.memory}") avail_mem = task.memory.toGiga() } def ss = '' def exon = '' def extract_exons = '' - def hisat2_build_memory = params.hisat2_build_memory ? (params.hisat2_build_memory as nextflow.util.MemoryUnit).toGiga() : 0 + def hisat2_build_memory = params.hisat2_build_memory ? (params.hisat2_build_memory as MemoryUnit).toGiga() : 0 if (avail_mem >= hisat2_build_memory) { - log.info "[HISAT2 index build] At least ${hisat2_build_memory} GB available, so using splice sites and exons to build HISAT2 index" - extract_exons = gtf ? "hisat2_extract_exons.py $gtf > ${gtf.baseName}.exons.txt" : "" - ss = splicesites ? "--ss $splicesites" : "" + log.info("[HISAT2 index build] At least ${hisat2_build_memory} GB available, so using splice sites and exons to build HISAT2 index") + extract_exons = gtf ? "hisat2_extract_exons.py ${gtf} > ${gtf.baseName}.exons.txt" : "" + ss = splicesites ? "--ss ${splicesites}" : "" exon = gtf ? "--exon ${gtf.baseName}.exons.txt" : "" - } else { - log.info "[HISAT2 index build] Less than ${hisat2_build_memory} GB available, so NOT using splice sites and exons to build HISAT2 index." - log.info "[HISAT2 index build] Use --hisat2_build_memory [small number] to skip this check." + } + else { + log.info("[HISAT2 index build] Less than ${hisat2_build_memory} GB available, so NOT using splice sites and exons to build HISAT2 index.") + log.info("[HISAT2 index build] Use --hisat2_build_memory [small number] to skip this check.") } """ mkdir hisat2 - $extract_exons + ${extract_exons} hisat2-build \\ - -p $task.cpus \\ - $ss \\ - $exon \\ - $args \\ - $fasta \\ + -p ${task.cpus} \\ + ${ss} \\ + ${exon} \\ + ${args} \\ + ${fasta} \\ hisat2/${fasta.baseName} cat <<-END_VERSIONS > versions.yml diff --git a/modules/nf-core/hisat2/build/tests/main.nf.test b/modules/nf-core/hisat2/build/tests/main.nf.test index bd8e9dae0..e19692c4f 100644 --- a/modules/nf-core/hisat2/build/tests/main.nf.test +++ b/modules/nf-core/hisat2/build/tests/main.nf.test @@ -3,6 +3,11 @@ nextflow_process { name "Test Process HISAT2_BUILD" script "../main.nf" process "HISAT2_BUILD" + tag "modules" + tag "modules_nfcore" + tag "hisat2" + tag "hisat2/build" + tag "hisat2/extractsplicesites" test("Should run without failures") { diff --git a/modules/nf-core/hisat2/extractsplicesites/environment.yml b/modules/nf-core/hisat2/extractsplicesites/environment.yml index afced7338..246a78af3 100644 --- a/modules/nf-core/hisat2/extractsplicesites/environment.yml +++ b/modules/nf-core/hisat2/extractsplicesites/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test index a9f93ec52..14129cfff 100644 --- a/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test +++ b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process HISAT2_EXTRACTSPLICESITES" script "../main.nf" process "HISAT2_EXTRACTSPLICESITES" + tag "modules" + tag "modules_nfcore" + tag "hisat2" + tag "hisat2/extractsplicesites" test("Should run without failures") { diff --git a/modules/nf-core/kallisto/index/environment.yml b/modules/nf-core/kallisto/index/environment.yml index 773f42484..773c200c4 100644 --- a/modules/nf-core/kallisto/index/environment.yml +++ b/modules/nf-core/kallisto/index/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/kallisto/index/tests/main.nf.test b/modules/nf-core/kallisto/index/tests/main.nf.test index bdb824012..f1189587c 100644 --- a/modules/nf-core/kallisto/index/tests/main.nf.test +++ b/modules/nf-core/kallisto/index/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process KALLISTO_INDEX" script "../main.nf" process "KALLISTO_INDEX" + tag "modules" + tag "modules_nfcore" + tag "kallisto" + tag "kallisto/index" test("sarscov2 transcriptome.fasta") { diff --git a/modules/nf-core/kallisto/quant/environment.yml b/modules/nf-core/kallisto/quant/environment.yml index 773f42484..773c200c4 100644 --- a/modules/nf-core/kallisto/quant/environment.yml +++ b/modules/nf-core/kallisto/quant/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/kallisto/quant/tests/main.nf.test b/modules/nf-core/kallisto/quant/tests/main.nf.test index ec6e3d60c..019dbea03 100644 --- a/modules/nf-core/kallisto/quant/tests/main.nf.test +++ b/modules/nf-core/kallisto/quant/tests/main.nf.test @@ -3,6 +3,11 @@ nextflow_process { name "Test Process KALLISTO_QUANT" script "../main.nf" process "KALLISTO_QUANT" + tag "modules" + tag "modules_nfcore" + tag "kallisto" + tag "kallisto/quant" + tag "kallisto/index" setup { run("KALLISTO_INDEX") { diff --git a/modules/nf-core/kraken2/kraken2/environment.yml b/modules/nf-core/kraken2/kraken2/environment.yml index ba776d315..54b83e489 100644 --- a/modules/nf-core/kraken2/kraken2/environment.yml +++ b/modules/nf-core/kraken2/kraken2/environment.yml @@ -1,7 +1,9 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - - "bioconda::kraken2=2.1.3" - - "coreutils=9.4" - - "pigz=2.8" + - bioconda::kraken2=2.1.3 + - coreutils=9.4 + - pigz=2.8 diff --git a/modules/nf-core/kraken2/kraken2/meta.yml b/modules/nf-core/kraken2/kraken2/meta.yml index 869376467..39e3601c8 100644 --- a/modules/nf-core/kraken2/kraken2/meta.yml +++ b/modules/nf-core/kraken2/kraken2/meta.yml @@ -84,7 +84,7 @@ output: type: file description: | Kraken2 report containing stats about classified - and not classifed reads. + and not classified reads. pattern: "*.{report.txt}" - versions: - versions.yml: diff --git a/modules/nf-core/kraken2/kraken2/tests/main.nf.test b/modules/nf-core/kraken2/kraken2/tests/main.nf.test index 60adc5ef0..c0843df29 100644 --- a/modules/nf-core/kraken2/kraken2/tests/main.nf.test +++ b/modules/nf-core/kraken2/kraken2/tests/main.nf.test @@ -2,6 +2,11 @@ nextflow_process { name "Test Process KRAKEN2_KRAKEN2" script "../main.nf" process "KRAKEN2_KRAKEN2" + tag "modules" + tag "modules_nfcore" + tag "untar" + tag "kraken2" + tag "kraken2/kraken2" setup { run("UNTAR") { diff --git a/modules/nf-core/multiqc/environment.yml b/modules/nf-core/multiqc/environment.yml index a27122ce1..d430da5f7 100644 --- a/modules/nf-core/multiqc/environment.yml +++ b/modules/nf-core/multiqc/environment.yml @@ -1,5 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - - bioconda::multiqc=1.27 + - bioconda::multiqc=1.28 diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf index 58d9313c6..f3b570472 100644 --- a/modules/nf-core/multiqc/main.nf +++ b/modules/nf-core/multiqc/main.nf @@ -3,8 +3,8 @@ process MULTIQC { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/multiqc:1.27--pyhdfd78af_0' : - 'biocontainers/multiqc:1.27--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/multiqc:1.28--pyhdfd78af_0' : + 'biocontainers/multiqc:1.28--pyhdfd78af_0' }" input: path multiqc_files, stageAs: "?/*" diff --git a/modules/nf-core/multiqc/tests/main.nf.test b/modules/nf-core/multiqc/tests/main.nf.test index f815b6de3..33316a7dd 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test +++ b/modules/nf-core/multiqc/tests/main.nf.test @@ -3,6 +3,11 @@ nextflow_process { name "Test Process MULTIQC" script "../main.nf" process "MULTIQC" + + tag "modules" + tag "modules_nfcore" + tag "multiqc" + config "./nextflow.config" test("sarscov2 single-end [fastqc]") { diff --git a/modules/nf-core/multiqc/tests/main.nf.test.snap b/modules/nf-core/multiqc/tests/main.nf.test.snap index 7b7c13220..26d74307d 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test.snap +++ b/modules/nf-core/multiqc/tests/main.nf.test.snap @@ -2,14 +2,14 @@ "multiqc_versions_single": { "content": [ [ - "versions.yml:md5,8f3b8c1cec5388cf2708be948c9fa42f" + "versions.yml:md5,b05075d2d2b4f485c0d627a5c8e475b2" ] ], "meta": { - "nf-test": "0.9.2", + "nf-test": "0.9.0", "nextflow": "24.10.4" }, - "timestamp": "2025-01-27T09:29:57.631982377" + "timestamp": "2025-03-26T16:05:18.927925" }, "multiqc_stub": { "content": [ @@ -17,25 +17,25 @@ "multiqc_report.html", "multiqc_data", "multiqc_plots", - "versions.yml:md5,8f3b8c1cec5388cf2708be948c9fa42f" + "versions.yml:md5,b05075d2d2b4f485c0d627a5c8e475b2" ] ], "meta": { - "nf-test": "0.9.2", + "nf-test": "0.9.0", "nextflow": "24.10.4" }, - "timestamp": "2025-01-27T09:30:34.743726958" + "timestamp": "2025-03-26T16:05:55.639955" }, "multiqc_versions_config": { "content": [ [ - "versions.yml:md5,8f3b8c1cec5388cf2708be948c9fa42f" + "versions.yml:md5,b05075d2d2b4f485c0d627a5c8e475b2" ] ], "meta": { - "nf-test": "0.9.2", + "nf-test": "0.9.0", "nextflow": "24.10.4" }, - "timestamp": "2025-01-27T09:30:21.44383553" + "timestamp": "2025-03-26T16:05:44.067369" } } \ No newline at end of file diff --git a/modules/nf-core/picard/markduplicates/environment.yml b/modules/nf-core/picard/markduplicates/environment.yml index 5f919a9a9..8f34e975c 100644 --- a/modules/nf-core/picard/markduplicates/environment.yml +++ b/modules/nf-core/picard/markduplicates/environment.yml @@ -1,5 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - - bioconda::picard=3.1.1 + - bioconda::picard=3.3.0 diff --git a/modules/nf-core/picard/markduplicates/main.nf b/modules/nf-core/picard/markduplicates/main.nf index ad0b29636..8a2ed64e6 100644 --- a/modules/nf-core/picard/markduplicates/main.nf +++ b/modules/nf-core/picard/markduplicates/main.nf @@ -4,8 +4,8 @@ process PICARD_MARKDUPLICATES { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/picard:3.1.1--hdfd78af_0' : - 'biocontainers/picard:3.1.1--hdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/picard:3.3.0--hdfd78af_0' : + 'biocontainers/picard:3.3.0--hdfd78af_0' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/picard/markduplicates/meta.yml b/modules/nf-core/picard/markduplicates/meta.yml index 1f0ffe16c..bcaf91605 100644 --- a/modules/nf-core/picard/markduplicates/meta.yml +++ b/modules/nf-core/picard/markduplicates/meta.yml @@ -15,60 +15,82 @@ tools: homepage: https://broadinstitute.github.io/picard/ documentation: https://broadinstitute.github.io/picard/ licence: ["MIT"] + identifier: biotools:picard_tools input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - reads: - type: file - description: Sequence reads file, can be SAM/BAM/CRAM format - pattern: "*.{bam,cram,sam}" - - meta2: - type: map - description: | - Groovy Map containing reference information - e.g. [ id:'genome' ] - - fasta: - type: file - description: Reference genome fasta file, required for CRAM input - pattern: "*.{fasta,fa}" - - meta3: - type: map - description: | - Groovy Map containing reference information - e.g. [ id:'genome' ] - - fai: - type: file - description: Reference genome fasta index - pattern: "*.{fai}" + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: Sequence reads file, can be SAM/BAM/CRAM format + pattern: "*.{bam,cram,sam}" + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Reference genome fasta file, required for CRAM input + pattern: "*.{fasta,fa}" + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fai: + type: file + description: Reference genome fasta index + pattern: "*.{fai}" output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - bam: - type: file - description: BAM file with duplicate reads marked/removed - pattern: "*.{bam}" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bam": + type: file + description: BAM file with duplicate reads marked/removed + pattern: "*.{bam}" - bai: - type: file - description: An optional BAM index file. If desired, --CREATE_INDEX must be passed as a flag - pattern: "*.{bai}" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bai": + type: file + description: An optional BAM index file. If desired, --CREATE_INDEX must be + passed as a flag + pattern: "*.{bai}" - cram: - type: file - description: Output CRAM file - pattern: "*.{cram}" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.cram": + type: file + description: Output CRAM file + pattern: "*.{cram}" - metrics: - type: file - description: Duplicate metrics file generated by picard - pattern: "*.{metrics.txt}" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.metrics.txt": + type: file + description: Duplicate metrics file generated by picard + pattern: "*.{metrics.txt}" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@drpatelh" - "@projectoriented" diff --git a/modules/nf-core/picard/markduplicates/tests/main.nf.test b/modules/nf-core/picard/markduplicates/tests/main.nf.test index 1abea33e3..9ed909659 100644 --- a/modules/nf-core/picard/markduplicates/tests/main.nf.test +++ b/modules/nf-core/picard/markduplicates/tests/main.nf.test @@ -4,6 +4,10 @@ nextflow_process { script "../main.nf" process "PICARD_MARKDUPLICATES" config "./nextflow.config" + tag "modules" + tag "modules_nfcore" + tag "picard" + tag "picard/markduplicates" test("sarscov2 [unsorted bam]") { diff --git a/modules/nf-core/picard/markduplicates/tests/main.nf.test.snap b/modules/nf-core/picard/markduplicates/tests/main.nf.test.snap index 1a6598aa9..13770a8e2 100644 --- a/modules/nf-core/picard/markduplicates/tests/main.nf.test.snap +++ b/modules/nf-core/picard/markduplicates/tests/main.nf.test.snap @@ -27,7 +27,7 @@ ] ], "4": [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ], "bai": [ @@ -54,15 +54,15 @@ ] ], "versions": [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ] } ], "meta": { "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-22T19:34:20.663558" + "timestamp": "2024-10-18T10:58:50.046420643" }, "sarscov2 [unsorted bam] - stub": { "content": [ @@ -92,7 +92,7 @@ ] ], "4": [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ], "bai": [ @@ -119,69 +119,69 @@ ] ], "versions": [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ] } ], "meta": { "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-22T19:34:01.021052" + "timestamp": "2024-10-18T10:58:36.738907079" }, "sarscov2 [unsorted bam]": { "content": [ "test.marked.bam", [ "## htsjdk.samtools.metrics.StringHeader", - "# MarkDuplicates --INPUT test.paired_end.bam --OUTPUT test.marked.bam --METRICS_FILE test.marked.MarkDuplicates.metrics.txt --ASSUME_SORT_ORDER queryname --MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP 50000 --MAX_FILE_HANDLES_FOR_READ_ENDS_MAP 8000 --SORTING_COLLECTION_SIZE_RATIO 0.25 --TAG_DUPLICATE_SET_MEMBERS false --REMOVE_SEQUENCING_DUPLICATES false --TAGGING_POLICY DontTag --CLEAR_DT true --DUPLEX_UMI false --FLOW_MODE false --FLOW_QUALITY_SUM_STRATEGY false --USE_END_IN_UNPAIRED_READS false --USE_UNPAIRED_CLIPPED_END false --UNPAIRED_END_UNCERTAINTY 0 --FLOW_SKIP_FIRST_N_FLOWS 0 --FLOW_Q_IS_KNOWN_END false --FLOW_EFFECTIVE_QUALITY_THRESHOLD 15 --ADD_PG_TAG_TO_READS true --REMOVE_DUPLICATES false --ASSUME_SORTED false --DUPLICATE_SCORING_STRATEGY SUM_OF_BASE_QUALITIES --PROGRAM_RECORD_ID MarkDuplicates --PROGRAM_GROUP_NAME MarkDuplicates --READ_NAME_REGEX --OPTICAL_DUPLICATE_PIXEL_DISTANCE 100 --MAX_OPTICAL_DUPLICATE_SET_SIZE 300000 --VERBOSITY INFO --QUIET false --VALIDATION_STRINGENCY STRICT --COMPRESSION_LEVEL 5 --MAX_RECORDS_IN_RAM 500000 --CREATE_INDEX false --CREATE_MD5_FILE false --help false --version false --showHidden false --USE_JDK_DEFLATER false --USE_JDK_INFLATER false", + "# MarkDuplicates --INPUT test.paired_end.bam --OUTPUT test.marked.bam --METRICS_FILE test.marked.MarkDuplicates.metrics.txt --ASSUME_SORT_ORDER queryname --MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP 50000 --MAX_FILE_HANDLES_FOR_READ_ENDS_MAP 8000 --SORTING_COLLECTION_SIZE_RATIO 0.25 --TAG_DUPLICATE_SET_MEMBERS false --REMOVE_SEQUENCING_DUPLICATES false --TAGGING_POLICY DontTag --CLEAR_DT true --DUPLEX_UMI false --FLOW_MODE false --FLOW_DUP_STRATEGY FLOW_QUALITY_SUM_STRATEGY --FLOW_USE_END_IN_UNPAIRED_READS false --FLOW_USE_UNPAIRED_CLIPPED_END false --FLOW_UNPAIRED_END_UNCERTAINTY 0 --FLOW_UNPAIRED_START_UNCERTAINTY 0 --FLOW_SKIP_FIRST_N_FLOWS 0 --FLOW_Q_IS_KNOWN_END false --FLOW_EFFECTIVE_QUALITY_THRESHOLD 15 --ADD_PG_TAG_TO_READS true --REMOVE_DUPLICATES false --ASSUME_SORTED false --DUPLICATE_SCORING_STRATEGY SUM_OF_BASE_QUALITIES --PROGRAM_RECORD_ID MarkDuplicates --PROGRAM_GROUP_NAME MarkDuplicates --READ_NAME_REGEX --OPTICAL_DUPLICATE_PIXEL_DISTANCE 100 --MAX_OPTICAL_DUPLICATE_SET_SIZE 300000 --VERBOSITY INFO --QUIET false --VALIDATION_STRINGENCY STRICT --COMPRESSION_LEVEL 5 --MAX_RECORDS_IN_RAM 500000 --CREATE_INDEX false --CREATE_MD5_FILE false --help false --version false --showHidden false --USE_JDK_DEFLATER false --USE_JDK_INFLATER false", "## htsjdk.samtools.metrics.StringHeader" ], [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ] ], "meta": { "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-22T19:32:49.777427" + "timestamp": "2024-10-18T10:57:16.683233382" }, "sarscov2 [sorted bam]": { "content": [ "test.marked.bam", [ "## htsjdk.samtools.metrics.StringHeader", - "# MarkDuplicates --INPUT test.paired_end.sorted.bam --OUTPUT test.marked.bam --METRICS_FILE test.marked.MarkDuplicates.metrics.txt --ASSUME_SORT_ORDER queryname --MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP 50000 --MAX_FILE_HANDLES_FOR_READ_ENDS_MAP 8000 --SORTING_COLLECTION_SIZE_RATIO 0.25 --TAG_DUPLICATE_SET_MEMBERS false --REMOVE_SEQUENCING_DUPLICATES false --TAGGING_POLICY DontTag --CLEAR_DT true --DUPLEX_UMI false --FLOW_MODE false --FLOW_QUALITY_SUM_STRATEGY false --USE_END_IN_UNPAIRED_READS false --USE_UNPAIRED_CLIPPED_END false --UNPAIRED_END_UNCERTAINTY 0 --FLOW_SKIP_FIRST_N_FLOWS 0 --FLOW_Q_IS_KNOWN_END false --FLOW_EFFECTIVE_QUALITY_THRESHOLD 15 --ADD_PG_TAG_TO_READS true --REMOVE_DUPLICATES false --ASSUME_SORTED false --DUPLICATE_SCORING_STRATEGY SUM_OF_BASE_QUALITIES --PROGRAM_RECORD_ID MarkDuplicates --PROGRAM_GROUP_NAME MarkDuplicates --READ_NAME_REGEX --OPTICAL_DUPLICATE_PIXEL_DISTANCE 100 --MAX_OPTICAL_DUPLICATE_SET_SIZE 300000 --VERBOSITY INFO --QUIET false --VALIDATION_STRINGENCY STRICT --COMPRESSION_LEVEL 5 --MAX_RECORDS_IN_RAM 500000 --CREATE_INDEX false --CREATE_MD5_FILE false --help false --version false --showHidden false --USE_JDK_DEFLATER false --USE_JDK_INFLATER false", + "# MarkDuplicates --INPUT test.paired_end.sorted.bam --OUTPUT test.marked.bam --METRICS_FILE test.marked.MarkDuplicates.metrics.txt --ASSUME_SORT_ORDER queryname --MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP 50000 --MAX_FILE_HANDLES_FOR_READ_ENDS_MAP 8000 --SORTING_COLLECTION_SIZE_RATIO 0.25 --TAG_DUPLICATE_SET_MEMBERS false --REMOVE_SEQUENCING_DUPLICATES false --TAGGING_POLICY DontTag --CLEAR_DT true --DUPLEX_UMI false --FLOW_MODE false --FLOW_DUP_STRATEGY FLOW_QUALITY_SUM_STRATEGY --FLOW_USE_END_IN_UNPAIRED_READS false --FLOW_USE_UNPAIRED_CLIPPED_END false --FLOW_UNPAIRED_END_UNCERTAINTY 0 --FLOW_UNPAIRED_START_UNCERTAINTY 0 --FLOW_SKIP_FIRST_N_FLOWS 0 --FLOW_Q_IS_KNOWN_END false --FLOW_EFFECTIVE_QUALITY_THRESHOLD 15 --ADD_PG_TAG_TO_READS true --REMOVE_DUPLICATES false --ASSUME_SORTED false --DUPLICATE_SCORING_STRATEGY SUM_OF_BASE_QUALITIES --PROGRAM_RECORD_ID MarkDuplicates --PROGRAM_GROUP_NAME MarkDuplicates --READ_NAME_REGEX --OPTICAL_DUPLICATE_PIXEL_DISTANCE 100 --MAX_OPTICAL_DUPLICATE_SET_SIZE 300000 --VERBOSITY INFO --QUIET false --VALIDATION_STRINGENCY STRICT --COMPRESSION_LEVEL 5 --MAX_RECORDS_IN_RAM 500000 --CREATE_INDEX false --CREATE_MD5_FILE false --help false --version false --showHidden false --USE_JDK_DEFLATER false --USE_JDK_INFLATER false", "## htsjdk.samtools.metrics.StringHeader" ], [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ] ], "meta": { "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-22T19:33:14.462596" + "timestamp": "2024-10-18T10:57:47.416956759" }, "homo_sapiens [cram]": { "content": [ "test.marked.cram", [ "## htsjdk.samtools.metrics.StringHeader", - "# MarkDuplicates --INPUT test.paired_end.sorted.cram --OUTPUT test.marked.cram --METRICS_FILE test.marked.MarkDuplicates.metrics.txt --ASSUME_SORT_ORDER queryname --REFERENCE_SEQUENCE genome.fasta --MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP 50000 --MAX_FILE_HANDLES_FOR_READ_ENDS_MAP 8000 --SORTING_COLLECTION_SIZE_RATIO 0.25 --TAG_DUPLICATE_SET_MEMBERS false --REMOVE_SEQUENCING_DUPLICATES false --TAGGING_POLICY DontTag --CLEAR_DT true --DUPLEX_UMI false --FLOW_MODE false --FLOW_QUALITY_SUM_STRATEGY false --USE_END_IN_UNPAIRED_READS false --USE_UNPAIRED_CLIPPED_END false --UNPAIRED_END_UNCERTAINTY 0 --FLOW_SKIP_FIRST_N_FLOWS 0 --FLOW_Q_IS_KNOWN_END false --FLOW_EFFECTIVE_QUALITY_THRESHOLD 15 --ADD_PG_TAG_TO_READS true --REMOVE_DUPLICATES false --ASSUME_SORTED false --DUPLICATE_SCORING_STRATEGY SUM_OF_BASE_QUALITIES --PROGRAM_RECORD_ID MarkDuplicates --PROGRAM_GROUP_NAME MarkDuplicates --READ_NAME_REGEX --OPTICAL_DUPLICATE_PIXEL_DISTANCE 100 --MAX_OPTICAL_DUPLICATE_SET_SIZE 300000 --VERBOSITY INFO --QUIET false --VALIDATION_STRINGENCY STRICT --COMPRESSION_LEVEL 5 --MAX_RECORDS_IN_RAM 500000 --CREATE_INDEX false --CREATE_MD5_FILE false --help false --version false --showHidden false --USE_JDK_DEFLATER false --USE_JDK_INFLATER false", + "# MarkDuplicates --INPUT test.paired_end.sorted.cram --OUTPUT test.marked.cram --METRICS_FILE test.marked.MarkDuplicates.metrics.txt --ASSUME_SORT_ORDER queryname --REFERENCE_SEQUENCE genome.fasta --MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP 50000 --MAX_FILE_HANDLES_FOR_READ_ENDS_MAP 8000 --SORTING_COLLECTION_SIZE_RATIO 0.25 --TAG_DUPLICATE_SET_MEMBERS false --REMOVE_SEQUENCING_DUPLICATES false --TAGGING_POLICY DontTag --CLEAR_DT true --DUPLEX_UMI false --FLOW_MODE false --FLOW_DUP_STRATEGY FLOW_QUALITY_SUM_STRATEGY --FLOW_USE_END_IN_UNPAIRED_READS false --FLOW_USE_UNPAIRED_CLIPPED_END false --FLOW_UNPAIRED_END_UNCERTAINTY 0 --FLOW_UNPAIRED_START_UNCERTAINTY 0 --FLOW_SKIP_FIRST_N_FLOWS 0 --FLOW_Q_IS_KNOWN_END false --FLOW_EFFECTIVE_QUALITY_THRESHOLD 15 --ADD_PG_TAG_TO_READS true --REMOVE_DUPLICATES false --ASSUME_SORTED false --DUPLICATE_SCORING_STRATEGY SUM_OF_BASE_QUALITIES --PROGRAM_RECORD_ID MarkDuplicates --PROGRAM_GROUP_NAME MarkDuplicates --READ_NAME_REGEX --OPTICAL_DUPLICATE_PIXEL_DISTANCE 100 --MAX_OPTICAL_DUPLICATE_SET_SIZE 300000 --VERBOSITY INFO --QUIET false --VALIDATION_STRINGENCY STRICT --COMPRESSION_LEVEL 5 --MAX_RECORDS_IN_RAM 500000 --CREATE_INDEX false --CREATE_MD5_FILE false --help false --version false --showHidden false --USE_JDK_DEFLATER false --USE_JDK_INFLATER false", "## htsjdk.samtools.metrics.StringHeader" ], [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ] ], "meta": { "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-22T19:33:40.215159" + "timestamp": "2024-10-18T10:58:15.143314223" }, "homo_sapiens [cram] - stub": { "content": [ @@ -211,7 +211,7 @@ ] ], "4": [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ], "bai": [ @@ -238,14 +238,14 @@ ] ], "versions": [ - "versions.yml:md5,b699af51b1956f3810f8a7c066e0ab17" + "versions.yml:md5,88717faa02b215b99eef3d05214a6fea" ] } ], "meta": { "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-22T19:34:51.753515" + "timestamp": "2024-10-18T10:59:03.402916523" } } \ No newline at end of file diff --git a/modules/nf-core/preseq/lcextrap/environment.yml b/modules/nf-core/preseq/lcextrap/environment.yml index 6300d3f33..a20885028 100644 --- a/modules/nf-core/preseq/lcextrap/environment.yml +++ b/modules/nf-core/preseq/lcextrap/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/preseq/lcextrap/tests/main.nf.test b/modules/nf-core/preseq/lcextrap/tests/main.nf.test index 50e44157e..d1af1f0ed 100644 --- a/modules/nf-core/preseq/lcextrap/tests/main.nf.test +++ b/modules/nf-core/preseq/lcextrap/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process PRESEQ_LCEXTRAP" script "../main.nf" process "PRESEQ_LCEXTRAP" + tag "modules" + tag "modules_nfcore" + tag "preseq" + tag "preseq/lcextrap" test("sarscov2 - single_end") { when { diff --git a/modules/nf-core/qualimap/rnaseq/environment.yml b/modules/nf-core/qualimap/rnaseq/environment.yml index 4fa5f4e8e..4574291d3 100644 --- a/modules/nf-core/qualimap/rnaseq/environment.yml +++ b/modules/nf-core/qualimap/rnaseq/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/qualimap/rnaseq/tests/main.nf.test b/modules/nf-core/qualimap/rnaseq/tests/main.nf.test index ff4197eeb..bfc4a330e 100644 --- a/modules/nf-core/qualimap/rnaseq/tests/main.nf.test +++ b/modules/nf-core/qualimap/rnaseq/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process QUALIMAP_RNASEQ" script "../main.nf" process "QUALIMAP_RNASEQ" + tag "modules" + tag "modules_nfcore" + tag "qualimap" + tag "qualimap/rnaseq" test("homo_sapiens [bam]") { when { diff --git a/modules/nf-core/rsem/calculateexpression/environment.yml b/modules/nf-core/rsem/calculateexpression/environment.yml index bcf70fa9a..4b358a32b 100644 --- a/modules/nf-core/rsem/calculateexpression/environment.yml +++ b/modules/nf-core/rsem/calculateexpression/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rsem/calculateexpression/tests/main.nf.test b/modules/nf-core/rsem/calculateexpression/tests/main.nf.test index 7af876dd8..5df41c0b8 100644 --- a/modules/nf-core/rsem/calculateexpression/tests/main.nf.test +++ b/modules/nf-core/rsem/calculateexpression/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "RSEM_CALCULATEEXPRESSION" config "./nextflow.config" + tag "modules" + tag "modules_nfcore" + tag "rsem" + tag "rsem/calculateexpression" + tag "rsem/preparereference" test("homo_sapiens") { diff --git a/modules/nf-core/rseqc/bamstat/environment.yml b/modules/nf-core/rseqc/bamstat/environment.yml index 304e38fcf..f1dc909fc 100644 --- a/modules/nf-core/rseqc/bamstat/environment.yml +++ b/modules/nf-core/rseqc/bamstat/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rseqc/bamstat/tests/main.nf.test b/modules/nf-core/rseqc/bamstat/tests/main.nf.test index 7af50092d..86f4301e9 100644 --- a/modules/nf-core/rseqc/bamstat/tests/main.nf.test +++ b/modules/nf-core/rseqc/bamstat/tests/main.nf.test @@ -4,6 +4,10 @@ nextflow_process { script "../main.nf" process "RSEQC_BAMSTAT" + tag "modules" + tag "modules_nfcore" + tag "rseqc" + tag "rseqc/bamstat" config "./nextflow.config" diff --git a/modules/nf-core/rseqc/inferexperiment/environment.yml b/modules/nf-core/rseqc/inferexperiment/environment.yml index 304e38fcf..f1dc909fc 100644 --- a/modules/nf-core/rseqc/inferexperiment/environment.yml +++ b/modules/nf-core/rseqc/inferexperiment/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test b/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test index 375f65357..f07384442 100644 --- a/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test +++ b/modules/nf-core/rseqc/inferexperiment/tests/main.nf.test @@ -5,6 +5,11 @@ nextflow_process { process "RSEQC_INFEREXPERIMENT" config "./nextflow.config" + tag "modules" + tag "modules_nfcore" + tag "rseqc" + tag "rseqc/inferexperiment" + test("sarscov2 - [[meta] - bam] - bed") { when { diff --git a/modules/nf-core/rseqc/innerdistance/environment.yml b/modules/nf-core/rseqc/innerdistance/environment.yml index 304e38fcf..f1dc909fc 100644 --- a/modules/nf-core/rseqc/innerdistance/environment.yml +++ b/modules/nf-core/rseqc/innerdistance/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rseqc/innerdistance/tests/main.nf.test b/modules/nf-core/rseqc/innerdistance/tests/main.nf.test index e54036f8a..cb19fe144 100644 --- a/modules/nf-core/rseqc/innerdistance/tests/main.nf.test +++ b/modules/nf-core/rseqc/innerdistance/tests/main.nf.test @@ -5,6 +5,11 @@ nextflow_process { process "RSEQC_INNERDISTANCE" config "./nextflow.config" + tag "modules" + tag "modules_nfcore" + tag "rseqc" + tag "rseqc/innerdistance" + test("sarscov2 - [[meta] - bam] - bed") { when { diff --git a/modules/nf-core/rseqc/junctionannotation/environment.yml b/modules/nf-core/rseqc/junctionannotation/environment.yml index 304e38fcf..f1dc909fc 100644 --- a/modules/nf-core/rseqc/junctionannotation/environment.yml +++ b/modules/nf-core/rseqc/junctionannotation/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test b/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test index 8a05bccab..36d5f6e23 100644 --- a/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test +++ b/modules/nf-core/rseqc/junctionannotation/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "RSEQC_JUNCTIONANNOTATION" + tag "modules" + tag "modules_nfcore" + tag "rseqc" + tag "rseqc/junctionannotation" + test("sarscov2 - paired end [bam]") { when { diff --git a/modules/nf-core/rseqc/junctionsaturation/environment.yml b/modules/nf-core/rseqc/junctionsaturation/environment.yml index 304e38fcf..f1dc909fc 100644 --- a/modules/nf-core/rseqc/junctionsaturation/environment.yml +++ b/modules/nf-core/rseqc/junctionsaturation/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test b/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test index 69d7f0c5d..7bd3cfc20 100644 --- a/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test +++ b/modules/nf-core/rseqc/junctionsaturation/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "RSEQC_JUNCTIONSATURATION" + tag "modules" + tag "modules_nfcore" + tag "rseqc" + tag "rseqc/junctionsaturation" + test("sarscov2 paired-end [bam]") { when { diff --git a/modules/nf-core/rseqc/readdistribution/environment.yml b/modules/nf-core/rseqc/readdistribution/environment.yml index 304e38fcf..f1dc909fc 100644 --- a/modules/nf-core/rseqc/readdistribution/environment.yml +++ b/modules/nf-core/rseqc/readdistribution/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rseqc/readdistribution/tests/main.nf.test b/modules/nf-core/rseqc/readdistribution/tests/main.nf.test index c49c558de..5fa76950c 100644 --- a/modules/nf-core/rseqc/readdistribution/tests/main.nf.test +++ b/modules/nf-core/rseqc/readdistribution/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process RSEQC_READDISTRIBUTION" script "../main.nf" process "RSEQC_READDISTRIBUTION" + tag "modules" + tag "modules_nfcore" + tag "rseqc" + tag "rseqc/readdistribution" test("sarscov2 paired-end [bam]") { diff --git a/modules/nf-core/rseqc/readduplication/environment.yml b/modules/nf-core/rseqc/readduplication/environment.yml index 304e38fcf..f1dc909fc 100644 --- a/modules/nf-core/rseqc/readduplication/environment.yml +++ b/modules/nf-core/rseqc/readduplication/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rseqc/readduplication/tests/main.nf.test b/modules/nf-core/rseqc/readduplication/tests/main.nf.test index a6ffced4c..334a4e670 100644 --- a/modules/nf-core/rseqc/readduplication/tests/main.nf.test +++ b/modules/nf-core/rseqc/readduplication/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process RSEQC_READDUPLICATION" script "../main.nf" process "RSEQC_READDUPLICATION" + tag "modules" + tag "modules_nfcore" + tag "rseqc" + tag "rseqc/readduplication" test("sarscov2 paired-end [bam]") { diff --git a/modules/nf-core/rseqc/tin/environment.yml b/modules/nf-core/rseqc/tin/environment.yml index 304e38fcf..f1dc909fc 100644 --- a/modules/nf-core/rseqc/tin/environment.yml +++ b/modules/nf-core/rseqc/tin/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/rseqc/tin/meta.yml b/modules/nf-core/rseqc/tin/meta.yml index 6e363ecd8..29fa68b32 100644 --- a/modules/nf-core/rseqc/tin/meta.yml +++ b/modules/nf-core/rseqc/tin/meta.yml @@ -1,5 +1,5 @@ name: rseqc_tin -description: Calculte TIN (transcript integrity number) from RNA-seq reads +description: Calculate TIN (transcript integrity number) from RNA-seq reads keywords: - rnaseq - transcript diff --git a/modules/nf-core/rseqc/tin/tests/main.nf.test b/modules/nf-core/rseqc/tin/tests/main.nf.test index a4b6f05d4..b11eba80b 100644 --- a/modules/nf-core/rseqc/tin/tests/main.nf.test +++ b/modules/nf-core/rseqc/tin/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process RSEQC_TIN" script "../main.nf" process "RSEQC_TIN" + tag "modules" + tag "modules_nfcore" + tag "rseqc" + tag "rseqc/tin" test("sarscov2 paired-end [bam]") { diff --git a/modules/nf-core/salmon/index/environment.yml b/modules/nf-core/salmon/index/environment.yml index b3f75777e..c9d531434 100644 --- a/modules/nf-core/salmon/index/environment.yml +++ b/modules/nf-core/salmon/index/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/salmon/quant/environment.yml b/modules/nf-core/salmon/quant/environment.yml index b3f75777e..c9d531434 100644 --- a/modules/nf-core/salmon/quant/environment.yml +++ b/modules/nf-core/salmon/quant/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/salmon/quant/main.nf b/modules/nf-core/salmon/quant/main.nf index f1e3b5cda..b7c71871c 100644 --- a/modules/nf-core/salmon/quant/main.nf +++ b/modules/nf-core/salmon/quant/main.nf @@ -1,78 +1,94 @@ process SALMON_QUANT { - tag "$meta.id" + tag "${meta.id}" label "process_medium" conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/salmon:1.10.3--h6dccd9a_2' : - 'biocontainers/salmon:1.10.3--h6dccd9a_2' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/salmon:1.10.3--h6dccd9a_2' + : 'biocontainers/salmon:1.10.3--h6dccd9a_2'}" input: tuple val(meta), path(reads) - path index - path gtf - path transcript_fasta - val alignment_mode - val lib_type + path index + path gtf + path transcript_fasta + val alignment_mode + val lib_type output: - tuple val(meta), path("${prefix}") , emit: results - tuple val(meta), path("*info.json") , emit: json_info, optional: true + tuple val(meta), path("${prefix}"), emit: results + tuple val(meta), path("*info.json"), emit: json_info, optional: true tuple val(meta), path("*lib_format_counts.json"), emit: lib_format_counts, optional: true - path "versions.yml" , emit: versions + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' - prefix = task.ext.prefix ?: "${meta.id}" + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" - def reference = "--index $index" - def reads1 = [], reads2 = [] - meta.single_end ? [reads].flatten().each{reads1 << it} : reads.eachWithIndex{ v, ix -> ( ix & 1 ? reads2 : reads1) << v } + def reference = "--index ${index}" + def reads1 = [] + def reads2 = [] + meta.single_end ? [reads].flatten().each { reads1 << it } : reads.eachWithIndex { v, ix -> (ix & 1 ? reads2 : reads1) << v } def input_reads = meta.single_end ? "-r ${reads1.join(" ")}" : "-1 ${reads1.join(" ")} -2 ${reads2.join(" ")}" if (alignment_mode) { - reference = "-t $transcript_fasta" - input_reads = "-a $reads" + reference = "-t ${transcript_fasta}" + input_reads = "-a ${reads}" } def strandedness_opts = [ - 'A', 'U', 'SF', 'SR', - 'IS', 'IU' , 'ISF', 'ISR', - 'OS', 'OU' , 'OSF', 'OSR', - 'MS', 'MU' , 'MSF', 'MSR' + 'A', + 'U', + 'SF', + 'SR', + 'IS', + 'IU', + 'ISF', + 'ISR', + 'OS', + 'OU', + 'OSF', + 'OSR', + 'MS', + 'MU', + 'MSF', + 'MSR', ] - def strandedness = 'A' + def strandedness = 'A' if (lib_type) { if (strandedness_opts.contains(lib_type)) { strandedness = lib_type - } else { - log.info "[Salmon Quant] Invalid library type specified '--libType=${lib_type}', defaulting to auto-detection with '--libType=A'." } - } else { + else { + log.info("[Salmon Quant] Invalid library type specified '--libType=${lib_type}', defaulting to auto-detection with '--libType=A'.") + } + } + else { strandedness = meta.single_end ? 'U' : 'IU' if (meta.strandedness == 'forward') { strandedness = meta.single_end ? 'SF' : 'ISF' - } else if (meta.strandedness == 'reverse') { + } + else if (meta.strandedness == 'reverse') { strandedness = meta.single_end ? 'SR' : 'ISR' } } """ salmon quant \\ - --geneMap $gtf \\ - --threads $task.cpus \\ - --libType=$strandedness \\ - $reference \\ - $input_reads \\ - $args \\ - -o $prefix + --geneMap ${gtf} \\ + --threads ${task.cpus} \\ + --libType=${strandedness} \\ + ${reference} \\ + ${input_reads} \\ + ${args} \\ + -o ${prefix} - if [ -f $prefix/aux_info/meta_info.json ]; then - cp $prefix/aux_info/meta_info.json "${prefix}_meta_info.json" + if [ -f ${prefix}/aux_info/meta_info.json ]; then + cp ${prefix}/aux_info/meta_info.json "${prefix}_meta_info.json" fi - if [ -f $prefix/lib_format_counts.json ]; then - cp $prefix/lib_format_counts.json "${prefix}_lib_format_counts.json" + if [ -f ${prefix}/lib_format_counts.json ]; then + cp ${prefix}/lib_format_counts.json "${prefix}_lib_format_counts.json" fi cat <<-END_VERSIONS > versions.yml diff --git a/modules/nf-core/salmon/quant/tests/main.nf.test b/modules/nf-core/salmon/quant/tests/main.nf.test index 24d8dd700..2964cc3d0 100644 --- a/modules/nf-core/salmon/quant/tests/main.nf.test +++ b/modules/nf-core/salmon/quant/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "SALMON_QUANT" config "./nextflow.config" + tag "modules" + tag "modules_nfcore" + tag "salmon" + tag "salmon/quant" + tag "salmon/index" setup { run("SALMON_INDEX") { diff --git a/modules/nf-core/samtools/flagstat/main.nf b/modules/nf-core/samtools/flagstat/main.nf index 4a4997274..c23f3a5cf 100644 --- a/modules/nf-core/samtools/flagstat/main.nf +++ b/modules/nf-core/samtools/flagstat/main.nf @@ -18,7 +18,6 @@ process SAMTOOLS_FLAGSTAT { task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" """ samtools \\ diff --git a/modules/nf-core/samtools/flagstat/tests/main.nf.test b/modules/nf-core/samtools/flagstat/tests/main.nf.test index b899f1fc7..3b648a37d 100644 --- a/modules/nf-core/samtools/flagstat/tests/main.nf.test +++ b/modules/nf-core/samtools/flagstat/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process SAMTOOLS_FLAGSTAT" script "../main.nf" process "SAMTOOLS_FLAGSTAT" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/flagstat" test("BAM") { diff --git a/modules/nf-core/samtools/idxstats/main.nf b/modules/nf-core/samtools/idxstats/main.nf index c4b5a0a3f..e2bb6b20c 100644 --- a/modules/nf-core/samtools/idxstats/main.nf +++ b/modules/nf-core/samtools/idxstats/main.nf @@ -18,7 +18,6 @@ process SAMTOOLS_IDXSTATS { task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" """ diff --git a/modules/nf-core/samtools/idxstats/tests/main.nf.test b/modules/nf-core/samtools/idxstats/tests/main.nf.test index bf4c31047..5fd1fc78e 100644 --- a/modules/nf-core/samtools/idxstats/tests/main.nf.test +++ b/modules/nf-core/samtools/idxstats/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process SAMTOOLS_IDXSTATS" script "../main.nf" process "SAMTOOLS_IDXSTATS" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/idxstats" test("bam") { diff --git a/modules/nf-core/samtools/index/tests/main.nf.test b/modules/nf-core/samtools/index/tests/main.nf.test index b59a25b38..ca34fb5cd 100644 --- a/modules/nf-core/samtools/index/tests/main.nf.test +++ b/modules/nf-core/samtools/index/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process SAMTOOLS_INDEX" script "../main.nf" process "SAMTOOLS_INDEX" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/index" test("bai") { when { diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test b/modules/nf-core/samtools/sort/tests/main.nf.test index 14d9d73d8..b05e6691b 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test +++ b/modules/nf-core/samtools/sort/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process SAMTOOLS_SORT" script "../main.nf" process "SAMTOOLS_SORT" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/sort" test("bam") { diff --git a/modules/nf-core/samtools/stats/main.nf b/modules/nf-core/samtools/stats/main.nf index 493525a9e..4443948b7 100644 --- a/modules/nf-core/samtools/stats/main.nf +++ b/modules/nf-core/samtools/stats/main.nf @@ -19,7 +19,6 @@ process SAMTOOLS_STATS { task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" def reference = fasta ? "--reference ${fasta}" : "" """ diff --git a/modules/nf-core/samtools/stats/tests/main.nf.test b/modules/nf-core/samtools/stats/tests/main.nf.test index 6416ae127..5bc893095 100644 --- a/modules/nf-core/samtools/stats/tests/main.nf.test +++ b/modules/nf-core/samtools/stats/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "SAMTOOLS_STATS" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/stats" + test("bam") { when { diff --git a/modules/nf-core/sortmerna/environment.yml b/modules/nf-core/sortmerna/environment.yml index 75d586704..f422ff438 100644 --- a/modules/nf-core/sortmerna/environment.yml +++ b/modules/nf-core/sortmerna/environment.yml @@ -1,5 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: - - seqera::sortmerna=4.3.7 + - bioconda::sortmerna=4.3.6 diff --git a/modules/nf-core/sortmerna/main.nf b/modules/nf-core/sortmerna/main.nf index 2ea221c59..7c17e500c 100644 --- a/modules/nf-core/sortmerna/main.nf +++ b/modules/nf-core/sortmerna/main.nf @@ -3,7 +3,9 @@ process SORTMERNA { label 'process_high' conda "${moduleDir}/environment.yml" - container 'nf-core/sortmerna:4.3.7--6502243397c065ba' + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/sortmerna:4.3.6--h9ee0642_0' : + 'biocontainers/sortmerna:4.3.6--h9ee0642_0' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/sortmerna/tests/main.nf.test b/modules/nf-core/sortmerna/tests/main.nf.test index 4e1ced131..73bc11950 100644 --- a/modules/nf-core/sortmerna/tests/main.nf.test +++ b/modules/nf-core/sortmerna/tests/main.nf.test @@ -24,17 +24,11 @@ nextflow_process { } then { - def index_files = file(process.out.index[0][1]).listFiles() - .findAll { !it.name.endsWith('.stats') } - .sort { a, b -> a.name <=> b.name } - assertAll( { assert process.success }, { assert ! process.out.reads }, - { assert snapshot( - index_files, - process.out.versions - ).match() }, + { assert snapshot(process.out.index).match("index_index_only") }, + { assert snapshot(process.out.versions).match("versions_index_only") } ) } @@ -85,10 +79,6 @@ nextflow_process { } then { - def index_files = file(process.out.index[0][1]).listFiles() - .findAll { !it.name.endsWith('.stats') } - .sort { a, b -> a.name <=> b.name } - assertAll( { assert process.success }, { assert process.out.reads }, @@ -102,7 +92,7 @@ nextflow_process { ).sort() ).match("sarscov2 single_end_match") }, - { assert snapshot(index_files).match("index_single_end") }, + { assert snapshot(process.out.index).match("index_single_end") }, { assert snapshot(process.out.versions).match("versions_single_end") } ) } @@ -167,10 +157,6 @@ nextflow_process { } then { - def index_files = file(process.out.index[0][1]).listFiles() - .findAll { !it.name.endsWith('.stats') } - .sort { a, b -> a.name <=> b.name } - assertAll( { assert process.success }, { assert process.out.reads }, @@ -184,7 +170,7 @@ nextflow_process { ).sort() ).match("sarscov2 paired_end_match") }, - { assert snapshot(index_files).match("index_paired_end") }, + { assert snapshot(process.out.index).match("index_paired_end") }, { assert snapshot(process.out.versions).match("versions_paired_end") } ) } @@ -266,10 +252,6 @@ nextflow_process { } then { - def index_files = file(process.out.index[0][1]).listFiles() - .findAll { !it.name.endsWith('.stats') } - .sort { a, b -> a.name <=> b.name } - assertAll( { assert process.success }, { assert process.out.reads }, @@ -283,7 +265,7 @@ nextflow_process { ).sort() ).match("sarscov2 single_end_premade_index_match") }, - { assert snapshot(index_files).match("index_single_end_premade_index") }, + { assert snapshot(process.out.index).match("index_single_end_premade_index") }, { assert snapshot(process.out.versions).match("versions_single_end_premade_index") } ) } diff --git a/modules/nf-core/sortmerna/tests/main.nf.test.snap b/modules/nf-core/sortmerna/tests/main.nf.test.snap index 07c2e3294..86e84733b 100644 --- a/modules/nf-core/sortmerna/tests/main.nf.test.snap +++ b/modules/nf-core/sortmerna/tests/main.nf.test.snap @@ -2,14 +2,14 @@ "versions_paired_end_stub": { "content": [ [ - "versions.yml:md5,1ba8f45ec168b6ebfceb9d4a4203f655" + "versions.yml:md5,7df9d50209f351e1f75e05a1fad6ba4b" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:40:01.533875274" + "timestamp": "2024-02-07T12:27:11.223149" }, "index_paired_end_stub": { "content": [ @@ -25,41 +25,34 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:40:01.450465678" + "timestamp": "2024-02-26T14:24:25.384097178" }, "versions_paired_end": { "content": [ [ - "versions.yml:md5,1ba8f45ec168b6ebfceb9d4a4203f655" + "versions.yml:md5,7df9d50209f351e1f75e05a1fad6ba4b" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:39:48.811712136" + "timestamp": "2024-02-07T12:27:04.517155" }, - "index_only_stub": { + "versions_single_end_stub": { "content": [ [ - [ - { - "id": "test2" - }, - [ - - ] - ] + "versions.yml:md5,7df9d50209f351e1f75e05a1fad6ba4b" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:38:56.554562414" + "timestamp": "2024-02-01T12:10:35.228450189" }, "sarscov2 single_end_match": { "content": [ @@ -70,65 +63,63 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:39:09.015863183" + "timestamp": "2024-02-07T12:28:23.20327" }, - "versions_single_end_stub": { + "index_only_stub": { "content": [ [ - "versions.yml:md5,1ba8f45ec168b6ebfceb9d4a4203f655" + [ + { + "id": "test2" + }, + [ + + ] + ] ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:39:28.573618474" + "timestamp": "2024-02-26T15:00:47.128504164" }, "index_single_end_premade_index": { "content": [ [ - "2415186086593376314.bursttrie_0.dat:md5,74f7f020e8d46e24a8a2e9c5fbcd564a", - "2415186086593376314.kmer_0.dat:md5,4a0bcb71b120f6a6949b7969292ef2e7", - "2415186086593376314.pos_0.dat:md5,bc2875e4cc4017707306565e396839ef" + [ + { + "id": "test2" + }, + [ + "2415186086593376314.bursttrie_0.dat:md5,74f7f020e8d46e24a8a2e9c5fbcd564a", + "2415186086593376314.kmer_0.dat:md5,4a0bcb71b120f6a6949b7969292ef2e7", + "2415186086593376314.pos_0.dat:md5,bc2875e4cc4017707306565e396839ef", + "2415186086593376314.stats:md5,67c9d4c768f28a450fc82a2b5d43db5c" + ] + ] ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T12:02:37.578808801" + "timestamp": "2024-02-26T15:01:53.832643452" }, "versions_single_end_premade_index": { "content": [ [ - "versions.yml:md5,1ba8f45ec168b6ebfceb9d4a4203f655" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" - }, - "timestamp": "2024-10-22T10:40:14.269803641" - }, - "sarscov2 indexing only": { - "content": [ - [ - "2415186086593376314.bursttrie_0.dat:md5,74f7f020e8d46e24a8a2e9c5fbcd564a", - "2415186086593376314.kmer_0.dat:md5,4a0bcb71b120f6a6949b7969292ef2e7", - "2415186086593376314.pos_0.dat:md5,bc2875e4cc4017707306565e396839ef" - ], - [ - "versions.yml:md5,1ba8f45ec168b6ebfceb9d4a4203f655" + "versions.yml:md5,7df9d50209f351e1f75e05a1fad6ba4b" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T11:59:11.705138075" + "timestamp": "2024-02-26T15:01:53.902154982" }, "sarscov2 paired_end-for_stub_match": { "content": [ @@ -142,24 +133,32 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:40:01.365507281" + "timestamp": "2024-02-07T12:28:56.063579" }, "index_paired_end": { "content": [ [ - "2415186086593376314.bursttrie_0.dat:md5,74f7f020e8d46e24a8a2e9c5fbcd564a", - "2415186086593376314.kmer_0.dat:md5,4a0bcb71b120f6a6949b7969292ef2e7", - "2415186086593376314.pos_0.dat:md5,bc2875e4cc4017707306565e396839ef" + [ + { + "id": "test2" + }, + [ + "2415186086593376314.bursttrie_0.dat:md5,74f7f020e8d46e24a8a2e9c5fbcd564a", + "2415186086593376314.kmer_0.dat:md5,4a0bcb71b120f6a6949b7969292ef2e7", + "2415186086593376314.pos_0.dat:md5,bc2875e4cc4017707306565e396839ef", + "2415186086593376314.stats:md5,67c9d4c768f28a450fc82a2b5d43db5c" + ] + ] ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T12:01:29.664107565" + "timestamp": "2024-02-26T14:24:14.272659781" }, "sarscov2 single_end_premade_index_match_stub": { "content": [ @@ -170,10 +169,10 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:40:28.87594616" + "timestamp": "2024-02-26T15:05:01.913287272" }, "sarscov2 single_end-for_stub_match": { "content": [ @@ -184,10 +183,10 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:39:28.458349619" + "timestamp": "2024-02-07T12:28:29.197913" }, "sarscov2 paired_end_match": { "content": [ @@ -201,46 +200,46 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:39:48.667990373" + "timestamp": "2024-02-07T12:28:49.914992" }, "versions_single_end": { "content": [ [ - "versions.yml:md5,1ba8f45ec168b6ebfceb9d4a4203f655" + "versions.yml:md5,7df9d50209f351e1f75e05a1fad6ba4b" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:39:09.110655329" + "timestamp": "2024-02-26T14:36:27.14244294" }, - "versions_single_end_premade_index_stub": { + "versions_index_only": { "content": [ [ - "versions.yml:md5,1ba8f45ec168b6ebfceb9d4a4203f655" + "versions.yml:md5,7df9d50209f351e1f75e05a1fad6ba4b" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:40:29.097777821" + "timestamp": "2024-02-26T15:00:35.609161481" }, - "versions_index_only_stub": { + "versions_single_end_premade_index_stub": { "content": [ [ - "versions.yml:md5,1ba8f45ec168b6ebfceb9d4a4203f655" + "versions.yml:md5,7df9d50209f351e1f75e05a1fad6ba4b" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:38:56.592840673" + "timestamp": "2024-02-26T15:05:02.059858431" }, "index_single_end_stub": { "content": [ @@ -256,10 +255,22 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:39:28.516407836" + "timestamp": "2024-02-26T14:23:58.068772508" + }, + "versions_index_only_stub": { + "content": [ + [ + "versions.yml:md5,7df9d50209f351e1f75e05a1fad6ba4b" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-26T15:00:47.169402699" }, "index_single_end_premade_index_stub": { "content": [ @@ -275,24 +286,54 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:40:28.988436085" + "timestamp": "2024-02-26T15:05:01.953316205" }, "index_single_end": { "content": [ [ - "2415186086593376314.bursttrie_0.dat:md5,74f7f020e8d46e24a8a2e9c5fbcd564a", - "2415186086593376314.kmer_0.dat:md5,4a0bcb71b120f6a6949b7969292ef2e7", - "2415186086593376314.pos_0.dat:md5,bc2875e4cc4017707306565e396839ef" + [ + { + "id": "test2" + }, + [ + "2415186086593376314.bursttrie_0.dat:md5,74f7f020e8d46e24a8a2e9c5fbcd564a", + "2415186086593376314.kmer_0.dat:md5,4a0bcb71b120f6a6949b7969292ef2e7", + "2415186086593376314.pos_0.dat:md5,bc2875e4cc4017707306565e396839ef", + "2415186086593376314.stats:md5,67c9d4c768f28a450fc82a2b5d43db5c" + ] + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-26T14:36:26.88061978" + }, + "index_index_only": { + "content": [ + [ + [ + { + "id": "test2" + }, + [ + "2415186086593376314.bursttrie_0.dat:md5,74f7f020e8d46e24a8a2e9c5fbcd564a", + "2415186086593376314.kmer_0.dat:md5,4a0bcb71b120f6a6949b7969292ef2e7", + "2415186086593376314.pos_0.dat:md5,bc2875e4cc4017707306565e396839ef", + "2415186086593376314.stats:md5,67c9d4c768f28a450fc82a2b5d43db5c" + ] + ] ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T12:00:30.580004574" + "timestamp": "2024-02-26T15:00:35.34089252" }, "sarscov2 single_end_premade_index_match": { "content": [ @@ -303,9 +344,9 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.8.4", + "nextflow": "23.10.1" }, - "timestamp": "2024-10-22T10:40:14.075100849" + "timestamp": "2024-02-26T15:01:53.797737296" } } \ No newline at end of file diff --git a/modules/nf-core/star/align/environment.yml b/modules/nf-core/star/align/environment.yml index 9ed1940fa..91e37ae12 100644 --- a/modules/nf-core/star/align/environment.yml +++ b/modules/nf-core/star/align/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/star/align/star-align.diff b/modules/nf-core/star/align/star-align.diff index 765781007..e9a123196 100644 --- a/modules/nf-core/star/align/star-align.diff +++ b/modules/nf-core/star/align/star-align.diff @@ -1,4 +1,4 @@ -Changes in module 'nf-core/star/align' +Changes in component 'nf-core/star/align' 'modules/nf-core/star/align/environment.yml' is unchanged 'modules/nf-core/star/align/meta.yml' is unchanged Changes in 'star/align/main.nf': @@ -18,7 +18,6 @@ Changes in 'star/align/main.nf': 'modules/nf-core/star/align/tests/main.nf.test.snap' is unchanged 'modules/nf-core/star/align/tests/nextflow.arriba.config' is unchanged -'modules/nf-core/star/align/tests/tags.yml' is unchanged 'modules/nf-core/star/align/tests/nextflow.starfusion.config' is unchanged 'modules/nf-core/star/align/tests/nextflow.config' is unchanged Changes in 'star/align/tests/main.nf.test': diff --git a/modules/nf-core/star/genomegenerate/environment.yml b/modules/nf-core/star/genomegenerate/environment.yml index 9ed1940fa..91e37ae12 100644 --- a/modules/nf-core/star/genomegenerate/environment.yml +++ b/modules/nf-core/star/genomegenerate/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/star/genomegenerate/star-genomegenerate.diff b/modules/nf-core/star/genomegenerate/star-genomegenerate.diff index a479a399d..66f163614 100644 --- a/modules/nf-core/star/genomegenerate/star-genomegenerate.diff +++ b/modules/nf-core/star/genomegenerate/star-genomegenerate.diff @@ -1,4 +1,4 @@ -Changes in module 'nf-core/star/genomegenerate' +Changes in component 'nf-core/star/genomegenerate' 'modules/nf-core/star/genomegenerate/environment.yml' is unchanged 'modules/nf-core/star/genomegenerate/meta.yml' is unchanged Changes in 'star/genomegenerate/main.nf': @@ -17,7 +17,6 @@ Changes in 'star/genomegenerate/main.nf': tuple val(meta), path(fasta) 'modules/nf-core/star/genomegenerate/tests/main.nf.test.snap' is unchanged -'modules/nf-core/star/genomegenerate/tests/tags.yml' is unchanged Changes in 'star/genomegenerate/tests/main.nf.test': --- modules/nf-core/star/genomegenerate/tests/main.nf.test +++ modules/nf-core/star/genomegenerate/tests/main.nf.test diff --git a/modules/nf-core/stringtie/stringtie/environment.yml b/modules/nf-core/stringtie/stringtie/environment.yml index 906b7486c..a51985b4f 100644 --- a/modules/nf-core/stringtie/stringtie/environment.yml +++ b/modules/nf-core/stringtie/stringtie/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/stringtie/stringtie/tests/main.nf.test b/modules/nf-core/stringtie/stringtie/tests/main.nf.test index dc315a314..2204e849f 100644 --- a/modules/nf-core/stringtie/stringtie/tests/main.nf.test +++ b/modules/nf-core/stringtie/stringtie/tests/main.nf.test @@ -4,6 +4,10 @@ nextflow_process { script "../main.nf" process "STRINGTIE_STRINGTIE" config "./nextflow.config" + tag "modules" + tag "modules_nfcore" + tag "stringtie" + tag "stringtie/stringtie" test("sarscov2 [bam] - forward strandedness") { diff --git a/modules/nf-core/subread/featurecounts/environment.yml b/modules/nf-core/subread/featurecounts/environment.yml index fdb575020..157752509 100644 --- a/modules/nf-core/subread/featurecounts/environment.yml +++ b/modules/nf-core/subread/featurecounts/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/subread/featurecounts/main.nf b/modules/nf-core/subread/featurecounts/main.nf index d51de1e0b..85cd18a3d 100644 --- a/modules/nf-core/subread/featurecounts/main.nf +++ b/modules/nf-core/subread/featurecounts/main.nf @@ -1,19 +1,19 @@ process SUBREAD_FEATURECOUNTS { - tag "$meta.id" + tag "${meta.id}" label 'process_medium' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/subread:2.0.6--he4a0461_2' : - 'biocontainers/subread:2.0.6--he4a0461_2' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/subread:2.0.6--he4a0461_2' + : 'biocontainers/subread:2.0.6--he4a0461_2'}" input: tuple val(meta), path(bams), path(annotation) output: - tuple val(meta), path("*featureCounts.txt") , emit: counts - tuple val(meta), path("*featureCounts.txt.summary"), emit: summary - path "versions.yml" , emit: versions + tuple val(meta), path("*featureCounts.tsv"), emit: counts + tuple val(meta), path("*featureCounts.tsv.summary"), emit: summary + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when @@ -26,17 +26,18 @@ process SUBREAD_FEATURECOUNTS { def strandedness = 0 if (meta.strandedness == 'forward') { strandedness = 1 - } else if (meta.strandedness == 'reverse') { + } + else if (meta.strandedness == 'reverse') { strandedness = 2 } """ featureCounts \\ - $args \\ - $paired_end \\ - -T $task.cpus \\ - -a $annotation \\ - -s $strandedness \\ - -o ${prefix}.featureCounts.txt \\ + ${args} \\ + ${paired_end} \\ + -T ${task.cpus} \\ + -a ${annotation} \\ + -s ${strandedness} \\ + -o ${prefix}.featureCounts.tsv \\ ${bams.join(' ')} cat <<-END_VERSIONS > versions.yml @@ -48,8 +49,8 @@ process SUBREAD_FEATURECOUNTS { stub: def prefix = task.ext.prefix ?: "${meta.id}" """ - touch ${prefix}.featureCounts.txt - touch ${prefix}.featureCounts.txt.summary + touch ${prefix}.featureCounts.tsv + touch ${prefix}.featureCounts.tsv.summary cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/subread/featurecounts/meta.yml b/modules/nf-core/subread/featurecounts/meta.yml index a9b045b7d..83c322af2 100644 --- a/modules/nf-core/subread/featurecounts/meta.yml +++ b/modules/nf-core/subread/featurecounts/meta.yml @@ -37,20 +37,20 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "*featureCounts.txt": + - "*featureCounts.tsv": type: file description: Counts of reads mapping to features - pattern: "*featureCounts.txt" + pattern: "*featureCounts.tsv" - summary: - meta: type: map description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "*featureCounts.txt.summary": + - "*featureCounts.tsv.summary": type: file description: Summary log file - pattern: "*.featureCounts.txt.summary" + pattern: "*.featureCounts.tsv.summary" - versions: - versions.yml: type: file diff --git a/modules/nf-core/subread/featurecounts/tests/main.nf.test b/modules/nf-core/subread/featurecounts/tests/main.nf.test index 3c0c829bf..3b95da33f 100644 --- a/modules/nf-core/subread/featurecounts/tests/main.nf.test +++ b/modules/nf-core/subread/featurecounts/tests/main.nf.test @@ -4,6 +4,10 @@ nextflow_process { script "../main.nf" process "SUBREAD_FEATURECOUNTS" config "./nextflow.config" + tag "modules" + tag "modules_nfcore" + tag "subread" + tag "subread/featurecounts" test("sarscov2 [bam] - forward") { diff --git a/modules/nf-core/subread/featurecounts/tests/main.nf.test.snap b/modules/nf-core/subread/featurecounts/tests/main.nf.test.snap index 5a743f0ce..ff8b62a60 100644 --- a/modules/nf-core/subread/featurecounts/tests/main.nf.test.snap +++ b/modules/nf-core/subread/featurecounts/tests/main.nf.test.snap @@ -8,15 +8,15 @@ "single_end": true, "strandedness": "forward" }, - "test.featureCounts.txt:md5,4cf89f0e702ba9abef3fa571e68fe8f0" + "test.featureCounts.tsv:md5,21ff44bfaa4a3d8e8b7e749078f7a201" ] ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2024-10-18T10:19:47.695388295" + "timestamp": "2024-12-01T11:28:20.989068" }, "unstranded_counts": { "content": [ @@ -27,15 +27,15 @@ "single_end": true, "strandedness": "unstranded" }, - "test.featureCounts.txt:md5,c4ef2c2a80547fbb3074331bc0a1bda3" + "test.featureCounts.tsv:md5,9474f78d2d1d43613cbc16c10ba15047" ] ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2024-10-18T10:21:03.208334705" + "timestamp": "2024-12-01T11:28:33.648742" }, "reverse_summary": { "content": [ @@ -46,15 +46,15 @@ "single_end": true, "strandedness": "reverse" }, - "test.featureCounts.txt.summary:md5,7cfa30ad678b9bc1bc63afbb0281547b" + "test.featureCounts.tsv.summary:md5,7cfa30ad678b9bc1bc63afbb0281547b" ] ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2023-11-23T15:50:25.168206514" + "timestamp": "2024-12-01T11:28:27.457841" }, "sarscov2 [bam] - forward - stub": { "content": [ @@ -66,7 +66,7 @@ "single_end": true, "strandedness": "forward" }, - "test.featureCounts.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "1": [ @@ -76,7 +76,7 @@ "single_end": true, "strandedness": "forward" }, - "test.featureCounts.txt.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv.summary:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "2": [ @@ -89,7 +89,7 @@ "single_end": true, "strandedness": "forward" }, - "test.featureCounts.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "summary": [ @@ -99,7 +99,7 @@ "single_end": true, "strandedness": "forward" }, - "test.featureCounts.txt.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv.summary:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "versions": [ @@ -108,10 +108,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2024-10-18T10:20:10.040191252" + "timestamp": "2024-12-01T11:29:21.075114" }, "sarscov2 [bam] - reverse - stub": { "content": [ @@ -123,7 +123,7 @@ "single_end": true, "strandedness": "reverse" }, - "test.featureCounts.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "1": [ @@ -133,7 +133,7 @@ "single_end": true, "strandedness": "reverse" }, - "test.featureCounts.txt.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv.summary:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "2": [ @@ -146,7 +146,7 @@ "single_end": true, "strandedness": "reverse" }, - "test.featureCounts.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "summary": [ @@ -156,7 +156,7 @@ "single_end": true, "strandedness": "reverse" }, - "test.featureCounts.txt.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv.summary:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "versions": [ @@ -165,10 +165,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2024-10-18T10:20:42.708101743" + "timestamp": "2024-12-01T11:29:27.146094" }, "reverse_counts": { "content": [ @@ -179,15 +179,15 @@ "single_end": true, "strandedness": "reverse" }, - "test.featureCounts.txt:md5,a7d8843ebc12d855c2e68d3e2e137582" + "test.featureCounts.tsv:md5,7df6092fdc65ce40b71c64e0c97f95c6" ] ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2024-10-18T10:20:24.490755916" + "timestamp": "2024-12-01T11:28:27.448485" }, "sarscov2 [bam] - unstranded - stub": { "content": [ @@ -199,7 +199,7 @@ "single_end": true, "strandedness": "unstranded" }, - "test.featureCounts.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "1": [ @@ -209,7 +209,7 @@ "single_end": true, "strandedness": "unstranded" }, - "test.featureCounts.txt.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv.summary:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "2": [ @@ -222,7 +222,7 @@ "single_end": true, "strandedness": "unstranded" }, - "test.featureCounts.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "summary": [ @@ -232,7 +232,7 @@ "single_end": true, "strandedness": "unstranded" }, - "test.featureCounts.txt.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.featureCounts.tsv.summary:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "versions": [ @@ -241,10 +241,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2024-10-18T10:21:19.244837771" + "timestamp": "2024-12-01T11:29:33.287109" }, "forward_summary": { "content": [ @@ -255,15 +255,15 @@ "single_end": true, "strandedness": "forward" }, - "test.featureCounts.txt.summary:md5,8f602ff9a8ef467af43294e80b367cdf" + "test.featureCounts.tsv.summary:md5,8f602ff9a8ef467af43294e80b367cdf" ] ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2023-11-23T15:50:10.699024934" + "timestamp": "2024-12-01T11:28:21.006184" }, "forward_versions": { "content": [ @@ -286,15 +286,15 @@ "single_end": true, "strandedness": "unstranded" }, - "test.featureCounts.txt.summary:md5,23164b79f9f23f11c82820db61a35560" + "test.featureCounts.tsv.summary:md5,23164b79f9f23f11c82820db61a35560" ] ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "24.10.1" }, - "timestamp": "2023-11-23T15:50:38.68776235" + "timestamp": "2024-12-01T11:28:33.657543" }, "reverse_versions": { "content": [ diff --git a/modules/nf-core/summarizedexperiment/summarizedexperiment/environment.yml b/modules/nf-core/summarizedexperiment/summarizedexperiment/environment.yml index dc4e6c936..12a177c6e 100644 --- a/modules/nf-core/summarizedexperiment/summarizedexperiment/environment.yml +++ b/modules/nf-core/summarizedexperiment/summarizedexperiment/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::bioconductor-summarizedexperiment=1.32.0" + - bioconda::bioconductor-summarizedexperiment=1.32.0 diff --git a/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/main.nf.test b/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/main.nf.test index f80f3ee44..aafead6db 100644 --- a/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/main.nf.test +++ b/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/main.nf.test @@ -4,6 +4,14 @@ nextflow_process { script "../main.nf" process "SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT" + tag "modules" + tag "modules_nfcore" + tag "custom/tx2gene" + tag "tximeta" + tag "tximeta/tximport" + tag "summarizedexperiment" + tag "summarizedexperiment/summarizedexperiment" + tag "untar" setup { @@ -18,7 +26,7 @@ nextflow_process { """ } } - run("CUSTOM_TX2GENE") { + run("CUSTOM_TX2GENE") { script "../../../custom/tx2gene/main.nf" process { """ @@ -28,7 +36,7 @@ nextflow_process { ] input[1] = UNTAR.out.untar.map { meta, dir -> [ meta, dir.listFiles().collect() ] } input[2] = 'kallisto' - input[3] = 'gene_id' + input[3] = 'gene_id' input[4] = 'gene_name' """ } @@ -42,13 +50,47 @@ nextflow_process { input[2] = 'kallisto' """ } - } + } + } + test("saccharomyces_cerevisiae - multi_matrix - rowdata - coldata - unify summarized experiment") { + + config "./unify.config" + + when { + process { + """ + input[0] = TXIMETA_TXIMPORT.out.counts_gene + .join(TXIMETA_TXIMPORT.out.counts_gene_length_scaled) + .join(TXIMETA_TXIMPORT.out.counts_gene_scaled) + .join(TXIMETA_TXIMPORT.out.lengths_gene) + .join(TXIMETA_TXIMPORT.out.tpm_gene) + .map{tuple(it[0], [it[1], it[2], it[3], it[4], it[5]])} + + input[1] = CUSTOM_TX2GENE.out.tx2gene + input[2] = [ + [ id:'gene'], // meta map + file(params.modules_testdata_base_path + "genomics/eukaryotes/saccharomyces_cerevisiae/samplesheet.csv", checkIfExists: true) + ] + """ + } + } + + then { + // Some of the log will vary between conda runs- but top bit should be fine + def loglines = path(process.out.log[0][1]).readLines()[0..14] + + assertAll( + { assert process.success }, + { assert snapshot(loglines).md5().match("gene_log_multi_matrix_rowdata_coldata_unify") }, + { assert snapshot(process.out.versions).match('versions_multi_matrix_rowdata_coldata_unify') } + ) + } } test("saccharomyces_cerevisiae - multi_matrix - rowdata - coldata") { - + config "./multi_matrix.config" - + when { process { """ @@ -73,11 +115,11 @@ nextflow_process { ) } } - + test("saccharomyces_cerevisiae - multi_matrix - rowdata") { - + config "./multi_matrix.config" - + when { process { """ @@ -99,11 +141,11 @@ nextflow_process { ) } } - + test("saccharomyces_cerevisiae - multi_matrix") { - + config "./multi_matrix.config" - + when { process { """ @@ -125,11 +167,11 @@ nextflow_process { ) } } - + test("saccharomyces_cerevisiae - single_matrix") { - + config "./single_matrix.config" - + when { process { """ @@ -153,10 +195,10 @@ nextflow_process { } test("saccharomyces_cerevisiae - multi_matrix - rowdata - coldata - stub") { - + config "./multi_matrix.config" options "-stub" - + when { process { """ @@ -178,12 +220,12 @@ nextflow_process { ) } } - + test("saccharomyces_cerevisiae - multi_matrix - rowdata - stub") { - + config "./multi_matrix.config" options "-stub" - + when { process { """ @@ -202,12 +244,12 @@ nextflow_process { ) } } - + test("saccharomyces_cerevisiae - multi_matrix - stub") { - + config "./multi_matrix.config" options "-stub" - + when { process { """ @@ -226,12 +268,12 @@ nextflow_process { ) } } - + test("saccharomyces_cerevisiae - single_matrix - stub") { - + config "./single_matrix.config" options "-stub" - + when { process { """ @@ -251,4 +293,3 @@ nextflow_process { } } } - diff --git a/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/main.nf.test.snap b/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/main.nf.test.snap index 1460532c7..d6334072b 100644 --- a/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/main.nf.test.snap +++ b/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/main.nf.test.snap @@ -16,6 +16,18 @@ }, "timestamp": "2024-07-11T16:41:31.796715" }, + "versions_multi_matrix_rowdata_coldata_unify": { + "content": [ + [ + "versions.yml:md5,9fb424df9dedf0dc55c95215ae802bb9" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.5" + }, + "timestamp": "2025-04-03T15:26:22.428195088" + }, "gene_log_single_matrix_stub": { "content": [ [ @@ -94,6 +106,14 @@ }, "timestamp": "2024-07-11T16:42:21.425746" }, + "gene_log_multi_matrix_rowdata_coldata_unify": { + "content": "7c35131fdd46dcdba6c71f7f11d5b2c7", + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.5" + }, + "timestamp": "2025-04-03T15:26:22.41182233" + }, "versions_multi_matrix_rowdata_coldata_stub": { "content": [ [ diff --git a/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/unify.config b/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/unify.config new file mode 100644 index 000000000..f05dc4109 --- /dev/null +++ b/modules/nf-core/summarizedexperiment/summarizedexperiment/tests/unify.config @@ -0,0 +1,7 @@ +process { + + withName: SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT { + ext.args = '--assay_names counts,length_scale,counts_scaled,lengths,tpm' + } + +} diff --git a/modules/nf-core/trimgalore/environment.yml b/modules/nf-core/trimgalore/environment.yml index b1efd94c4..568b9e72e 100644 --- a/modules/nf-core/trimgalore/environment.yml +++ b/modules/nf-core/trimgalore/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/trimgalore/tests/main.nf.test b/modules/nf-core/trimgalore/tests/main.nf.test index 627e83351..c01672c49 100644 --- a/modules/nf-core/trimgalore/tests/main.nf.test +++ b/modules/nf-core/trimgalore/tests/main.nf.test @@ -3,6 +3,9 @@ nextflow_process { name "Test Process TRIMGALORE" script "../main.nf" process "TRIMGALORE" + tag "modules" + tag "modules_nfcore" + tag "trimgalore" test("test_trimgalore_single_end") { @@ -182,4 +185,4 @@ nextflow_process { ) } } -} +} \ No newline at end of file diff --git a/modules/nf-core/tximeta/tximport/environment.yml b/modules/nf-core/tximeta/tximport/environment.yml index 4b6df0cfe..9dfdbfac9 100644 --- a/modules/nf-core/tximeta/tximport/environment.yml +++ b/modules/nf-core/tximeta/tximport/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::bioconductor-tximeta=1.20.1" + - bioconda::bioconductor-tximeta=1.20.1 diff --git a/modules/nf-core/tximeta/tximport/tests/main.nf.test b/modules/nf-core/tximeta/tximport/tests/main.nf.test index 782030fb8..a0a111032 100644 --- a/modules/nf-core/tximeta/tximport/tests/main.nf.test +++ b/modules/nf-core/tximeta/tximport/tests/main.nf.test @@ -4,10 +4,16 @@ nextflow_process { script "../main.nf" process "TXIMETA_TXIMPORT" + tag "modules" + tag "modules_nfcore" + tag "custom/tx2gene" + tag "tximeta" + tag "tximeta/tximport" + tag "untar" + test("saccharomyces_cerevisiae - kallisto - gtf") { setup { - run("UNTAR") { script "../../../untar/main.nf" process { @@ -50,15 +56,17 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.counts_gene).match('counts_gene_kallisto') }, - { assert snapshot(process.out.counts_gene_length_scaled).match('counts_gene_length_scaled_kallisto') }, - { assert snapshot(process.out.counts_gene_scaled).match('counts_gene_scaled_kallisto') }, - { assert snapshot(process.out.counts_transcript).match('counts_transcript_kallisto') }, - { assert snapshot(process.out.lengths_gene).match('lengths_gene_kallisto') }, - { assert snapshot(process.out.lengths_transcript).match('lengths_transcript_kallisto') }, - { assert snapshot(process.out.tpm_gene).match('tpm_gene_kallisto') }, - { assert snapshot(process.out.tpm_transcript).match('tpm_transcript_kallisto') }, - { assert snapshot(process.out.versions).match('versions_kallisto') } + { assert snapshot( + process.out.counts_gene, + process.out.counts_gene_length_scaled, + process.out.counts_gene_scaled, + process.out.counts_transcript, + process.out.lengths_gene, + process.out.lengths_transcript, + process.out.tpm_gene, + process.out.tpm_transcript, + process.out.versions).match() + } ) } } @@ -67,6 +75,35 @@ nextflow_process { options "-stub" + setup { + run("UNTAR") { + script "../../../untar/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + 'genomics/eukaryotes/saccharomyces_cerevisiae/kallisto_results.tar.gz', checkIfExists: true) + ]) + """ + } + } + run("CUSTOM_TX2GENE") { + script "../../../custom/tx2gene/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + 'genomics/eukaryotes/saccharomyces_cerevisiae/genome_gfp.gtf', checkIfExists: true) + ]) + input[1] = UNTAR.out.untar.map { meta, dir -> [ meta, dir.listFiles().collect() ] } + input[2] = 'kallisto' + input[3] = 'gene_id' + input[4] = 'gene_name' + """ + } + } + } + when { process { """ @@ -80,15 +117,8 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.counts_gene).match('counts_gene_kallisto - stub') }, - { assert snapshot(process.out.counts_gene_length_scaled).match('counts_gene_length_scaled_kallisto - stub') }, - { assert snapshot(process.out.counts_gene_scaled).match('counts_gene_scaled_kallisto - stub') }, - { assert snapshot(process.out.counts_transcript).match('counts_transcript_kallisto - stub') }, - { assert snapshot(process.out.lengths_gene).match('lengths_gene_kallisto - stub') }, - { assert snapshot(process.out.lengths_transcript).match('lengths_transcript_kallisto - stub') }, - { assert snapshot(process.out.tpm_gene).match('tpm_gene_kallisto - stub') }, - { assert snapshot(process.out.tpm_transcript).match('tpm_transcript_kallisto - stub') }, - { assert snapshot(process.out.versions).match('versions_kallisto - stub') } + { assert snapshot(process.out).match() + } ) } @@ -96,7 +126,6 @@ nextflow_process { test("saccharomyces_cerevisiae - salmon - gtf") { setup { - run("UNTAR") { script "../../../untar/main.nf" process { @@ -139,15 +168,17 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.counts_gene).match('counts_gene_salmon') }, - { assert snapshot(process.out.counts_gene_length_scaled).match('counts_gene_length_scaled_salmon') }, - { assert snapshot(process.out.counts_gene_scaled).match('counts_gene_scaled_salmon') }, - { assert snapshot(process.out.counts_transcript).match('counts_transcript_salmon') }, - { assert snapshot(process.out.lengths_gene).match('lengths_gene_salmon') }, - { assert snapshot(process.out.lengths_transcript).match('lengths_transcript_salmon') }, - { assert snapshot(process.out.tpm_gene).match('tpm_gene_salmon') }, - { assert snapshot(process.out.tpm_transcript).match('tpm_transcript_salmon') }, - { assert snapshot(process.out.versions).match('versions_salmon') } + { assert snapshot( + process.out.counts_gene, + process.out.counts_gene_length_scaled, + process.out.counts_gene_scaled, + process.out.counts_transcript, + process.out.lengths_gene, + process.out.lengths_transcript, + process.out.tpm_gene, + process.out.tpm_transcript, + process.out.versions).match() + } ) } @@ -157,6 +188,35 @@ nextflow_process { options "-stub" + setup { + run("UNTAR") { + script "../../../untar/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + 'genomics/eukaryotes/saccharomyces_cerevisiae/salmon_results.tar.gz', checkIfExists: true) + ]) + """ + } + } + run("CUSTOM_TX2GENE") { + script "../../../custom/tx2gene/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + 'genomics/eukaryotes/saccharomyces_cerevisiae/genome_gfp.gtf', checkIfExists: true) + ]) + input[1] = UNTAR.out.untar.map { meta, dir -> [ meta, dir.listFiles().collect() ] } + input[2] = 'salmon' + input[3] = 'gene_id' + input[4] = 'gene_name' + """ + } + } + } + when { process { """ @@ -170,17 +230,8 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.counts_gene).match('counts_gene_salmon - stub') }, - { assert snapshot(process.out.counts_gene_length_scaled).match('counts_gene_length_scaled_salmon - stub') }, - { assert snapshot(process.out.counts_gene_scaled).match('counts_gene_scaled_salmon - stub') }, - { assert snapshot(process.out.counts_transcript).match('counts_transcript_salmon - stub') }, - { assert snapshot(process.out.lengths_gene).match('lengths_gene_salmon - stub') }, - { assert snapshot(process.out.lengths_transcript).match('lengths_transcript_salmon - stub') }, - { assert snapshot(process.out.tpm_gene).match('tpm_gene_salmon - stub') }, - { assert snapshot(process.out.tpm_transcript).match('tpm_transcript_salmon - stub') }, - { assert snapshot(process.out.versions).match('versions_salmon - stub') } + { assert snapshot(process.out).match()} ) } } } - diff --git a/modules/nf-core/tximeta/tximport/tests/main.nf.test.snap b/modules/nf-core/tximeta/tximport/tests/main.nf.test.snap index 3cd0ee9e4..71ce1293e 100644 --- a/modules/nf-core/tximeta/tximport/tests/main.nf.test.snap +++ b/modules/nf-core/tximeta/tximport/tests/main.nf.test.snap @@ -1,171 +1,175 @@ { - "tpm_transcript_salmon - stub": { + "saccharomyces_cerevisiae - kallisto - gtf - stub": { "content": [ - [ - [ + { + "0": [ [ - - ], - "[].transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:50.683744" - }, - "lengths_gene_kallisto - stub": { - "content": [ - [ - [ + [ + + ], + "[].gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ [ - - ], - "[].gene_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.126128" - }, - "counts_gene_scaled_salmon - stub": { - "content": [ - [ - [ + [ + + ], + "[].gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ [ - - ], - "[].gene_counts_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:50.654405" - }, - "counts_gene_kallisto - stub": { - "content": [ - [ - [ + [ + + ], + "[].gene_counts_length_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ [ - - ], - "[].gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.112898" - }, - "lengths_transcript_salmon - stub": { - "content": [ - [ - [ + [ + + ], + "[].gene_counts_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + [ + + ], + "[].gene_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + [ + + ], + "[].transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ [ - - ], - "[].transcript_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + [ + + ], + "[].transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "7": [ + [ + [ + + ], + "[].transcript_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" + ], + "counts_gene": [ + [ + [ + + ], + "[].gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "counts_gene_length_scaled": [ + [ + [ + + ], + "[].gene_counts_length_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "counts_gene_scaled": [ + [ + [ + + ], + "[].gene_counts_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "counts_transcript": [ + [ + [ + + ], + "[].transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "lengths_gene": [ + [ + [ + + ], + "[].gene_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "lengths_transcript": [ + [ + [ + + ], + "[].transcript_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tpm_gene": [ + [ + [ + + ], + "[].gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tpm_transcript": [ + [ + [ + + ], + "[].transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" ] - ] + } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-28T12:35:50.67148" + "timestamp": "2024-12-17T19:24:48.684346976" }, - "versions_salmon - stub": { - "content": [ - [ - "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:50.690592" - }, - "counts_gene_length_scaled_kallisto": { + "saccharomyces_cerevisiae - salmon - gtf": { "content": [ [ [ { "id": "test" }, - "test.gene_counts_length_scaled.tsv:md5,4944841ac711124d29673b6b6ed16ef3" + "test.gene_counts.tsv:md5,c14cab7e15cfac73ec0602dc2c404551" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:34:59.621599" - }, - "lengths_transcript_salmon": { - "content": [ + ], [ [ { "id": "test" }, - "test.transcript_lengths.tsv:md5,db6d8ab9f8e1123d5984fd534b4347dc" + "test.gene_counts_length_scaled.tsv:md5,5f92a6784f6edc5e3b336c71c3ee7daf" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:32.876208" - }, - "counts_transcript_kallisto": { - "content": [ + ], [ [ { "id": "test" }, - "test.transcript_counts.tsv:md5,42e0106e75fa97c1c684c6d9060f1724" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:34:59.62725" - }, - "counts_transcript_kallisto - stub": { - "content": [ - [ - [ - [ - - ], - "[].transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.gene_counts_scaled.tsv:md5,fdfb3d23aaf5d4316d81247ec4664ca0" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.122852" - }, - "counts_transcript_salmon": { - "content": [ + ], [ [ { @@ -173,249 +177,83 @@ }, "test.transcript_counts.tsv:md5,ff0f5be09ca7a322672c0074ba35da17" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:32.866731" - }, - "lengths_gene_salmon - stub": { - "content": [ - [ - [ - [ - - ], - "[].gene_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:50.6654" - }, - "tpm_gene_salmon": { - "content": [ + ], [ [ { "id": "test" }, - "test.gene_tpm.tsv:md5,6076364cc78741a4f8bc8935a045d13d" + "test.gene_lengths.tsv:md5,1691ea2677612805cd699265c83024d7" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:32.881193" - }, - "tpm_transcript_salmon": { - "content": [ + ], [ [ { "id": "test" }, - "test.transcript_tpm.tsv:md5,7a334b565e1e865efb1caf615f194ef7" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:32.886363" - }, - "tpm_gene_salmon - stub": { - "content": [ - [ - [ - [ - - ], - "[].gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.transcript_lengths.tsv:md5,db6d8ab9f8e1123d5984fd534b4347dc" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:50.677538" - }, - "lengths_transcript_kallisto": { - "content": [ + ], [ [ { "id": "test" }, - "test.transcript_lengths.tsv:md5,f974b52840431a5dae57bcb615badbf1" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:34:59.632822" - }, - "counts_gene_length_scaled_kallisto - stub": { - "content": [ - [ - [ - [ - - ], - "[].gene_counts_length_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.gene_tpm.tsv:md5,6076364cc78741a4f8bc8935a045d13d" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.11652" - }, - "tpm_gene_kallisto - stub": { - "content": [ + ], [ [ - [ - - ], - "[].gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + { + "id": "test" + }, + "test.transcript_tpm.tsv:md5,7a334b565e1e865efb1caf615f194ef7" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.133742" - }, - "counts_transcript_salmon - stub": { - "content": [ + ], [ - [ - [ - - ], - "[].transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-28T12:35:50.660144" + "timestamp": "2024-12-17T19:24:59.699008761" }, - "counts_gene_scaled_kallisto": { + "saccharomyces_cerevisiae - kallisto - gtf": { "content": [ [ [ { "id": "test" }, - "test.gene_counts_scaled.tsv:md5,39d14e361434978b3cadae901a26a028" + "test.gene_counts.tsv:md5,e89c28692ea214396b2d4cb702a804c3" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:34:59.624732" - }, - "counts_gene_salmon": { - "content": [ + ], [ [ { "id": "test" }, - "test.gene_counts.tsv:md5,c14cab7e15cfac73ec0602dc2c404551" + "test.gene_counts_length_scaled.tsv:md5,4944841ac711124d29673b6b6ed16ef3" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:32.852188" - }, - "versions_salmon": { - "content": [ - [ - "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:32.892224" - }, - "counts_gene_length_scaled_salmon": { - "content": [ + ], [ [ { "id": "test" }, - "test.gene_counts_length_scaled.tsv:md5,5f92a6784f6edc5e3b336c71c3ee7daf" + "test.gene_counts_scaled.tsv:md5,39d14e361434978b3cadae901a26a028" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:32.857451" - }, - "tpm_gene_kallisto": { - "content": [ + ], [ [ { "id": "test" }, - "test.gene_tpm.tsv:md5,85d108269769ae0d841247b9b9ed922d" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:34:59.636454" - }, - "lengths_transcript_kallisto - stub": { - "content": [ - [ - [ - [ - - ], - "[].transcript_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.transcript_counts.tsv:md5,42e0106e75fa97c1c684c6d9060f1724" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.129712" - }, - "lengths_gene_kallisto": { - "content": [ + ], [ [ { @@ -423,172 +261,184 @@ }, "test.gene_lengths.tsv:md5,db6becdf807fd164a9c63dd1dd916d9c" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:34:59.630042" - }, - "counts_gene_scaled_kallisto - stub": { - "content": [ - [ - [ - [ - - ], - "[].gene_counts_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.119638" - }, - "tpm_transcript_kallisto": { - "content": [ + ], [ [ { "id": "test" }, - "test.transcript_tpm.tsv:md5,65862ed9d4a05abfab952e680dc0e49d" + "test.transcript_lengths.tsv:md5,f974b52840431a5dae57bcb615badbf1" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:34:59.639525" - }, - "lengths_gene_salmon": { - "content": [ + ], [ [ { "id": "test" }, - "test.gene_lengths.tsv:md5,1691ea2677612805cd699265c83024d7" + "test.gene_tpm.tsv:md5,85d108269769ae0d841247b9b9ed922d" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:32.871162" - }, - "counts_gene_length_scaled_salmon - stub": { - "content": [ - [ - [ - [ - - ], - "[].gene_counts_length_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:50.605613" - }, - "counts_gene_kallisto": { - "content": [ + ], [ [ { "id": "test" }, - "test.gene_counts.tsv:md5,e89c28692ea214396b2d4cb702a804c3" + "test.transcript_tpm.tsv:md5,65862ed9d4a05abfab952e680dc0e49d" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:34:59.61832" - }, - "versions_kallisto": { - "content": [ + ], [ "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-28T12:34:59.642751" + "timestamp": "2024-12-17T19:24:36.406126268" }, - "counts_gene_salmon - stub": { + "saccharomyces_cerevisiae - salmon - gtf - stub": { "content": [ - [ - [ + { + "0": [ [ - - ], - "[].gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:50.598457" - }, - "versions_kallisto - stub": { - "content": [ - [ - "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.141689" - }, - "tpm_transcript_kallisto - stub": { - "content": [ - [ - [ + [ + + ], + "[].gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ [ - - ], - "[].transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" - }, - "timestamp": "2024-05-28T12:35:16.137716" - }, - "counts_gene_scaled_salmon": { - "content": [ - [ - [ - { - "id": "test" - }, - "test.gene_counts_scaled.tsv:md5,fdfb3d23aaf5d4316d81247ec4664ca0" + [ + + ], + "[].gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + [ + + ], + "[].gene_counts_length_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + [ + + ], + "[].gene_counts_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + [ + + ], + "[].gene_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + [ + + ], + "[].transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + [ + + ], + "[].transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "7": [ + [ + [ + + ], + "[].transcript_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" + ], + "counts_gene": [ + [ + [ + + ], + "[].gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "counts_gene_length_scaled": [ + [ + [ + + ], + "[].gene_counts_length_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "counts_gene_scaled": [ + [ + [ + + ], + "[].gene_counts_scaled.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "counts_transcript": [ + [ + [ + + ], + "[].transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "lengths_gene": [ + [ + [ + + ], + "[].gene_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "lengths_transcript": [ + [ + [ + + ], + "[].transcript_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tpm_gene": [ + [ + [ + + ], + "[].gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tpm_transcript": [ + [ + [ + + ], + "[].transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,6ff317cceddc686f84d79cb976e1e28b" ] - ] + } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-28T12:35:32.862272" + "timestamp": "2024-12-17T19:25:16.373218283" } -} \ No newline at end of file +} diff --git a/modules/nf-core/ucsc/bedclip/environment.yml b/modules/nf-core/ucsc/bedclip/environment.yml index 94e825f03..beaced44d 100644 --- a/modules/nf-core/ucsc/bedclip/environment.yml +++ b/modules/nf-core/ucsc/bedclip/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/ucsc/bedclip/tests/main.nf.test b/modules/nf-core/ucsc/bedclip/tests/main.nf.test index 5cb8600c3..03458051c 100644 --- a/modules/nf-core/ucsc/bedclip/tests/main.nf.test +++ b/modules/nf-core/ucsc/bedclip/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process UCSC_BEDCLIP" script "../main.nf" process "UCSC_BEDCLIP" + tag "modules" + tag "modules_nfcore" + tag "ucsc" + tag "ucsc/bedclip" test("sarscov2") { config "./nextflow.config" diff --git a/modules/nf-core/ucsc/bedgraphtobigwig/environment.yml b/modules/nf-core/ucsc/bedgraphtobigwig/environment.yml index 27868a444..2e853e091 100644 --- a/modules/nf-core/ucsc/bedgraphtobigwig/environment.yml +++ b/modules/nf-core/ucsc/bedgraphtobigwig/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/ucsc/bedgraphtobigwig/tests/main.nf.test b/modules/nf-core/ucsc/bedgraphtobigwig/tests/main.nf.test index d5dbe4a37..94a799ef6 100644 --- a/modules/nf-core/ucsc/bedgraphtobigwig/tests/main.nf.test +++ b/modules/nf-core/ucsc/bedgraphtobigwig/tests/main.nf.test @@ -3,6 +3,10 @@ nextflow_process { name "Test Process UCSC_BEDGRAPHTOBIGWIG" script "../main.nf" process "UCSC_BEDGRAPHTOBIGWIG" + tag "modules" + tag "modules_nfcore" + tag "ucsc" + tag "ucsc/bedgraphtobigwig" test("Should run without failures") { when { diff --git a/modules/nf-core/umicollapse/environment.yml b/modules/nf-core/umicollapse/environment.yml index 066f55eef..bbabfd56e 100644 --- a/modules/nf-core/umicollapse/environment.yml +++ b/modules/nf-core/umicollapse/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/umicollapse/tests/tags.yml b/modules/nf-core/umicollapse/tests/tags.yml deleted file mode 100644 index 912879c4d..000000000 --- a/modules/nf-core/umicollapse/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -umicollapse: - - "modules/nf-core/umicollapse/**" diff --git a/modules/nf-core/umitools/dedup/environment.yml b/modules/nf-core/umitools/dedup/environment.yml index 9f9e03c49..e5721f1e7 100644 --- a/modules/nf-core/umitools/dedup/environment.yml +++ b/modules/nf-core/umitools/dedup/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/umitools/dedup/tests/tags.yml b/modules/nf-core/umitools/dedup/tests/tags.yml deleted file mode 100644 index 5934c5cb7..000000000 --- a/modules/nf-core/umitools/dedup/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -umitools/dedup: - - "modules/nf-core/umitools/dedup/**" diff --git a/modules/nf-core/umitools/extract/environment.yml b/modules/nf-core/umitools/extract/environment.yml index 9f9e03c49..e5721f1e7 100644 --- a/modules/nf-core/umitools/extract/environment.yml +++ b/modules/nf-core/umitools/extract/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/umitools/extract/tests/main.nf.test b/modules/nf-core/umitools/extract/tests/main.nf.test index fc90a7a06..bb8a06582 100644 --- a/modules/nf-core/umitools/extract/tests/main.nf.test +++ b/modules/nf-core/umitools/extract/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "UMITOOLS_EXTRACT" config "./nextflow.config" + tag "modules_nfcore" + tag "modules" + tag "umitools" + tag "umitools/extract" + test("single end") { when { diff --git a/modules/nf-core/umitools/prepareforrsem/environment.yml b/modules/nf-core/umitools/prepareforrsem/environment.yml index 9f9e03c49..e5721f1e7 100644 --- a/modules/nf-core/umitools/prepareforrsem/environment.yml +++ b/modules/nf-core/umitools/prepareforrsem/environment.yml @@ -1,3 +1,5 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda diff --git a/modules/nf-core/umitools/prepareforrsem/tests/main.nf.test b/modules/nf-core/umitools/prepareforrsem/tests/main.nf.test index 105093505..aa31d6593 100644 --- a/modules/nf-core/umitools/prepareforrsem/tests/main.nf.test +++ b/modules/nf-core/umitools/prepareforrsem/tests/main.nf.test @@ -4,6 +4,11 @@ nextflow_process { script "../main.nf" process "UMITOOLS_PREPAREFORRSEM" + tag "modules" + tag "modules_nfcore" + tag "umitools" + tag "umitools/prepareforrsem" + test("sarscov2 - bam") { when { diff --git a/modules/nf-core/untar/environment.yml b/modules/nf-core/untar/environment.yml index c7794856d..9b926b1ff 100644 --- a/modules/nf-core/untar/environment.yml +++ b/modules/nf-core/untar/environment.yml @@ -1,7 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda dependencies: + - conda-forge::coreutils=9.5 - conda-forge::grep=3.11 + - conda-forge::gzip=1.13 + - conda-forge::lbzip2=2.5 - conda-forge::sed=4.8 - conda-forge::tar=1.34 diff --git a/modules/nf-core/untar/main.nf b/modules/nf-core/untar/main.nf index 9bd8f5546..e712ebe63 100644 --- a/modules/nf-core/untar/main.nf +++ b/modules/nf-core/untar/main.nf @@ -1,46 +1,46 @@ process UNTAR { - tag "$archive" + tag "${archive}" label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ubuntu:22.04' : - 'nf-core/ubuntu:22.04' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data' + : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}" input: tuple val(meta), path(archive) output: - tuple val(meta), path("$prefix"), emit: untar - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}"), emit: untar + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' + def args = task.ext.args ?: '' def args2 = task.ext.args2 ?: '' - prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, "")) + prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, "")) """ - mkdir $prefix + mkdir ${prefix} ## Ensures --strip-components only applied when top level of tar contents is a directory ## If just files or multiple directories, place all in prefix if [[ \$(tar -taf ${archive} | grep -o -P "^.*?\\/" | uniq | wc -l) -eq 1 ]]; then tar \\ - -C $prefix --strip-components 1 \\ + -C ${prefix} --strip-components 1 \\ -xavf \\ - $args \\ - $archive \\ - $args2 + ${args} \\ + ${archive} \\ + ${args2} else tar \\ - -C $prefix \\ + -C ${prefix} \\ -xavf \\ - $args \\ - $archive \\ - $args2 + ${args} \\ + ${archive} \\ + ${args2} fi cat <<-END_VERSIONS > versions.yml @@ -50,7 +50,7 @@ process UNTAR { """ stub: - prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.toString().replaceFirst(/\.[^\.]+(.gz)?$/, "")) + prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.toString().replaceFirst(/\.[^\.]+(.gz)?$/, "")) """ mkdir ${prefix} ## Dry-run untaring the archive to get the files and place all in prefix diff --git a/modules/nf-core/untar/meta.yml b/modules/nf-core/untar/meta.yml index 290346b3f..3a37bb35c 100644 --- a/modules/nf-core/untar/meta.yml +++ b/modules/nf-core/untar/meta.yml @@ -28,9 +28,12 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - $prefix: - type: directory - description: Directory containing contents of archive + pattern: "*/" + - ${prefix}: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] pattern: "*/" - versions: - versions.yml: diff --git a/modules/nf-core/untar/tests/main.nf.test b/modules/nf-core/untar/tests/main.nf.test index f556118ff..c957517aa 100644 --- a/modules/nf-core/untar/tests/main.nf.test +++ b/modules/nf-core/untar/tests/main.nf.test @@ -3,6 +3,9 @@ nextflow_process { name "Test Process UNTAR" script "../main.nf" process "UNTAR" + tag "modules" + tag "modules_nfcore" + tag "untar" test("test_untar") { diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/tags.yml b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/tags.yml deleted file mode 100644 index a3ba5b726..000000000 --- a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -subworkflows/bam_dedup_stats_samtools_umicollapse: - - subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/** diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/tags.yml b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/tags.yml deleted file mode 100644 index bfd5e023e..000000000 --- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/tags.yml +++ /dev/null @@ -1,2 +0,0 @@ -subworkflows/bam_dedup_stats_samtools_umitools: - - subworkflows/nf-core/bam_dedup_stats_samtools_umitools/** diff --git a/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test b/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test index b8e9da9ab..d90c9d49c 100644 --- a/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test +++ b/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test @@ -8,9 +8,9 @@ nextflow_workflow { tag "subworkflows" tag "subworkflows_nfcore" tag "subworkflows/bam_dedup_umi" - tag "bam_dedup_stats_samtools_umicollapse" - tag "bam_dedup_stats_samtools_umitools" - tag "bam_sort_stats_samtools" + tag "subworkflows/bam_dedup_stats_samtools_umicollapse" + tag "subworkflows/bam_dedup_stats_samtools_umitools" + tag "subworkflows/bam_sort_stats_samtools" tag "umitools/prepareforrsem" tag "samtools/sort" @@ -96,4 +96,4 @@ nextflow_workflow { ) } } -} \ No newline at end of file +} diff --git a/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test b/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test index f023a9f7d..420cc702a 100644 --- a/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test +++ b/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test @@ -4,6 +4,20 @@ nextflow_workflow { script "../main.nf" workflow "BAM_MARKDUPLICATES_PICARD" + tag "picard" + tag "picard/markduplicates" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "bam_markduplicates_picard" + tag "subworkflows/bam_markduplicates_picard" + tag "subworkflows/bam_stats_samtools" + tag "bam_stats_samtools" + tag "samtools" + tag "samtools/flagstat" + tag "samtools/idxstats" + tag "samtools/index" + tag "samtools/stats" + test("sarscov2 - bam") { when { diff --git a/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap b/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap index 092a78d6d..50ecf675d 100644 --- a/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "homo_sapiens - cram": { "content": [ "test.cram", - "test.cram.crai:md5,78d47ba01ac4e05f3ae1e353902a989e", + "test.cram.crai:md5,9a74bf028b7146d8ef285442a14bbc8f", "test.flagstat:md5,93b0ef463df947ede1f42ff60396c34d", "test.idxstats:md5,e179601fa7b8ebce81ac3765206f6c15", "test.stats:md5,1a4569080c6f73546a863b0c3bc72c49", @@ -10,7 +10,7 @@ "versions.yml:md5,39f93ad916207c307cdb142959a19e95", "versions.yml:md5,5a97b3ae2f98b3fd84c475f26a7e01b7", "versions.yml:md5,6f95a91fadb30bd32b77143d18f2e1f9", - "versions.yml:md5,966dcea920866a87b55e665563864fc9", + "versions.yml:md5,a54e44823e415885a18a6b62e3087fca", "versions.yml:md5,b867241d6184a7ff9312f6f493f1b49c" ] ], @@ -18,7 +18,7 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-10-21T16:16:11.433738207" + "timestamp": "2024-10-18T10:59:53.440891602" }, "sarscov2 - bam - stub": { "content": [ @@ -90,7 +90,7 @@ "versions.yml:md5,39f93ad916207c307cdb142959a19e95", "versions.yml:md5,5a97b3ae2f98b3fd84c475f26a7e01b7", "versions.yml:md5,6f95a91fadb30bd32b77143d18f2e1f9", - "versions.yml:md5,966dcea920866a87b55e665563864fc9", + "versions.yml:md5,a54e44823e415885a18a6b62e3087fca", "versions.yml:md5,b867241d6184a7ff9312f6f493f1b49c" ], "bai": [ @@ -160,7 +160,7 @@ "versions.yml:md5,39f93ad916207c307cdb142959a19e95", "versions.yml:md5,5a97b3ae2f98b3fd84c475f26a7e01b7", "versions.yml:md5,6f95a91fadb30bd32b77143d18f2e1f9", - "versions.yml:md5,966dcea920866a87b55e665563864fc9", + "versions.yml:md5,a54e44823e415885a18a6b62e3087fca", "versions.yml:md5,b867241d6184a7ff9312f6f493f1b49c" ] } @@ -169,7 +169,7 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-10-21T16:16:33.62894627" + "timestamp": "2024-10-18T11:00:20.860494683" }, "homo_sapiens - cram - stub": { "content": [ @@ -235,7 +235,7 @@ "versions.yml:md5,39f93ad916207c307cdb142959a19e95", "versions.yml:md5,5a97b3ae2f98b3fd84c475f26a7e01b7", "versions.yml:md5,6f95a91fadb30bd32b77143d18f2e1f9", - "versions.yml:md5,966dcea920866a87b55e665563864fc9", + "versions.yml:md5,a54e44823e415885a18a6b62e3087fca", "versions.yml:md5,b867241d6184a7ff9312f6f493f1b49c" ], "bai": [ @@ -299,7 +299,7 @@ "versions.yml:md5,39f93ad916207c307cdb142959a19e95", "versions.yml:md5,5a97b3ae2f98b3fd84c475f26a7e01b7", "versions.yml:md5,6f95a91fadb30bd32b77143d18f2e1f9", - "versions.yml:md5,966dcea920866a87b55e665563864fc9", + "versions.yml:md5,a54e44823e415885a18a6b62e3087fca", "versions.yml:md5,b867241d6184a7ff9312f6f493f1b49c" ] } @@ -308,12 +308,12 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-10-21T16:16:56.036736329" + "timestamp": "2024-10-18T11:00:42.042387118" }, "sarscov2 - bam": { "content": [ - "test.bam:md5,3091fe6ba1b7530f382fe40b9fd8f45b", - "test.bam.bai:md5,4d3ae8d013444b55e17aa0149a2ab404", + "test.bam:md5,c8a3a56d56bf2c87f09e143ed2f78a7d", + "test.bam.bai:md5,7d205e4e0b3d98887b1eafb5c50a3363", "test.flagstat:md5,4f7ffd1e6a5e85524d443209ac97d783", "test.idxstats:md5,df60a8c8d6621100d05178c93fb053a2", "test.stats:md5,ba007b13981dad548358c7c957d41e12", @@ -321,7 +321,7 @@ "versions.yml:md5,39f93ad916207c307cdb142959a19e95", "versions.yml:md5,5a97b3ae2f98b3fd84c475f26a7e01b7", "versions.yml:md5,6f95a91fadb30bd32b77143d18f2e1f9", - "versions.yml:md5,966dcea920866a87b55e665563864fc9", + "versions.yml:md5,a54e44823e415885a18a6b62e3087fca", "versions.yml:md5,b867241d6184a7ff9312f6f493f1b49c" ] ], @@ -329,6 +329,6 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-10-21T16:15:46.816427395" + "timestamp": "2024-10-18T10:59:22.840531827" } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_rseqc/tests/main.nf.test b/subworkflows/nf-core/bam_rseqc/tests/main.nf.test index 492cfb6fe..d228c6b47 100644 --- a/subworkflows/nf-core/bam_rseqc/tests/main.nf.test +++ b/subworkflows/nf-core/bam_rseqc/tests/main.nf.test @@ -3,6 +3,19 @@ nextflow_workflow { name "Test Workflow BAM_RSEQC" script "../main.nf" workflow "BAM_RSEQC" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/bam_rseqc" + tag "bam_rseqc" + tag "rseqc" + tag "rseqc/bamstat" + tag "rseqc/inferexperiment" + tag "rseqc/innerdistance" + tag "rseqc/junctionannotation" + tag "rseqc/junctionsaturation" + tag "rseqc/readdistribution" + tag "rseqc/readduplication" + tag "rseqc/tin" test("sarscov2 paired-end [bam]") { diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test index a21782114..821a3cf50 100644 --- a/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test +++ b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test @@ -3,6 +3,18 @@ nextflow_workflow { name "Test Workflow BAM_SORT_STATS_SAMTOOLS" script "../main.nf" workflow "BAM_SORT_STATS_SAMTOOLS" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/bam_sort_stats_samtools" + tag "bam_sort_stats_samtools" + tag "subworkflows/bam_stats_samtools" + tag "bam_stats_samtools" + tag "samtools" + tag "samtools/index" + tag "samtools/sort" + tag "samtools/stats" + tag "samtools/idxstats" + tag "samtools/flagstat" test("test_bam_sort_stats_samtools_single_end") { diff --git a/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test index 4597aea27..76e7a40a0 100644 --- a/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test +++ b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test @@ -3,6 +3,14 @@ nextflow_workflow { name "Test Workflow BAM_STATS_SAMTOOLS" script "../main.nf" workflow "BAM_STATS_SAMTOOLS" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "bam_stats_samtools" + tag "subworkflows/bam_stats_samtools" + tag "samtools" + tag "samtools/flagstat" + tag "samtools/idxstats" + tag "samtools/stats" test("test_bam_stats_samtools_single_end") { diff --git a/subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/tests/main.nf.test b/subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/tests/main.nf.test index 17ec676ca..79edf9b9d 100644 --- a/subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/tests/main.nf.test +++ b/subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/tests/main.nf.test @@ -4,6 +4,13 @@ nextflow_workflow { script "../main.nf" workflow "BEDGRAPH_BEDCLIP_BEDGRAPHTOBIGWIG" config "./nextflow.config" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/bedgraph_bedclip_bedgraphtobigwig" + tag "bedgraph_bedclip_bedgraphtobigwig" + tag "ucsc" + tag "ucsc/bedclip" + tag "ucsc/bedgraphtobigwig" test("sarscov2 [bedgraph] [genome_sizes]") { diff --git a/subworkflows/nf-core/fastq_align_hisat2/meta.yml b/subworkflows/nf-core/fastq_align_hisat2/meta.yml index 6f00d4daa..032144af5 100644 --- a/subworkflows/nf-core/fastq_align_hisat2/meta.yml +++ b/subworkflows/nf-core/fastq_align_hisat2/meta.yml @@ -51,7 +51,7 @@ output: pattern: "*.{bam}" - summary: type: file - description: Aligment log + description: Alignment log pattern: "*.log" - fastq: type: file diff --git a/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test index 37dd098cd..221ce56d6 100644 --- a/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test +++ b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test @@ -5,8 +5,20 @@ nextflow_workflow { workflow "FASTQ_ALIGN_HISAT2" config "./nextflow.config" - - + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/fastq_align_hisat2" + + tag "hisat2/align" + tag "hisat2/build" + tag "hisat2/extractsplicesites" + + tag "samtools/flagstat" + tag "samtools/idxstats" + tag "samtools/index" + tag "samtools/sort" + tag "samtools/stats" + tag "subworkflows/bam_sort_stats_samtools" setup { run("HISAT2_EXTRACTSPLICESITES") { diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf index 9c355a5e3..170ce78c3 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf +++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf @@ -1,7 +1,6 @@ // // Read QC, UMI extraction and trimming // - include { FASTQC as FASTQC_RAW } from '../../../modules/nf-core/fastqc/main' include { FASTQC as FASTQC_TRIM } from '../../../modules/nf-core/fastqc/main' include { UMITOOLS_EXTRACT } from '../../../modules/nf-core/umitools/extract/main' @@ -10,27 +9,30 @@ include { FASTP } from '../../../modules/nf-core/fastp/main' // // Function that parses fastp json output file to get total number of reads after trimming // -import groovy.json.JsonSlurper def getFastpReadsAfterFiltering(json_file, min_num_reads) { - if ( workflow.stubRun ) { return min_num_reads } + if (workflow.stubRun) { + return min_num_reads + } - def Map json = (Map) new JsonSlurper().parseText(json_file.text).get('summary') + def json = new groovy.json.JsonSlurper().parseText(json_file.text).get('summary') as Map return json['after_filtering']['total_reads'].toLong() } -def getFastpAdapterSequence(json_file){ - - if ( workflow.stubRun ) { return "" } +def getFastpAdapterSequence(json_file) { + // Handle stub runs + if (workflow.stubRun) { + return "" + } - def Map json = (Map) new JsonSlurper().parseText(json_file.text) - try{ - adapter = json['adapter_cutting']['read1_adapter_sequence'] - } catch(Exception ex){ - adapter = "" + def json = new groovy.json.JsonSlurper().parseText(json_file.text) as Map + try { + return json['adapter_cutting']['read1_adapter_sequence'] + } + catch (Exception ex) { + return "" } - return adapter } workflow FASTQ_FASTQC_UMITOOLS_FASTP { @@ -49,82 +51,74 @@ workflow FASTQ_FASTQC_UMITOOLS_FASTP { main: ch_versions = Channel.empty() fastqc_raw_html = Channel.empty() - fastqc_raw_zip = Channel.empty() + fastqc_raw_zip = Channel.empty() + umi_log = Channel.empty() + trim_json = Channel.empty() + trim_html = Channel.empty() + trim_log = Channel.empty() + trim_reads_fail = Channel.empty() + trim_reads_merged = Channel.empty() + fastqc_trim_html = Channel.empty() + fastqc_trim_zip = Channel.empty() + trim_read_count = Channel.empty() + adapter_seq = Channel.empty() + if (!skip_fastqc) { - FASTQC_RAW ( + FASTQC_RAW( reads ) fastqc_raw_html = FASTQC_RAW.out.html - fastqc_raw_zip = FASTQC_RAW.out.zip - ch_versions = ch_versions.mix(FASTQC_RAW.out.versions.first()) + fastqc_raw_zip = FASTQC_RAW.out.zip + ch_versions = ch_versions.mix(FASTQC_RAW.out.versions.first()) } umi_reads = reads - umi_log = Channel.empty() if (with_umi && !skip_umi_extract) { - UMITOOLS_EXTRACT ( + UMITOOLS_EXTRACT( reads ) - umi_reads = UMITOOLS_EXTRACT.out.reads - umi_log = UMITOOLS_EXTRACT.out.log + umi_reads = UMITOOLS_EXTRACT.out.reads + umi_log = UMITOOLS_EXTRACT.out.log ch_versions = ch_versions.mix(UMITOOLS_EXTRACT.out.versions.first()) // Discard R1 / R2 if required - if (umi_discard_read in [1,2]) { - UMITOOLS_EXTRACT - .out - .reads - .map { - meta, reads -> - meta.single_end ? [ meta, reads ] : [ meta + [single_end: true], reads[umi_discard_read % 2] ] + if (umi_discard_read in [1, 2]) { + UMITOOLS_EXTRACT.out.reads + .map { meta, _reads -> + meta.single_end ? [meta, _reads] : [meta + [single_end: true], _reads[umi_discard_read % 2]] } .set { umi_reads } } } - trim_reads = umi_reads - trim_json = Channel.empty() - trim_html = Channel.empty() - trim_log = Channel.empty() - trim_reads_fail = Channel.empty() - trim_reads_merged = Channel.empty() - fastqc_trim_html = Channel.empty() - fastqc_trim_zip = Channel.empty() - trim_read_count = Channel.empty() - adapter_seq = Channel.empty() - + trim_reads = umi_reads if (!skip_trimming) { - FASTP ( + FASTP( umi_reads, adapter_fasta, - false, // don't want to set discard_trimmed_pass, else there will be no reads output + false, save_trimmed_fail, - save_merged + save_merged, ) - trim_json = FASTP.out.json - trim_html = FASTP.out.html - trim_log = FASTP.out.log - trim_reads_fail = FASTP.out.reads_fail + trim_json = FASTP.out.json + trim_html = FASTP.out.html + trim_log = FASTP.out.log + trim_reads_fail = FASTP.out.reads_fail trim_reads_merged = FASTP.out.reads_merged - ch_versions = ch_versions.mix(FASTP.out.versions.first()) + ch_versions = ch_versions.mix(FASTP.out.versions.first()) // // Filter FastQ files based on minimum trimmed read count after adapter trimming // - FASTP - .out - .reads - .join(trim_json) - .map { meta, reads, json -> [ meta, reads, getFastpReadsAfterFiltering(json, min_trimmed_reads.toLong()) ] } - .set { ch_num_trimmed_reads } + FASTP.out.reads.join(trim_json).map { meta, _reads, json -> [meta, _reads, getFastpReadsAfterFiltering(json, min_trimmed_reads.toLong())] }.set { ch_num_trimmed_reads } ch_num_trimmed_reads - .filter { meta, reads, num_reads -> num_reads >= min_trimmed_reads.toLong() } - .map { meta, reads, num_reads -> [ meta, reads ] } + .filter { _meta, _reads, num_reads -> num_reads >= min_trimmed_reads.toLong() } + .map { meta, _reads, _num_reads -> [meta, _reads] } .set { trim_reads } ch_num_trimmed_reads - .map { meta, reads, num_reads -> [ meta, num_reads ] } + .map { meta, _reads, num_reads -> [meta, num_reads] } .set { trim_read_count } trim_json @@ -132,33 +126,28 @@ workflow FASTQ_FASTQC_UMITOOLS_FASTP { .set { adapter_seq } if (!skip_fastqc) { - FASTQC_TRIM ( + FASTQC_TRIM( trim_reads ) fastqc_trim_html = FASTQC_TRIM.out.html - fastqc_trim_zip = FASTQC_TRIM.out.zip - ch_versions = ch_versions.mix(FASTQC_TRIM.out.versions.first()) + fastqc_trim_zip = FASTQC_TRIM.out.zip + ch_versions = ch_versions.mix(FASTQC_TRIM.out.versions.first()) } } emit: - reads = trim_reads // channel: [ val(meta), [ reads ] ] - - fastqc_raw_html // channel: [ val(meta), [ html ] ] - fastqc_raw_zip // channel: [ val(meta), [ zip ] ] - - umi_log // channel: [ val(meta), [ log ] ] - adapter_seq // channel: [ val(meta), [ adapter_seq] ] - - trim_json // channel: [ val(meta), [ json ] ] - trim_html // channel: [ val(meta), [ html ] ] - trim_log // channel: [ val(meta), [ log ] ] - trim_reads_fail // channel: [ val(meta), [ fastq.gz ] ] - trim_reads_merged // channel: [ val(meta), [ fastq.gz ] ] - trim_read_count // channel: [ val(meta), val(count) ] - - fastqc_trim_html // channel: [ val(meta), [ html ] ] - fastqc_trim_zip // channel: [ val(meta), [ zip ] ] - - versions = ch_versions // channel: [ versions.yml ] + reads = trim_reads // channel: [ val(meta), [ reads ] ] + fastqc_raw_html // channel: [ val(meta), [ html ] ] + fastqc_raw_zip // channel: [ val(meta), [ zip ] ] + umi_log // channel: [ val(meta), [ log ] ] + adapter_seq // channel: [ val(meta), [ adapter_seq] ] + trim_json // channel: [ val(meta), [ json ] ] + trim_html // channel: [ val(meta), [ html ] ] + trim_log // channel: [ val(meta), [ log ] ] + trim_reads_fail // channel: [ val(meta), [ fastq.gz ] ] + trim_reads_merged // channel: [ val(meta), [ fastq.gz ] ] + trim_read_count // channel: [ val(meta), val(count) ] + fastqc_trim_html // channel: [ val(meta), [ html ] ] + fastqc_trim_zip // channel: [ val(meta), [ zip ] ] + versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test index 053feffb6..edf325e6e 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test +++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test @@ -5,11 +5,19 @@ nextflow_workflow { workflow "FASTQ_FASTQC_UMITOOLS_FASTP" config './nextflow.config' + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/fastq_fastqc_umitools_fastp" + tag "fastq_fastqc_umitools_fastp" + tag "fastqc" + tag "umitools/extract" + tag "fastp" + + test("sarscov2 paired-end [fastq]") { when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -19,7 +27,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -27,15 +38,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -64,11 +75,10 @@ nextflow_workflow { } } - test("skip_fastqc") { + test("sarscov2 paired-end [fastq] | skip_fastqc") { when { - workflow { - """ + params { skip_fastqc = true with_umi = false skip_umi_extract = false @@ -78,7 +88,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end: false ], // meta map [ @@ -86,15 +99,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -123,11 +136,10 @@ nextflow_workflow { } } - test("with_umi") { + test("sarscov2 paired-end [fastq] | with_umi") { when { - workflow { - """ + params { skip_fastqc = false with_umi = true skip_umi_extract = false @@ -137,7 +149,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -145,15 +160,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -181,11 +196,11 @@ nextflow_workflow { } } - test("skip_umi_extract") { + + test("sarscov2 paired-end [fastq] | skip_umi_extract") { when { - workflow { - """ + params { skip_fastqc = false with_umi = true skip_umi_extract = true @@ -195,7 +210,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -203,15 +221,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -240,11 +258,10 @@ nextflow_workflow { } } - test("umi_discard_read = 2") { + test("sarscov2 paired-end [fastq] | umi_discard_read = 2") { when { - workflow { - """ + params { skip_fastqc = false with_umi = true skip_umi_extract = true @@ -254,7 +271,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -262,15 +282,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -299,11 +319,10 @@ nextflow_workflow { } } - test("skip_trimming") { + test("sarscov2 paired-end [fastq] | skip_trimming") { when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -313,7 +332,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -321,15 +343,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -359,13 +381,10 @@ nextflow_workflow { } } - test("save_trimmed_fail") { - - config './nextflow.save_trimmed.config' + test("sarscov2 paired-end [fastq] | save_trimmed_fail") { when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -375,7 +394,10 @@ nextflow_workflow { save_trimmed_fail = true save_merged = false min_trimmed_reads = 1 - + fastp_args = "-e 30" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -383,15 +405,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -420,11 +442,10 @@ nextflow_workflow { } } - test("save_merged") { + test("sarscov2 paired-end [fastq] | save_merged") { when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -434,7 +455,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = true min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -442,15 +466,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -479,12 +503,11 @@ nextflow_workflow { } } - test("min_trimmed_reads = 26") { + test("sarscov2 paired-end [fastq] | min_trimmed_reads = 26") { // Subworkflow should stop after FASTP which trims down to 25 reads when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -494,7 +517,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = true min_trimmed_reads = 26 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -502,15 +528,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -540,12 +566,10 @@ nextflow_workflow { } test("sarscov2 paired-end [fastq] - stub") { - - options '-stub' + options '-stub-run' when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -555,7 +579,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -563,15 +590,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -584,13 +611,11 @@ nextflow_workflow { } } - test("skip_fastqc - stub") { - - options "-stub" + test("sarscov2 paired-end [fastq] | skip_fastqc - stub") { + options "-stub-run" when { - workflow { - """ + params { skip_fastqc = true with_umi = false skip_umi_extract = false @@ -600,7 +625,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end: false ], // meta map [ @@ -608,15 +636,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -629,13 +657,11 @@ nextflow_workflow { } } - test("with_umi - stub") { - - options "-stub" + test("sarscov2 paired-end [fastq] | with_umi - stub") { + options "-stub-run" when { - workflow { - """ + params { skip_fastqc = false with_umi = true skip_umi_extract = false @@ -645,7 +671,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -653,15 +682,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -674,13 +703,12 @@ nextflow_workflow { } } - test("skip_umi_extract - stub") { - options "-stub" + test("sarscov2 paired-end [fastq] | skip_umi_extract - stub") { + options "-stub-run" when { - workflow { - """ + params { skip_fastqc = false with_umi = true skip_umi_extract = true @@ -690,7 +718,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -698,15 +729,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -719,13 +750,11 @@ nextflow_workflow { } } - test("umi_discard_read = 2 - stub") { - - options "-stub" + test("sarscov2 paired-end [fastq] | umi_discard_read = 2 - stub") { + options "-stub-run" when { - workflow { - """ + params { skip_fastqc = false with_umi = true skip_umi_extract = true @@ -735,7 +764,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -743,15 +775,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -764,13 +796,11 @@ nextflow_workflow { } } - test("skip_trimming - stub") { - - options "-stub" + test("sarscov2 paired-end [fastq] | skip_trimming - stub") { + options "-stub-run" when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -780,7 +810,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = false min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -788,15 +821,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -822,15 +855,11 @@ nextflow_workflow { } } - test("save_trimmed_fail - stub") { - - options "-stub" - - config './nextflow.save_trimmed.config' + test("sarscov2 paired-end [fastq] | save_trimmed_fail - stub") { + options "-stub-run" when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -840,7 +869,10 @@ nextflow_workflow { save_trimmed_fail = true save_merged = false min_trimmed_reads = 1 - + fastp_args = "-e 30" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -848,15 +880,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -869,13 +901,11 @@ nextflow_workflow { } } - test("save_merged - stub") { - - options "-stub" + test("sarscov2 paired-end [fastq] | save_merged - stub") { + options "-stub-run" when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -885,7 +915,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = true min_trimmed_reads = 1 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -893,15 +926,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } @@ -914,14 +947,12 @@ nextflow_workflow { } } - test("min_trimmed_reads = 26 - stub") { + test("sarscov2 paired-end [fastq] | min_trimmed_reads = 26 - stub") { // Subworkflow should stop after FASTP which trims down to 25 reads - - options "-stub" + options "-stub-run" when { - workflow { - """ + params { skip_fastqc = false with_umi = false skip_umi_extract = false @@ -931,7 +962,10 @@ nextflow_workflow { save_trimmed_fail = false save_merged = true min_trimmed_reads = 26 - + fastp_args = "" + } + workflow { + """ input[0] = Channel.of([ [ id:'test', single_end:false ], // meta map [ @@ -939,15 +973,15 @@ nextflow_workflow { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ]) - input[1] = skip_fastqc - input[2] = with_umi - input[3] = skip_umi_extract - input[4] = umi_discard_read - input[5] = skip_trimming - input[6] = adapter_fasta - input[7] = save_trimmed_fail - input[8] = save_merged - input[9] = min_trimmed_reads + input[1] = params.skip_fastqc + input[2] = params.with_umi + input[3] = params.skip_umi_extract + input[4] = params.umi_discard_read + input[5] = params.skip_trimming + input[6] = params.adapter_fasta + input[7] = params.save_trimmed_fail + input[8] = params.save_merged + input[9] = params.min_trimmed_reads """ } } diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap index e7d1f51ed..47c8b1d55 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "skip_fastqc": { + "sarscov2 paired-end [fastq] | skip_umi_extract": { "content": [ [ [ @@ -28,7 +28,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" + "test.fastp.json:md5,7cf3bff1922b512bcca58439eb2d3679" ] ], [ @@ -50,188 +50,53 @@ ], [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-22T16:56:01.933832" - }, - "save_trimmed_fail": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "unspecified" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test_1.fastp.fastq.gz:md5,6ff32a64c5188b9a9192be1398c262c7", - "test_2.fastp.fastq.gz:md5,db0cb7c9977e94ac2b4b446ebd017a8a" - ] - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.fastp.json:md5,4c3268ddb50ea5b33125984776aa3519" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - 162 - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test.paired.fail.fastq.gz:md5,409b687c734cedd7a1fec14d316e1366", - "test_1.fail.fastq.gz:md5,4f273cf3159c13f79e8ffae12f5661f6", - "test_2.fail.fastq.gz:md5,f97b9edefb5649aab661fbc9e71fc995" - ] - ] - ], - [ - - ], - [ - - ], - [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:57:38.736" + "timestamp": "2025-03-31T13:42:42.262180451" }, - "skip_umi_extract": { + "sarscov2 paired-end [fastq] | with_umi": { "content": [ [ [ { "id": "test", - "single_end": false - }, - "unspecified" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", - "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" - ] - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - 198 - ] - ], - [ - - ], - [ - - ], - [ - - ], - [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", - "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-22T16:56:47.905105" - }, - "umi_discard_read = 2": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false + "single_end": true }, - "unspecified" + "" ] ], [ [ { "id": "test", - "single_end": false + "single_end": true }, - [ - "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", - "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" - ] + "test.fastp.fastq.gz:md5,ba8c6c3a7ce718d9a2c5857e2edf53bc" ] ], [ [ { "id": "test", - "single_end": false + "single_end": true }, - "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" + "test.fastp.json:md5,da0403af3eb7d950f209a1e758de2db0" ] ], [ [ { "id": "test", - "single_end": false + "single_end": true }, - 198 + 99 ] ], [ @@ -241,21 +106,19 @@ ], [ - - ], - [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,01f264f78de3c6d893c449cc6d3cd721", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:57:05.436744" + "timestamp": "2025-03-31T13:42:31.905020586" }, - "umi_discard_read = 2 - stub": { + "sarscov2 paired-end [fastq] | umi_discard_read = 2 - stub": { "content": [ { "0": [ @@ -307,7 +170,7 @@ ] ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ], @@ -468,19 +331,19 @@ ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:59:27.273892" + "timestamp": "2025-03-31T14:19:10.965815964" }, - "skip_trimming - stub": { + "sarscov2 paired-end [fastq] | skip_trimming - stub": { "content": [ [ @@ -535,80 +398,12 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-22T16:59:39.247758" - }, - "save_merged": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "unspecified" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test_1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672", - "test_2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba" - ] - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.fastp.json:md5,b712fd68ed0322f4bec49ff2a5237fcc" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - 75 - ] - ], - [ - - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5" - ] - ], - [ - - ], - [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", - "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-07-22T16:57:57.472342" + "timestamp": "2024-12-12T14:32:15.355312216" }, - "skip_trimming": { + "sarscov2 paired-end [fastq] | skip_trimming": { "content": [ [ @@ -637,69 +432,12 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-22T16:57:19.875543" - }, - "with_umi": { - "content": [ - [ - [ - { - "id": "test", - "single_end": true - }, - "" - ] - ], - [ - [ - { - "id": "test", - "single_end": true - }, - "test.fastp.fastq.gz:md5,ba8c6c3a7ce718d9a2c5857e2edf53bc" - ] - ], - [ - [ - { - "id": "test", - "single_end": true - }, - "test.fastp.json:md5,d39c5c6d9a2e35fb60d26ced46569af6" - ] - ], - [ - [ - { - "id": "test", - "single_end": true - }, - 99 - ] - ], - [ - - ], - [ - - ], - [ - "versions.yml:md5,01f264f78de3c6d893c449cc6d3cd721", - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", - "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" - ] - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-07-22T16:56:26.778625" + "timestamp": "2024-12-12T14:24:19.774510678" }, - "min_trimmed_reads = 26": { + "sarscov2 paired-end [fastq] | umi_discard_read = 2": { "content": [ [ [ @@ -717,8 +455,8 @@ "single_end": false }, [ - "test_1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672", - "test_2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba" + "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", + "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" ] ] ], @@ -728,7 +466,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,b712fd68ed0322f4bec49ff2a5237fcc" + "test.fastp.json:md5,7cf3bff1922b512bcca58439eb2d3679" ] ], [ @@ -737,37 +475,31 @@ "id": "test", "single_end": false }, - 75 + 198 ] ], [ ], [ - [ - { - "id": "test", - "single_end": false - }, - "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5" - ] + ], [ ], [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:58:16.36697" + "timestamp": "2025-03-31T13:42:49.469455815" }, - "min_trimmed_reads = 26 - stub": { + "sarscov2 paired-end [fastq] | min_trimmed_reads = 26 - stub": { "content": [ { "0": [ @@ -819,7 +551,7 @@ ] ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ], @@ -992,28 +724,163 @@ ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T17:00:16.524361" + "timestamp": "2025-03-31T14:19:34.087570563" }, - "with_umi - stub": { + "sarscov2 paired-end [fastq] | save_trimmed_fail": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "unspecified" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.fastp.fastq.gz:md5,6ff32a64c5188b9a9192be1398c262c7", + "test_2.fastp.fastq.gz:md5,db0cb7c9977e94ac2b4b446ebd017a8a" + ] + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,5009a892192f2084c2af69c153d88d6c" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + 162 + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.paired.fail.fastq.gz:md5,409b687c734cedd7a1fec14d316e1366", + "test_1.fail.fastq.gz:md5,4f273cf3159c13f79e8ffae12f5661f6", + "test_2.fail.fastq.gz:md5,f97b9edefb5649aab661fbc9e71fc995" + ] + ] + ], + [ + + ], + [ + + ], + [ + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", + "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.5" + }, + "timestamp": "2025-03-31T13:43:06.081852222" + }, + "sarscov2 paired-end [fastq] | skip_fastqc": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "unspecified" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", + "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" + ] + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,7cf3bff1922b512bcca58439eb2d3679" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + 198 + ] + ], + [ + + ], + [ + + ], + [ + + ], + [ + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.5" + }, + "timestamp": "2025-03-31T13:41:40.619624901" + }, + "sarscov2 paired-end [fastq] | save_trimmed_fail - stub": { "content": [ { "0": [ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + [ + "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] ], "1": [ @@ -1029,7 +896,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, 1 ] @@ -1038,7 +905,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1047,14 +914,13 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "13": [ - "versions.yml:md5,01f264f78de3c6d893c449cc6d3cd721", - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ], @@ -1068,19 +934,13 @@ ] ], "3": [ - [ - { - "id": "test", - "single_end": false - }, - "test.umi_extract.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "4": [ [ { "id": "test", - "single_end": true + "single_end": false }, "" ] @@ -1089,7 +949,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1098,7 +958,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1107,13 +967,23 @@ [ { "id": "test", - "single_end": true + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false }, - "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + [ + "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] - ], - "8": [ - ], "9": [ @@ -1122,7 +992,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "" ] @@ -1149,7 +1019,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1158,7 +1028,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1167,16 +1037,19 @@ [ { "id": "test", - "single_end": true + "single_end": false }, - "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + [ + "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] ], "trim_html": [ [ { "id": "test", - "single_end": true + "single_end": false }, "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1185,7 +1058,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1194,7 +1067,7 @@ [ { "id": "test", - "single_end": true + "single_end": false }, "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1203,41 +1076,44 @@ [ { "id": "test", - "single_end": true + "single_end": false }, 1 ] ], "trim_reads_fail": [ - - ], - "trim_reads_merged": [ - - ], - "umi_log": [ [ { "id": "test", "single_end": false }, - "test.umi_extract.log:md5,d41d8cd98f00b204e9800998ecf8427e" + [ + "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] + ], + "trim_reads_merged": [ + + ], + "umi_log": [ + ], "versions": [ - "versions.yml:md5,01f264f78de3c6d893c449cc6d3cd721", - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:58:56.42517" + "timestamp": "2025-03-31T14:19:23.614397633" }, - "skip_fastqc - stub": { + "sarscov2 paired-end [fastq] | skip_fastqc - stub": { "content": [ { "0": [ @@ -1271,7 +1147,7 @@ ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce" ], "2": [ @@ -1400,17 +1276,17 @@ ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:58:41.207281" + "timestamp": "2025-03-31T14:18:50.988594099" }, - "save_merged - stub": { + "sarscov2 paired-end [fastq] | save_merged - stub": { "content": [ { "0": [ @@ -1462,7 +1338,7 @@ ] ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ], @@ -1635,17 +1511,85 @@ ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" + }, + "timestamp": "2025-03-31T14:19:28.872773752" + }, + "sarscov2 paired-end [fastq] | min_trimmed_reads = 26": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "unspecified" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672", + "test_2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba" + ] + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,8f99097bfa04b629891105b8af9c429f" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + 75 + ] + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5" + ] + ], + [ + + ], + [ + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", + "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T17:00:03.695409" + "timestamp": "2025-03-31T13:43:23.073649509" }, "sarscov2 paired-end [fastq]": { "content": [ @@ -1676,7 +1620,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" + "test.fastp.json:md5,7cf3bff1922b512bcca58439eb2d3679" ] ], [ @@ -1698,16 +1642,16 @@ ], [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:55:50.614571" + "timestamp": "2025-03-31T13:41:35.19441141" }, "sarscov2 paired-end [fastq] - stub": { "content": [ @@ -1761,7 +1705,7 @@ ] ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ], @@ -1922,31 +1866,96 @@ ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" + }, + "timestamp": "2025-03-31T13:43:31.664576438" + }, + "sarscov2 paired-end [fastq] | save_merged": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "unspecified" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672", + "test_2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba" + ] + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,8f99097bfa04b629891105b8af9c429f" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + 75 + ] + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5" + ] + ], + [ + + ], + [ + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", + "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:58:29.296468" + "timestamp": "2025-03-31T13:43:16.218890529" }, - "save_trimmed_fail - stub": { + "sarscov2 paired-end [fastq] | with_umi - stub": { "content": [ { "0": [ [ { "id": "test", - "single_end": false + "single_end": true }, - [ - "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] + "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "1": [ @@ -1962,7 +1971,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, 1 ] @@ -1971,7 +1980,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -1980,13 +1989,14 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,01f264f78de3c6d893c449cc6d3cd721", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ], @@ -2000,13 +2010,19 @@ ] ], "3": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.umi_extract.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "4": [ [ { "id": "test", - "single_end": false + "single_end": true }, "" ] @@ -2015,7 +2031,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -2024,7 +2040,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -2033,23 +2049,13 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "8": [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ] + ], "9": [ @@ -2058,7 +2064,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "" ] @@ -2085,7 +2091,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -2094,7 +2100,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -2103,19 +2109,16 @@ [ { "id": "test", - "single_end": false + "single_end": true }, - [ - "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] + "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "trim_html": [ [ { "id": "test", - "single_end": false + "single_end": true }, "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -2124,7 +2127,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -2133,7 +2136,7 @@ [ { "id": "test", - "single_end": false + "single_end": true }, "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" ] @@ -2142,44 +2145,41 @@ [ { "id": "test", - "single_end": false + "single_end": true }, 1 ] ], "trim_reads_fail": [ + + ], + "trim_reads_merged": [ + + ], + "umi_log": [ [ { "id": "test", "single_end": false }, - [ - "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] + "test.umi_extract.log:md5,d41d8cd98f00b204e9800998ecf8427e" ] - ], - "trim_reads_merged": [ - - ], - "umi_log": [ - ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,01f264f78de3c6d893c449cc6d3cd721", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:59:51.615894" + "timestamp": "2025-03-31T14:19:00.760820449" }, - "skip_umi_extract - stub": { + "sarscov2 paired-end [fastq] | skip_umi_extract - stub": { "content": [ { "0": [ @@ -2231,7 +2231,7 @@ ] ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ], @@ -2392,16 +2392,16 @@ ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,20ceba9ff7bc15c1fbe2b369022178ce", "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-07-22T16:59:12.592278" + "timestamp": "2025-03-31T14:19:05.849804123" } } \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/nextflow.config b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/nextflow.config index 0174cae50..428b0d37c 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/nextflow.config +++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/nextflow.config @@ -8,4 +8,9 @@ process { ext.prefix = { "${meta.id}.dedup" } } + // Make filtering more aggressive to make more reads fail + withName: FASTP { + ext.args = params.fastp_args + } + } diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/nextflow.save_trimmed.config b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/nextflow.save_trimmed.config deleted file mode 100644 index 21207addd..000000000 --- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/nextflow.save_trimmed.config +++ /dev/null @@ -1,6 +0,0 @@ -process { - // Make filtering more aggressive to make more reads fail - withName: FASTP { - ext.args = "-e 30" - } -} diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/main.nf b/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/main.nf index 4ffc36984..b195f6310 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/main.nf +++ b/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/main.nf @@ -15,8 +15,12 @@ def getTrimGaloreReadsAfterFiltering(log_file) { log_file.eachLine { line -> def total_reads_matcher = line =~ /([\d\.]+)\ssequences processed in total/ def filtered_reads_matcher = line =~ /shorter than the length cutoff[^:]+:\s([\d\.]+)/ - if (total_reads_matcher) total_reads = total_reads_matcher[0][1].toFloat() - if (filtered_reads_matcher) filtered_reads = filtered_reads_matcher[0][1].toFloat() + if (total_reads_matcher) { + total_reads = total_reads_matcher[0][1].toFloat() + } + if (filtered_reads_matcher) { + filtered_reads = filtered_reads_matcher[0][1].toFloat() + } } return total_reads - filtered_reads } @@ -34,90 +38,81 @@ workflow FASTQ_FASTQC_UMITOOLS_TRIMGALORE { main: ch_versions = Channel.empty() fastqc_html = Channel.empty() - fastqc_zip = Channel.empty() + fastqc_zip = Channel.empty() if (!skip_fastqc) { - FASTQC (reads) + FASTQC(reads) fastqc_html = FASTQC.out.html - fastqc_zip = FASTQC.out.zip + fastqc_zip = FASTQC.out.zip ch_versions = ch_versions.mix(FASTQC.out.versions.first()) } umi_reads = reads - umi_log = Channel.empty() + umi_log = Channel.empty() if (with_umi && !skip_umi_extract) { - UMITOOLS_EXTRACT (reads) - umi_reads = UMITOOLS_EXTRACT.out.reads - umi_log = UMITOOLS_EXTRACT.out.log - ch_versions = ch_versions.mix(UMITOOLS_EXTRACT.out.versions.first()) + UMITOOLS_EXTRACT(reads) + umi_reads = UMITOOLS_EXTRACT.out.reads + umi_log = UMITOOLS_EXTRACT.out.log + ch_versions = ch_versions.mix(UMITOOLS_EXTRACT.out.versions.first()) - // Discard R1 / R2 if required - if (umi_discard_read in [1,2]) { - UMITOOLS_EXTRACT - .out - .reads - .map { - meta, reads -> - meta.single_end ? [ meta, reads ] : [ meta + ['single_end': true], reads[umi_discard_read % 2] ] - } - .set { umi_reads } - } + // Discard R1 / R2 if required + if (umi_discard_read in [1, 2]) { + UMITOOLS_EXTRACT.out.reads + .map { meta, reads -> + meta.single_end ? [meta, reads] : [meta + ['single_end': true], reads[umi_discard_read % 2]] + } + .set { umi_reads } + } } - trim_reads = umi_reads - trim_unpaired = Channel.empty() - trim_html = Channel.empty() - trim_zip = Channel.empty() - trim_log = Channel.empty() + trim_reads = umi_reads + trim_unpaired = Channel.empty() + trim_html = Channel.empty() + trim_zip = Channel.empty() + trim_log = Channel.empty() trim_read_count = Channel.empty() if (!skip_trimming) { - TRIMGALORE (umi_reads) + TRIMGALORE(umi_reads) trim_unpaired = TRIMGALORE.out.unpaired - trim_html = TRIMGALORE.out.html - trim_zip = TRIMGALORE.out.zip - trim_log = TRIMGALORE.out.log - ch_versions = ch_versions.mix(TRIMGALORE.out.versions.first()) + trim_html = TRIMGALORE.out.html + trim_zip = TRIMGALORE.out.zip + trim_log = TRIMGALORE.out.log + ch_versions = ch_versions.mix(TRIMGALORE.out.versions.first()) // // Filter FastQ files based on minimum trimmed read count after adapter trimming // - TRIMGALORE - .out - .reads + TRIMGALORE.out.reads .join(trim_log, remainder: true) - .map { - meta, reads, trim_log -> - if (trim_log) { - num_reads = getTrimGaloreReadsAfterFiltering(meta.single_end ? trim_log : trim_log[-1]) - [ meta, reads, num_reads ] - } else { - [ meta, reads, min_trimmed_reads.toFloat() + 1 ] - } + .map { meta, reads_, trim_log_ -> + if (trim_log) { + def num_reads = getTrimGaloreReadsAfterFiltering(meta.single_end ? trim_log_ : trim_log_[-1]) + [meta, reads_, num_reads] + } + else { + [meta, reads, min_trimmed_reads.toFloat() + 1] + } } .set { ch_num_trimmed_reads } ch_num_trimmed_reads - .filter { meta, reads, num_reads -> num_reads >= min_trimmed_reads.toFloat() } - .map { meta, reads, num_reads -> [ meta, reads ] } + .filter { _meta, _reads, num_reads -> num_reads >= min_trimmed_reads.toFloat() } + .map { meta, reads_, _num_reads -> [meta, reads_] } .set { trim_reads } ch_num_trimmed_reads - .map { meta, reads, num_reads -> [ meta, num_reads ] } + .map { meta, _reads, num_reads -> [meta, num_reads] } .set { trim_read_count } } emit: - reads = trim_reads // channel: [ val(meta), [ reads ] ] - - fastqc_html // channel: [ val(meta), [ html ] ] - fastqc_zip // channel: [ val(meta), [ zip ] ] - - umi_log // channel: [ val(meta), [ log ] ] - - trim_unpaired // channel: [ val(meta), [ reads ] ] - trim_html // channel: [ val(meta), [ html ] ] - trim_zip // channel: [ val(meta), [ zip ] ] - trim_log // channel: [ val(meta), [ txt ] ] - trim_read_count // channel: [ val(meta), val(count) ] - - versions = ch_versions // channel: [ versions.yml ] + reads = trim_reads // channel: [ val(meta), [ reads ] ] + fastqc_html // channel: [ val(meta), [ html ] ] + fastqc_zip // channel: [ val(meta), [ zip ] ] + umi_log // channel: [ val(meta), [ log ] ] + trim_unpaired // channel: [ val(meta), [ reads ] ] + trim_html // channel: [ val(meta), [ html ] ] + trim_zip // channel: [ val(meta), [ zip ] ] + trim_log // channel: [ val(meta), [ txt ] ] + trim_read_count // channel: [ val(meta), val(count) ] + versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/tests/main.nf.test b/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/tests/main.nf.test index 1043d06ad..96e05765b 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/tests/main.nf.test +++ b/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/tests/main.nf.test @@ -5,6 +5,16 @@ nextflow_workflow { workflow "FASTQ_FASTQC_UMITOOLS_TRIMGALORE" config './nextflow.config' + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/fastq_fastqc_umitools_trimgalore" + tag "fastqc" + tag "umitools/extract" + tag "trimgalore" + + tag "FASTQC" + tag "UMITOOLS_EXTRACT" + tag "TRIMGALORE" test("test single end read with UMI") { diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/main.nf b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/main.nf index 6149143ad..a418a1a24 100644 --- a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/main.nf +++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/main.nf @@ -1,5 +1,3 @@ -import groovy.json.JsonSlurper - include { BBMAP_BBSPLIT } from '../../../modules/nf-core/bbmap/bbsplit' include { CAT_FASTQ } from '../../../modules/nf-core/cat/fastq/main' include { SORTMERNA } from '../../../modules/nf-core/sortmerna/main' @@ -13,14 +11,12 @@ include { FASTQ_SUBSAMPLE_FQ_SALMON } from '../fastq_subsample_fq_salmo include { FASTQ_FASTQC_UMITOOLS_TRIMGALORE } from '../fastq_fastqc_umitools_trimgalore' include { FASTQ_FASTQC_UMITOOLS_FASTP } from '../fastq_fastqc_umitools_fastp' -def pass_trimmed_reads = [:] - // // Function to determine library type by comparing type counts. // // -def calculateStrandedness(forwardFragments, reverseFragments, unstrandedFragments, stranded_threshold=0.8, unstranded_threshold=0.1) { +def calculateStrandedness(forwardFragments, reverseFragments, unstrandedFragments, stranded_threshold = 0.8, unstranded_threshold = 0.1) { def totalFragments = forwardFragments + reverseFragments + unstrandedFragments def totalStrandedFragments = forwardFragments + reverseFragments @@ -32,9 +28,11 @@ def calculateStrandedness(forwardFragments, reverseFragments, unstrandedFragment if (forwardProportion >= stranded_threshold) { strandedness = 'forward' - } else if (reverseProportion >= stranded_threshold) { + } + else if (reverseProportion >= stranded_threshold) { strandedness = 'reverse' - } else if (proportionDifference <= unstranded_threshold) { + } + else if (proportionDifference <= unstranded_threshold) { strandedness = 'unstranded' } } @@ -43,7 +41,7 @@ def calculateStrandedness(forwardFragments, reverseFragments, unstrandedFragment inferred_strandedness: strandedness, forwardFragments: (forwardFragments / (totalFragments as double)) * 100, reverseFragments: (reverseFragments / (totalFragments as double)) * 100, - unstrandedFragments: (unstrandedFragments / (totalFragments as double)) * 100 + unstrandedFragments: (unstrandedFragments / (totalFragments as double)) * 100, ] } @@ -52,7 +50,7 @@ def calculateStrandedness(forwardFragments, reverseFragments, unstrandedFragment // def getSalmonInferredStrandedness(json_file, stranded_threshold = 0.8, unstranded_threshold = 0.1) { // Parse the JSON content of the file - def libCounts = new JsonSlurper().parseText(json_file.text) + def libCounts = new groovy.json.JsonSlurper().parseText(json_file.text) // Calculate the counts for forward and reverse strand fragments def forwardKeys = ['SF', 'ISF', 'MSF', 'OSF'] @@ -86,7 +84,6 @@ def multiqcTsvFromList(tsv_data, header) { } workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS { - take: ch_reads // channel: [ val(meta), [ reads ] ] ch_fasta // channel: /path/to/genome.fasta @@ -115,31 +112,27 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS { main: - ch_versions = Channel.empty() - ch_filtered_reads = Channel.empty() + ch_versions = Channel.empty() + ch_filtered_reads = Channel.empty() ch_trim_read_count = Channel.empty() - ch_multiqc_files = Channel.empty() - ch_lint_log = Channel.empty() + ch_multiqc_files = Channel.empty() + ch_lint_log = Channel.empty() ch_reads - .branch { - meta, fastqs -> - single : fastqs.size() == 1 - return [ meta, fastqs.flatten() ] - multiple: fastqs.size() > 1 - return [ meta, fastqs.flatten() ] + .branch { meta, fastqs -> + single: fastqs.size() == 1 + return [meta, fastqs.flatten()] + multiple: fastqs.size() > 1 + return [meta, fastqs.flatten()] } .set { ch_fastq } // // MODULE: Concatenate FastQ files from same sample if required // - CAT_FASTQ ( + CAT_FASTQ( ch_fastq.multiple - ) - .reads - .mix(ch_fastq.single) - .set { ch_filtered_reads } + ).reads.mix(ch_fastq.single).set { ch_filtered_reads } ch_versions = ch_versions.mix(CAT_FASTQ.out.versions.first()) @@ -147,30 +140,30 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS { // MODULE: Lint FastQ files // - if(!skip_linting) { - FQ_LINT ( + if (!skip_linting) { + FQ_LINT( ch_filtered_reads ) ch_versions = ch_versions.mix(FQ_LINT.out.versions.first()) ch_lint_log = ch_lint_log.mix(FQ_LINT.out.lint) - ch_reads = ch_reads.join(FQ_LINT.out.lint.map{it[0]}) + ch_filtered_reads = ch_filtered_reads.join(FQ_LINT.out.lint.map { it[0] }) } // // SUBWORKFLOW: Read QC, extract UMI and trim adapters with TrimGalore! // if (trimmer == 'trimgalore') { - FASTQ_FASTQC_UMITOOLS_TRIMGALORE ( + FASTQ_FASTQC_UMITOOLS_TRIMGALORE( ch_filtered_reads, skip_fastqc, with_umi, skip_umi_extract, skip_trimming, umi_discard_read, - min_trimmed_reads + min_trimmed_reads, ) - ch_filtered_reads = FASTQ_FASTQC_UMITOOLS_TRIMGALORE.out.reads - ch_trim_read_count = FASTQ_FASTQC_UMITOOLS_TRIMGALORE.out.trim_read_count + ch_filtered_reads = FASTQ_FASTQC_UMITOOLS_TRIMGALORE.out.reads + ch_trim_read_count = FASTQ_FASTQC_UMITOOLS_TRIMGALORE.out.trim_read_count ch_versions = ch_versions.mix(FASTQ_FASTQC_UMITOOLS_TRIMGALORE.out.versions) ch_multiqc_files = FASTQ_FASTQC_UMITOOLS_TRIMGALORE.out.fastqc_zip @@ -183,7 +176,7 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS { // SUBWORKFLOW: Read QC, extract UMI and trim adapters with fastp // if (trimmer == 'fastp') { - FASTQ_FASTQC_UMITOOLS_FASTP ( + FASTQ_FASTQC_UMITOOLS_FASTP( ch_filtered_reads, skip_fastqc, with_umi, @@ -193,10 +186,10 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS { [], save_trimmed, fastp_merge, - min_trimmed_reads + min_trimmed_reads, ) - ch_filtered_reads = FASTQ_FASTQC_UMITOOLS_FASTP.out.reads - ch_trim_read_count = FASTQ_FASTQC_UMITOOLS_FASTP.out.trim_read_count + ch_filtered_reads = FASTQ_FASTQC_UMITOOLS_FASTP.out.reads + ch_trim_read_count = FASTQ_FASTQC_UMITOOLS_FASTP.out.trim_read_count ch_versions = ch_versions.mix(FASTQ_FASTQC_UMITOOLS_FASTP.out.versions) ch_multiqc_files = FASTQ_FASTQC_UMITOOLS_FASTP.out.fastqc_raw_zip @@ -205,64 +198,61 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS { .mix(ch_multiqc_files) } + def pass_trimmed_reads = [:] + // // Get list of samples that failed trimming threshold for MultiQC report // ch_trim_read_count - .map { - meta, num_reads -> - pass_trimmed_reads[meta.id] = true - if (num_reads <= min_trimmed_reads.toFloat()) { - pass_trimmed_reads[meta.id] = false - return [ "$meta.id\t$num_reads" ] - } + .map { meta, num_reads -> + pass_trimmed_reads[meta.id] = true + if (num_reads <= min_trimmed_reads.toFloat()) { + pass_trimmed_reads[meta.id] = false + return ["${meta.id}\t${num_reads}"] + } } .collect() - .map { - tsv_data -> - def header = ["Sample", "Reads after trimming"] - multiqcTsvFromList(tsv_data, header) + .map { tsv_data -> + def header = ["Sample", "Reads after trimming"] + multiqcTsvFromList(tsv_data, header) } .set { ch_fail_trimming_multiqc } - ch_multiqc_files = ch_multiqc_files - .mix( - ch_fail_trimming_multiqc.collectFile(name: 'fail_trimmed_samples_mqc.tsv') - .map { [[:], it] } - ) + ch_multiqc_files = ch_multiqc_files.mix( + ch_fail_trimming_multiqc.collectFile(name: 'fail_trimmed_samples_mqc.tsv').map { [[:], it] } + ) - if((!skip_linting) && (!skip_trimming)) { - FQ_LINT_AFTER_TRIMMING ( + if ((!skip_linting) && (!skip_trimming)) { + FQ_LINT_AFTER_TRIMMING( ch_filtered_reads ) ch_lint_log = ch_lint_log.mix(FQ_LINT_AFTER_TRIMMING.out.lint) - ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_TRIMMING.out.lint.map{it[0]}) + ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_TRIMMING.out.lint.map { it[0] }) } // // MODULE: Remove genome contaminant reads // if (!skip_bbsplit) { - BBMAP_BBSPLIT ( + BBMAP_BBSPLIT( ch_filtered_reads, ch_bbsplit_index, [], - [ [], [] ], - false + [[], []], + false, ) - BBMAP_BBSPLIT.out.primary_fastq - .set { ch_filtered_reads } + BBMAP_BBSPLIT.out.primary_fastq.set { ch_filtered_reads } ch_versions = ch_versions.mix(BBMAP_BBSPLIT.out.versions.first()) - if(!skip_linting) { - FQ_LINT_AFTER_BBSPLIT ( + if (!skip_linting) { + FQ_LINT_AFTER_BBSPLIT( ch_filtered_reads ) ch_lint_log = ch_lint_log.mix(FQ_LINT_AFTER_BBSPLIT.out.lint) - ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_BBSPLIT.out.lint.map{it[0]}) + ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_BBSPLIT.out.lint.map { it[0] }) } } @@ -272,48 +262,45 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS { if (remove_ribo_rna) { ch_sortmerna_fastas = ch_rrna_fastas .collect() - .map{ ['rrna_refs', it] } + .map { ['rrna_refs', it] } if (make_sortmerna_index) { - SORTMERNA_INDEX ( - [[],[]], + SORTMERNA_INDEX( + [[], []], ch_sortmerna_fastas, - [[],[]] + [[], []], ) ch_sortmerna_index = SORTMERNA_INDEX.out.index.first() } - SORTMERNA ( + SORTMERNA( ch_filtered_reads, ch_sortmerna_fastas, - ch_sortmerna_index + ch_sortmerna_index, ) - SORTMERNA.out.reads - .set { ch_filtered_reads } + SORTMERNA.out.reads.set { ch_filtered_reads } - ch_multiqc_files = ch_multiqc_files - .mix(SORTMERNA.out.log) + ch_multiqc_files = ch_multiqc_files.mix(SORTMERNA.out.log) ch_versions = ch_versions.mix(SORTMERNA.out.versions.first()) - if(!skip_linting) { - FQ_LINT_AFTER_SORTMERNA ( + if (!skip_linting) { + FQ_LINT_AFTER_SORTMERNA( ch_filtered_reads ) ch_lint_log = ch_lint_log.mix(FQ_LINT_AFTER_SORTMERNA.out.lint) - ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_SORTMERNA.out.lint.map{it[0]}) + ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_SORTMERNA.out.lint.map { it[0] }) } } // Branch FastQ channels if 'auto' specified to infer strandedness ch_filtered_reads - .branch { - meta, fastq -> - auto_strand : meta.strandedness == 'auto' - return [ meta, fastq ] - known_strand: meta.strandedness != 'auto' - return [ meta, fastq ] + .branch { meta, fastq -> + auto_strand: meta.strandedness == 'auto' + return [meta, fastq] + known_strand: meta.strandedness != 'auto' + return [meta, fastq] } .set { ch_strand_fastq } @@ -328,38 +315,33 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS { .first() .set { ch_genome_fasta } - FASTQ_SUBSAMPLE_FQ_SALMON ( + FASTQ_SUBSAMPLE_FQ_SALMON( ch_strand_fastq.auto_strand, ch_genome_fasta, ch_transcript_fasta, ch_gtf, ch_salmon_index, - make_salmon_index + make_salmon_index, ) ch_versions = ch_versions.mix(FASTQ_SUBSAMPLE_FQ_SALMON.out.versions) - FASTQ_SUBSAMPLE_FQ_SALMON - .out - .lib_format_counts + FASTQ_SUBSAMPLE_FQ_SALMON.out.lib_format_counts .join(ch_strand_fastq.auto_strand) - .map { - meta, json, reads -> - def salmon_strand_analysis = getSalmonInferredStrandedness(json, stranded_threshold=stranded_threshold, unstranded_threshold=unstranded_threshold) - strandedness = salmon_strand_analysis.inferred_strandedness - if (strandedness == 'undetermined') { - strandedness = 'unstranded' - } - return [ meta + [ strandedness: strandedness, salmon_strand_analysis: salmon_strand_analysis ], reads ] + .map { meta, json, reads -> + def salmon_strand_analysis = getSalmonInferredStrandedness(json, stranded_threshold, unstranded_threshold) + def strandedness = salmon_strand_analysis.inferred_strandedness + if (strandedness == 'undetermined') { + strandedness = 'unstranded' + } + return [meta + [strandedness: strandedness, salmon_strand_analysis: salmon_strand_analysis], reads] } .mix(ch_strand_fastq.known_strand) .set { ch_strand_inferred_fastq } emit: - lint_log = ch_lint_log reads = ch_strand_inferred_fastq trim_read_count = ch_trim_read_count - - multiqc_files = ch_multiqc_files.transpose().map{it[1]} - versions = ch_versions // channel: [ versions.yml ] + multiqc_files = ch_multiqc_files.transpose().map { it[1] } + versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/meta.yml b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/meta.yml index 4cf6a0096..d9a5be020 100644 --- a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/meta.yml +++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/meta.yml @@ -13,6 +13,7 @@ components: - samtools/index - cat - cat/fastq + - fq/lint - sortmerna - fastq_subsample_fq_salmon - fastq_fastqc_umitools_trimgalore diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test index c5fc4aec9..e6f3cb33f 100644 --- a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test +++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test @@ -13,6 +13,7 @@ nextflow_workflow { tag "cat" tag "cat/fastq" tag "fastqc" + tag "fq/lint" tag "sortmerna" tag "subworkflows/fastq_fastqc_umitools_trimgalore" tag "subworkflows/fastq_fastqc_umitools_fastp" diff --git a/subworkflows/nf-core/fastq_subsample_fq_salmon/tests/main.nf.test b/subworkflows/nf-core/fastq_subsample_fq_salmon/tests/main.nf.test index 077d9c758..3e7a8875d 100644 --- a/subworkflows/nf-core/fastq_subsample_fq_salmon/tests/main.nf.test +++ b/subworkflows/nf-core/fastq_subsample_fq_salmon/tests/main.nf.test @@ -4,6 +4,13 @@ nextflow_workflow { script "../main.nf" workflow "FASTQ_SUBSAMPLE_FQ_SALMON" config "./nextflow.config" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/fastq_subsample_fq_salmon" + tag "fastq_subsample_fq_salmon" + tag "salmon/index" + tag "fq/subsample" + tag "salmon/quant" test("homo_sapiens paired-end [fastq]") { diff --git a/subworkflows/nf-core/quantify_pseudo_alignment/main.nf b/subworkflows/nf-core/quantify_pseudo_alignment/main.nf index b245b9bad..ba8e91ac0 100644 --- a/subworkflows/nf-core/quantify_pseudo_alignment/main.nf +++ b/subworkflows/nf-core/quantify_pseudo_alignment/main.nf @@ -7,10 +7,8 @@ include { KALLISTO_QUANT } from '../../../modules/nf-core/kallisto/quant' include { CUSTOM_TX2GENE } from '../../../modules/nf-core/custom/tx2gene' include { TXIMETA_TXIMPORT } from '../../../modules/nf-core/tximeta/tximport' -include { SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT as SE_GENE } from '../../../modules/nf-core/summarizedexperiment/summarizedexperiment' -include { SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT as SE_GENE_LENGTH_SCALED } from '../../../modules/nf-core/summarizedexperiment/summarizedexperiment' -include { SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT as SE_GENE_SCALED } from '../../../modules/nf-core/summarizedexperiment/summarizedexperiment' -include { SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT as SE_TRANSCRIPT } from '../../../modules/nf-core/summarizedexperiment/summarizedexperiment' +include { SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT as SE_GENE_UNIFIED } from '../../../modules/nf-core/summarizedexperiment/summarizedexperiment' +include { SUMMARIZEDEXPERIMENT_SUMMARIZEDEXPERIMENT as SE_TRANSCRIPT_UNIFIED } from '../../../modules/nf-core/summarizedexperiment/summarizedexperiment' workflow QUANTIFY_PSEUDO_ALIGNMENT { take: @@ -76,30 +74,31 @@ workflow QUANTIFY_PSEUDO_ALIGNMENT { ) ch_versions = ch_versions.mix(TXIMETA_TXIMPORT.out.versions) - SE_GENE ( - TXIMETA_TXIMPORT.out.counts_gene.concat(TXIMETA_TXIMPORT.out.tpm_gene).groupTuple(), - CUSTOM_TX2GENE.out.tx2gene, - samplesheet - ) - ch_versions = ch_versions.mix(SE_GENE.out.versions) + ch_gene_unified = TXIMETA_TXIMPORT.out.counts_gene + .join(TXIMETA_TXIMPORT.out.counts_gene_length_scaled) + .join(TXIMETA_TXIMPORT.out.counts_gene_scaled) + .join(TXIMETA_TXIMPORT.out.lengths_gene) + .join(TXIMETA_TXIMPORT.out.tpm_gene) + .map{tuple(it[0], it.tail())} - SE_GENE_LENGTH_SCALED ( - TXIMETA_TXIMPORT.out.counts_gene_length_scaled.concat(TXIMETA_TXIMPORT.out.tpm_gene).groupTuple(), + SE_GENE_UNIFIED ( + ch_gene_unified, CUSTOM_TX2GENE.out.tx2gene, samplesheet ) + ch_versions = ch_versions.mix(SE_GENE_UNIFIED.out.versions) - SE_GENE_SCALED ( - TXIMETA_TXIMPORT.out.counts_gene_scaled.concat(TXIMETA_TXIMPORT.out.tpm_gene).groupTuple(), - CUSTOM_TX2GENE.out.tx2gene, - samplesheet - ) + ch_transcript_unified = TXIMETA_TXIMPORT.out.counts_transcript + .join(TXIMETA_TXIMPORT.out.lengths_transcript) + .join(TXIMETA_TXIMPORT.out.tpm_transcript) + .map{tuple(it[0], it.tail())} - SE_TRANSCRIPT ( - TXIMETA_TXIMPORT.out.counts_transcript.concat(TXIMETA_TXIMPORT.out.tpm_transcript).groupTuple(), + SE_TRANSCRIPT_UNIFIED ( + ch_transcript_unified, CUSTOM_TX2GENE.out.tx2gene, samplesheet ) + ch_versions = ch_versions.mix(SE_TRANSCRIPT_UNIFIED.out.versions) emit: results = ch_pseudo_results // channel: [ val(meta), results_dir ] @@ -114,10 +113,8 @@ workflow QUANTIFY_PSEUDO_ALIGNMENT { counts_transcript = TXIMETA_TXIMPORT.out.counts_transcript // path: *transcript_counts.tsv lengths_transcript = TXIMETA_TXIMPORT.out.lengths_transcript // path: *transcript_lengths.tsv - merged_gene_rds = SE_GENE.out.rds // path: *.rds - merged_gene_rds_length_scaled = SE_GENE_LENGTH_SCALED.out.rds // path: *.rds - merged_gene_rds_scaled = SE_GENE_SCALED.out.rds // path: *.rds - merged_transcript_rds = SE_TRANSCRIPT.out.rds // path: *.rds + merged_gene_rds_unified = SE_GENE_UNIFIED.out.rds // path: *.rds + merged_transcript_rds_unified = SE_TRANSCRIPT_UNIFIED.out.rds // path: *.rds versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-core/quantify_pseudo_alignment/tests/main.nf.test b/subworkflows/nf-core/quantify_pseudo_alignment/tests/main.nf.test index 9c484b4aa..7b66ea717 100644 --- a/subworkflows/nf-core/quantify_pseudo_alignment/tests/main.nf.test +++ b/subworkflows/nf-core/quantify_pseudo_alignment/tests/main.nf.test @@ -2,8 +2,20 @@ nextflow_workflow { name "Test Workflow QUANTIFY_PSEUDO_ALIGNMENT" script "../main.nf" + config "./nextflow.config" workflow "QUANTIFY_PSEUDO_ALIGNMENT" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/quantify_pseudo_alignment" + + tag "salmon/index" + tag "salmon/quant" + tag "kallisto/index" + tag "kallisto/quant" + tag "custom/tx2gene" + tag "tximeta/tximport" + tag "summarizedexperiment/summarizedexperiment" test("salmon") { @@ -51,10 +63,8 @@ nextflow_workflow { assertAll( { assert workflow.success }, { assert snapshot( - file(workflow.out.merged_gene_rds[0][1]).name, - file(workflow.out.merged_gene_rds_length_scaled[0][1]).name, - file(workflow.out.merged_gene_rds_scaled[0][1]).name, - file(workflow.out.merged_transcript_rds[0][1]).name, + file(workflow.out.merged_gene_rds_unified[0][1]).name, + file(workflow.out.merged_transcript_rds_unified[0][1]).name, workflow.out.counts_gene, workflow.out.counts_gene_length_scaled, workflow.out.lengths_gene, @@ -118,10 +128,8 @@ nextflow_workflow { assertAll( { assert workflow.success }, { assert snapshot( - file(workflow.out.merged_gene_rds[0][1]).name, - file(workflow.out.merged_gene_rds_length_scaled[0][1]).name, - file(workflow.out.merged_gene_rds_scaled[0][1]).name, - file(workflow.out.merged_transcript_rds[0][1]).name, + file(workflow.out.merged_gene_rds_unified[0][1]).name, + file(workflow.out.merged_transcript_rds_unified[0][1]).name, workflow.out.counts_gene, workflow.out.counts_gene_length_scaled, workflow.out.lengths_gene, @@ -240,4 +248,4 @@ nextflow_workflow { ) } } -} +} \ No newline at end of file diff --git a/subworkflows/nf-core/quantify_pseudo_alignment/tests/main.nf.test.snap b/subworkflows/nf-core/quantify_pseudo_alignment/tests/main.nf.test.snap index 18a5eb761..73bf4a9a7 100644 --- a/subworkflows/nf-core/quantify_pseudo_alignment/tests/main.nf.test.snap +++ b/subworkflows/nf-core/quantify_pseudo_alignment/tests/main.nf.test.snap @@ -1,10 +1,8 @@ { "kallisto": { "content": [ - "all_samples.SummarizedExperiment.rds", - "all_samples.SummarizedExperiment.rds", - "all_samples.SummarizedExperiment.rds", - "all_samples.SummarizedExperiment.rds", + "all_samples_gene.SummarizedExperiment.rds", + "all_samples_transcript.SummarizedExperiment.rds", [ [ { @@ -54,17 +52,18 @@ ] ], [ + "versions.yml:md5,91a01dde9c54db9929e15cad7ebb94c2", "versions.yml:md5,be28c034506b52fd01f9b2fb0fc678e3", + "versions.yml:md5,c62905e3a7ad1dc887639b9c7bb1e0cb", "versions.yml:md5,d5243289a32cde9e90e20f1a202bb566", - "versions.yml:md5,e9e7d18c3de83f1113fb1ff0c55d35ed", "versions.yml:md5,efbc421f11a829423221fc2e67e03892" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-10-18T10:06:55.431718491" + "timestamp": "2025-04-22T17:47:52.21696356" }, "salmon - stub": { "content": [ @@ -106,26 +105,11 @@ ] ], "12": [ - [ - { - "id": "all_samples" - }, - "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "13": [ - [ - { - "id": "all_samples" - }, - "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "14": [ + "versions.yml:md5,91a01dde9c54db9929e15cad7ebb94c2", "versions.yml:md5,c10c51dad5b22c80ebacb805645137ad", + "versions.yml:md5,c62905e3a7ad1dc887639b9c7bb1e0cb", "versions.yml:md5,d5243289a32cde9e90e20f1a202bb566", - "versions.yml:md5,df9cd6573913e1c58ebc6714e6318432", - "versions.yml:md5,e9e7d18c3de83f1113fb1ff0c55d35ed" + "versions.yml:md5,df9cd6573913e1c58ebc6714e6318432" ], "2": [ [ @@ -239,23 +223,7 @@ "all_samples.transcript_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "merged_gene_rds": [ - [ - { - "id": "all_samples" - }, - "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "merged_gene_rds_length_scaled": [ - [ - { - "id": "all_samples" - }, - "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "merged_gene_rds_scaled": [ + "merged_gene_rds_unified": [ [ { "id": "all_samples" @@ -263,7 +231,7 @@ "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "merged_transcript_rds": [ + "merged_transcript_rds_unified": [ [ { "id": "all_samples" @@ -308,18 +276,19 @@ ] ], "versions": [ + "versions.yml:md5,91a01dde9c54db9929e15cad7ebb94c2", "versions.yml:md5,c10c51dad5b22c80ebacb805645137ad", + "versions.yml:md5,c62905e3a7ad1dc887639b9c7bb1e0cb", "versions.yml:md5,d5243289a32cde9e90e20f1a202bb566", - "versions.yml:md5,df9cd6573913e1c58ebc6714e6318432", - "versions.yml:md5,e9e7d18c3de83f1113fb1ff0c55d35ed" + "versions.yml:md5,df9cd6573913e1c58ebc6714e6318432" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-10-18T10:07:30.425544183" + "timestamp": "2025-04-22T14:11:41.843291814" }, "kallisto - stub": { "content": [ @@ -359,25 +328,10 @@ ] ], "12": [ - [ - { - "id": "all_samples" - }, - "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "13": [ - [ - { - "id": "all_samples" - }, - "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "14": [ + "versions.yml:md5,91a01dde9c54db9929e15cad7ebb94c2", "versions.yml:md5,c10c51dad5b22c80ebacb805645137ad", + "versions.yml:md5,c62905e3a7ad1dc887639b9c7bb1e0cb", "versions.yml:md5,d5243289a32cde9e90e20f1a202bb566", - "versions.yml:md5,e9e7d18c3de83f1113fb1ff0c55d35ed", "versions.yml:md5,efbc421f11a829423221fc2e67e03892" ], "2": [ @@ -492,23 +446,7 @@ "all_samples.transcript_lengths.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "merged_gene_rds": [ - [ - { - "id": "all_samples" - }, - "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "merged_gene_rds_length_scaled": [ - [ - { - "id": "all_samples" - }, - "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "merged_gene_rds_scaled": [ + "merged_gene_rds_unified": [ [ { "id": "all_samples" @@ -516,7 +454,7 @@ "all_samples.SummarizedExperiment.rds:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "merged_transcript_rds": [ + "merged_transcript_rds_unified": [ [ { "id": "all_samples" @@ -559,25 +497,24 @@ ] ], "versions": [ + "versions.yml:md5,91a01dde9c54db9929e15cad7ebb94c2", "versions.yml:md5,c10c51dad5b22c80ebacb805645137ad", + "versions.yml:md5,c62905e3a7ad1dc887639b9c7bb1e0cb", "versions.yml:md5,d5243289a32cde9e90e20f1a202bb566", - "versions.yml:md5,e9e7d18c3de83f1113fb1ff0c55d35ed", "versions.yml:md5,efbc421f11a829423221fc2e67e03892" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-10-18T10:08:20.127524239" + "timestamp": "2025-04-22T14:12:11.830570877" }, "salmon": { "content": [ - "all_samples.SummarizedExperiment.rds", - "all_samples.SummarizedExperiment.rds", - "all_samples.SummarizedExperiment.rds", - "all_samples.SummarizedExperiment.rds", + "all_samples_gene.SummarizedExperiment.rds", + "all_samples_transcript.SummarizedExperiment.rds", [ [ { @@ -629,16 +566,17 @@ ] ], [ + "versions.yml:md5,91a01dde9c54db9929e15cad7ebb94c2", "versions.yml:md5,be28c034506b52fd01f9b2fb0fc678e3", + "versions.yml:md5,c62905e3a7ad1dc887639b9c7bb1e0cb", "versions.yml:md5,d5243289a32cde9e90e20f1a202bb566", - "versions.yml:md5,df9cd6573913e1c58ebc6714e6318432", - "versions.yml:md5,e9e7d18c3de83f1113fb1ff0c55d35ed" + "versions.yml:md5,df9cd6573913e1c58ebc6714e6318432" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.5" }, - "timestamp": "2024-10-18T10:06:18.517305145" + "timestamp": "2025-04-22T17:47:14.235741773" } } \ No newline at end of file diff --git a/subworkflows/nf-core/quantify_pseudo_alignment/tests/nextflow.config b/subworkflows/nf-core/quantify_pseudo_alignment/tests/nextflow.config new file mode 100644 index 000000000..7f80571e2 --- /dev/null +++ b/subworkflows/nf-core/quantify_pseudo_alignment/tests/nextflow.config @@ -0,0 +1,11 @@ +process { + withName: 'QUANTIFY_PSEUDO_ALIGNMENT:SE_GENE_UNIFIED' { + ext.prefix = { "${meta.id}_gene" } + ext.args = '--assay_names counts,counts_length_scaled,counts_scaled,lengths,tpm' + } + + withName: 'QUANTIFY_PSEUDO_ALIGNMENT:SE_TRANSCRIPT_UNIFIED' { + ext.prefix = { "${meta.id}_transcript" } + ext.args = '--assay_names counts,lengths,tpm' + } +} From 512f64284a2450f3f2c421a489ce1b4708185025 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Fri, 9 May 2025 14:09:26 -0500 Subject: [PATCH 24/24] chore: Manually bump star version --- modules/nf-core/rsem/calculateexpression/environment.yml | 2 +- modules/nf-core/rsem/preparereference/environment.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/nf-core/rsem/calculateexpression/environment.yml b/modules/nf-core/rsem/calculateexpression/environment.yml index 4b358a32b..a7b16ae9d 100644 --- a/modules/nf-core/rsem/calculateexpression/environment.yml +++ b/modules/nf-core/rsem/calculateexpression/environment.yml @@ -5,4 +5,4 @@ channels: - bioconda dependencies: - bioconda::rsem=1.3.3 - - bioconda::star=2.7.10a + - bioconda::star=2.7.11b diff --git a/modules/nf-core/rsem/preparereference/environment.yml b/modules/nf-core/rsem/preparereference/environment.yml index 4b358a32b..a7b16ae9d 100644 --- a/modules/nf-core/rsem/preparereference/environment.yml +++ b/modules/nf-core/rsem/preparereference/environment.yml @@ -5,4 +5,4 @@ channels: - bioconda dependencies: - bioconda::rsem=1.3.3 - - bioconda::star=2.7.10a + - bioconda::star=2.7.11b