Skip to content

Commit b0d81e6

Browse files
committed
Update subworkflows using macs2 to macs3 after merge
1 parent 16b73ac commit b0d81e6

3 files changed

+52
-52
lines changed

subworkflows/local/bam_peaks_call_qc_annotate_macs2_homer.nf subworkflows/local/bam_peaks_call_qc_annotate_macs3_homer.nf

+27-27
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
//
2-
// Call peaks with MACS2, annotate with HOMER and perform downstream QC
2+
// Call peaks with MACS3, annotate with HOMER and perform downstream QC
33
//
44

5-
include { MACS2_CALLPEAK } from '../../modules/nf-core/macs2/callpeak/main'
5+
include { MACS3_CALLPEAK } from '../../modules/nf-core/macs3/callpeak/main'
66
include { HOMER_ANNOTATEPEAKS } from '../../modules/nf-core/homer/annotatepeaks/main'
77

88
include { FRIP_SCORE } from '../../modules/local/frip_score'
99
include { MULTIQC_CUSTOM_PEAKS } from '../../modules/local/multiqc_custom_peaks'
10-
include { PLOT_MACS2_QC } from '../../modules/local/plot_macs2_qc'
10+
include { PLOT_MACS3_QC } from '../../modules/local/plot_macs3_qc'
1111
include { PLOT_HOMER_ANNOTATEPEAKS } from '../../modules/local/plot_homer_annotatepeaks'
1212

