Skip to content

Commit

Permalink
Merge pull request #287 from JoseEspinosa/more_fixes
Browse files Browse the repository at this point in the history
More/last fixes before 2.0 release
  • Loading branch information
JoseEspinosa authored Jul 22, 2022
2 parents 5f3020f + fa733cc commit 9582d07
Show file tree
Hide file tree
Showing 29 changed files with 323 additions and 346 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [nf-core/tools#1415](https://github.com/nf-core/tools/issues/1415) - Make `--outdir` a mandatory parameter
- [[282](https://github.com/nf-core/chipseq/issues/282)] - Fix `genome.fa` publication for IGV.
- [[280](https://github.com/nf-core/chipseq/issues/280)] - Update `macs_gsize` in `igenomes.config`, create a new `--read_length` parameter and implement the logic to calculate `--macs_gsize` when the parameter is missing.
- Eliminate `if`s conditions from `deseq2_qc` and `macs2_consensus` {local module and use `ext.when` instead.
- Remove `deseq2` differential binding analysis of consensus peaks.

### Parameters

Expand Down
163 changes: 91 additions & 72 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,15 @@ process {
]
}

withName: 'UNTAR_CHROMAP_INDEX|CHROMAP_INDEX' {
publishDir = [
path: { "${params.outdir}/genome/index/chromap" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: params.save_reference
]
}

withName: 'GFFREAD' {
ext.args = '--keep-exon-attrs -F -T'
publishDir = [
Expand All @@ -88,17 +97,15 @@ process {
publishDir = [
path: { "${params.outdir}/genome" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: params.save_reference
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: 'GENOME_BLACKLIST_REGIONS' {
publishDir = [
path: { "${params.outdir}/genome" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: params.save_reference
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
}
Expand Down Expand Up @@ -162,29 +169,32 @@ if (!params.skip_trimming) {
}

process {
withName: 'NFCORE_CHIPSEQ:CHIPSEQ:.*:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' {
withName: 'NFCORE_CHIPSEQ:CHIPSEQ:ALIGN_.*:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' {
ext.prefix = { "${meta.id}.Lb.sorted" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/samtools" },
mode: params.publish_dir_mode
path: { "${params.outdir}/${params.aligner}/library" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: params.save_align_intermeds
]
}

withName: 'NFCORE_CHIPSEQ:CHIPSEQ:.*:BAM_SORT_SAMTOOLS:SAMTOOLS_INDEX' {
ext.prefix = { "${meta.id}.Lb.sorted" }
withName: 'NFCORE_CHIPSEQ:CHIPSEQ:ALIGN_.*:BAM_SORT_SAMTOOLS:SAMTOOLS_INDEX' {
publishDir = [
path: { "${params.outdir}/${params.aligner}/samtools" },
path: { "${params.outdir}/${params.aligner}/library" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: params.save_align_intermeds
]
}

withName: 'NFCORE_CHIPSEQ:CHIPSEQ:.*:BAM_SORT_SAMTOOLS:BAM_STATS_SAMTOOLS:SAMTOOLS_.*' {
ext.prefix = { "${meta.id}.Lb.sorted" }
withName: 'NFCORE_CHIPSEQ:CHIPSEQ:ALIGN_.*:BAM_SORT_SAMTOOLS:BAM_STATS_SAMTOOLS:SAMTOOLS_.*' {
ext.prefix = { "${meta.id}.Lb.sorted.bam" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/library/samtools_stats" },
path: { "${params.outdir}/${params.aligner}/library/samtools_stats/" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: params.save_align_intermeds
]
}
}
Expand All @@ -202,7 +212,8 @@ if (params.aligner == 'bwa') {
publishDir = [
path: { "${params.outdir}/${params.aligner}/library" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: false
]
}
}
Expand All @@ -214,15 +225,23 @@ if (params.aligner == 'bowtie2') {
ext.args = ''
ext.prefix = { "${meta.id}.Lb" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/library" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
[
path: { "${params.outdir}/${params.aligner}/library" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: false
],
[
path: { "${params.outdir}/${params.aligner}/library/unmapped" },
mode: params.publish_dir_mode,
pattern: '*.fastq.gz',
enabled: params.save_unaligned
]
]
}
}
}


if (params.aligner == 'chromap') {
process {
withName: CHROMAP_INDEX {
Expand All @@ -239,7 +258,8 @@ if (params.aligner == 'chromap') {
publishDir = [
path: { "${params.outdir}/${params.aligner}/library" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
enabled: false
]
}
}
Expand All @@ -260,17 +280,18 @@ if (params.aligner == 'star') {
].join(' ').trim()
publishDir = [
[
path: { "${params.outdir}/${params.aligner}/log" },
path: { "${params.outdir}/${params.aligner}/library/log" },
mode: params.publish_dir_mode,
pattern: '*.{out,tab}'
],
[
path: { "${params.outdir}/${params.aligner}/library" },
mode: params.publish_dir_mode,
pattern: '*.bam',
enabled: false
],
[
path: { "${params.outdir}/${params.aligner}/unmapped" },
path: { "${params.outdir}/${params.aligner}/library/unmapped" },
mode: params.publish_dir_mode,
pattern: '*.fastq.gz',
enabled: params.save_unaligned
Expand All @@ -284,11 +305,7 @@ process {
withName: 'PICARD_MERGESAMFILES' {
ext.args = '--SORT_ORDER coordinate --VALIDATION_STRINGENCY LENIENT --TMP_DIR tmp'
ext.prefix = { "${meta.id}.mLb.sorted" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/mergedLibrary" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
publishDir = [ enabled: false ]
}

withName: '.*:MARK_DUPLICATES_PICARD:PICARD_MARKDUPLICATES' {
Expand All @@ -313,44 +330,43 @@ process {
publishDir = [
path: { "${params.outdir}/${params.aligner}/mergedLibrary" },
mode: params.publish_dir_mode,
pattern: '*.{bai,csi}'
pattern: '*.{bai,csi}',
enabled: params.save_align_intermeds
]
}

withName: '.*:MARK_DUPLICATES_PICARD:BAM_STATS_SAMTOOLS:.*' {
ext.prefix = { "${meta.id}.mLb.mkD.sorted.bam" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/mergedLibrary/samtools_stats" },
mode: params.publish_dir_mode,
pattern: '*.{stats,flagstat,idxstats}'
]
}

// Should only be published when paired end data is used and save_align_intermeds is true
withName: 'BAM_FILTER' {
ext.prefix = { "${meta.id}.mLb.flT.sorted" }
ext.prefix = { meta.single_end ? "${meta.id}.mLb.noPublish" : "${meta.id}.mLb.flT.sorted" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/mergedLibrary" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
pattern: '*.mLb.flT.sorted.bam',
enabled: params.save_align_intermeds
]
}

withName: 'BAM_REMOVE_ORPHANS' {
ext.args = '--only_fr_pairs'
ext.prefix = { "${meta.id}.mLb.clN" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/mergedLibrary" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
publishDir = [ enabled: false ]
}

withName: 'NFCORE_CHIPSEQ:CHIPSEQ:FILTER_BAM_BAMTOOLS:BAM_SORT_SAMTOOLS:SAMTOOLS_SORT' {
ext.prefix = { "${meta.id}.mLb.clN.sorted" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/mergedLibrary" },
mode: params.publish_dir_mode,
pattern: '*.{bai,csi}'
pattern: '*.bam'
]
}

Expand All @@ -359,12 +375,12 @@ process {
publishDir = [
path: { "${params.outdir}/${params.aligner}/mergedLibrary" },
mode: params.publish_dir_mode,
pattern: "*.bam"
pattern: '*.{bai,csi}'
]
}

withName: 'NFCORE_CHIPSEQ:CHIPSEQ:FILTER_BAM_BAMTOOLS:BAM_SORT_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' {
ext.prefix = { "${meta.id}.mLb.clN.sorted" }
ext.prefix = { "${meta.id}.mLb.clN.sorted.bam" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/mergedLibrary/samtools_stats" },
mode: params.publish_dir_mode,
Expand All @@ -391,29 +407,20 @@ process {
}

withName: 'BEDTOOLS_GENOMECOV' {
ext.prefix = { "${meta.id}.mLb.clN" }
ext.prefix = { "${meta.id}" }
publishDir = [
[
path: { "${params.outdir}/${params.aligner}/mergedLibrary/bigwig" },
mode: params.publish_dir_mode,
pattern: "*.bigWig"
],
[
path: { "${params.outdir}/${params.aligner}/mergedLibrary/bigwig/scale" },
mode: params.publish_dir_mode,
pattern: "*.txt"
]
path: { "${params.outdir}/${params.aligner}/mergedLibrary/bigwig/scale" },
mode: params.publish_dir_mode,
pattern: "*.txt"
]
}

withName: 'UCSC_BEDGRAPHTOBIGWIG' {
ext.prefix = { "${meta.id}.mLb.clN" }
ext.prefix = { "${meta.id}" }
publishDir = [
[
path: { "${params.outdir}/${params.aligner}/mergedLibrary/bigwig" },
mode: params.publish_dir_mode,
pattern: "*.bigWig"
]
path: { "${params.outdir}/${params.aligner}/mergedLibrary/bigwig" },
mode: params.publish_dir_mode,
pattern: "*.bigWig"
]
}
}
Expand Down Expand Up @@ -485,6 +492,12 @@ if (!params.skip_plot_profile) {
}
}

process {
withName: 'KHMER_UNIQUEKMERS' {
publishDir = [ enabled: false ]
}
}

if (!params.skip_plot_fingerprint) {
process {
withName: 'DEEPTOOLS_PLOTFINGERPRINT' {
Expand Down Expand Up @@ -603,7 +616,8 @@ if (!params.skip_consensus_peaks) {
path: { [
"${params.outdir}/${params.aligner}/mergedLibrary/macs2",
params.narrow_peak? '/narrowPeak' : '/broadPeak',
'/consensus'
'/consensus',
"/${meta.id}"
].join('') },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
Expand All @@ -616,7 +630,8 @@ if (!params.skip_consensus_peaks) {
path: { [
"${params.outdir}/${params.aligner}/mergedLibrary/macs2",
params.narrow_peak? '/narrowPeak' : '/broadPeak',
'/consensus'
'/consensus',
"/${meta.id}"
].join('') },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
Expand All @@ -633,7 +648,8 @@ if (!params.skip_consensus_peaks) {
path: { [
"${params.outdir}/${params.aligner}/mergedLibrary/macs2",
params.narrow_peak? '/narrowPeak' : '/broadPeak',
'/consensus'
'/consensus',
"/${meta.id}"
].join('') },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
Expand All @@ -645,6 +661,7 @@ if (!params.skip_consensus_peaks) {
if (!params.skip_deseq2_qc) {
process {
withName: DESEQ2_QC {
ext.when = { meta.multiple_groups && meta.replicates_exist }
ext.args = [
'--id_col 1',
'--sample_suffix \'.mLb.clN.sorted.bam\'',
Expand All @@ -655,27 +672,29 @@ if (!params.skip_consensus_peaks) {
path: { [
"${params.outdir}/${params.aligner}/mergedLibrary/macs2",
params.narrow_peak? '/narrowPeak' : '/broadPeak',
'/consensus/deseq2'
'/consensus',
"/${meta.id}",
'/deseq2'
].join('') },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
}
}
}

if (!params.skip_igv) {
process {
withName: 'IGV' {
publishDir = [
path: { [
"${params.outdir}/igv",
params.narrow_peak? '/narrowPeak' : '/broadPeak'
].join('') },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
if (!params.skip_igv) {
process {
withName: 'IGV' {
publishDir = [
path: { [
"${params.outdir}/igv",
params.narrow_peak? '/narrowPeak' : '/broadPeak'
].join('') },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions conf/test_full.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ params {
// Input data for full size test
input = 'https://raw.githubusercontent.com/nf-core/test-datasets/chipseq/samplesheet/v2.0/samplesheet_full.csv'

// Used to get macs_gsize
read_length = 50

// Genome references
genome = 'hg19'
}
Binary file removed docs/images/r_deseq2_ma_plot.png
Binary file not shown.
Binary file removed docs/images/r_deseq2_volcano_plot.png
Binary file not shown.
Loading

0 comments on commit 9582d07

Please sign in to comment.