forked from Akazhiel/NeoPred-NF
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.nf
120 lines (107 loc) · 4.33 KB
/
main.nf
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
/*
========================================================================================
GENOME PARAMETER VALUES
========================================================================================
*/
def summary_params = NfcoreSchema.paramsSummaryMap(workflow, params)
params.fasta = WorkflowMain.getGenomeAttribute(params, 'fasta')
params.fasta_fai = WorkflowMain.getGenomeAttribute(params, 'fasta_fai')
params.star_index = WorkflowMain.getGenomeAttribute(params, 'star_index')
params.gtf = WorkflowMain.getGenomeAttribute(params, 'gtf')
params.dict = WorkflowMain.getGenomeAttribute(params, 'dict')
params.bwa = WorkflowMain.getGenomeAttribute(params, 'bwa')
params.germline = WorkflowMain.getGenomeAttribute(params, 'germline')
params.germline_index = WorkflowMain.getGenomeAttribute(params, 'germline_index')
params.pon = WorkflowMain.getGenomeAttribute(params, 'pon')
params.pon_index = WorkflowMain.getGenomeAttribute(params, 'pon_index')
params.dbsnp = WorkflowMain.getGenomeAttribute(params, 'dbsnp')
params.dbsnp_index = WorkflowMain.getGenomeAttribute(params, 'dbsnp_index')
params.intervals = WorkflowMain.getGenomeAttribute(params, 'intervals')
params.vep_genome = WorkflowMain.getGenomeAttribute(params, 'vep_genome')
params.vep_cache_version = WorkflowMain.getGenomeAttribute(params, 'vep_cache_version')
params.known_indels = WorkflowMain.getGenomeAttribute(params, 'known_indels')
params.known_indels_index = WorkflowMain.getGenomeAttribute(params, 'known_indels_index')
params.hla_reference_dna = WorkflowMain.getGenomeAttribute(params, 'hla_reference_dna')
params.hla_reference_rna = WorkflowMain.getGenomeAttribute(params, 'hla_reference_rna')
params.aa_dict = WorkflowMain.getGenomeAttribute(params, 'AA_dict')
params.cdna_dict = WorkflowMain.getGenomeAttribute(params, 'cDNA_dict')
params.utr_dict = WorkflowMain.getGenomeAttribute(params, 'utr_dict')
params.pyensembl = WorkflowMain.getGenomeAttribute(params, 'pyensembl')
params.alleles = WorkflowMain.getGenomeAttribute(params, 'alleles')
/*
========================================================================================
VALIDATE & PRINT PARAMETER SUMMARY
========================================================================================
*/
WorkflowMain.initialise(workflow, params, log)
/*
========================================================================================
NAMED WORKFLOW FOR PIPELINE
========================================================================================
*/
include { NEOPRED_DNA } from './workflows/neopreddna'
include { NEOPRED_RNA } from './workflows/neopredrna'
include { MERGE_RESULTS } from './workflows/merge_results'
include { MHC_PREDICT } from './workflows/mhc_predict'
//
// WORKFLOW: Run main Akazhiel/NeoPred-NF analysis pipeline
//
workflow NEOPREDNF {
if ( params.DNA && params.RNA ) {
NEOPRED_DNA ()
NEOPRED_RNA ()
MERGE_RESULTS (
NEOPRED_DNA.out.vep_vcf,
NEOPRED_RNA.out.vep_vcf,
NEOPRED_RNA.out.counts
)
MHC_PREDICT (
NEOPRED_DNA.out.hla,
NEOPRED_RNA.out.hla,
MERGE_RESULTS.out.overlap_final
)
} else if ( params.DNA && !params.RNA) {
NEOPRED_DNA ()
MERGE_RESULTS (
NEOPRED_DNA.out.vep_vcf,
[],
[]
)
MHC_PREDICT (
NEOPRED_DNA.out.hla,
[],
MERGE_RESULTS.out.overlap_final
)
} else if ( !params.DNA && params.RNA) {
NEOPRED_RNA ()
MERGE_RESULTS (
[],
NEOPRED_RNA.out.vep_vcf,
NEOPRED_RNA.out.counts
)
MHC_PREDICT (
[],
NEOPRED_RNA.out.hla,
MERGE_RESULTS.out.overlap_rna
)
}
}
/*
========================================================================================
RUN ALL WORKFLOWS
========================================================================================
*/
//
// WORKFLOW: Execute a single named workflow for the pipeline
// See: https://github.com/nf-core/rnaseq/issues/619
//
workflow {
NEOPREDNF ()
}
/*
========================================================================================
THE END
========================================================================================
*/