3
|
1 <tool id="rna_quast" name="rnaQUAST" version="@TOOL_VERSION@">
|
0
|
2 <description>A Quality Assessment Tool for De Novo Transcriptome Assemblies</description>
|
|
3 <macros>
|
|
4 <token name="@TOOL_VERSION@">2.1.0</token>
|
3
|
5 <xml name="element_matching_line" token_name="" token_expression="">
|
|
6 <element name="@NAME@">
|
|
7 <assert_contents><has_line_matching expression="@EXPRESSION@"/></assert_contents>
|
|
8 </element>
|
|
9 </xml>
|
|
10 <xml name="element_has_text" token_name="" token_text="">
|
|
11 <element name="@NAME@">
|
|
12 <assert_contents><has_text text="@TEXXT@"/></assert_contents>
|
|
13 </element>
|
|
14 </xml>
|
0
|
15 </macros>
|
|
16 <requirements>
|
|
17 <requirement type="package" version="@TOOL_VERSION@">rnaquast</requirement>
|
|
18 </requirements>
|
|
19 <stdio>
|
|
20 <regex match="Traceback " source="both" level="fatal" description="rnaQuast failed" />
|
|
21 </stdio>
|
|
22 <command detect_errors="exit_code"><![CDATA[
|
|
23 #import re
|
|
24 #for $i in $input
|
|
25 ln -s '$i' '${re.sub('[^\w\-.]', '_', i.element_identifier)}' &&
|
|
26 #end for
|
|
27 #if $r
|
|
28 #for $rf in $r
|
|
29 ln -s '$rf' '${re.sub('[^\w\-.]', '_', rf.element_identifier)}' &&
|
|
30 #end for
|
|
31 #end if
|
|
32 #if $gene_coordinates.use_gtf == "true"
|
|
33 #for $g in $gene_coordinates.gtf
|
|
34 ln -s '$g' '${re.sub('[^\w\-.]', '_', g.element_identifier)}' &&
|
|
35 #end for
|
|
36 #end if
|
|
37 mkdir outputdir &&
|
|
38 rnaQUAST.py
|
|
39 --threads \${GALAXY_SLOTS:-1}
|
|
40 --transcripts
|
|
41 #for $i in $input
|
|
42 '${re.sub('[^\w\-.]', '_', i.element_identifier)}'
|
|
43 #end for
|
|
44 $strand_specific
|
|
45 #if $r
|
|
46 -r
|
|
47 #for $rf in $r
|
|
48 '${re.sub('[^\w\-.]', '_', rf.element_identifier)}'
|
|
49 #end for
|
|
50 #end if
|
|
51 #if $gene_coordinates.use_gtf == "true"
|
|
52 --gtf
|
|
53 #for $g in $gene_coordinates.gtf
|
|
54 '${re.sub('[^\w\-.]', '_', g.element_identifier)}'
|
|
55 #end for
|
|
56 $gene_coordinates.disable_infer_genes
|
|
57 $gene_coordinates.disable_infer_transcripts
|
|
58 #end if
|
|
59 $prokaryote
|
|
60 --min_alignment '$min_alignment'
|
|
61 #if "pdf" not in $out_sr and "plots" not in $out_add
|
|
62 --no_plots
|
|
63 #end if
|
|
64 $blat
|
|
65 $busco_lineage
|
|
66 $gene_mark
|
|
67 --lower_threshold $lower_threshold
|
|
68 --upper_threshold $upper_threshold
|
|
69 -o outputdir
|
|
70 && mkdir details
|
|
71 #for $i in $input
|
|
72 #set basename = os.path.splitext(re.sub('[^\w\-.]', '_', $i.element_identifier))[0]
|
|
73 &&
|
|
74 (for f in \$(find 'outputdir/'$basename'_output' -type f);
|
|
75 do
|
|
76 d=\$(dirname \$f | cut -d"/" -f2 | cut -d'_' -f1) &&
|
|
77 mv \$f details/"\$d"_____"\$(basename \$f)";
|
|
78 done)
|
|
79 #end for
|
|
80 ## rename .list files to .txt files to make them detectable (format detection by extension)
|
|
81 ## the final `true` seems needed since otherwise the `;` at the end is swallowed
|
|
82 && find details/ -name "*.list" -exec mv {} {}.txt \;
|
|
83 && true
|
|
84 ]]></command>
|
|
85 <inputs>
|
|
86 <param name="input" type="data" format="fasta" multiple="true" label="Chromosomes/scaffolds file"/>
|
|
87 <param name="strand_specific" argument="-ss" type="boolean" truevalue="-ss" falsevalue="" checked="false" label="Strand-specific"/>
|
|
88 <param name="r" optional="true" argument="-r" type="data" format="fasta" multiple="true" label="Reference genome" />
|
|
89 <conditional name="gene_coordinates">
|
|
90 <param name="use_gtf" type="select" label="Use file with gene coordinates in GTF/GFF format?" help="We recommend to use files downloaded from GENCODE or Ensembl.">
|
|
91 <option value="true" selected="true">Yes</option>
|
|
92 <option value="false">No</option>
|
|
93 </param>
|
|
94 <when value="true">
|
3
|
95 <param name="gtf" argument="--gtf" type="data" format="gtf,gff,gff3" multiple="true" label="GTF/GFF file"/>
|
0
|
96 <param argument="--disable_infer_genes" type="boolean" truevalue="--disable_infer_genes" falsevalue="" checked="false" label=" GTF file contains genes records?"/>
|
|
97 <param argument="--disable_infer_transcripts" type="boolean" truevalue="--disable_infer_transcripts" falsevalue="" checked="false" label="GTF file contains transcripts records?"/>
|
|
98 </when>
|
|
99 <when value="false">
|
|
100 </when>
|
|
101 </conditional>
|
|
102 <param argument="--prokaryote" type="boolean" truevalue="--prokaryote" falsevalue="" checked="false" label="Is genome prokararyotic?"/>
|
|
103 <param argument="--min_alignment" type="integer" value="50" label="Minimal alignment length to be used"/>
|
|
104 <param argument="--blat" type="boolean" truevalue="--blat" falsevalue="" checked="false" label="Run with BLAT alignment tool instead of GMAP?" />
|
|
105 <param argument="--busco_lineage" type="boolean" truevalue="--busco_lineage" falsevalue="" checked="false" label="Run BUSCO tool?" help="The BUSCO tool detects core genes in the assembly. Use this option to provide path to the BUSCO lineage data (Eukaryota, Metazoa, Arthropoda, Vertebrata or Fungi)."/>
|
|
106 <param argument="--gene_mark" type="boolean" truevalue="--gene_mark" falsevalue="" checked="false" label="Run with GeneMarkS-T gene prediction tool?"/>
|
|
107 <param argument="--lower_threshold" type="integer" value="50" label="Lower threshold for x_assembled/covered/matched metrics."/>
|
|
108 <param argument="--upper_threshold" type="integer" value="95" label="Upper threshold for x_assembled/covered/matched metrics."/>
|
|
109 <param name="out_sr" type="select" multiple="true" label="Short report formats">
|
|
110 <option value="tsv" selected="true">tabular</option>
|
|
111 <option value="txt">txt</option>
|
|
112 <option value="tex">tex</option>
|
|
113 <option value="pdf" selected="true">pdf</option>
|
|
114 </param>
|
|
115 <param name="out_add" type="select" multiple="true" label="Additional outputs">
|
|
116 <option value="logs">Logs</option>
|
|
117 <option value="plots" selected="true">Plots (only for n>1)</option>
|
|
118 <option value="comparison" selected="true">Comparison for Chromosomes/scaffolds files (only for n>1)</option>
|
|
119 <option value="details" selected="true">Details per Chromosomes/scaffolds file</option>
|
|
120 <option value="details_plots" selected="true">Details per Chromosomes/scaffolds file as plot</option>
|
|
121 </param>
|
|
122 </inputs>
|
|
123
|
|
124 <outputs>
|
|
125 <data name="short_report_pdf" format="pdf" label="${tool.name} on ${on_string}: pdf report" from_work_dir="outputdir/short_report.pdf">
|
|
126 <filter>"pdf" in out_sr</filter>
|
|
127 </data>
|
|
128 <data name="short_report_txt" format="txt" label="${tool.name} on ${on_string}: txt report" from_work_dir="outputdir/short_report.txt">
|
|
129 <filter>"txt" in out_sr</filter>
|
|
130 </data>
|
|
131 <data name="short_report_tex" format="txt" label="${tool.name} on ${on_string}: tex report" from_work_dir="outputdir/short_report.tex">
|
|
132 <filter>"tex" in out_sr</filter>
|
|
133 </data>
|
|
134 <data name="short_report_tsv" format="tabular" label="${tool.name} on ${on_string}: tsv report" from_work_dir="outputdir/short_report.tsv">
|
|
135 <filter>"tsv" in out_sr</filter>
|
|
136 </data>
|
|
137 <collection name="list_logs" type="list" label="${tool.name} on ${on_string}: logs" >
|
|
138 <discover_datasets ext="txt" pattern="(?P<name>.+)\.log" directory="outputdir/logs/" visible="false" />
|
|
139 <filter>"logs" in out_add</filter>
|
|
140 </collection>
|
3
|
141 <collection name="comparison_png" type="list" label="${tool.name} on ${on_string}: comparison plots" >
|
0
|
142 <discover_datasets ext="png" pattern="(?P<name>.+)\.png" directory="outputdir/comparison_output/" visible="false" recurse="true"/>
|
3
|
143 <filter> len(input)>1 and "plots" in out_add</filter>
|
0
|
144 </collection>
|
3
|
145 <collection name="comparison" type="list" label="${tool.name} on ${on_string}: comparison" >
|
0
|
146 <discover_datasets ext="txt" pattern="(?P<name>.+)\.txt" directory="outputdir/comparison_output/" visible="false" recurse="true" />
|
|
147 <filter> len(input)>1 and "comparison" in out_add</filter>
|
|
148 </collection>
|
3
|
149 <collection name="details" type="list:list" label="${tool.name} on ${on_string}: detailed output">
|
0
|
150 <discover_datasets pattern="(?P<identifier_0>.+)_____(?P<identifier_1>.+)\.(?P<ext>txt)" directory="details/" visible="false"/>
|
2
|
151 <filter>"details" in out_add</filter>
|
0
|
152 </collection>
|
3
|
153 <collection name="details_png" type="list:list" label="${tool.name} on ${on_string}: detailed output plots">
|
0
|
154 <discover_datasets pattern="(?P<identifier_0>.+)_____(?P<identifier_1>.+)\.(?P<ext>png)" directory="details/" visible="false"/>
|
2
|
155 <filter>"details_plots" in out_add</filter>
|
0
|
156 </collection>
|
|
157 </outputs>
|
|
158 <tests>
|
|
159 <test expect_num_outputs="7">
|
|
160 <param name="input" value="idba.fasta,Trinity.fasta" ftype="fasta" />
|
|
161 <param name="r" value="Saccharomyces_cerevisiae.R64-1-1.75.dna.toplevel.fa" ftype="fasta" />
|
|
162 <conditional name="gene_coordinates">
|
|
163 <param name="use_gtf" value="true" />
|
|
164 <param name="gtf" value="Saccharomyces_cerevisiae.R64-1-1.75.gtf" ftype="gtf" />
|
|
165 <param name="disable_infer_genes" value="true"/>
|
|
166 <param name="disable_infer_transcripts" value="true"/>
|
|
167 </conditional>
|
|
168 <param name="out_sr" value="txt,tex,tsv" />
|
|
169 <param name="out_add" value="logs,comparison,plots,details" />
|
|
170 <output name="short_report_txt">
|
|
171 <assert_contents>
|
|
172 <has_text text="SHORT SUMMARY REPORT"/>
|
|
173 </assert_contents>
|
|
174 </output>
|
|
175 <output name="short_report_tex">
|
|
176 <assert_contents>
|
|
177 <has_text text="Short summary report"/>
|
|
178 <has_text text="end{document}"/>
|
|
179 </assert_contents>
|
|
180 </output>
|
|
181 <output name="short_report_tsv">
|
|
182 <assert_contents>
|
|
183 <has_line_matching expression="^METRICS/TRANSCRIPTS\tidba\tTrinity$"/>
|
|
184 </assert_contents>
|
|
185 </output>
|
3
|
186 <output_collection name="comparison_png" type="list" count="15"/>
|
|
187 <output_collection name="comparison" type="list" count="19"/>
|
0
|
188 <output_collection name="list_logs" type="list" count="8"/>
|
3
|
189 <output_collection name="details" type="list:list" count="2">
|
|
190 <output_collection name="Trinity" type="list" count="21"/>
|
|
191 <output_collection name="idba" type="list" count="21"/>
|
0
|
192 </output_collection>
|
|
193 </test>
|
|
194 <test expect_num_outputs="8">
|
3
|
195 <param name="input" value="Trinity.fasta" ftype="fasta" />
|
0
|
196 <conditional name="gene_coordinates">
|
|
197 <param name="use_gtf" value="false" />
|
|
198 </conditional>
|
|
199 <param name="min_alignment" value="30" />
|
|
200 <param name="lower_threshold" value="45" />
|
|
201 <param name="upper_threshold" value="95"/>
|
|
202 <param name="out_sr" value="txt,tex,tsv,pdf" />
|
3
|
203 <param name="out_add" value="logs,details_plots" />
|
0
|
204 <output name="short_report_pdf" file="short_report.pdf" compare="sim_size"/>
|
|
205 <output name="short_report_txt" file="short_report.txt" compare="sim_size"/>
|
|
206 <output name="short_report_tex" file="short_report.tex" compare="sim_size"/>
|
|
207 <output name="short_report_tsv" file="short_report.tsv" compare="sim_size"/>
|
|
208 <output_collection name="list_logs" type="list">
|
|
209 <element name="rnaQUAST" file="rnaQUAST"/>
|
3
|
210 <element name="Trinity.GeneMarkS_T.err" file="spades.311.GeneMarkS_T.err"/>
|
0
|
211 </output_collection>
|
3
|
212 <output_collection name="details_png" type="list:list" count="1">
|
|
213 <output_collection name="Trinity" type="list" count="11"/>
|
0
|
214 </output_collection>
|
|
215 </test>
|
|
216 </tests>
|
|
217 <help><![CDATA[
|
3
|
218 **What is rnaQUAST**
|
|
219 - a quality assessment tool for de novo transcriptome assemblies
|
|
220 - evaluating RNA-Seq assembly quality and benchmarking transcriptome assemblers using reference genome and gene database
|
|
221 - calculates various metrics that demonstrate completeness and correctness levels of the assembled transcripts
|
0
|
222
|
3
|
223 **Using rnaQuast without reference** you wont get:
|
|
224
|
|
225 - x-assembled (Exons)
|
|
226 - Alignments per Isoform
|
|
227 - x-covered (Exons)
|
|
228 - x-matched (Blocks)
|
|
229 - gmap build logs
|
0
|
230
|
|
231 **Using rnaQuast with reference** you will get:
|
3
|
232 - Reports
|
|
233 - Logs
|
|
234 - Alignement/Basic Metrics
|
|
235 - Misassemblies/ Specificity/ Sensitivity
|
0
|
236 - Alignment multiplicity
|
3
|
237 - Block/ Transcript Lentgh
|
0
|
238 - Blocks per alignment
|
|
239 - Mismatch rate
|
3
|
240 - x-aligned
|
|
241 - Nx
|
|
242 - Blocks per alignment
|
|
243 - gmap build logs
|
|
244
|
|
245 **Using rnaQuast without gene coordinates** you wont get:
|
|
246 - x-assembled (Exons)
|
|
247 - Alignments per Isoform
|
|
248 - x-covered (Exons)
|
|
249 - x-matched (Blocks)
|
|
250 - gmap build logs
|
0
|
251 - Database Metrics
|
3
|
252 - Alignment multiplicity
|
|
253 - Mismatch rate
|
|
254 - NAx
|
|
255 - x-aligned
|
|
256 **Using rnaQuast with gene coordinates** you will get:
|
|
257 - Reports
|
|
258 - Logs
|
|
259 - Alignement/Basic Metrics
|
|
260 - Misassemblies/Specificity/Sensitivity
|
|
261 - Alignment multiplicity
|
|
262 - Block/Transcript length
|
|
263 - Blocks per alignment
|
|
264 - Mismatch rate
|
|
265 - x-aligned
|
|
266 - Nx/NAx
|
|
267 - gmap build logs
|
|
268 - Database Metrics
|
|
269 - Alignment multiplicity
|
|
270 More informations, see citations.
|
0
|
271 ]]></help>
|
|
272 <citations>
|
|
273 <citation type="doi">10.1093/bioinformatics/btw218 </citation>
|
|
274 </citations>
|
|
275 </tool>
|