comparison gffcompare.xml @ 8:3b8c94e2674a draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gffcompare commit c62791a7ff6fef8cb19b84465662d13effaffe1d
author iuc
date Tue, 13 May 2025 19:03:30 +0000
parents 832c22dd7578
children
comparison
equal deleted inserted replaced
7:832c22dd7578 8:3b8c94e2674a
1 <tool id="gffcompare" name="GffCompare" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05"> 1 <tool id="gffcompare" name="GffCompare" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.2">
2 <description>compare assembled transcripts to a reference annotation</description> 2 <description>compare assembled transcripts to a reference annotation</description>
3 <macros> 3 <macros>
4 <import>macros.xml</import> 4 <import>macros.xml</import>
5 </macros> 5 </macros>
6 <xrefs> 6 <xrefs>
7 <xref type="bio.tools">gffcompare</xref> 7 <xref type="bio.tools">gffcompare</xref>
8 </xrefs> 8 </xrefs>
9 <expand macro="requirements" /> 9 <expand macro="requirements"/>
10 <version_command>gffcompare -v | awk '{print $2}'</version_command> 10 <version_command>gffcompare -v | awk '{print $2}'</version_command>
11 <command detect_errors="aggressive"><![CDATA[ 11 <command detect_errors="aggressive"><![CDATA[
12 #import re 12 #import re
13 13
14 #set escaped_element_identifiers = [re.sub('[^\w\-]', '_', str(_.element_identifier)) for _ in $gffinputs] 14 #set escaped_element_identifiers = [re.sub('[^\w\-]', '_', str(_.element_identifier)) for _ in $gffinputs]
66 && mv *refmap output.refmap 66 && mv *refmap output.refmap
67 #end if 67 #end if
68 #end if 68 #end if
69 ]]></command> 69 ]]></command>
70 <inputs> 70 <inputs>
71 <param format="gtf,gff3" name="gffinputs" type="data" label="GTF inputs for comparison" help="" multiple="true" /> 71 <param format="gtf,gff3" name="gffinputs" type="data" label="GTF inputs for comparison" multiple="true"/>
72 <conditional name="conditional_annotation"> 72 <conditional name="conditional_annotation">
73 <param name="selector" type="select" label="Use reference annotation"> 73 <param name="selector" type="select" label="Use reference annotation">
74 <option value="no">No</option> 74 <option value="no">No</option>
75 <option value="yes">Yes</option> 75 <option value="yes">Yes</option>
76 </param> 76 </param>
81 <option value="history" selected="true">History</option> 81 <option value="history" selected="true">History</option>
82 </param> 82 </param>
83 <when value="cached"> 83 <when value="cached">
84 <param argument="-r" label="Using reference annotation" name="index" type="select"> 84 <param argument="-r" label="Using reference annotation" name="index" type="select">
85 <options from_data_table="gene_sets"> 85 <options from_data_table="gene_sets">
86 <filter column="dbkey" key="dbkey" ref="gffinputs" type="data_meta" /> 86 <filter column="dbkey" key="dbkey" ref="gffinputs" type="data_meta"/>
87 </options> 87 </options>
88 <validator message="No reference annotation is available for the build associated with the selected input dataset" type="no_options" /> 88 <validator message="No reference annotation is available for the build associated with the selected input dataset" type="no_options"/>
89 </param> 89 </param>
90 </when> 90 </when>
91 <when value="history"> 91 <when value="history">
92 <param argument="-r" name="reference_annotation" type="data" format="gff3,gtf" label="Reference annotation" 92 <param argument="-r" name="reference_annotation" type="data" format="gff3,gtf" label="Reference annotation"
93 help="Requires an annotation file in GFF3 or GTF format"/> 93 help="Requires an annotation file in GFF3 or GTF format"/>
105 <option value="">No</option> 105 <option value="">No</option>
106 <option value="--strict-match">Yes</option> 106 <option value="--strict-match">Yes</option>
107 </param> 107 </param>
108 <when value=""/> 108 <when value=""/>
109 <when value="--strict-match"> 109 <when value="--strict-match">
110 <param argument="-e" label="Maximum range of variation for the free ends of terminal exons" type="integer" value="100" /> 110 <param argument="-e" label="Maximum range of variation for the free ends of terminal exons" type="integer" value="100"/>
111 </when> 111 </when>
112 </conditional> 112 </conditional>
113 <param name="discard_single_exon" argument="-M/-N" type="select" label="Discard single-exon transcripts" help="If -S and also --strict-match is given, 113 <param name="discard_single_exon" argument="-M/-N" type="select" label="Discard single-exon transcripts" help="If -S and also --strict-match is given,
114 exact matching of all exon boundaries is required"> 114 exact matching of all exon boundaries is required">
115 <option value="" selected="true">No</option> 115 <option value="" selected="true">No</option>
125 <when value=""/> 125 <when value=""/>
126 <when value="-D"> 126 <when value="-D">
127 <param argument="-S" type="boolean" truevalue="-S" falsevalue="" checked="false" label="Strict duplicate checking" help="When -D is enabled (or 127 <param argument="-S" type="boolean" truevalue="-S" falsevalue="" checked="false" label="Strict duplicate checking" help="When -D is enabled (or
128 multiple query files are provided), perform a more strict duplicate checking: only discard matching (same intron chain) query transcripts from 128 multiple query files are provided), perform a more strict duplicate checking: only discard matching (same intron chain) query transcripts from
129 the same sample if their boundaries are fully contained within (or same with) matching transcripts if --strict-match is also given, exact match 129 the same sample if their boundaries are fully contained within (or same with) matching transcripts if --strict-match is also given, exact match
130 of all exons is required" /> 130 of all exons is required"/>
131 </when> 131 </when>
132 </conditional> 132 </conditional>
133 <param argument="--no-merge" type="boolean" checked="false" truevalue="--no-merge" falsevalue="" label="Disable close-exon merging" 133 <param argument="--no-merge" type="boolean" checked="false" truevalue="--no-merge" falsevalue="" label="Disable close-exon merging"
134 help="Default: merge exons separated by 'introns' shorter than 5 bases" /> 134 help="Default: merge exons separated by 'introns' shorter than 5 bases"/>
135 </when> 135 </when>
136 <when value="no"/> 136 <when value="no"/>
137 </conditional> 137 </conditional>
138 <conditional name="seq_data"> 138 <conditional name="seq_data">
139 <param name="selector" type="select" label="Use sequence data" help="Use sequence data for some optional classification functions, including the addition of the p_id attribute required by Cuffdiff." > 139 <param name="selector" type="select" label="Use sequence data" help="Use sequence data for some optional classification functions, including the addition of the p_id attribute required by Cuffdiff." >
148 <option value="history" selected="true">History</option> 148 <option value="history" selected="true">History</option>
149 </param> 149 </param>
150 <when value="cached"> 150 <when value="cached">
151 <param argument="-s" label="Using reference genome" name="index" type="select"> 151 <param argument="-s" label="Using reference genome" name="index" type="select">
152 <options from_data_table="fasta_indexes"> 152 <options from_data_table="fasta_indexes">
153 <filter column="dbkey" key="dbkey" ref="gffinputs" type="data_meta" /> 153 <filter column="dbkey" key="dbkey" ref="gffinputs" type="data_meta"/>
154 </options> 154 </options>
155 <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options" /> 155 <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options"/>
156 </param> 156 </param>
157 </when> 157 </when>
158 <when value="history"> 158 <when value="history">
159 <param argument="-s" name="ref_genome" type="data" format="fasta" label="Reference genome" help="Optional. Repeats must be soft-masked (lower case) in order to be able to classify 159 <param argument="-s" name="ref_genome" type="data" format="fasta" label="Reference genome" help="Optional. Repeats must be soft-masked (lower case) in order to be able to classify
160 transfrags as repeats"/> 160 transfrags as repeats"/>
161 </when> 161 </when>
162 </conditional> 162 </conditional>
163 </when> 163 </when>
164 </conditional> 164 </conditional>
165 <param argument="-d" name="max_dist_group" type="integer" value="100" min="0" help="Maximum distance (range) for grouping transcript start sites. Default: 100" label="Max distance for transcript grouping" /> 165 <param argument="-d" name="max_dist_group" type="integer" value="100" min="0" help="Maximum distance (range) for grouping transcript start sites. Default: 100" label="Max distance for transcript grouping"/>
166 <param argument="--chr-stats" type="boolean" checked="false" truevalue="--chr-stats" falsevalue="" label="Stats per reference contig/chromosome" help="Show summary and accuracy data separately for each reference sequence in the transcript accuracy data set" /> 166 <param argument="--chr-stats" type="boolean" checked="false" truevalue="--chr-stats" falsevalue="" label="Stats per reference contig/chromosome" help="Show summary and accuracy data separately for each reference sequence in the transcript accuracy data set"/>
167 <param argument="-T" name="refmap_tmap" type="boolean" truevalue="" falsevalue="-T" checked="true" label="Generate TMAP and RefMap files for each input" help="TMAP are tabular files that store the information regarding the best match for each prediction in the reference. 167 <param argument="-T" name="refmap_tmap" type="boolean" truevalue="" falsevalue="-T" checked="true" label="Generate TMAP and RefMap files for each input" help="TMAP are tabular files that store the information regarding the best match for each prediction in the reference.
168 RefMap files are tabular files which store the information regarding the best match for each reference transcript, among all possible prediction models. More information in the help section"/> 168 RefMap files are tabular files which store the information regarding the best match for each reference transcript, among all possible prediction models. More information in the help section"/>
169 <section name="adv_output" title="Combined GTF output parameters"> 169 <section name="adv_output" title="Combined GTF output parameters">
170 <param argument="-p" type="text" value="TCONS" label="Name prefix for consensus transcripts"> 170 <param argument="-p" type="text" value="TCONS" label="Name prefix for consensus transcripts">
171 <sanitizer invalid_char=""> 171 <sanitizer invalid_char="">
172 <valid initial="string.letters,string.digits"> 172 <valid initial="string.letters,string.digits">
173 <add value="_" /> 173 <add value="_"/>
174 <add value="-" /> 174 <add value="-"/>
175 </valid> 175 </valid>
176 </sanitizer> 176 </sanitizer>
177 <validator type="regex">[0-9a-zA-Z_-]+</validator> 177 <validator type="regex">[0-9a-zA-Z_-]+</validator>
178 </param> 178 </param>
179 <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" /> 179 <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"/>
180 <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" /> 180 <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"/>
181 <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" /> 181 <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"/>
182 <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" /> 182 <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"/>
183 </section> 183 </section>
184 </inputs> 184 </inputs>
185 <outputs> 185 <outputs>
186 <data name="transcripts_annotated" format="gtf" from_work_dir="gffcmp.annotated.gtf" label="${tool.name} on ${on_string}: annotated transcripts"> 186 <data name="transcripts_annotated" format="gtf" from_work_dir="gffcmp.annotated.gtf" label="${tool.name} on ${on_string}: annotated transcripts">
187 <filter>conditional_annotation['selector'] == "yes"</filter> 187 <filter>conditional_annotation['selector'] == "yes"</filter>
188 <filter>len(gffinputs) == 1</filter> 188 <filter>len(gffinputs) == 1</filter>
189 </data> 189 </data>
190 <data name="transcripts_combined" format="gtf" from_work_dir="gffcmp.combined.gtf" label="${tool.name} on ${on_string}: combined transcripts" > 190 <data name="transcripts_combined" format="gtf" from_work_dir="gffcmp.combined.gtf" label="${tool.name} on ${on_string}: combined transcripts" >
191 <filter>len(gffinputs) > 1</filter> 191 <filter>len(gffinputs) > 1</filter>
192 </data> 192 </data>
193 <collection name="refmap_output_collection" type="list" label="${tool.name} on ${on_string}: RefMap"> 193 <collection name="refmap_output_collection" type="list" label="${tool.name} on ${on_string}: RefMap Collection">
194 <discover_datasets pattern="gffcmp\.(?P&lt;designation&gt;.+)\.refmap" ext="tabular" /> 194 <discover_datasets pattern="gffcmp\.(?P&lt;designation&gt;.+)\.refmap" ext="tabular"/>
195 <filter>conditional_annotation['selector'] == 'yes'</filter> 195 <filter>conditional_annotation['selector'] == 'yes'</filter>
196 <filter>len(gffinputs) > 1</filter> 196 <filter>len(gffinputs) > 1</filter>
197 <filter>refmap_tmap</filter> 197 <filter>refmap_tmap</filter>
198 </collection> 198 </collection>
199 <data name="refmap_output" format="tabular" from_work_dir="output.refmap" label="${tool.name} on ${on_string}: RefMap"> 199 <data name="refmap_output" format="tabular" from_work_dir="output.refmap" label="${tool.name} on ${on_string}: RefMap">
200 <filter>conditional_annotation['selector'] == 'yes'</filter> 200 <filter>conditional_annotation['selector'] == 'yes'</filter>
201 <filter>len(gffinputs) == 1</filter> 201 <filter>len(gffinputs) == 1</filter>
202 <filter>refmap_tmap</filter> 202 <filter>refmap_tmap</filter>
203 </data> 203 </data>
204 <collection name="tmap_output_collection" type="list" label="${tool.name} on ${on_string}: TMAP"> 204 <collection name="tmap_output_collection" type="list" label="${tool.name} on ${on_string}: TMAP Collection">
205 <discover_datasets pattern="gffcmp\.(?P&lt;designation&gt;.+)\.tmap" ext="tabular" /> 205 <discover_datasets pattern="gffcmp\.(?P&lt;designation&gt;.+)\.tmap" ext="tabular"/>
206 <filter>refmap_tmap</filter> 206 <filter>refmap_tmap</filter>
207 <filter>len(gffinputs) > 1</filter> 207 <filter>len(gffinputs) > 1</filter>
208 </collection> 208 </collection>
209 <data name="tmap_output" format="tabular" from_work_dir="output.tmap" label="${tool.name} on ${on_string}: TMAP"> 209 <data name="tmap_output" format="tabular" from_work_dir="output.tmap" label="${tool.name} on ${on_string}: TMAP">
210 <filter>refmap_tmap</filter> 210 <filter>refmap_tmap</filter>
211 <filter>len(gffinputs) == 1</filter> 211 <filter>len(gffinputs) == 1</filter>
212 </data> 212 </data>
213 <data name="transcripts_stats" format="txt" from_work_dir="gffcmp.stats" label="${tool.name} on ${on_string}: accuracy stats" /> 213 <data name="transcripts_stats" format="txt" from_work_dir="gffcmp.stats" label="${tool.name} on ${on_string}: accuracy stats"/>
214 <data name="transcripts_loci" format="tabular" from_work_dir="gffcmp.loci" label="${tool.name} on ${on_string}: loci file" /> 214 <data name="transcripts_loci" format="tabular" from_work_dir="gffcmp.loci" label="${tool.name} on ${on_string}: loci file"/>
215 <data name="transcripts_tracking" format="tabular" from_work_dir="gffcmp.tracking" label="${tool.name} on ${on_string}: tracking file" /> 215 <data name="transcripts_tracking" format="tabular" from_work_dir="gffcmp.tracking" label="${tool.name} on ${on_string}: tracking file"/>
216 </outputs> 216 </outputs>
217 <tests> 217 <tests>
218 <!-- Test 01: 2 inputs, no reference, default options --> 218 <!-- Test 01: 2 inputs, no reference, default options -->
219 <test expect_num_outputs="5"> 219 <test expect_num_outputs="5">
220 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" /> 220 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf"/>
221 <conditional name="conditional_annotation"> 221 <conditional name="conditional_annotation">
222 <param name="selector" value="no"/> 222 <param name="selector" value="no"/>
223 </conditional> 223 </conditional>
224 <conditional name="seq_data"> 224 <conditional name="seq_data">
225 <param name="selector" value="no" /> 225 <param name="selector" value="no"/>
226 </conditional> 226 </conditional>
227 <assert_command> 227 <assert_command>
228 <not_has_text text="-R " /> 228 <not_has_text text="-R "/>
229 <not_has_text text="-Q " /> 229 <not_has_text text="-Q "/>
230 <not_has_text text="--strict-match " /> 230 <not_has_text text="--strict-match "/>
231 <not_has_text text="-T " /> 231 <not_has_text text="-T "/>
232 <has_text_matching expression="^.*gffcompare((?!-s).)*$" /> <!-- since ln also has -s a more complicated regexp is needed here to check if -s is not set --> 232 <has_text_matching expression="^.*gffcompare((?!-s).)*$"/> <!-- since ln also has -s a more complicated regexp is needed here to check if -s is not set -->
233 <not_has_text text="-M " /> 233 <not_has_text text="-M "/>
234 <not_has_text text="-N " /> 234 <not_has_text text="-N "/>
235 <has_text text="-d 100 " /> 235 <has_text text="-d 100 "/>
236 <not_has_text text="-D " /> 236 <not_has_text text="-D "/>
237 <not_has_text text="--no-merge " /> 237 <not_has_text text="--no-merge "/>
238 <has_text text="-p 'TCONS' " /> 238 <has_text text="-p 'TCONS' "/>
239 <not_has_text text="-C " /> 239 <not_has_text text="-C "/>
240 <not_has_text text="-A " /> 240 <not_has_text text="-A "/>
241 <not_has_text text="-X " /> 241 <not_has_text text="-X "/>
242 <not_has_text text="-K " /> 242 <not_has_text text="-K "/>
243 </assert_command> 243 </assert_command>
244 <output file="gffcompare_out1.stats" name="transcripts_stats" /> 244 <output name="transcripts_stats" ftype="txt">
245 <output file="gffcompare_out1.loci" name="transcripts_loci" /> 245 <assert_contents>
246 <output file="gffcompare_out1.tracking" name="transcripts_tracking" /> 246 <has_line line="#gffcompare -V -d 100 -p TCONS gffcompare_in1_gtf gffcompare_in2_gtf"/>
247 <output file="gffcompare_out1.gtf" name="transcripts_combined" /> 247 <has_line line=" Total union super-loci across all input datasets: 7 "/>
248 <has_n_lines n="15"/>
249 </assert_contents>
250 </output>
251 <output name="transcripts_loci" ftype="tabular">
252 <assert_contents>
253 <has_n_lines n="7"/>
254 </assert_contents>
255 </output>
256 <output name="transcripts_tracking">
257 <assert_contents>
258 <has_n_lines n="9"/>
259 </assert_contents>
260 </output>
261 <output name="transcripts_combined">
262 <assert_contents>
263 <has_n_lines n="18"/>
264 </assert_contents>
265 </output>
248 <output_collection name="tmap_output_collection" type="list" count="2"/> 266 <output_collection name="tmap_output_collection" type="list" count="2"/>
249 </test> 267 </test>
250 <!-- Test 02: 2 inputs, no reference, with refsequence, default options (but disable tmap output) --> 268 <!-- Test 02: 2 inputs, no reference, with refsequence, default options (but disable tmap output) -->
251 <test expect_num_outputs="4"> 269 <test expect_num_outputs="4">
252 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" /> 270 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf"/>
253 <param name="refmap_tmap" value="false"/> 271 <param name="refmap_tmap" value="false"/>
254 <conditional name="conditional_annotation"> 272 <conditional name="conditional_annotation">
255 <param name="selector" value="no"/> 273 <param name="selector" value="no"/>
256 </conditional> 274 </conditional>
257 <conditional name="seq_data"> 275 <conditional name="seq_data">
258 <param name="selector" value="Yes" /> 276 <param name="selector" value="yes"/>
259 <conditional name="seq_source"> 277 <conditional name="seq_source">
260 <param name="index_source" value="history"/> 278 <param name="index_source" value="history"/>
261 <param name="ref_file" ftype="fasta" value="sequence.fa"/> 279 <param name="ref_genome" ftype="fasta" value="sequence.fa"/>
262 </conditional> 280 </conditional>
263 </conditional> 281 </conditional>
264 <assert_command> 282 <assert_command>
265 <not_has_text text="-R " /> 283 <not_has_text text="-R "/>
266 <not_has_text text="-Q " /> 284 <not_has_text text="-Q "/>
267 <has_text text="-T " /> 285 <has_text text="-T "/>
268 <has_text_matching expression="gffcompare.*-s " /> <!-- since ln also has -s a more complicated regexp is needed here to check if -s is set --> 286 <has_text_matching expression="gffcompare.*-s "/> <!-- since ln also has -s a more complicated regexp is needed here to check if -s is set -->
269 <not_has_text text="-M " /> 287 <not_has_text text="-M "/>
270 <not_has_text text="-N " /> 288 <not_has_text text="-N "/>
271 <has_text text="-d 100 " /> 289 <has_text text="-d 100 "/>
272 <has_text text="-p 'TCONS' " /> 290 <has_text text="-p 'TCONS' "/>
273 <not_has_text text="-C " /> 291 <not_has_text text="-C "/>
274 <not_has_text text="-A " /> 292 <not_has_text text="-A "/>
275 <not_has_text text="-X " /> 293 <not_has_text text="-X "/>
276 <not_has_text text="-K " /> 294 <not_has_text text="-K "/>
277 </assert_command> 295 </assert_command>
278 <output file="gffcompare_out1.stats" name="transcripts_stats" compare="sim_size" /> 296 <output name="transcripts_stats" ftype="txt">
279 <output file="gffcompare_out1.loci" name="transcripts_loci" compare="sim_size" /> 297 <assert_contents>
280 <output file="gffcompare_out1.tracking" name="transcripts_tracking" compare="sim_size" /> 298 <has_line line="#gffcompare -V -T -d 100 -p TCONS gffcompare_in1_gtf gffcompare_in2_gtf"/>
281 <output file="gffcompare_out1.gtf" name="transcripts_combined" compare="sim_size" /> 299 <has_line line=" Total union super-loci across all input datasets: 7 "/>
300 <has_n_lines n="15"/>
301 </assert_contents>
302 </output>
303 <output name="transcripts_loci" ftype="tabular">
304 <assert_contents>
305 <has_n_lines n="7"/>
306 </assert_contents>
307 </output>
308 <output name="transcripts_tracking">
309 <assert_contents>
310 <has_n_lines n="9"/>
311 </assert_contents>
312 </output>
313 <output name="transcripts_combined">
314 <assert_contents>
315 <has_n_lines n="18"/>
316 </assert_contents>
317 </output>
282 </test> 318 </test>
283 <!-- Test 03: 2 inputs, no reference, with cached refsequence, default options (but disable tmap output) --> 319 <!-- Test 03: 2 inputs, no reference, with cached refsequence, default options (but disable tmap output) -->
284 <test expect_num_outputs="4"> 320 <test expect_num_outputs="4">
285 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" dbkey="hg17" /> 321 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" dbkey="hg17"/>
286 <param name="refmap_tmap" value="false"/> 322 <param name="refmap_tmap" value="false"/>
287 <conditional name="conditional_annotation"> 323 <conditional name="conditional_annotation">
288 <param name="selector" value="no"/> 324 <param name="selector" value="no"/>
289 </conditional> 325 </conditional>
290 <conditional name="seq_data"> 326 <conditional name="seq_data">
291 <param name="selector" value="yes" /> 327 <param name="selector" value="yes"/>
292 <conditional name="seq_source"> 328 <conditional name="seq_source">
293 <param name="index_source" value="cached"/> 329 <param name="index_source" value="cached"/>
294 <param name="index" value="test_buildid"/> 330 <param name="index" value="test_buildid"/>
295 </conditional> 331 </conditional>
296 </conditional> 332 </conditional>
297 <assert_command> 333 <assert_command>
298 <not_has_text text="-R " /> 334 <not_has_text text="-R "/>
299 <not_has_text text="-Q " /> 335 <not_has_text text="-Q "/>
300 <has_text text="-T " /> 336 <has_text text="-T "/>
301 <has_text_matching expression="gffcompare.*-s " /> 337 <has_text_matching expression="gffcompare.*-s "/>
302 <not_has_text text="-M " /> 338 <not_has_text text="-M "/>
303 <not_has_text text="-N " /> 339 <not_has_text text="-N "/>
304 <has_text text="-d 100 " /> 340 <has_text text="-d 100 "/>
305 <has_text text="-p 'TCONS' " /> 341 <has_text text="-p 'TCONS' "/>
306 <not_has_text text="-C " /> 342 <not_has_text text="-C "/>
307 <not_has_text text="-A " /> 343 <not_has_text text="-A "/>
308 <not_has_text text="-X " /> 344 <not_has_text text="-X "/>
309 <not_has_text text="-K " /> 345 <not_has_text text="-K "/>
310 </assert_command> 346 </assert_command>
311 <output file="gffcompare_out1.stats" name="transcripts_stats" compare="sim_size" /> 347 <output name="transcripts_stats" ftype="txt">
312 <output file="gffcompare_out1.loci" name="transcripts_loci" compare="sim_size" /> 348 <assert_contents>
313 <output file="gffcompare_out1.tracking" name="transcripts_tracking" compare="sim_size" /> 349 <has_line line="#gffcompare -V -T -d 100 -p TCONS gffcompare_in1_gtf gffcompare_in2_gtf"/>
314 <output file="gffcompare_out1.gtf" name="transcripts_combined" compare="sim_size" /> 350 <has_line line=" Total union super-loci across all input datasets: 7 "/>
351 <has_n_lines n="15"/>
352 </assert_contents>
353 </output>
354 <output name="transcripts_loci" ftype="tabular">
355 <assert_contents>
356 <has_n_lines n="7"/>
357 </assert_contents>
358 </output>
359 <output name="transcripts_tracking">
360 <assert_contents>
361 <has_n_lines n="9"/>
362 </assert_contents>
363 </output>
364 <output name="transcripts_combined">
365 <assert_contents>
366 <has_n_lines n="18"/>
367 </assert_contents>
368 </output>
315 </test> 369 </test>
316 <!-- Test 04: 2 inputs and reference, default options --> 370 <!-- Test 04: 2 inputs and reference, default options -->
317 <test expect_num_outputs="6"> 371 <test expect_num_outputs="6">
318 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" /> 372 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf"/>
319 <conditional name="conditional_annotation"> 373 <conditional name="conditional_annotation">
320 <param name="selector" value="yes"/> 374 <param name="selector" value="yes"/>
321 <conditional name="ref_source"> 375 <conditional name="ref_source">
322 <param name="ref_source_sel" value="history"/> 376 <param name="ref_source_sel" value="history"/>
323 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" /> 377 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf"/>
324 </conditional> 378 </conditional>
325 <conditional name="conditional_strict"> 379 <conditional name="conditional_strict">
326 <param name="selector" value="--strict-match"/> 380 <param name="selector" value="--strict-match"/>
327 <param name="e" value="100"/> 381 <param name="e" value="100"/>
328 </conditional> 382 </conditional>
329 </conditional> 383 </conditional>
330 <conditional name="seq_data"> 384 <conditional name="seq_data">
331 <param name="seletor" value="no" /> 385 <param name="seletor" value="no"/>
332 </conditional> 386 </conditional>
333 <assert_command> 387 <assert_command>
334 <not_has_text text="-R " /> 388 <not_has_text text="-R "/>
335 <not_has_text text="-Q " /> 389 <not_has_text text="-Q "/>
336 <has_text text="--strict-match " /> 390 <has_text text="--strict-match "/>
337 <not_has_text text="-T " /> 391 <not_has_text text="-T "/>
338 <not_has_text text="-M " /> 392 <not_has_text text="-M "/>
339 <not_has_text text="-N " /> 393 <not_has_text text="-N "/>
340 <has_text text="-e 100 " /> 394 <has_text text="-e 100 "/>
341 <has_text text="-d 100 " /> 395 <has_text text="-d 100 "/>
342 <not_has_text text="-D " /> 396 <not_has_text text="-D "/>
343 <not_has_text text="--no-merge " /> 397 <not_has_text text="--no-merge "/>
344 <not_has_text text="--chr-stats" /> 398 <not_has_text text="--chr-stats"/>
345 <has_text text="-p 'TCONS' " /> 399 <has_text text="-p 'TCONS' "/>
346 <not_has_text text="-C " /> 400 <not_has_text text="-C "/>
347 <not_has_text text="-A " /> 401 <not_has_text text="-A "/>
348 <not_has_text text="-X " /> 402 <not_has_text text="-X "/>
349 <not_has_text text="-K " /> 403 <not_has_text text="-K "/>
350 </assert_command> 404 </assert_command>
351 <output file="gffcompare_out2.stats" name="transcripts_stats" compare="sim_size" /> 405 <output name="transcripts_stats" ftype="txt">
352 <output file="gffcompare_out2.loci" name="transcripts_loci" compare="sim_size" /> 406 <assert_contents>
353 <output file="gffcompare_out2.tracking" name="transcripts_tracking" /> 407 <has_line line=" Total union super-loci across all input datasets: 7 "/>
354 <output file="gffcompare_out2.gtf" name="transcripts_combined" /> 408 <has_line line="#gffcompare -V -r reference_annotation --strict-match -e 100 -d 100 -p TCONS gffcompare_in1_gtf gffcompare_in2_gtf"/>
355 <output_collection name="refmap_output_collection" type="list" count="2"> 409 </assert_contents>
356 <element name="gffcompare_in1_gtf" file="gffcompare_out2-1.refmap" ftype="tabular" /> 410 </output>
357 <element name="gffcompare_in2_gtf" file="gffcompare_out2-2.refmap" ftype="tabular" /> 411 <output name="transcripts_loci" ftype="tabular">
358 </output_collection> 412 <assert_contents>
359 <output_collection name="tmap_output_collection" type="list" count="2"> 413 <has_n_lines n="7"/>
360 <element name="gffcompare_in1_gtf" file="gffcompare_out2-1.tmap" ftype="tabular" /> 414 </assert_contents>
361 <element name="gffcompare_in2_gtf" file="gffcompare_out2-2.tmap" ftype="tabular" /> 415 </output>
362 </output_collection> 416 <output name="transcripts_tracking" ftype="tabular">
417 <assert_contents>
418 <has_n_lines n="9"/>
419 </assert_contents>
420 </output>
421 <output name="transcripts_combined" ftype="gtf">
422 <assert_contents>
423 <has_n_lines n="18"/>
424 </assert_contents>
425 </output>
426 <output_collection name="refmap_output_collection" type="list" count="2"/>
427 <output_collection name="tmap_output_collection" type="list" count="2"/>
363 </test> 428 </test>
364 <!-- Test 05: 2 inputs and reference (cached), non default options --> 429 <!-- Test 05: 2 inputs and reference (cached), non default options -->
365 <test expect_num_outputs="6"> 430 <test expect_num_outputs="6">
366 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" dbkey="hg17" /> 431 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" dbkey="hg17"/>
367 <conditional name="conditional_annotation"> 432 <conditional name="conditional_annotation">
368 <param name="selector" value="yes"/> 433 <param name="selector" value="yes"/>
369 <conditional name="ref_source"> 434 <conditional name="ref_source">
370 <param name="ref_source_sel" value="cached"/> 435 <param name="ref_source_sel" value="cached"/>
371 <param name="index" value="test_buildid"/> 436 <param name="index" value="test_buildid"/>
381 <conditional name="conditional_duplication"> 446 <conditional name="conditional_duplication">
382 <param name="selector" value="-D"/> 447 <param name="selector" value="-D"/>
383 <param name="S" value="false"/> 448 <param name="S" value="false"/>
384 </conditional> 449 </conditional>
385 </conditional> 450 </conditional>
386 <param name="max_dist_group" value="99" /> 451 <param name="max_dist_group" value="99"/>
387 <param name="chr_stats" value="true" /> 452 <param name="chr_stats" value="true"/>
388 <assert_command> 453 <assert_command>
389 <has_text text="-R " /> 454 <has_text text="-R "/>
390 <has_text text="-Q " /> 455 <has_text text="-Q "/>
391 <has_text text="--strict-match " /> 456 <has_text text="--strict-match "/>
392 <not_has_text text="-T " /> 457 <not_has_text text="-T "/>
393 <has_text text="-M " /> 458 <has_text text="-M "/>
394 <not_has_text text="-N " /> 459 <not_has_text text="-N "/>
395 <has_text text="-e 101 " /> 460 <has_text text="-e 101 "/>
396 <has_text text="-d 99 " /> 461 <has_text text="-d 99 "/>
397 <has_text text="-D " /> 462 <has_text text="-D "/>
398 <has_text text="--no-merge " /> 463 <has_text text="--no-merge "/>
399 <has_text text="--chr-stats" /> 464 <has_text text="--chr-stats"/>
400 <has_text text="-p 'TCONS' " /> 465 <has_text text="-p 'TCONS' "/>
401 <not_has_text text="-C " /> 466 <not_has_text text="-C "/>
402 <not_has_text text="-A " /> 467 <not_has_text text="-A "/>
403 <not_has_text text="-X " /> 468 <not_has_text text="-X "/>
404 <not_has_text text="-K " /> 469 <not_has_text text="-K "/>
405 </assert_command> 470 </assert_command>
406 <output file="gffcompare_out2.stats" name="transcripts_stats" compare="sim_size" /> 471 <output name="transcripts_stats" ftype="txt">
407 <output file="gffcompare_out2.loci" name="transcripts_loci" compare="sim_size" /> 472 <assert_contents>
408 <output file="gffcompare_out2.tracking" name="transcripts_tracking" compare="sim_size" /> 473 <has_line line=" Total union super-loci across all input datasets: 0 "/>
409 <output file="gffcompare_out2.gtf" name="transcripts_combined" compare="sim_size" delta="50000"/> 474 <has_line line="#gffcompare -V -r reference_annotation -R -Q --strict-match -e 101 -M -D --no-merge -d 99 --chr-stats -p TCONS gffcompare_in1_gtf gffcompare_in2_gtf"/>
475 </assert_contents>
476 </output>
477 <output name="transcripts_loci" ftype="tabular">
478 <assert_contents>
479 <has_n_lines n="0"/>
480 </assert_contents>
481 </output>
482 <output name="transcripts_tracking" ftype="tabular">
483 <assert_contents>
484 <has_n_lines n="0"/>
485 </assert_contents>
486 </output>
487 <output name="transcripts_combined" ftype="gtf">
488 <assert_contents>
489 <has_n_lines n="0"/>
490 </assert_contents>
491 </output>
410 <output_collection name="refmap_output_collection" type="list" count="0"/> <!-- because of -M no refmaps are created --> 492 <output_collection name="refmap_output_collection" type="list" count="0"/> <!-- because of -M no refmaps are created -->
411 <output_collection name="tmap_output_collection" type="list" count="2"/> 493 <output_collection name="tmap_output_collection" type="list" count="2"/>
412 </test> 494 </test>
413 <!-- Test 06: 2 inputs and reference, non default advanced options --> 495 <!-- Test 06: 2 inputs and reference, non default advanced options -->
414 <test expect_num_outputs="6"> 496 <test expect_num_outputs="6">
415 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" /> 497 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf"/>
416 <conditional name="conditional_annotation"> 498 <conditional name="conditional_annotation">
417 <param name="selector" value="yes"/> 499 <param name="selector" value="yes"/>
418 <conditional name="ref_source"> 500 <conditional name="ref_source">
419 <param name="ref_source_sel" value="history"/> 501 <param name="ref_source_sel" value="history"/>
420 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" /> 502 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf"/>
421 </conditional> 503 </conditional>
422 </conditional> 504 </conditional>
423 <conditional name="seq_data"> 505 <conditional name="seq_data">
424 <param name="selector" value="no" /> 506 <param name="selector" value="no"/>
425 </conditional> 507 </conditional>
426 <section name="adv_output"> 508 <section name="adv_output">
427 <param name="p" value="OTHER" /> 509 <param name="p" value="OTHER"/>
428 <param name="C" value="true" /> 510 <param name="C" value="true"/>
429 <param name="A" value="true" /> 511 <param name="A" value="true"/>
430 <param name="X" value="true" /> 512 <param name="X" value="true"/>
431 <param name="K" value="true" /> 513 <param name="K" value="true"/>
432 </section> 514 </section>
433 <assert_command> 515 <assert_command>
434 <not_has_text text="-R " /> 516 <not_has_text text="-R "/>
435 <not_has_text text="-Q " /> 517 <not_has_text text="-Q "/>
436 <not_has_text text="--strict-match " /> 518 <not_has_text text="--strict-match "/>
437 <not_has_text text="-T " /> 519 <not_has_text text="-T "/>
438 <not_has_text text="-M " /> 520 <not_has_text text="-M "/>
439 <not_has_text text="-N " /> 521 <not_has_text text="-N "/>
440 <not_has_text text="-e 100 " /> 522 <not_has_text text="-e 100 "/>
441 <has_text text="-d 100 " /> 523 <has_text text="-d 100 "/>
442 <not_has_text text="-D " /> 524 <not_has_text text="-D "/>
443 <not_has_text text="--no-merge " /> 525 <not_has_text text="--no-merge "/>
444 <not_has_text text="--chr-stats" /> 526 <not_has_text text="--chr-stats"/>
445 <has_text text="-p 'OTHER' " /> 527 <has_text text="-p 'OTHER' "/>
446 <has_text text="-C " /> 528 <has_text text="-C "/>
447 <has_text text="-A " /> 529 <has_text text="-A "/>
448 <has_text text="-X " /> 530 <has_text text="-X "/>
449 <has_text text="-K " /> 531 <has_text text="-K "/>
450 </assert_command> 532 </assert_command>
451 <output file="gffcompare_out2.stats" name="transcripts_stats" compare="sim_size" /> 533 <output name="transcripts_stats" ftype="txt">
452 <output file="gffcompare_out2.loci" name="transcripts_loci" compare="sim_size" /> 534 <assert_contents>
453 <output file="gffcompare_out2.tracking" name="transcripts_tracking" compare="sim_size" /> 535 <has_line line=" Total union super-loci across all input datasets: 7 "/>
454 <output file="gffcompare_out2.gtf" name="transcripts_combined" compare="sim_size" delta="50000"/> 536 <has_line line="#gffcompare -V -r reference_annotation -d 100 -p OTHER -A -C -X -K gffcompare_in1_gtf gffcompare_in2_gtf"/>
537 </assert_contents>
538 </output>
539 <output name="transcripts_loci" ftype="tabular">
540 <assert_contents>
541 <has_n_lines n="7"/>
542 </assert_contents>
543 </output>
544 <output name="transcripts_tracking" ftype="tabular">
545 <assert_contents>
546 <has_n_lines n="9"/>
547 </assert_contents>
548 </output>
549 <output name="transcripts_combined" ftype="gtf">
550 <assert_contents>
551 <has_n_lines n="14"/>
552 </assert_contents>
553 </output>
455 <output_collection name="tmap_output_collection" type="list" count="2"/> 554 <output_collection name="tmap_output_collection" type="list" count="2"/>
456 <output_collection name="tmap_output_collection" type="list" count="2"/> 555 <output_collection name="tmap_output_collection" type="list" count="2"/>
457 </test> 556 </test>
458 <!-- Test 07: 2 inputs and reference, default options, no tmap or refmap output --> 557 <!-- Test 07: 2 inputs and reference, default options, no tmap or refmap output -->
459 <test expect_num_outputs="4"> 558 <test expect_num_outputs="4">
460 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" /> 559 <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf"/>
461 <param name="refmap_tmap" value="false"/> 560 <param name="refmap_tmap" value="false"/>
462 <conditional name="conditional_annotation"> 561 <conditional name="conditional_annotation">
463 <param name="selector" value="yes"/> 562 <param name="selector" value="yes"/>
464 <conditional name="ref_source"> 563 <conditional name="ref_source">
465 <param name="ref_source_sel" value="history"/> 564 <param name="ref_source_sel" value="history"/>
466 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" /> 565 <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf"/>
467 </conditional> 566 </conditional>
468 </conditional> 567 </conditional>
469 <conditional name="seq_data"> 568 <conditional name="seq_data">
470 <param name="selector" value="No" /> 569 <param name="selector" value="no"/>
471 </conditional> 570 </conditional>
472 <assert_command> 571 <assert_command>
473 <not_has_text text="-R " /> 572 <not_has_text text="-R "/>
474 <not_has_text text="-Q " /> 573 <not_has_text text="-Q "/>
475 <not_has_text text="--strict-match " /> 574 <not_has_text text="--strict-match "/>
476 <has_text text="-T " /> 575 <has_text text="-T "/>
477 <not_has_text text="-M " /> 576 <not_has_text text="-M "/>
478 <not_has_text text="-N " /> 577 <not_has_text text="-N "/>
479 <has_text text="-d 100 " /> 578 <has_text text="-d 100 "/>
480 <not_has_text text="-D " /> 579 <not_has_text text="-D "/>
481 <not_has_text text="--no-merge " /> 580 <not_has_text text="--no-merge "/>
482 <not_has_text text="--chr-stats" /> 581 <not_has_text text="--chr-stats"/>
483 <has_text text="-p 'TCONS' " /> 582 <has_text text="-p 'TCONS' "/>
484 <not_has_text text="-C " /> 583 <not_has_text text="-C "/>
485 <not_has_text text="-A " /> 584 <not_has_text text="-A "/>
486 <not_has_text text="-X " /> 585 <not_has_text text="-X "/>
487 <not_has_text text="-K " /> 586 <not_has_text text="-K "/>
488 </assert_command> 587 </assert_command>
489 <output file="gffcompare_out2.stats" name="transcripts_stats" lines_diff="2" /> 588 <output name="transcripts_stats" ftype="txt">
490 <output file="gffcompare_out2.loci" name="transcripts_loci" compare="sim_size" /> 589 <assert_contents>
491 <output file="gffcompare_out2.tracking" name="transcripts_tracking" /> 590 <has_line line=" Total union super-loci across all input datasets: 7 "/>
492 <output file="gffcompare_out2.gtf" name="transcripts_combined" /> 591 <has_line line="#gffcompare -V -r reference_annotation -T -d 100 -p TCONS gffcompare_in1_gtf gffcompare_in2_gtf"/>
592 </assert_contents>
593 </output>
594 <output name="transcripts_loci" ftype="tabular">
595 <assert_contents>
596 <has_n_lines n="7"/>
597 </assert_contents>
598 </output>
599 <output name="transcripts_tracking" ftype="tabular">
600 <assert_contents>
601 <has_n_lines n="9"/>
602 </assert_contents>
603 </output>
604 <output name="transcripts_combined" ftype="gtf">
605 <assert_contents>
606 <has_n_lines n="18"/>
607 </assert_contents>
608 </output>
493 </test> 609 </test>
494 <!-- Test 08: 1 inputs and reference, default options, no tmap or refmap output --> 610 <!-- Test 08: 1 inputs and reference, default options, no tmap or refmap output -->
495 <test expect_num_outputs="4"> 611 <test expect_num_outputs="4">
496 <param ftype="gtf" name="gffinputs" value="gffcompare_in4.gtf" /> 612 <param ftype="gtf" name="gffinputs" value="gffcompare_in4.gtf"/>
497 <param name="refmap_tmap" value="false"/> 613 <param name="refmap_tmap" value="false"/>
498 <conditional name="conditional_annotation"> 614 <conditional name="conditional_annotation">
499 <param name="selector" value="yes"/> 615 <param name="selector" value="yes"/>
500 <conditional name="ref_source"> 616 <conditional name="ref_source">
501 <param name="ref_source_sel" value="history"/> 617 <param name="ref_source_sel" value="history"/>
502 <param ftype="gtf" name="reference_annotation" value="gffcompare_in5.gtf" /> 618 <param ftype="gtf" name="reference_annotation" value="gffcompare_in5.gtf"/>
503 </conditional> 619 </conditional>
504 <param name="R" value="true"/> 620 <param name="R" value="true"/>
505 <param name="Q" value="false"/> 621 <param name="Q" value="false"/>
506 <conditional name="conditional_strict"> 622 <conditional name="conditional_strict">
507 <param name="selector" value="--strict-match"/> 623 <param name="selector" value="--strict-match"/>
508 <param name="e" value="100"/> 624 <param name="e" value="100"/>
509 </conditional> 625 </conditional>
510 <param name="discard_single_exon" value=""/> 626 <param name="discard_single_exon" value=""/>
511 </conditional> 627 </conditional>
512 <param name="max_dist_group" value="100" /> 628 <param name="max_dist_group" value="100"/>
513 <output file="gffcompare_out3.stats" name="transcripts_stats"/> 629 <output name="transcripts_stats" ftype="txt">
514 <output file="gffcompare_out3.loci" name="transcripts_loci" compare="sim_size" /> 630 <assert_contents>
515 <output file="gffcompare_out3.tracking" name="transcripts_tracking" /> 631 <has_line line=" Total union super-loci across all input datasets: 29 "/>
516 <output file="gffcompare_out3.gtf" name="transcripts_annotated" /> 632 <has_line line="#gffcompare -V -r reference_annotation -R --strict-match -e 100 -T -d 100 -p TCONS gffcompare_in4_gtf"/>
633 </assert_contents>
634 </output>
635 <output name="transcripts_loci" ftype="tabular">
636 <assert_contents>
637 <has_n_lines n="29"/>
638 </assert_contents>
639 </output>
640 <output name="transcripts_tracking" ftype="tabular">
641 <assert_contents>
642 <has_n_lines n="35"/>
643 </assert_contents>
644 </output>
645 <output name="transcripts_combined" ftype="tabular">
646 <assert_contents>
647 <has_n_lines n="35"/>
648 </assert_contents>
649 </output>
517 </test> 650 </test>
518 </tests> 651 </tests>
519 <help> 652 <help>
520 <![CDATA[ 653 <![CDATA[
521 654
611 that has a row for each reference transcript that either fully or partially matches a transcript from the given input file. Conversely, the TMAP file has a row for each input transcript, while the columns in this 744 that has a row for each reference transcript that either fully or partially matches a transcript from the given input file. Conversely, the TMAP file has a row for each input transcript, while the columns in this
612 file describe the most closely matching reference transcript for that transcript. 745 file describe the most closely matching reference transcript for that transcript.
613 746
614 ]]> 747 ]]>
615 </help> 748 </help>
616 <expand macro="citations" /> 749 <expand macro="citations"/>
617 </tool> 750 </tool>