annotate resfinder/scripts/wdl/resfinder.wdl @ 0:a16d245332d6 draft default tip

Uploaded
author dcouvin
date Wed, 08 Dec 2021 01:46:07 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
1 workflow Resistance {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
2 File inputSamplesFile
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
3 Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
4
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
5 String outputDir
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
6 Float geneCov
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
7 Float geneID
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
8 Float pointCov
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
9 Float pointID
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
10 String python
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
11 String kma
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
12 String blastn
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
13 String resfinder
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
14 String resDB
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
15 String pointDB
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
16
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
17 scatter (sample in inputSamples) {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
18 call ResFinder {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
19 input: inputSample=sample,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
20 outputRoot=outputDir,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
21 geneCov=geneCov,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
22 geneID=geneID,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
23 pointCov=pointCov,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
24 pointID=pointID,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
25 python=python,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
26 kma=kma,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
27 blastn=blastn,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
28 resfinder=resfinder,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
29 resDB=resDB,
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
30 pointDB=pointDB
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
31 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
32 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
33 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
34
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
35 task ResFinder {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
36
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
37 Array[String] inputSample
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
38 Float geneCov
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
39 Float geneID
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
40 Float pointCov
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
41 Float pointID
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
42 String python
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
43 String kma
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
44 String blastn
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
45 String resfinder
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
46 String resDB
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
47 String pointDB
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
48
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
49 String inputPath1 = inputSample[0]
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
50 String inputPath2 = inputSample[1]
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
51 String species = inputSample[2]
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
52 String inputType = inputSample[3]
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
53
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
54 String outputRoot
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
55 String filename = basename(inputPath1)
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
56 String out_dir_name = "${outputRoot}/${filename}.rf_out"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
57
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
58 command {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
59
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
60 set +u
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
61 module unload mgmapper metabat fastqc
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
62 module unload ncbi-blast perl
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
63 source /home/projects/cge/apps/env/rf4_env/bin/activate
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
64 module load perl
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
65 module load ncbi-blast/2.8.1+
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
66
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
67 mkdir ${out_dir_name}
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
68
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
69 inputArgs=""
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
70 pointArgs=""
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
71
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
72 if [ "${species}" = "other" ] && [ "${inputType}" = "paired" ]
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
73 then
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
74 inputArgs+="-ifq ${inputPath1} ${inputPath2}"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
75 elif [ "${inputType}" = "paired" ]
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
76 then
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
77 inputArgs+="-ifq ${inputPath1} ${inputPath2}"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
78 pointArgs+="--point --db_path_point ${pointDB} --min_cov_point ${pointCov} --threshold_point ${pointID}"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
79 elif [ "${species}" = "other"] && [ "${inputType}" = "assembly" ]
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
80 then
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
81 inputArgs+="-ifa ${inputPath1}"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
82 elif [ "${inputType}" = "assembly" ]
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
83 then
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
84 inputArgs+="-ifa ${inputPath1}"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
85 pointArgs+="--point --db_path_point ${pointDB} --min_cov_point ${pointCov} --threshold_point ${pointID}"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
86 fi
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
87
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
88 ${python} ${resfinder} \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
89 $inputArgs \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
90 --blastPath ${blastn} \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
91 --kmaPath ${kma} \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
92 --species "${species}" \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
93 --db_path_res ${resDB} \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
94 --acquired \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
95 --acq_overlap 30 \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
96 --min_cov ${geneCov} \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
97 --threshold ${geneID} \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
98 -o ${out_dir_name} \
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
99 $pointArgs
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
100 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
101 output {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
102 File rf_out = "${out_dir_name}/std_format_under_development.json"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
103 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
104 runtime {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
105 walltime: "1:00:00"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
106 cpu: 2
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
107 memory: "4 GB"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
108 queue: "cge"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
109 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
110 }