comparison gffcompare.xml @ 3:2bb86e2c417f draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gffcompare commit c8a752199588db982182cbe7fffbcb8512313526
author iuc
date Mon, 27 May 2019 13:54:15 -0400
parents f99d7825a501
children 0f710191a66d
comparison
equal deleted inserted replaced
2:f99d7825a501 3:2bb86e2c417f
1 <tool id="gffcompare" name="GffCompare" version="0.10.6"> 1 <tool id="gffcompare" name="GffCompare" version="@GFFCOMPARE_VERSION@">
2 <description>compare assembled transcripts to a reference annotation</description> 2 <description>compare assembled transcripts to a reference annotation</description>
3 <requirements> 3 <macros>
4 <requirement type="package" version="0.10.6">gffcompare</requirement> 4 <token name="@GFFCOMPARE_VERSION@">0.11.2</token>
5 </macros>
6 <requirements>
7 <requirement type="package" version="@GFFCOMPARE_VERSION@">gffcompare</requirement>
5 </requirements> 8 </requirements>
6 <version_command>gffcompare -v | awk '{print $2}'</version_command> 9 <version_command>gffcompare -v | awk '{print $2}'</version_command>
7 <command detect_errors="aggressive"><![CDATA[ 10 <command detect_errors="aggressive"><![CDATA[
8 #import re 11 #import re
12
9 #set escaped_element_identifiers = [re.sub('[^\w\-]', '_', str(_.element_identifier)) for _ in $gffinputs] 13 #set escaped_element_identifiers = [re.sub('[^\w\-]', '_', str(_.element_identifier)) for _ in $gffinputs]
10 #for $input, $escaped_element_identifier in zip($gffinputs, $escaped_element_identifiers): 14 #for $input, $escaped_element_identifier in zip($gffinputs, $escaped_element_identifiers):
11 ln -s '$input' '$escaped_element_identifier' && 15 ln -s '$input' '$escaped_element_identifier' &&
12 #end for 16 #end for
13 #if $seq_data.use_seq_data == "Yes": 17 #if $seq_data.use_seq_data == "Yes":
16 #else: 20 #else:
17 ln -s '${seq_data.seq_source.index.fields.path}' ref_seq.fa && 21 ln -s '${seq_data.seq_source.index.fields.path}' ref_seq.fa &&
18 #end if 22 #end if
19 #end if 23 #end if
20 24
25 #if $annotation.use_ref_annotation == "Yes":
26 #if $annotation.ref_source.ref_source_sel == "history":
27 ln -s '$annotation.ref_source.reference_annotation' ref_annotation &&
28 #else
29 ln -s '$annotation.ref_source.index.fields.path' ref_annotation &&
30 #end if
31 #end if
32
21 gffcompare 33 gffcompare
22 ## Use annotation reference? 34 ## Use annotation reference?
23 #if $annotation.use_ref_annotation == "Yes": 35 #if $annotation.use_ref_annotation == "Yes":
24 -r '$annotation.reference_annotation' 36 -r ref_annotation
25 $annotation.ignore_nonoverlapping_reference 37 $annotation.ignore_nonoverlapping_reference
26 $annotation.ignore_nonoverlapping_transfrags 38 $annotation.ignore_nonoverlapping_transfrags
27 #if not $annotation.refmap_tmap: 39 $annotation.strict_match
28 -T 40 #end if
29 #end if 41 #if $annotation.refmap_tmap == "":
42 -T
30 #end if 43 #end if
31 44
32 ## Use sequence data? 45 ## Use sequence data?
33 #if $seq_data.use_seq_data == "Yes": 46 #if $seq_data.use_seq_data == "Yes":
34 -s ref_seq.fa 47 -s ref_seq.fa
35 #end if 48 #end if
36 49
37 $discard_single_exon 50 $discard_single_exon
51 $discard_duplicates
38 -e $max_dist_exon 52 -e $max_dist_exon
39 -d $max_dist_group 53 -d $max_dist_group
54 $chr_stats
40 -p '$adv_output.p' 55 -p '$adv_output.p'
41 $adv_output.A 56 $adv_output.A
42 $adv_output.C 57 $adv_output.C
43 $adv_output.X 58 $adv_output.X
44 $adv_output.K 59 $adv_output.K
54 <param label="Use Reference Annotation" name="use_ref_annotation" type="select"> 69 <param label="Use Reference Annotation" name="use_ref_annotation" type="select">
55 <option value="No">No</option> 70 <option value="No">No</option>
56 <option value="Yes">Yes</option> 71 <option value="Yes">Yes</option>
57 </param> 72 </param>
58 <when value="Yes"> 73 <when value="Yes">
59 <param argument="-r" format="gff3,gtf" help="Requires an annotation file in GFF3 or GTF format." label="Reference Annotation" name="reference_annotation" type="data" /> 74 <conditional name="ref_source">
75 <param label="Choose the source for the reference annotation" name="ref_source_sel" type="select">
76 <option value="cached">Locally cached</option>
77 <option value="history">History</option>
78 </param>
79 <when value="cached">
80 <param argument="-r" label="Using reference annotation" name="index" type="select">
81 <options from_data_table="gene_sets">
82 <filter column="1" key="dbkey" ref="gffinputs" type="data_meta" />
83 </options>
84 <validator message="No reference annotation is available for the build associated with the selected input dataset" type="no_options" />
85 </param>
86 </when>
87 <when value="history">
88 <param argument="-r" format="gff3,gtf" help="Requires an annotation file in GFF3 or GTF format." label="Reference Annotation" name="reference_annotation" type="data" />
89 </when>
90 </conditional>
60 <param argument="-R" falsevalue="" help="consider only the reference transcripts that overlap any of the input transfrags (Sn correction)" label="Ignore reference transcripts that are not overlapped by any input transfrags" name="ignore_nonoverlapping_reference" truevalue="-R" type="boolean" /> 91 <param argument="-R" falsevalue="" help="consider only the reference transcripts that overlap any of the input transfrags (Sn correction)" label="Ignore reference transcripts that are not overlapped by any input transfrags" name="ignore_nonoverlapping_reference" truevalue="-R" type="boolean" />
61 <param argument="-Q" falsevalue="" help="consider only the input transcripts that overlap any of the reference transcripts (Sp correction). Warning: this will discard all 'novel' loci!" label="Ignore input transcripts that are not overlapped by any reference transcripts" name="ignore_nonoverlapping_transfrags" truevalue="-Q" type="boolean" /> 92 <param argument="-Q" falsevalue="" help="consider only the input transcripts that overlap any of the reference transcripts (Sp correction). Warning: this will discard all 'novel' loci!" label="Ignore input transcripts that are not overlapped by any reference transcripts" name="ignore_nonoverlapping_transfrags" truevalue="-Q" type="boolean" />
62 <param argument="-T" name="refmap_tmap" label="Generate tmap and refmap files for each input file" type="select" multiple="True"> 93 <param argument="--strict-match" name="strict_match" type="boolean" checked="false" truevalue="--strict-match" falsevalue="" label="the match code '=' is only assigned when all exon boundaries match" help="code '~' is assigned for intron chain match or single-exon" />
94 <param argument="-T" name="refmap_tmap" label="Generate tmap or refmap file for each input file" type="select" multiple="True">
63 <option value="refmap" selected="True">refmap</option> 95 <option value="refmap" selected="True">refmap</option>
64 <option value="tmap" selected="True">tmap</option> 96 <option value="tmap" selected="True">tmap</option>
65 </param> 97 </param>
66 </when> 98 </when>
67 <when value="No"> 99 <when value="No">
100 <param argument="-T" name="refmap_tmap" label="Generate tmap file for each input file" type="select" multiple="True">
101 <option value="tmap" selected="True">tmap</option>
102 </param>
68 </when> 103 </when>
69 </conditional> 104 </conditional>
70 <conditional name="seq_data"> 105 <conditional name="seq_data">
71 <param help="Use sequence data for some optional classification functions, including the addition of the p_id attribute required by Cuffdiff." label="Use Sequence Data" name="use_seq_data" type="select"> 106 <param help="Use sequence data for some optional classification functions, including the addition of the p_id attribute required by Cuffdiff." label="Use Sequence Data" name="use_seq_data" type="select">
107 <option value="No">No</option>
72 <option value="Yes">Yes</option> 108 <option value="Yes">Yes</option>
73 <option value="No">No</option>
74 </param> 109 </param>
75 <when value="No"/> 110 <when value="No"/>
76 <when value="Yes"> 111 <when value="Yes">
77 <conditional name="seq_source"> 112 <conditional name="seq_source">
78 <param label="Choose the source for the reference list" name="index_source" type="select"> 113 <param label="Choose the source for the reference sequence" name="index_source" type="select">
79 <option value="cached">Locally cached</option> 114 <option value="cached">Locally cached</option>
80 <option value="history">History</option> 115 <option value="history">History</option>
81 </param> 116 </param>
82 <when value="cached"> 117 <when value="cached">
83 <param argument="-s" label="Using reference genome" name="index" type="select"> 118 <param argument="-s" label="Using reference genome" name="index" type="select">
84 <options from_data_table="fasta_indexes"> 119 <options from_data_table="fasta_indexes">
85 <filter column="1" key="dbkey" ref="gffinputs" type="data_meta" /> 120 <filter column="1" key="dbkey" ref="gffinputs" type="data_meta" />
86 <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options" />
87 </options> 121 </options>
122 <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options" />
88 </param> 123 </param>
89 </when> 124 </when>
90 <when value="history"> 125 <when value="history">
91 <param argument="-s" format="fasta" label="Using reference file" name="ref_file" type="data" /> 126 <param argument="-s" format="fasta" label="Using reference file" name="ref_file" type="data" />
92 </when> 127 </when>
93 </conditional> 128 </conditional>
94 </when> 129 </when>
95 </conditional> 130 </conditional>
96 <param argument="-M/-N" label="discard (ignore) single-exon transcripts" name="discard_single_exon" type="select"> 131 <param name="discard_single_exon" argument="-M/-N" type="select" label="Discard single-exon transcripts" help="If -S and also --strict-match is given, exact matching of all exon boundaries is required">
97 <option selected="True" value="">No</option> 132 <option selected="True" value="">No</option>
98 <option value="-M">Discard single-exon transfrags and reference transcripts</option> 133 <option value="-M">Discard single-exon transfrags and reference transcripts</option>
99 <option value="-N">Discard single-exon reference transcripts</option> 134 <option value="-N">Discard single-exon reference transcripts</option>
100 </param> 135 </param>
136 <param label="Discard duplicates" name="discard_duplicates" type="select">
137 <option value="">None</option>
138 <option value="-D">discard 'duplicate' query transfrags within a single sample (-D)</option>
139 <option value="-S">Only discard 'duplicate' query or reference transcripts if their boundaries are fully contained within other, larger or identical transfrags (-S)</option>
140 </param>
141 <param name="no_merge" argument="--no-merge" type="boolean" checked="false" truevalue="--no-merge" falsevalue="" label="Disable close-exon merging" help="Default: merge exons separated by 'introns' shorter than 5 bases" />
101 <param argument="-e" help="max. distance (range) allowed from free ends of terminal exons of reference transcripts when assessing exon accuracy. Default: 100" label="Max. Distance for assessing exon accuracy" name="max_dist_exon" type="integer" value="100" /> 142 <param argument="-e" help="max. distance (range) allowed from free ends of terminal exons of reference transcripts when assessing exon accuracy. Default: 100" label="Max. Distance for assessing exon accuracy" name="max_dist_exon" type="integer" value="100" />
102 <param argument="-d" help="max. distance (range) for grouping transcript start sites. Default: 100" label="Max distance for transcript grouping" name="max_dist_group" type="integer" value="100" /> 143 <param argument="-d" help="max. distance (range) for grouping transcript start sites. Default: 100" label="Max distance for transcript grouping" name="max_dist_group" type="integer" value="100" />
103 <section name="adv_output" title="Options for the annotated/combined GTF output file"> 144 <param name="chr_stats" argument="--chr-stats" type="boolean" checked="false" truevalue="--chr-stats" falsevalue="" label="Show summary and accuracy data separately for each reference sequence in the transcript accuracy data set" />
145 <section name="adv_output" title="Options for the combined GTF output file">
104 <param argument="-p" type="text" value="TCONS" label="name prefix for consensus transcripts" help="for combined.gtf (default: 'TCONS')" /> 146 <param argument="-p" type="text" value="TCONS" label="name prefix for consensus transcripts" help="for combined.gtf (default: 'TCONS')" />
105 <param argument="-C" type="boolean" checked="false" truevalue="-C" falsevalue="" label="discard the 'contained' transfrags" help="i.e. collapse intron-redundant transfrags across all query files" /> 147 <param argument="-C" type="boolean" checked="false" truevalue="-C" falsevalue="" label="discard matching and 'contained' transfrags" help="i.e. collapse intron-redundant transfrags across all query files" />
106 <param argument="-A" type="boolean" checked="false" truevalue="-A" falsevalue="" label="discard the 'contained' transfrags except intron-redundant transfrags starting with a different 5' exon" help="like -C but does not discard intron-redundant transfrags if they start with a different 5' exon" /> 148 <param argument="-A" type="boolean" checked="false" truevalue="-A" falsevalue="" label="discard the 'contained' transfrags except intron-redundant transfrags starting with a different 5' exon" help="like -C but does not discard intron-redundant transfrags if they start with a different 5' exon" />
107 <param argument="-X" type="boolean" checked="false" truevalue="-X" falsevalue="" label="discard the 'contained' transfrags also if ends stick out within the container's introns" help="like -C but also discard contained transfrags if transfrag ends stick out within the container's introns" /> 149 <param argument="-X" type="boolean" checked="false" truevalue="-X" falsevalue="" label="discard the 'contained' transfrags also if ends stick out within the container's introns" help="like -C but also discard contained transfrags if transfrag ends stick out within the container's introns" />
108 <param argument="-K" type="boolean" checked="false" truevalue="-A" falsevalue="" label="do NOT discard any redundant transfrag matching a reference" help="for -C/-A/-X" /> 150 <param argument="-K" type="boolean" checked="false" truevalue="-K" falsevalue="" label="do NOT discard any redundant transfrag matching a reference" help="for -C/-A/-X" />
109 </section> 151 </section>
110 </inputs> 152 </inputs>
111 <outputs> 153 <outputs>
112 <data format="txt" from_work_dir="gffcmp.stats" label="${tool.name} on ${on_string}: transcript accuracy" name="transcripts_stats" /> 154 <data format="txt" from_work_dir="gffcmp.stats" label="${tool.name} on ${on_string}: transcript accuracy" name="transcripts_stats" />
113 <data format="tabular" from_work_dir="gffcmp.loci" label="${tool.name} on ${on_string}: loci" name="transcripts_loci" /> 155 <data format="tabular" from_work_dir="gffcmp.loci" label="${tool.name} on ${on_string}: loci" name="transcripts_loci" />
114 <data format="tabular" from_work_dir="gffcmp.tracking" label="${tool.name} on ${on_string}: data ${gffinputs[0].hid} tracking file" name="transcripts_tracking" /> 156 <data format="tabular" from_work_dir="gffcmp.tracking" label="${tool.name} on ${on_string}: data ${gffinputs[0].hid} tracking file" name="transcripts_tracking" />
115 <data format="gtf" from_work_dir="gffcmp.combined.gtf" label="${tool.name} on ${on_string}: combined transcripts" name="transcripts_combined"> 157 <data format="gtf" from_work_dir="gffcmp.combined.gtf" label="${tool.name} on ${on_string}: combined transcripts" name="transcripts_combined">
116 <filter>isinstance(gffinputs, list)</filter> 158 <filter>(isinstance(gffinputs, list) and len(gffinputs) > 1) or annotation['use_ref_annotation'] == "No"</filter>
117 </data> 159 </data>
118 <data format="gtf" from_work_dir="gffcmp.annotated.gtf" label="${tool.name} on ${on_string}: annotated transcripts" name="transcripts_annotated"> 160 <data format="gtf" from_work_dir="gffcmp.annotated.gtf" label="${tool.name} on ${on_string}: annotated transcripts" name="transcripts_annotated">
119 <filter>not isinstance(gffinputs, list)</filter> 161 <filter>not (isinstance(gffinputs, list) and len(gffinputs) > 1) and annotation['use_ref_annotation'] == "Yes"</filter>
120 </data> 162 </data>
121 <collection name="refmap_output" type="list" label="${tool.name} on ${on_string}: refmap"> 163 <collection name="refmap_output" type="list" label="${tool.name} on ${on_string}: refmap">
122 <discover_datasets pattern="gffcmp\.(?P&lt;designation&gt;.+)\.refmap" ext="tabular" /> 164 <discover_datasets pattern="gffcmp\.(?P&lt;designation&gt;.+)\.refmap" ext="tabular" />
123 <filter>annotation['use_ref_annotation'] == 'Yes' and annotation['refmap_tmap'] != None and 'refmap' in annotation['refmap_tmap']</filter> 165 <filter>annotation['refmap_tmap'] != None and 'refmap' in annotation['refmap_tmap']</filter>
124 </collection> 166 </collection>
125 <collection name="tmap_output" type="list" label="${tool.name} on ${on_string}: tmap"> 167 <collection name="tmap_output" type="list" label="${tool.name} on ${on_string}: tmap">
126 <discover_datasets pattern="gffcmp\.(?P&lt;designation&gt;.+)\.tmap" ext="tabular" /> 168 <discover_datasets pattern="gffcmp\.(?P&lt;designation&gt;.+)\.tmap" ext="tabular" />
127 <filter>annotation['use_ref_annotation'] == 'Yes' and annotation['refmap_tmap'] != None and 'tmap' in annotation['refmap_tmap']</filter> 169 <filter>annotation['refmap_tmap'] != None and 'tmap' in annotation['refmap_tmap']</filter>
128 </collection> 170 </collection>
129 </outputs> 171 </outputs>
130 <tests> 172 <tests>
173 <!-- 2 inputs, no reference, default options -->
174 <test expect_num_outputs="5">
175 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" />
176 <conditional name="annotation">
177 <param name="use_ref_annotation" value="No" />
178 </conditional>
179 <conditional name="seq_data">
180 <param name="use_seq_data" value="No" />
181 </conditional>
182 <assert_command>
183 <not_has_text text="-R " />
184 <not_has_text text="-Q " />
185 <not_has_text text="--strict-match " />
186 <not_has_text text="-T " />
187 <not_has_text text="-s " />
188 <not_has_text text="-M " />
189 <not_has_text text="-N " />
190 <has_text text="-e 100 " />
191 <has_text text="-d 100 " />
192 <not_has_text text="-D " />
193 <not_has_text text="--no-merge " />
194 <has_text text="-p TCONS " />
195 <not_has_text text="-C " />
196 <not_has_text text="-A " />
197 <not_has_text text="-X " />
198 <not_has_text text="-K " />
199 </assert_command>
200 <output file="gffcompare_out1.stats" name="transcripts_stats" />
201 <output file="gffcompare_out1.loci" name="transcripts_loci" />
202 <output file="gffcompare_out1.tracking" name="transcripts_tracking" />
203 <output file="gffcompare_out1.gtf" name="transcripts_combined" />
204 <output_collection name="tmap_output" type="list" count="2"/>
205 </test>
206 <!-- 2 inputs, no reference, with refsequence, default options (but disable tmap output) -->
207 <test expect_num_outputs="4">
208 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" />
209 <conditional name="annotation">
210 <param name="use_ref_annotation" value="No" />
211 <param name="refmap_tmap" value=""/>
212 </conditional>
213 <conditional name="seq_data">
214 <param name="use_seq_data" value="Yes" />
215 <conditional name="seq_source">
216 <param name="index_source" value="history"/>
217 <param name="ref_file" ftype="fasta" value="sequence.fa"/>
218 </conditional>
219 </conditional>
220 <assert_command>
221 <not_has_text text="-R " />
222 <not_has_text text="-Q " />
223 <has_text text="-T " />
224 <has_text text="-s " />
225 <not_has_text text="-M " />
226 <not_has_text text="-N " />
227 <has_text text="-e 100 " />
228 <has_text text="-d 100 " />
229 <has_text text="-p TCONS " />
230 <not_has_text text="-C " />
231 <not_has_text text="-A " />
232 <not_has_text text="-X " />
233 <not_has_text text="-K " />
234 </assert_command>
235 <output file="gffcompare_out1.stats" name="transcripts_stats" compare="sim_size" />
236 <output file="gffcompare_out1.loci" name="transcripts_loci" compare="sim_size" />
237 <output file="gffcompare_out1.tracking" name="transcripts_tracking" compare="sim_size" />
238 <output file="gffcompare_out1.gtf" name="transcripts_combined" compare="sim_size" />
239 </test>
240 <!-- 2 inputs, no reference, with cached refsequence, default options (but disable tmap output) -->
241 <test expect_num_outputs="4">
242 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" dbkey="hg17" />
243 <conditional name="annotation">
244 <param name="use_ref_annotation" value="No" />
245 <param name="refmap_tmap" value=""/>
246 </conditional>
247 <conditional name="seq_data">
248 <param name="use_seq_data" value="Yes" />
249 <conditional name="seq_source">
250 <param name="index_source" value="cached"/>
251 <param name="index" value="test_buildid"/>
252 </conditional>
253 </conditional>
254 <assert_command>
255 <not_has_text text="-R " />
256 <not_has_text text="-Q " />
257 <has_text text="-T " />
258 <has_text text="-s " />
259 <not_has_text text="-M " />
260 <not_has_text text="-N " />
261 <has_text text="-e 100 " />
262 <has_text text="-d 100 " />
263 <has_text text="-p TCONS " />
264 <not_has_text text="-C " />
265 <not_has_text text="-A " />
266 <not_has_text text="-X " />
267 <not_has_text text="-K " />
268 </assert_command>
269 <output file="gffcompare_out1.stats" name="transcripts_stats" compare="sim_size" />
270 <output file="gffcompare_out1.loci" name="transcripts_loci" compare="sim_size" />
271 <output file="gffcompare_out1.tracking" name="transcripts_tracking" compare="sim_size" />
272 <output file="gffcompare_out1.gtf" name="transcripts_combined" compare="sim_size" />
273 </test>
274 <!-- 2 inputs and reference, default options -->
131 <test expect_num_outputs="6"> 275 <test expect_num_outputs="6">
132 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" /> 276 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" />
133 <param name="use_ref_annotation" value="Yes" /> 277 <conditional name="annotation">
134 <conditional name="annotation"> 278 <param name="use_ref_annotation" value="Yes" />
135 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" /> 279 <conditional name="ref_source">
280 <param name="ref_source_sel" value="history"/>
281 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" />
282 </conditional>
283 </conditional>
284 <conditional name="seq_data">
285 <param name="use_seq_data" value="No" />
286 </conditional>
287 <assert_command>
288 <not_has_text text="-R " />
289 <not_has_text text="-Q " />
290 <not_has_text text="-T " />
291 <not_has_text text="-M " />
292 <not_has_text text="-N " />
293 <has_text text="-e 100 " />
294 <has_text text="-d 100 " />
295 <has_text text="-p TCONS " />
296 <not_has_text text="-C " />
297 <not_has_text text="-A " />
298 <not_has_text text="-X " />
299 <not_has_text text="-K " />
300 </assert_command>
301 <output file="gffcompare_out2.stats" name="transcripts_stats" lines_diff="6" />
302 <output file="gffcompare_out2.loci" name="transcripts_loci" lines_diff="2" />
303 <output file="gffcompare_out2.tracking" name="transcripts_tracking" />
304 <output file="gffcompare_out2.gtf" name="transcripts_combined" />
305 <output_collection name="refmap_output" type="list" count="2">
306 <element name="gffcompare_in1_gtf" file="gffcompare_out2-1.refmap" ftype="tabular" />
307 <element name="gffcompare_in2_gtf" file="gffcompare_out2-2.refmap" ftype="tabular" />
308 </output_collection>
309 <output_collection name="tmap_output" type="list" count="2">
310 <element name="gffcompare_in1_gtf" file="gffcompare_out2-1.tmap" ftype="tabular" />
311 <element name="gffcompare_in2_gtf" file="gffcompare_out2-2.tmap" ftype="tabular" />
312 </output_collection>
313 </test>
314 <!-- 2 inputs and reference (cached), non default options, only refmap output -->
315 <test expect_num_outputs="5">
316 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" dbkey="hg17" />
317 <conditional name="annotation">
318 <param name="use_ref_annotation" value="Yes" />
319 <conditional name="ref_source">
320 <param name="ref_source_sel" value="cached"/>
321 <param name="index" value="test_buildid"/>
322 </conditional>
323 <param name="ignore_nonoverlapping_reference" value="Yes" />
324 <param name="ignore_nonoverlapping_transfrags" value="Yes" />
325 <param name="strict_match" value="--strict-match" />
326 <param name="refmap_tmap" value="refmap" />
327 </conditional>
328 <conditional name="seq_data">
329 <param name="use_seq_data" value="No" />
330 </conditional>
331 <param name="discard_single_exon" value="-M"/>
332 <param name="discard_duplicates" value="-D"/>
333 <param name="no_merge" value="--no-merge" />
334 <param name="max_dist_exon" value="101" />
335 <param name="max_dist_group" value="99" />
336 <param name="chr_stats" value="--chr-stats" />
337 <assert_command>
338 <has_text text="-R " />
339 <has_text text="-Q " />
340 <has_text text="--strict-match " />
341 <not_has_text text="-T " />
342 <has_text text="-M " />
343 <not_has_text text="-N " />
344 <has_text text="-e 101 " />
345 <has_text text="-d 99 " />
346 <has_text text="-D " />
347 <has_text text="--no-merge " />
348 <has_text text="--chr-stats" />
349 <not_has_text text="-p TCONS " />
350 <not_has_text text="-C " />
351 <not_has_text text="-A " />
352 <not_has_text text="-X " />
353 <not_has_text text="-K " />
354 </assert_command>
355 <output file="gffcompare_out2.stats" name="transcripts_stats" compare="sim_size" />
356 <output file="gffcompare_out2.loci" name="transcripts_loci" compare="sim_size" />
357 <output file="gffcompare_out2.tracking" name="transcripts_tracking" compare="sim_size" />
358 <output file="gffcompare_out2.gtf" name="transcripts_combined" compare="sim_size" delta="50000"/>
359 <output_collection name="refmap_output" type="list" count="0"/> <!-- because of -M no refmaps are created -->
360 </test>
361 <!-- 2 inputs and reference, non default advanced options, only tmap output -->
362 <test expect_num_outputs="5">
363 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" />
364 <conditional name="annotation">
365 <param name="use_ref_annotation" value="Yes" />
366 <conditional name="ref_source">
367 <param name="ref_source_sel" value="history"/>
368 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" />
369 </conditional>
370 <param name="refmap_tmap" value="tmap" />
371 </conditional>
372 <conditional name="seq_data">
373 <param name="use_seq_data" value="No" />
374 </conditional>
375 <section name="adv_output">
376 <param name="p" value="OTHER" />
377 <param name="C" value="-C" />
378 <param name="A" value="-A" />
379 <param name="X" value="-X" />
380 <param name="K" value="-K" />
381 </section>
382 <assert_command>
383 <not_has_text text="-R " />
384 <not_has_text text="-Q " />
385 <not_has_text text="-T " />
386 <not_has_text text="-M " />
387 <not_has_text text="-N " />
388 <has_text text="-e 100 " />
389 <has_text text="-d 100 " />
390 <has_text text="-p OTHER " />
391 <has_text text="-C " />
392 <has_text text="-A " />
393 <has_text text="-X " />
394 <has_text text="-K " />
395 </assert_command>
396 <output file="gffcompare_out2.stats" name="transcripts_stats" compare="sim_size" />
397 <output file="gffcompare_out2.loci" name="transcripts_loci" compare="sim_size" />
398 <output file="gffcompare_out2.tracking" name="transcripts_tracking" compare="sim_size" />
399 <output file="gffcompare_out2.gtf" name="transcripts_combined" compare="sim_size" delta="50000"/>
400 <output_collection name="tmap_output" type="list" count="2"/>
401 </test>
402 <!-- 2 inputs and reference, default options, no tmap or refmap output -->
403 <test expect_num_outputs="4">
404 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" />
405 <conditional name="annotation">
406 <param name="use_ref_annotation" value="Yes" />
407 <conditional name="ref_source">
408 <param name="ref_source_sel" value="history"/>
409 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" />
410 </conditional>
411 <param name="refmap_tmap" value="" />
412 </conditional>
413 <conditional name="seq_data">
414 <param name="use_seq_data" value="No" />
415 </conditional>
416 <assert_command>
417 <not_has_text text="-R " />
418 <not_has_text text="-Q " />
419 <has_text text="-T " />
420 <not_has_text text="-M " />
421 <not_has_text text="-N " />
422 <has_text text="-e 100 " />
423 <has_text text="-d 100 " />
424 <has_text text="-p TCONS " />
425 <not_has_text text="-C " />
426 <not_has_text text="-A " />
427 <not_has_text text="-X " />
428 <not_has_text text="-K " />
429 </assert_command>
430 <output file="gffcompare_out2.stats" name="transcripts_stats" lines_diff="6" />
431 <output file="gffcompare_out2.loci" name="transcripts_loci" lines_diff="2" />
432 <output file="gffcompare_out2.tracking" name="transcripts_tracking" />
433 <output file="gffcompare_out2.gtf" name="transcripts_combined" />
434 </test>
435
436 <test expect_num_outputs="4">
437 <param ftype="gtf" name="gffinputs" value="gffcompare_in4.gtf" />
438 <conditional name="annotation">
439 <param name="use_ref_annotation" value="Yes" />
440 <conditional name="ref_source">
441 <param name="ref_source_sel" value="history"/>
442 <param ftype="gtf" name="reference_annotation" value="gffcompare_in5.gtf" />
443 </conditional>
136 <param name="ignore_nonoverlapping_reference" value="Yes" /> 444 <param name="ignore_nonoverlapping_reference" value="Yes" />
137 <param name="ignore_nonoverlapping_transfrags" value="No" /> 445 <param name="ignore_nonoverlapping_transfrags" value="No" />
446 <param name="refmap_tmap" value="" />
138 </conditional> 447 </conditional>
139 <param name="use_seq_data" value="No" /> 448 <param name="use_seq_data" value="No" />
140 <param name="discard_single_exon" value="" /> 449 <param name="discard_single_exon" value="" />
141 <param name="max_dist_exon" value="100" /> 450 <param name="max_dist_exon" value="100" />
142 <param name="max_dist_group" value="100" /> 451 <param name="max_dist_group" value="100" />
143 <output file="gffcompare_out1.stats" name="transcripts_stats" lines_diff="6" /> 452 <output file="gffcompare_out3.stats" name="transcripts_stats" lines_diff="6" />
144 <output file="gffcompare_out1.loci" name="transcripts_loci" lines_diff="2" /> 453 <output file="gffcompare_out3.loci" name="transcripts_loci" />
145 <output file="gffcompare_out1.tracking" name="transcripts_tracking" /> 454 <output file="gffcompare_out3.tracking" name="transcripts_tracking" />
146 <output file="gffcompare_out1.gtf" name="transcripts_combined" /> 455 <output file="gffcompare_out3.gtf" name="transcripts_annotated" />
147 <output_collection name="refmap_output" type="list" count="2">
148 <element name="gffcompare_in1_gtf" file="gffcompare_out1-1.refmap" ftype="tabular" />
149 <element name="gffcompare_in2_gtf" file="gffcompare_out1-2.refmap" ftype="tabular" />
150 </output_collection>
151 <output_collection name="tmap_output" type="list" count="2">
152 <element name="gffcompare_in1_gtf" file="gffcompare_out1-1.tmap" ftype="tabular" />
153 <element name="gffcompare_in2_gtf" file="gffcompare_out1-2.tmap" ftype="tabular" />
154 </output_collection>
155 </test>
156 <test expect_num_outputs="4">
157 <param ftype="gtf" name="gffinputs" value="gffcompare_in4.gtf" />
158 <param name="use_ref_annotation" value="Yes" />
159 <conditional name="annotation">
160 <param ftype="gtf" name="reference_annotation" value="gffcompare_in5.gtf" />
161 <param name="ignore_nonoverlapping_reference" value="Yes" />
162 <param name="ignore_nonoverlapping_transfrags" value="No" />
163 <param name="refmap_tmap" value="" />
164 </conditional>
165 <param name="use_seq_data" value="No" />
166 <param name="discard_single_exon" value="" />
167 <param name="max_dist_exon" value="100" />
168 <param name="max_dist_group" value="100" />
169 <output file="gffcompare_out2.stats" name="transcripts_stats" lines_diff="6" />
170 <output file="gffcompare_out2.loci" name="transcripts_loci" />
171 <output file="gffcompare_out2.tracking" name="transcripts_tracking" />
172 <output file="gffcompare_out2.gtf" name="transcripts_annotated" />
173 </test> 456 </test>
174 </tests> 457 </tests>
175 <help> 458 <help>
176 <![CDATA[ 459 <![CDATA[
177 **GffCompare Overview** 460 **GffCompare Overview**
179 ## GffCompare 462 ## GffCompare
180 * compare and evaluate the accuracy of RNA-Seq transcript assemblers (Cufflinks, Stringtie). 463 * compare and evaluate the accuracy of RNA-Seq transcript assemblers (Cufflinks, Stringtie).
181 * collapse (merge) duplicate transcripts from multiple GTF/GFF3 files (e.g. resulted from assembly of different samples) 464 * collapse (merge) duplicate transcripts from multiple GTF/GFF3 files (e.g. resulted from assembly of different samples)
182 * classify transcripts from one or multiple GTF/GFF3 files as they relate to reference transcripts provided in a 465 * classify transcripts from one or multiple GTF/GFF3 files as they relate to reference transcripts provided in a
183 annotation file (also in GTF/GFF3 format) 466 annotation file (also in GTF/GFF3 format)
467
468 More information can be found here: https://ccb.jhu.edu/software/stringtie/gffcompare.shtml.
184 469
185 The original form of this program is also distributed as part of the Cufflinks suite, under the name "CuffCompare" 470 The original form of this program is also distributed as part of the Cufflinks suite, under the name "CuffCompare"
186 (see manual: http://cole-trapnell-lab.github.io/cufflinks/cuffcompare/). Most of the options and parameters of CuffCompare 471 (see manual: http://cole-trapnell-lab.github.io/cufflinks/cuffcompare/). Most of the options and parameters of CuffCompare
187 are supported by GffCompare, while new features will likely be added to GffCompare in the future. 472 are supported by GffCompare, while new features will likely be added to GffCompare in the future.
188 473