Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/workflows/nextflow-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Nextflow strict syntax lint
on:
pull_request:
push:
branches: [master, dev]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Nextflow
uses: nf-core/setup-nextflow@v2

- name: Nextflow strict syntax lint
run: nextflow lint -o concise .
1 change: 1 addition & 0 deletions .nf-core.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
lint:
actions_nf_test: false
nf_test_content: false
files_exist:
- conf/modules.config
files_unchanged:
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Special thanks to the following for their contributions to the release:
- [PR #1667](https://github.com/nf-core/rnaseq/pull/1667) - Enhance RSEM output exports and remove unnecessary star_rsem check
- [PR #1669](https://github.com/nf-core/rnaseq/pull/1669) - Enable SeqKit stats MultiQC module for RiboDetector rRNA removal
- [PR #1672](https://github.com/nf-core/rnaseq/pull/1672) - Document star_rsem STAR aligner settings and customization
- [PR #1677](https://github.com/nf-core/rnaseq/pull/1677) - Apply Nextflow 25 strict syntax fixes

### Parameters

Expand Down
6 changes: 4 additions & 2 deletions docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -335,8 +335,10 @@ The STAR section of the MultiQC report shows a bar plot with alignment rates: go
- `*.transcript.bam`: If `--save_align_intermeds` is specified the BAM file from STAR alignment containing read alignments to the transcriptome will be placed in this directory. These files can be reused as `transcriptome_bam` input in future pipeline runs.
- `star_rsem/<SAMPLE>.stat/`
- `*.cnt`, `*.model`, `*.theta`: RSEM counts and statistics for each sample.
- `star_rsem/log/`
- `*.log`: STAR alignment report containing the mapping results summary.
- `star_rsem/log/`
- `*.SJ.out.tab`: File containing filtered splice junctions detected after mapping the reads.
- `*.Log.final.out`: STAR alignment report containing the mapping results summary.
- `*.Log.out` and `*.Log.progress.out`: STAR log files containing detailed information about the run. Typically only useful for debugging purposes.

</details>

Expand Down
8 changes: 4 additions & 4 deletions main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ workflow NFCORE_RNASEQ {

main:

ch_versions = Channel.empty()
ch_versions = channel.empty()

//
// SUBWORKFLOW: Prepare reference genome files
Expand Down Expand Up @@ -94,17 +94,17 @@ workflow NFCORE_RNASEQ {
PREPARE_GENOME
.out
.fai
.map { checkMaxContigSize(it) }
.map { fai -> checkMaxContigSize(fai) }
}

//
// WORKFLOW: Run nf-core/rnaseq workflow
//
ch_samplesheet = Channel.value(file(params.input, checkIfExists: true))
ch_samplesheet = channel.value(file(params.input, checkIfExists: true))

// Bowtie2 rRNA index is built on-demand inside the fastq_remove_rrna subworkflow
// rather than in PREPARE_GENOME, to avoid duplicating the rRNA FASTA preparation logic
ch_bowtie2_index = Channel.empty()
ch_bowtie2_index = channel.empty()

RNASEQ (
ch_samplesheet,
Expand Down
70 changes: 35 additions & 35 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"nf-core": {
"bbmap/bbsplit": {
"branch": "master",
"git_sha": "2ddc92b750c7553f7a7becb4982851cef3ab848e",
"git_sha": "6d1d4b987af3ee5852d852abf99f8883028cea9c",
"installed_by": ["fastq_qc_trim_filter_setstrandedness", "modules"]
},
"bedtools/genomecov": {
Expand All @@ -27,17 +27,17 @@
},
"bracken/bracken": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"git_sha": "004e773fc35ebd24063ca4cbef057c94a24208aa",
"installed_by": ["modules"]
},
"cat/fastq": {
"branch": "master",
"git_sha": "f4743b089085121497b7c1c81a28810ce2740dde",
"git_sha": "cf735af4433f2dc8e410f67012dff824ef9990eb",
"installed_by": ["fastq_qc_trim_filter_setstrandedness", "modules"]
},
"custom/catadditionalfasta": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"git_sha": "96c57dfd98a0641886a67bd449fe33ee2ec0e374",
"installed_by": ["modules"]
},
"custom/tx2gene": {
Expand All @@ -52,7 +52,7 @@
},
"fastp": {
"branch": "master",
"git_sha": "d9ec4ef289ad39b8a662a7a12be50409b11df84b",
"git_sha": "b8f1de0ac853ae5b56c63450d47438f899c553d0",
"installed_by": ["fastq_fastqc_umitools_fastp", "modules"]
},
"fastqc": {
Expand All @@ -72,12 +72,12 @@
},
"gffread": {
"branch": "master",
"git_sha": "e753770db613ce014b3c4bc94f6cba443427b726",
"git_sha": "51f2b493a7ff28b40a9f99faca64245521f2bb24",
"installed_by": ["modules"]
},
"gunzip": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"git_sha": "96c57dfd98a0641886a67bd449fe33ee2ec0e374",
"installed_by": ["modules"]
},
"hisat2/align": {
Expand All @@ -93,7 +93,7 @@
},
"hisat2/extractsplicesites": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"git_sha": "004e773fc35ebd24063ca4cbef057c94a24208aa",
"installed_by": ["modules"]
},
"kallisto/index": {
Expand All @@ -108,7 +108,7 @@
},
"kraken2/kraken2": {
"branch": "master",
"git_sha": "1a9dc0fd9f8f61099b3c912df1ab97fac72a1f86",
"git_sha": "71a39f3598935d64ffd65f0960e4d2d4a42ab778",
"installed_by": ["modules"]
},
"multiqc": {
Expand Down Expand Up @@ -144,7 +144,7 @@
},
"rsem/preparereference": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"git_sha": "004e773fc35ebd24063ca4cbef057c94a24208aa",
"installed_by": ["modules"]
},
"rseqc/bamstat": {
Expand Down Expand Up @@ -174,7 +174,7 @@
},
"rseqc/readdistribution": {
"branch": "master",
"git_sha": "0145202ae8a9f39a4e7c533f667c38989af799b2",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["bam_rseqc"]
},
"rseqc/readduplication": {
Expand All @@ -184,7 +184,7 @@
},
"rseqc/tin": {
"branch": "master",
"git_sha": "0145202ae8a9f39a4e7c533f667c38989af799b2",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["bam_rseqc"]
},
"salmon/index": {
Expand All @@ -194,7 +194,7 @@
},
"salmon/quant": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"git_sha": "9ebc300e05af07c770b86ff089581a2d41346c8b",
"installed_by": ["fastq_subsample_fq_salmon", "modules", "quantify_pseudo_alignment"]
},
"samtools/faidx": {
Expand Down Expand Up @@ -244,17 +244,17 @@
},
"sentieon/rsemcalculateexpression": {
"branch": "master",
"git_sha": "e753770db613ce014b3c4bc94f6cba443427b726",
"git_sha": "a3588330b09a84d3b7254ec0bdc27a746a403dad",
"installed_by": ["modules"]
},
"sentieon/rsempreparereference": {
"branch": "master",
"git_sha": "256557155b2439c5d551f1a668bf6a7ff6b10f93",
"git_sha": "a3588330b09a84d3b7254ec0bdc27a746a403dad",
"installed_by": ["modules"]
},
"sentieon/staralign": {
"branch": "master",
"git_sha": "e753770db613ce014b3c4bc94f6cba443427b726",
"git_sha": "a3588330b09a84d3b7254ec0bdc27a746a403dad",
"installed_by": ["modules"]
},
"seqkit/replace": {
Expand All @@ -269,7 +269,7 @@
},
"sortmerna": {
"branch": "master",
"git_sha": "ddb0d667cf6cdee3bab9497241de4bbf6b88d8cc",
"git_sha": "6d1d4b987af3ee5852d852abf99f8883028cea9c",
"installed_by": ["fastq_qc_trim_filter_setstrandedness", "fastq_remove_rrna", "modules"]
},
"star/align": {
Expand Down Expand Up @@ -299,7 +299,7 @@
},
"sylph/profile": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"git_sha": "004e773fc35ebd24063ca4cbef057c94a24208aa",
"installed_by": ["modules"]
},
"sylphtax/taxprof": {
Expand All @@ -309,7 +309,7 @@
},
"trimgalore": {
"branch": "master",
"git_sha": "1b32b48b7d2803ae78a1beb20b7e9657dbcda776",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["fastq_fastqc_umitools_trimgalore"]
},
"tximeta/tximport": {
Expand All @@ -319,12 +319,12 @@
},
"ucsc/bedclip": {
"branch": "master",
"git_sha": "e753770db613ce014b3c4bc94f6cba443427b726",
"git_sha": "51f2b493a7ff28b40a9f99faca64245521f2bb24",
"installed_by": ["bedgraph_bedclip_bedgraphtobigwig"]
},
"ucsc/bedgraphtobigwig": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"git_sha": "51f2b493a7ff28b40a9f99faca64245521f2bb24",
"installed_by": ["bedgraph_bedclip_bedgraphtobigwig"]
},
"umicollapse": {
Expand Down Expand Up @@ -361,22 +361,22 @@
"nf-core": {
"bam_dedup_stats_samtools_umicollapse": {
"branch": "master",
"git_sha": "0b2435805036a16dcdcf21533632d956b8273ac4",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["bam_dedup_umi", "subworkflows"]
},
"bam_dedup_stats_samtools_umitools": {
"branch": "master",
"git_sha": "0b2435805036a16dcdcf21533632d956b8273ac4",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["bam_dedup_umi", "subworkflows"]
},
"bam_dedup_umi": {
"branch": "master",
"git_sha": "0b2435805036a16dcdcf21533632d956b8273ac4",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["subworkflows"]
},
"bam_markduplicates_picard": {
"branch": "master",
"git_sha": "0b2435805036a16dcdcf21533632d956b8273ac4",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["subworkflows"]
},
"bam_rseqc": {
Expand All @@ -386,12 +386,12 @@
},
"bam_sort_stats_samtools": {
"branch": "master",
"git_sha": "0b2435805036a16dcdcf21533632d956b8273ac4",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["bam_dedup_umi", "fastq_align_hisat2"]
},
"bam_stats_samtools": {
"branch": "master",
"git_sha": "0b2435805036a16dcdcf21533632d956b8273ac4",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": [
"bam_dedup_stats_samtools_umicollapse",
"bam_dedup_stats_samtools_umitools",
Expand All @@ -401,42 +401,42 @@
},
"bedgraph_bedclip_bedgraphtobigwig": {
"branch": "master",
"git_sha": "05954dab2ff481bcb999f24455da29a5828af08d",
"git_sha": "51f2b493a7ff28b40a9f99faca64245521f2bb24",
"installed_by": ["subworkflows"]
},
"fastq_align_hisat2": {
"branch": "master",
"git_sha": "20b042e352fc47ab6dab717a622253e96429e887",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["subworkflows"]
},
"fastq_fastqc_umitools_fastp": {
"branch": "master",
"git_sha": "0b2435805036a16dcdcf21533632d956b8273ac4",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["fastq_qc_trim_filter_setstrandedness", "subworkflows"]
},
"fastq_fastqc_umitools_trimgalore": {
"branch": "master",
"git_sha": "1b32b48b7d2803ae78a1beb20b7e9657dbcda776",
"git_sha": "eed5d14302a6c9070dcc25feeab707a27a4b3254",
"installed_by": ["fastq_qc_trim_filter_setstrandedness", "subworkflows"]
},
"fastq_qc_trim_filter_setstrandedness": {
"branch": "master",
"git_sha": "0745ffcda877676de0d0b21208377e841db6218f",
"git_sha": "6d1d4b987af3ee5852d852abf99f8883028cea9c",
"installed_by": ["subworkflows"]
},
"fastq_remove_rrna": {
"branch": "master",
"git_sha": "0745ffcda877676de0d0b21208377e841db6218f",
"git_sha": "6d1d4b987af3ee5852d852abf99f8883028cea9c",
"installed_by": ["fastq_qc_trim_filter_setstrandedness"]
},
"fastq_subsample_fq_salmon": {
"branch": "master",
"git_sha": "05954dab2ff481bcb999f24455da29a5828af08d",
"git_sha": "9ebc300e05af07c770b86ff089581a2d41346c8b",
"installed_by": ["fastq_qc_trim_filter_setstrandedness", "subworkflows"]
},
"quantify_pseudo_alignment": {
"branch": "master",
"git_sha": "e753770db613ce014b3c4bc94f6cba443427b726",
"git_sha": "9ebc300e05af07c770b86ff089581a2d41346c8b",
"installed_by": ["subworkflows"]
},
"utils_nextflow_pipeline": {
Expand Down
18 changes: 7 additions & 11 deletions modules/local/multiqc_custom_biotype/nextflow.config
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
if (!params.skip_qc) {
if (!params.skip_biotype_qc && params.featurecounts_group_type) {
process {
withName: 'MULTIQC_CUSTOM_BIOTYPE' {
publishDir = [
path: { "${params.outdir}/${params.aligner}/featurecounts" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
}
process {
withName: 'MULTIQC_CUSTOM_BIOTYPE' {
publishDir = [
path: { "${params.outdir}/${params.aligner}/featurecounts" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
}
10 changes: 5 additions & 5 deletions modules/local/star_align_igenomes/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ process STAR_ALIGN_IGENOMES {
def prefix = task.ext.prefix ?: "${meta.id}"
def reads1 = []
def reads2 = []
meta.single_end ? [reads].flatten().each{reads1 << it} : reads.eachWithIndex{ v, ix -> ( ix & 1 ? reads2 : reads1) << v }
def ignore_gtf = star_ignore_sjdbgtf ? '' : "--sjdbGTFfile $gtf"
def seq_platform = seq_platform ? "'PL:$seq_platform'" : ""
def seq_center = seq_center ? "--outSAMattrRGline ID:$prefix 'CN:$seq_center' 'SM:$prefix' $seq_platform " : "--outSAMattrRGline ID:$prefix 'SM:$prefix' $seq_platform "
meta.single_end ? [reads].flatten().each{ read -> reads1 << read } : reads.eachWithIndex{ v, ix -> ( ix & 1 ? reads2 : reads1) << v }
def ignore_gtf = star_ignore_sjdbgtf ? '' : "--sjdbGTFfile $gtf"
def seq_platform_str = seq_platform ? "'PL:$seq_platform'" : ""
def seq_center_str = seq_center ? "--outSAMattrRGline ID:$prefix 'CN:$seq_center' 'SM:$prefix' $seq_platform_str " : "--outSAMattrRGline ID:$prefix 'SM:$prefix' $seq_platform_str "
def out_sam_type = (args.contains('--outSAMtype')) ? '' : '--outSAMtype BAM Unsorted'
def mv_unsorted_bam = (args.contains('--outSAMtype BAM Unsorted SortedByCoordinate')) ? "mv ${prefix}.Aligned.out.bam ${prefix}.Aligned.unsort.out.bam" : ''
"""
Expand All @@ -52,7 +52,7 @@ process STAR_ALIGN_IGENOMES {
--outFileNamePrefix $prefix. \\
$out_sam_type \\
$ignore_gtf \\
$seq_center \\
$seq_center_str \\
$args

$mv_unsorted_bam
Expand Down
Loading
Loading