13-
workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER {
13+
workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER {
1414
take:
1515
ch_bam // channel: [ val(meta), [ ip_bam ], [ control_bam ] ]
1616
ch_fasta // channel: [ fasta ]
@@ -29,29 +29,29 @@ workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER {
2929
ch_versions = Channel.empty()
3030

3131
//
32-
// Call peaks with MACS2
32+
// Call peaks with MACS3
3333
//
34-
MACS2_CALLPEAK (
34+
MACS3_CALLPEAK (
3535
ch_bam,
3636
macs_gsize
3737
)
38-
ch_versions = ch_versions.mix(MACS2_CALLPEAK.out.versions.first())
38+
ch_versions = ch_versions.mix(MACS3_CALLPEAK.out.versions.first())
3939

4040
//
41-
// Filter out samples with 0 MACS2 peaks called
41+
// Filter out samples with 0 MACS3 peaks called
4242
//
43-
MACS2_CALLPEAK
43+
MACS3_CALLPEAK
4444
.out
4545
.peak
4646
.filter {
4747
meta, peaks ->
4848
peaks.size() > 0
4949
}
50-
.set { ch_macs2_peaks }
50+
.set { ch_macs3_peaks }
5151

5252
// Create channels: [ meta, ip_bam, peaks ]
5353
ch_bam
54-
.join(ch_macs2_peaks, by: [0])
54+
.join(ch_macs3_peaks, by: [0])
5555
.map {
5656
meta, ip_bam, control_bam, peaks ->
5757
[ meta, ip_bam, peaks ]
@@ -86,8 +86,8 @@ workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER {
8686
ch_versions = ch_versions.mix(MULTIQC_CUSTOM_PEAKS.out.versions.first())
8787

8888
ch_homer_annotatepeaks = Channel.empty()
89-
ch_plot_macs2_qc_txt = Channel.empty()
90-
ch_plot_macs2_qc_pdf = Channel.empty()
89+
ch_plot_macs3_qc_txt = Channel.empty()
90+
ch_plot_macs3_qc_pdf = Channel.empty()
9191
ch_plot_homer_annotatepeaks_txt = Channel.empty()
9292
ch_plot_homer_annotatepeaks_pdf = Channel.empty()
9393
ch_plot_homer_annotatepeaks_tsv = Channel.empty()
@@ -96,7 +96,7 @@ workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER {
9696
// Annotate peaks with HOMER
9797
//
9898
HOMER_ANNOTATEPEAKS (
99-
ch_macs2_peaks,
99+
ch_macs3_peaks,
100100
ch_fasta,
101101
ch_gtf
102102
)
@@ -105,15 +105,15 @@ workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER {
105105

106106
if (!skip_peak_qc) {
107107
//
108-
// MACS2 QC plots with R
108+
// MACS3 QC plots with R
109109
//
110-
PLOT_MACS2_QC (
111-
ch_macs2_peaks.collect{it[1]},
110+
PLOT_MACS3_QC (
111+
ch_macs3_peaks.collect{it[1]},
112112
is_narrow_peak
113113
)
114-
ch_plot_macs2_qc_txt = PLOT_MACS2_QC.out.txt
115-
ch_plot_macs2_qc_pdf = PLOT_MACS2_QC.out.pdf
116-
ch_versions = ch_versions.mix(PLOT_MACS2_QC.out.versions)
114+
ch_plot_macs3_qc_txt = PLOT_MACS3_QC.out.txt
115+
ch_plot_macs3_qc_pdf = PLOT_MACS3_QC.out.pdf
116+
ch_versions = ch_versions.mix(PLOT_MACS3_QC.out.versions)
117117

118118
//
119119
// Peak annotation QC plots with R
@@ -131,11 +131,11 @@ workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER {
131131
}
132132

133133
emit:
134-
peaks = ch_macs2_peaks // channel: [ val(meta), [ peaks ] ]
135-
xls = MACS2_CALLPEAK.out.xls // channel: [ val(meta), [ xls ] ]
136-
gapped_peaks = MACS2_CALLPEAK.out.gapped // channel: [ val(meta), [ gapped_peak ] ]
137-
bed = MACS2_CALLPEAK.out.bed // channel: [ val(meta), [ bed ] ]
138-
bedgraph = MACS2_CALLPEAK.out.bdg // channel: [ val(meta), [ bedgraph ] ]
134+
peaks = ch_macs3_peaks // channel: [ val(meta), [ peaks ] ]
135+
xls = MACS3_CALLPEAK.out.xls // channel: [ val(meta), [ xls ] ]
136+
gapped_peaks = MACS3_CALLPEAK.out.gapped // channel: [ val(meta), [ gapped_peak ] ]
137+
bed = MACS3_CALLPEAK.out.bed // channel: [ val(meta), [ bed ] ]
138+
bedgraph = MACS3_CALLPEAK.out.bdg // channel: [ val(meta), [ bedgraph ] ]
139139

140140
frip_txt = FRIP_SCORE.out.txt // channel: [ val(meta), [ txt ] ]
141141

@@ -144,8 +144,8 @@ workflow BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER {
144144

145145
homer_annotatepeaks = ch_homer_annotatepeaks // channel: [ val(meta), [ txt ] ]
146146

147-
plot_macs2_qc_txt = ch_plot_macs2_qc_txt // channel: [ txt ]
148-
plot_macs2_qc_pdf = ch_plot_macs2_qc_pdf // channel: [ pdf ]
147+
plot_macs3_qc_txt = ch_plot_macs3_qc_txt // channel: [ txt ]
148+
plot_macs3_qc_pdf = ch_plot_macs3_qc_pdf // channel: [ pdf ]
149149

150150
plot_homer_annotatepeaks_txt = ch_plot_homer_annotatepeaks_txt // channel: [ txt ]
151151
plot_homer_annotatepeaks_pdf = ch_plot_homer_annotatepeaks_pdf // channel: [ pdf ]

subworkflows/local/bed_consensus_quantify_qc_bedtools_featurecounts_deseq2.nf

+12-12
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
include { HOMER_ANNOTATEPEAKS } from '../../modules/nf-core/homer/annotatepeaks/main'
66
include { SUBREAD_FEATURECOUNTS } from '../../modules/nf-core/subread/featurecounts/main'
77

8-
include { MACS2_CONSENSUS } from '../../modules/local/macs2_consensus'
8+
include { MACS3_CONSENSUS } from '../../modules/local/macs3_consensus'
99
include { ANNOTATE_BOOLEAN_PEAKS } from '../../modules/local/annotate_boolean_peaks'
1010
include { DESEQ2_QC } from '../../modules/local/deseq2_qc'
1111

@@ -54,18 +54,18 @@ workflow BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2 {
5454
//
5555
// Generate consensus peaks across samples
5656
//
57-
MACS2_CONSENSUS (
57+
MACS3_CONSENSUS (
5858
ch_antibody_peaks,
5959
is_narrow_peak
6060
)
61-
ch_versions = ch_versions.mix(MACS2_CONSENSUS.out.versions)
61+
ch_versions = ch_versions.mix(MACS3_CONSENSUS.out.versions)
6262

6363
//
6464
// Annotate consensus peaks
6565
//
6666
if (!skip_peak_annotation) {
6767
HOMER_ANNOTATEPEAKS (
68-
MACS2_CONSENSUS.out.bed,
68+
MACS3_CONSENSUS.out.bed,
6969
ch_fasta,
7070
ch_gtf
7171
)
@@ -75,13 +75,13 @@ workflow BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2 {
7575
// MODULE: Add boolean fields to annotated consensus peaks to aid filtering
7676
//
7777
ANNOTATE_BOOLEAN_PEAKS (
78-
MACS2_CONSENSUS.out.boolean_txt.join(HOMER_ANNOTATEPEAKS.out.txt, by: [0]),
78+
MACS3_CONSENSUS.out.boolean_txt.join(HOMER_ANNOTATEPEAKS.out.txt, by: [0]),
7979
)
8080
ch_versions = ch_versions.mix(ANNOTATE_BOOLEAN_PEAKS.out.versions)
8181
}
8282

8383
// Create channels: [ meta, [ ip_bams ], saf ]
84-
MACS2_CONSENSUS
84+
MACS3_CONSENSUS
8585
.out
8686
.saf
8787
.map {
@@ -134,12 +134,12 @@ workflow BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2 {
134134
}
135135

136136
emit:
137-
consensus_bed = MACS2_CONSENSUS.out.bed // channel: [ bed ]
138-
consensus_saf = MACS2_CONSENSUS.out.saf // channel: [ saf ]
139-
consensus_pdf = MACS2_CONSENSUS.out.pdf // channel: [ pdf ]
140-
consensus_txt = MACS2_CONSENSUS.out.txt // channel: [ pdf ]
141-
consensus_boolean_txt = MACS2_CONSENSUS.out.boolean_txt // channel: [ txt ]
142-
consensus_intersect_txt = MACS2_CONSENSUS.out.intersect_txt // channel: [ txt ]
137+
consensus_bed = MACS3_CONSENSUS.out.bed // channel: [ bed ]
138+
consensus_saf = MACS3_CONSENSUS.out.saf // channel: [ saf ]
139+
consensus_pdf = MACS3_CONSENSUS.out.pdf // channel: [ pdf ]
140+
consensus_txt = MACS3_CONSENSUS.out.txt // channel: [ pdf ]
141+
consensus_boolean_txt = MACS3_CONSENSUS.out.boolean_txt // channel: [ txt ]
142+
consensus_intersect_txt = MACS3_CONSENSUS.out.intersect_txt // channel: [ txt ]
143143

144144
featurecounts_txt = SUBREAD_FEATURECOUNTS.out.counts // channel: [ txt ]
145145
featurecounts_summary = SUBREAD_FEATURECOUNTS.out.summary // channel: [ txt ]

workflows/chipseq.nf

+13-13
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ include { INPUT_CHECK } from '../subworkflows/local/input_check'
2222
include { ALIGN_STAR } from '../subworkflows/local/align_star'
2323
include { BAM_FILTER_BAMTOOLS } from '../subworkflows/local/bam_filter_bamtools'
2424
include { BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC } from '../subworkflows/local/bam_bedgraph_bigwig_bedtools_ucsc'
25-
include { BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER } from '../subworkflows/local/bam_peaks_call_qc_annotate_macs2_homer.nf'
25+
include { BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER } from '../subworkflows/local/bam_peaks_call_qc_annotate_macs3_homer.nf'
2626
include { BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2 } from '../subworkflows/local/bed_consensus_quantify_qc_bedtools_featurecounts_deseq2.nf'
2727

2828
/*
@@ -446,9 +446,9 @@ workflow CHIPSEQ {
446446
.set { ch_ip_control_bam }
447447

448448
//
449-
// SUBWORKFLOW: Call peaks with MACS2, annotate with HOMER and perform downstream QC
449+
// SUBWORKFLOW: Call peaks with MACS3, annotate with HOMER and perform downstream QC
450450
//
451-
BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER (
451+
BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER (
452452
ch_ip_control_bam,
453453
ch_fasta,
454454
ch_gtf,
@@ -461,7 +461,7 @@ workflow CHIPSEQ {
461461
params.skip_peak_annotation,
462462
params.skip_peak_qc
463463
)
464-
ch_versions = ch_versions.mix(BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER.out.versions)
464+
ch_versions = ch_versions.mix(BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER.out.versions)
465465

466466
//
467467
// Consensus peaks analysis
@@ -481,7 +481,7 @@ workflow CHIPSEQ {
481481
.set { ch_antibody_bams }
482482

483483
BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2 (
484-
BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER.out.peaks,
484+
BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER.out.peaks,
485485
ch_antibody_bams,
486486
ch_fasta,
487487
ch_gtf,
@@ -491,8 +491,8 @@ workflow CHIPSEQ {
491491
params.skip_peak_annotation,
492492
params.skip_deseq2_qc
493493
)
494-
ch_macs2_consensus_bed_lib = BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2.out.consensus_bed
495-
ch_macs2_consensus_txt_lib = BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2.out.consensus_txt
494+
ch_macs3_consensus_bed_lib = BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2.out.consensus_bed
495+
ch_macs3_consensus_txt_lib = BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2.out.consensus_txt
496496
ch_subreadfeaturecounts_multiqc = BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2.out.featurecounts_summary
497497
ch_deseq2_pca_multiqc = BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2.out.deseq2_qc_pca_multiqc
498498
ch_deseq2_clustering_multiqc = BED_CONSENSUS_QUANTIFY_QC_BEDTOOLS_FEATURECOUNTS_DESEQ2.out.deseq2_qc_dists_multiqc
@@ -508,9 +508,9 @@ workflow CHIPSEQ {
508508
params.narrow_peak ? 'narrow_peak' : 'broad_peak',
509509
ch_fasta,
510510
BAM_BEDGRAPH_BIGWIG_BEDTOOLS_UCSC.out.bigwig.collect{it[1]}.ifEmpty([]),
511-
BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER.out.peaks.collect{it[1]}.ifEmpty([]),
512-
ch_macs2_consensus_bed_lib.collect{it[1]}.ifEmpty([]),
513-
ch_macs2_consensus_txt_lib.collect{it[1]}.ifEmpty([])
511+
BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER.out.peaks.collect{it[1]}.ifEmpty([]),
512+
ch_macs3_consensus_bed_lib.collect{it[1]}.ifEmpty([]),
513+
ch_macs3_consensus_txt_lib.collect{it[1]}.ifEmpty([])
514514
)
515515
ch_versions = ch_versions.mix(IGV.out.versions)
516516
}
@@ -568,9 +568,9 @@ workflow CHIPSEQ {
568568
ch_multiqc_phantompeakqualtools_rsc_multiqc.collect{it[1]}.ifEmpty([]),
569569
ch_multiqc_phantompeakqualtools_correlation_multiqc.collect{it[1]}.ifEmpty([]),
570570

571-
BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER.out.frip_multiqc.collect{it[1]}.ifEmpty([]),
572-
BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER.out.peak_count_multiqc.collect{it[1]}.ifEmpty([]),
573-
BAM_PEAKS_CALL_QC_ANNOTATE_MACS2_HOMER.out.plot_homer_annotatepeaks_tsv.collect().ifEmpty([]),
571+
BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER.out.frip_multiqc.collect{it[1]}.ifEmpty([]),
572+
BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER.out.peak_count_multiqc.collect{it[1]}.ifEmpty([]),
573+
BAM_PEAKS_CALL_QC_ANNOTATE_MACS3_HOMER.out.plot_homer_annotatepeaks_tsv.collect().ifEmpty([]),
574574
ch_subreadfeaturecounts_multiqc.collect{it[1]}.ifEmpty([]),
575575

576576
ch_deseq2_pca_multiqc.collect().ifEmpty([]),

0 commit comments

Comments
 (0)