0
|
1 <tool id="pima_report" name="PIMA: summary report" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
|
|
2 <description></description>
|
|
3 <macros>
|
|
4 <import>macros.xml</import>
|
|
5 </macros>
|
|
6 <expand macro="requirements"/>
|
|
7 <command detect_errors="exit_code"><![CDATA[
|
|
8 #import re
|
|
9
|
26
|
10 #if str($read_type_cond.read_type) == 'ont':
|
|
11 #set analysis_name = re.sub('[^\s\w\-]', '_', str($read_type_cond.ont_file.element_identifier))
|
25
|
12 #else:
|
26
|
13 #set analysis_name = re.sub('[^\s\w\-]', '_', str($read_type_cond.illumina_forward_read.element_identifier))
|
25
|
14 #end if
|
0
|
15 #set assembly_name = re.sub('[^\s\w\-]', '_', str($assembly_fasta_file.element_identifier))
|
2
|
16
|
12
|
17 #if str($bedtools_complementbed_file) not in ['None', '']:
|
|
18 #set bedtools_version = re.sub('[^\s\w\-]', '_', str($bedtools_complementbed_file.element_identifier))
|
|
19 #end if
|
|
20 #if str($blastn_features) not in ['None', '']:
|
|
21 #set blastn_version = re.sub('[^\s\w\-]', '_', str($blastn_features.element_identifier))
|
|
22 #end if
|
|
23 #if str($dnadiff_snps_file) not in ['None', '']:
|
|
24 #set dnadiff_version = re.sub('[^\s\w\-]', '_', str($dnadiff_snps_file.element_identifier))
|
|
25 #end if
|
26
|
26
|
|
27 ## All ONT samples are single-end reads, while all Illumina samples are
|
|
28 ## sets if paired reads. For ONT, we need both an assembly_fasta_file
|
|
29 ## which is produced by the medaka pipeline and and assembler_version_file
|
|
30 ## which is produced by flye. For Illumina we need only the assembly_fasta_file
|
|
31 ## which is produced by SPAdes since the version can be derived from it.
|
|
32 #if str($assembler_version_file) in ['None', '']:
|
|
33 ## We're analyzing a set of Illumina paired reads.
|
|
34 #set assembler_version = re.sub('[^\s\w\-]', '_', str($assembly_fasta_file.element_identifier))
|
|
35 #else:
|
|
36 ## We're analyzing an ONT sample.
|
21
|
37 #set assembler_version = re.sub('[^\s\w\-]', '_', str($assembler_version_file.element_identifier))
|
1
|
38 #end if
|
26
|
39
|
2
|
40 #if str($kraken2_report_file) not in ['None', '']:
|
|
41 #set kraken2_version = re.sub('[^\s\w\-]', '_', str($kraken2_report_file.element_identifier))
|
12
|
42 #end if
|
|
43 #if str($minimap2_bam_file) not in ['None', '']:
|
|
44 #set minimap2_version = re.sub('[^\s\w\-]', '_', str($minimap2_bam_file.element_identifier))
|
|
45 #end if
|
|
46 #if str($samtools_pileup_file) not in ['None', '']:
|
|
47 #set samtools_version = re.sub('[^\s\w\-]', '_', str($samtools_pileup_file.element_identifier))
|
|
48 #end if
|
|
49 #if str($varscan_vcf_file) not in ['None', '']:
|
|
50 #set varscan_version = re.sub('[^\s\w\-]', '_', str($varscan_vcf_file.element_identifier))
|
2
|
51 #end if
|
0
|
52
|
1
|
53 mkdir amr_matrix_png_dir &&
|
13
|
54 mkdir circos_png_dir &&
|
0
|
55 mkdir feature_bed_dir &&
|
|
56 mkdir feature_png_dir &&
|
|
57 mkdir mutation_regions_dir &&
|
|
58 touch 'pima_report.pdf' &&
|
|
59
|
1
|
60 #for $i in $amr_matrices_png:
|
|
61 #set file_name = $i.file_name
|
|
62 #set identifier = re.sub('[^\s\w\-\\.]', '_', str($i.element_identifier))
|
|
63 ln -s $i 'amr_matrix_png_dir/$identifier' &&
|
|
64 #end for
|
13
|
65 #for $i in $circos_png:
|
|
66 #set file_name = $i.file_name
|
|
67 #set identifier = re.sub('[^\s\w\-\\.]', '_', str($i.element_identifier))
|
|
68 ln -s $i 'circos_png_dir/$identifier' &&
|
|
69 #end for
|
0
|
70 #for $i in $features_bed:
|
|
71 #set file_name = $i.file_name
|
|
72 #set identifier = re.sub('[^\s\w\-\\.]', '_', str($i.element_identifier))
|
|
73 ln -s $i 'feature_bed_dir/$identifier' &&
|
|
74 #end for
|
|
75 #for $i in $features_png:
|
|
76 #set file_name = $i.file_name
|
|
77 #set identifier = re.sub('[^\s\w\-\\.]', '_', str($i.element_identifier))
|
|
78 ln -s $i 'feature_png_dir/$identifier' &&
|
|
79 #end for
|
|
80 #for $i in $mutation_regions:
|
|
81 #set file_name = $i.file_name
|
|
82 #set identifier = re.sub('[^\s\w\-\\.]', '_', str($i.element_identifier))
|
|
83 ln -s $i 'mutation_regions_dir/$identifier' &&
|
|
84 #end for
|
|
85
|
29
|
86 #if str($lrn_risk_amr_files) != 'None':
|
|
87 touch 'lrn_risk_amr.tsv' &&
|
|
88 #for $i in $lrn_risk_amr_files:
|
|
89 cat $i >> 'lrn_risk_amr.tsv' &&
|
28
|
90 #end for
|
|
91 #end if
|
|
92
|
29
|
93 #if str($lrn_risk_blacklist_files) != 'None':
|
|
94 touch 'lrn_risk_blacklist.tsv' &&
|
|
95 #for $i in $lrn_risk_blacklist_files:
|
|
96 cat $i >> 'lrn_risk_blacklist.tsv' &&
|
28
|
97 #end for
|
|
98 #end if
|
|
99
|
29
|
100 #if str($lrn_risk_vf_files) != 'None':
|
|
101 touch 'lrn_risk_vf.tsv' &&
|
|
102 #for $i in $lrn_risk_vf_files:
|
|
103 cat $i >> 'lrn_risk_vf.tsv' &&
|
28
|
104 #end for
|
|
105 #end if
|
|
106
|
0
|
107 python '${__tool_directory__}/pima_report.py'
|
1
|
108 --amr_matrix_png_dir 'amr_matrix_png_dir'
|
|
109 --amr_deletions_file '$amr_deletions_file'
|
0
|
110 --analysis_name '$analysis_name'
|
|
111 --assembly_fasta_file '$assembly_fasta_file'
|
|
112 --assembly_name '$assembly_name'
|
12
|
113 #if str($bedtools_complementbed_file) not in ['None', '']:
|
|
114 --bedtools_version '$bedtools_version'
|
|
115 #end if
|
|
116 #if str($blastn_features) not in ['None', '']:
|
|
117 --blastn_version '$blastn_version'
|
|
118 #end if
|
13
|
119 --circos_png_dir 'circos_png_dir'
|
1
|
120 --compute_sequence_length_file '$compute_sequence_length_file'
|
0
|
121 --contig_coverage_file '$contig_coverage_file'
|
|
122 --dbkey '$aligned_sample.metadata.dbkey'
|
1
|
123 --dnadiff_snps_file '$dnadiff_snps_file'
|
12
|
124 #if str($dnadiff_snps_file) not in ['None', '']:
|
|
125 --dnadiff_version '$dnadiff_version'
|
|
126 #end if
|
18
|
127 --errors_file '$errors_file'
|
0
|
128 --feature_bed_dir 'feature_bed_dir'
|
|
129 --feature_png_dir 'feature_png_dir'
|
21
|
130 #if str($assembler_version_file) not in ['None', '']:
|
|
131 --assembler_version '$assembler_version'
|
26
|
132 #if str($read_type_cond.read_type) == 'ont':
|
21
|
133 ## Need to pass the tabular flye assembly file.
|
|
134 --flye_assembly_info_file '$assembler_version_file'
|
|
135 #end if
|
1
|
136 #end if
|
|
137 --genome_insertions_file '$genome_insertions_file'
|
26
|
138 #if str($read_type_cond.read_type) == 'ont':
|
|
139 ## We're analyzing a single-edn ONT sample.
|
|
140 #if $read_type_cond.ont_file.ext.endswith(".gz"):
|
|
141 --gzipped
|
|
142 #end if
|
|
143 --ont_file '$read_type_cond.ont_file'
|
|
144 #else:
|
|
145 ## We're analyzing a set of Illumina paired reads.
|
|
146 #if $read_type_cond.illumina_forward_read.ext.endswith(".gz"):
|
|
147 --gzipped
|
|
148 #end if
|
|
149 --illumina_forward_read_file '$read_type_cond.illumina_forward_read'
|
|
150 --illumina_reverse_read_file '$read_type_cond.illumina_reverse_read'
|
0
|
151 #end if
|
2
|
152 #if str($kraken2_report_file) not in ['None', '']:
|
|
153 --kraken2_report_file '$kraken2_report_file'
|
|
154 --kraken2_version '$kraken2_version'
|
|
155 #end if
|
29
|
156 --lrn_risk_amr_file 'lrn_risk_amr.tsv'
|
|
157 --lrn_risk_blacklist_file 'lrn_risk_blacklist.tsv'
|
|
158 --lrn_risk_vf_file 'lrn_risk_vf.tsv'
|
12
|
159 #if str($minimap2_bam_file) not in ['None', '']:
|
|
160 --minimap2_version '$minimap2_version'
|
|
161 #end if
|
0
|
162 --mutation_regions_dir 'mutation_regions_dir'
|
|
163 --mutation_regions_bed_file '$mutation_regions_bed_file'
|
|
164 --pima_css '${__tool_directory__}/pima.css'
|
1
|
165 --plasmids_file '$plasmids_file'
|
13
|
166 --quast_report_file '$quast_report_file'
|
26
|
167 --read_type '$read_type_cond.read_type'
|
1
|
168 --reference_insertions_file '$reference_insertions_file'
|
12
|
169 #if str($samtools_pileup_file) not in ['None', '']:
|
|
170 --samtools_version '$samtools_version'
|
|
171 #end if
|
|
172 #if str($varscan_vcf_file) not in ['None', '']:
|
|
173 --varscan_version '$varscan_version'
|
|
174 #end if
|
0
|
175 && mv 'pima_report.pdf' '$output'
|
|
176 ]]></command>
|
|
177 <inputs>
|
1
|
178 <param name="amr_matrices_png" format="png" type="data_collection" collection_type="list" label="Collection of AMR matrix PNG files"/>
|
0
|
179 <param name="aligned_sample" type="data" format="bam" label="Aligned sample BAM file"/>
|
1
|
180 <param name="amr_deletions_file" type="data" format="bed" label="AMR deletions BED file"/>
|
0
|
181 <param name="assembly_fasta_file" type="data" format="fasta" label="Assembly FASTA file"/>
|
12
|
182 <param name="bedtools_complementbed_file" type="data" format="bed" label="Bedtools ComplementBed BED file"/>
|
4
|
183 <param name="blastn_features" format="tabular" type="data_collection" collection_type="list" label="Collection of blastn tabular files"/>
|
13
|
184 <param name="circos_png" format="png" type="data_collection" collection_type="list" label="Collection of circos PNG files"/>
|
1
|
185 <param name="compute_sequence_length_file" type="data" format="tabular,tsv" label="Compute sequence length tabular file"/>
|
|
186 <param name="contig_coverage_file" type="data" format="tabular,tsv" label="Contig coverage tabular file"/>
|
|
187 <param name="dnadiff_snps_file" type="data" format="tabular" label="DNAdiff snps tabular file"/>
|
18
|
188 <param name="errors_file" type="data" format="txt" label="AMR mutation regions error txt file"/>
|
0
|
189 <param name="features_bed" format="bed" type="data_collection" collection_type="list" label="Collection of best feature hits BED files"/>
|
|
190 <param name="features_png" format="png" type="data_collection" collection_type="list" label="Collection of best feature hits PNG files"/>
|
21
|
191 <param name="assembler_version_file" type="data" format="fasta,tabular,tsv" optional="true" label="Assembly version file" help="Optional, ignored if not selected"/>
|
1
|
192 <param name="genome_insertions_file" type="data" format="bed" label="Genome insertions BED file"/>
|
2
|
193 <param name="kraken2_report_file" type="data" format="tabular,tsv" optional="true" label="Kraken2 report tabular file" help="Optional, ignored if not selected"/>
|
29
|
194 <param name="lrn_risk_amr_files" format="tsv" type="data" multiple="true" optional="true" label="LRN Risk AMR files"/>
|
|
195 <param name="lrn_risk_blacklist_files" format="tsv" type="data" multiple="true" optional="true" label="LRN Risk blacklist files"/>
|
|
196 <param name="lrn_risk_vf_files" format="tsv" type="data" multiple="true" optional="true" label="LRN Risk virulence factors files"/>
|
12
|
197 <param name="minimap2_bam_file" type="data" format="bam" label="Minimap2 BAM file"/>
|
0
|
198 <param name="mutation_regions" format="tabular,tsv" type="data_collection" collection_type="list" label="Collection of mutation regions tabular files"/>
|
|
199 <param name="mutation_regions_bed_file" type="data" format="mutations_regions,bed" label="Mutation regions BED file"/>
|
13
|
200 <param name="quast_report_file" type="data" format="tabular" label="Quast report tabular file"/>
|
26
|
201 <conditional name="read_type_cond">
|
|
202 <param argument="--read_type" type="select" label="Specify the read type">
|
|
203 <option value="ont" selected="true">ONT single read</option>
|
|
204 <option value="illumina">Illumina read pair</option>
|
|
205 </param>
|
|
206 <when value="ont">
|
|
207 <param name="ont_file" type="data" format="fastqsanger,fastqsanger.gz" label="ONT single read sample file"/>
|
|
208 </when>
|
|
209 <when value="illumina">
|
|
210 <param name="illumina_forward_read" format="fastqsanger,fastqsanger.gz" type="data" label="Illumina forward read sample file"/>
|
|
211 <param name="illumina_reverse_read" format="fastqsanger,fastqsanger.gz" type="data" label="Illumina reverse read sample file"/>
|
|
212 </when>
|
|
213 </conditional>
|
1
|
214 <param name="reference_insertions_file" type="data" format="bed" label="Reference insertions BED file"/>
|
23
|
215 <param name="plasmids_file" type="data" format="tsv" optional="true" label="pChunks plasmids TSV file" help="Optional, ignored if not selected"/>
|
12
|
216 <param name="samtools_pileup_file" type="data" format="pileup" label="Samtools pileup file"/>
|
|
217 <param name="varscan_vcf_file" type="data" format="vcf" label="Varscan VCF file"/>
|
0
|
218 </inputs>
|
|
219 <outputs>
|
|
220 <data name="output" format="pdf"/>
|
|
221 </outputs>
|
|
222 <tests>
|
|
223 <test>
|
|
224 <param name="aligned_sample" value="aligned_sample.bam" ftype="bam"/>
|
|
225 <param name="assembly_fasta_file" value="assembly_fasta.fasta" ftype="fasta"/>
|
|
226 <param name="contig_coverage_file" value="contig_coverage.tabular" ftype="tabular"/>
|
26
|
227 <param name="read_type" value="ont"/>
|
|
228 <param name="ont_file" value="ont_fastq.fastq" ftype="fastq"/>
|
0
|
229 <output name="output" value="output.pdf" ftype="pdf"/>
|
|
230 </test>
|
|
231 </tests>
|
|
232 <help>
|
|
233 **What it does**
|
|
234
|
|
235 Generates the PIMA analysis summary report.
|
|
236 </help>
|
|
237 <expand macro="citations"/>
|
|
238 </tool>
|
|
239
|