forked from bigbio/quantms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlfq.nf
More file actions
91 lines (76 loc) · 2.67 KB
/
lfq.nf
File metadata and controls
91 lines (76 loc) · 2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/*
========================================================================================
IMPORT LOCAL MODULES/SUBWORKFLOWS
========================================================================================
*/
//
// MODULES: Local to the pipeline
//
include { PROTEOMICSLFQ } from '../modules/local/openms/proteomicslfq/main'
include { MSSTATS_LFQ as MSSTATS } from '../modules/local/msstats/msstats_lfq/main'
//
// SUBWORKFLOWS: Consisting of a mix of local and nf-core/modules
//
include { ID } from '../subworkflows/local/id'
/*
========================================================================================
RUN MAIN WORKFLOW
========================================================================================
*/
// Info required for completion email and summary
def multiqc_report = []
workflow LFQ {
take:
ch_file_preparation_results
ch_expdesign
ch_database_wdecoy
main:
ch_software_versions = Channel.empty()
//
// SUBWORKFLOWS: ID
//
ID(ch_file_preparation_results, ch_database_wdecoy, ch_expdesign)
ch_software_versions = ch_software_versions.mix(ID.out.versions.ifEmpty(null))
//
// SUBWORKFLOW: PROTEOMICSLFQ
//
ch_file_preparation_results.join(ID.out.id_results)
.multiMap { it ->
mzmls: pmultiqc_mzmls: it[1]
ids: it[2]
}
.set{ ch_plfq }
PROTEOMICSLFQ(ch_plfq.mzmls.collect(),
ch_plfq.ids.collect(),
ch_expdesign,
ch_database_wdecoy
)
ch_software_versions = ch_software_versions.mix(PROTEOMICSLFQ.out.versions.ifEmpty(null))
//
// MODULE: MSSTATS
//
ch_msstats_out = Channel.empty()
if(!params.skip_post_msstats && params.quantification_method == "feature_intensity"){
MSSTATS(PROTEOMICSLFQ.out.out_msstats)
ch_msstats_out = MSSTATS.out.msstats_csv
ch_software_versions = ch_software_versions.mix(MSSTATS.out.versions.ifEmpty(null))
}
ID.out.psmrescoring_results
.map { it -> it[1] }
.set { ch_pmultiqc_ids }
ID.out.ch_consensus_results
.map { it -> it[1] }
.set { ch_pmultiqc_consensus }
emit:
ch_pmultiqc_ids = ch_pmultiqc_ids
ch_pmultiqc_consensus = ch_pmultiqc_consensus
final_result = PROTEOMICSLFQ.out.out_mztab
versions = ch_software_versions
msstats_in = PROTEOMICSLFQ.out.out_msstats
msstats_out = ch_msstats_out
}
/*
========================================================================================
THE END
========================================================================================
*/