comparison stringtie.xml @ 18:258d696dbd7e draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stringtie commit 999b45e8bcf810f871cda58cb66573f7d6ae37f3"
author iuc
date Sat, 25 Sep 2021 18:20:22 +0000
parents 1ebd14235b92
children 333a6e13b622
comparison
equal deleted inserted replaced
17:1ebd14235b92 18:258d696dbd7e
1 <tool id="stringtie" name="StringTie" version="@TOOL_VERSION@"> 1 <tool id="stringtie" name="StringTie" version="@TOOL_VERSION@">
2 <description>transcript assembly and quantification</description> 2 <description>transcript assembly and quantification</description>
3 <xrefs>
4 <xref type="bio.tools">stringtie</xref>
5 </xrefs>
3 <macros> 6 <macros>
4 <import>macros.xml</import> 7 <import>macros.xml</import>
5 </macros> 8 </macros>
6 <expand macro="requirements" /> 9 <expand macro="requirements" />
7 <expand macro="stdio" /> 10 <expand macro="stdio" />
18 #elif $guide.guide_source.guide_gff_select == "cached": 21 #elif $guide.guide_source.guide_gff_select == "cached":
19 ln -s '$guide.guide_source.ref_builtin.fields.path' guide.gff && 22 ln -s '$guide.guide_source.ref_builtin.fields.path' guide.gff &&
20 #end if 23 #end if
21 #end if 24 #end if
22 25
23 #if $input_bam.metadata.ftype == 'sam': 26 #if $input_options.input_mode in ['short_reads','long_reads']:
24 samtools sort -@ \${GALAXY_SLOTS:-1} '$input_bam' -T "\${TMPDIR:-.}" | stringtie 27 #if $input_options.input_bam.metadata.ftype == 'sam':
28 samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam' -T "\${TMPDIR:-.}" | stringtie
29 #else
30 stringtie '$input_options.input_bam'
31 #end if
32 #if $input_options.input_mode == 'long_reads'
33 -L
34 -E $input_options.error_splice
35 #end if
25 #else 36 #else
26 stringtie '$input_bam' 37 #if $input_options.input_bam_short.metadata.ftype == 'bam' and $input_options.input_bam_long.metadata.ftype == 'bam':
27 #end if 38 strigtie '$input_options.input_bam_short' '$input_options.input_bam_long'
28 39 #else if $input_options.input_bam_short.metadata.ftype == 'sam' and $input_options.input_bam_long.metadata.ftype == 'bam':
29 $long_reads 40 samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam_short' -T "\${TMPDIR:-.}" -o short_sorted.sam
41 && stringtie short_sorted.sam '$input_options.input_bam_long'
42 #else if $input_options.input_bam_short.metadata.ftype == 'bam' and $input_options.input_bam_long.metadata.ftype == 'sam':
43 samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam_long' -T "\${TMPDIR:-.}" -o long_sorted.sam
44 && stringtie'$input_options.input_bam_short' long_sorted.sam
45 #else
46 samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam_short' -T "\${TMPDIR:-.}" -o short_sorted.sam
47 && samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam_long' -T "\${TMPDIR:-.}" -o long_sorted.sam
48 && stringtie short_sorted.sam long_sorted.sam
49 #end if
50 -E $input_options.error_splice
51 #end if
30 52
31 -o '$output_gtf' 53 -o '$output_gtf'
32 -p "\${GALAXY_SLOTS:-1}" 54 -p "\${GALAXY_SLOTS:-1}"
33 55
34 $rna_strandness 56 $rna_strandness
109 tail -n +2 transcript_counts.csv | sort -t"\${TAB}" -k1,1 >> '$transcript_counts' 131 tail -n +2 transcript_counts.csv | sort -t"\${TAB}" -k1,1 >> '$transcript_counts'
110 #end if 132 #end if
111 #end if 133 #end if
112 ]]></command> 134 ]]></command>
113 <inputs> 135 <inputs>
114 <param name="input_bam" type="data" format="sam,bam" label="Input mapped reads" help="Input BAM/SAM file containing reads you want to assemble into transcripts"/> 136 <conditional name="input_options">
115 <param name="long_reads" argument="-L" type="boolean" truevalue="-L" falsevalue="" checked="false" label="Input contains long reads?" help="Select if the input contains long error-prone reads, e.g. from Oxford Nanopore or PacBio sequencing."/> 137 <param name="input_mode" type="select" label="Input options">
138 <option value="short_reads">Short reads</option>
139 <option value="long_reads">Long reads</option>
140 <option value="mixed_reads">Mixed mode: short and long reads</option>
141 </param>
142 <when value="short_reads">
143 <param name="input_bam" type="data" format="sam,bam" label="Input short mapped reads" help="Input BAM/SAM file containing the short reads you want to assemble into transcripts"/>
144 </when>
145 <when value="long_reads">
146 <param name="input_bam" type="data" format="sam,bam" label="Input long mapped reads" help="Input BAM/SAM file containing the long reads you want to assemble into transcripts"/>
147 <param name="error_splice" argument="-E" type="integer" min="0" max="50" value="25" label="Window around possibly erroneous splice sites" help="This option allows to define window around possibly erroneous splice sites from long reads to look out for correct splice sites. Default: 25" />
148 </when>
149 <when value="mixed_reads">
150 <param name="input_bam_short" type="data" format="sam,bam" label="Input short mapped reads" help="Input BAM/SAM file containing the short reads you want to assemble into transcripts"/>
151 <param name="input_bam_long" type="data" format="sam,bam" label="Input long mapped reads" help="Input BAM/SAM file containing the long reads you want to assemble into transcripts"/>
152 <param name="error_splice" argument="-E" type="integer" min="0" max="50" value="25" label="Window around possibly erroneous splice sites" help="This option allows to define window around possibly erroneous splice sites from long reads to look out for correct splice sites. Default: 25" />
153 </when>
154 </conditional>
116 <param name="rna_strandness" type="select" label="Specify strand information" 155 <param name="rna_strandness" type="select" label="Specify strand information"
117 help="Select 'Forward (FR)' if your reads are from a forward-stranded library, 'Reverse (RF)' if your reads are from a reverse-stranded library, or 'Unstranded' if your reads are not from a stranded library. See Help section below for more information. Default: Unstranded"> 156 help="Select 'Forward (FR)' if your reads are from a forward-stranded library, 'Reverse (RF)' if your reads are from a reverse-stranded library, or 'Unstranded' if your reads are not from a stranded library. See Help section below for more information. Default: Unstranded">
118 <option value="" selected="true">Unstranded</option> 157 <option value="" selected="true">Unstranded</option>
119 <option value="--fr">Forward (FR)</option> 158 <option value="--fr">Forward (FR)</option>
120 <option value="--rf">Reverse (RF)</option> 159 <option value="--rf">Reverse (RF)</option>
185 <param name="min_bundle_cov" argument="-c" type="integer" min="0" value="2" label="Minimum bundle reads per bp coverage to consider for assembly" help="Sets the minimum read coverage allowed for the predicted transcripts. A transcript with a lower coverage than this value is not shown in the output. Default: 2"/> 224 <param name="min_bundle_cov" argument="-c" type="integer" min="0" value="2" label="Minimum bundle reads per bp coverage to consider for assembly" help="Sets the minimum read coverage allowed for the predicted transcripts. A transcript with a lower coverage than this value is not shown in the output. Default: 2"/>
186 <param name="bdist" argument="-g" type="integer" min="0" value="50" label="Gap between read mappings triggering a new bundle" help="Minimum locus gap separation value. Reads that are mapped closer than this distance are merged together in the same processing bundle. Default: 50 (bp)"/> 225 <param name="bdist" argument="-g" type="integer" min="0" value="50" label="Gap between read mappings triggering a new bundle" help="Minimum locus gap separation value. Reads that are mapped closer than this distance are merged together in the same processing bundle. Default: 50 (bp)"/>
187 <param name="bundle_fraction" argument="-M" type="float" min="0.0" max="1.0" value="0.95" label="Fraction of bundle allowed to be covered by multi-hit reads" help="Sets the maximum fraction of muliple-location-mapped reads that are allowed to be present at a given locus. Default: 0.95"/> 226 <param name="bundle_fraction" argument="-M" type="float" min="0.0" max="1.0" value="0.95" label="Fraction of bundle allowed to be covered by multi-hit reads" help="Sets the maximum fraction of muliple-location-mapped reads that are allowed to be present at a given locus. Default: 0.95"/>
188 <param name="disable_trimming" argument="-t" type="boolean" truevalue="-t" falsevalue="" checked="false" label="Disable trimming of predicted transcripts based on coverage" help="This parameter disables trimming at the ends of the assembled transcripts. By default StringTie adjusts the predicted transcript's start and/or stop coordinates based on sudden drops in coverage of the assembled transcript. Default: No" /> 227 <param name="disable_trimming" argument="-t" type="boolean" truevalue="-t" falsevalue="" checked="false" label="Disable trimming of predicted transcripts based on coverage" help="This parameter disables trimming at the ends of the assembled transcripts. By default StringTie adjusts the predicted transcript's start and/or stop coordinates based on sudden drops in coverage of the assembled transcript. Default: No" />
189 <param name="multi_mapping" argument="-u" type="boolean" truevalue="-u" falsevalue="" checked="false" label="Disable multi-mapping correction" help="Default: No"/> 228 <param name="multi_mapping" argument="-u" type="boolean" truevalue="-u" falsevalue="" checked="false" label="Disable multi-mapping correction" help="Default: No"/>
229 <param name="point_features" type="data" format="tabular" optional="True" label="Input point-features dataset" help="Loads a list of point-features from a text feature file to guide the transcriptome assembly. Accepted point features are transcription start sites (TSS) and polyadenylation sites (CPAS). There are four tab-delimited columns in the feature file. The first three define the location of the point feature on the cromosome (sequence name, coordinate and strand), and the last is the type of the feature (TSS or CPAS)."/>
190 </section> 230 </section>
191 </inputs> 231 </inputs>
192 <outputs> 232 <outputs>
193 <data name="output_gtf" format="gtf" label="${tool.name} on ${on_string}: Assembled transcripts" /> 233 <data name="output_gtf" format="gtf" label="${tool.name} on ${on_string}: Assembled transcripts" />
194 <data name="gene_abundance_estimation" format="tabular" label="${tool.name} on ${on_string}: Gene abundance estimates"> 234 <data name="gene_abundance_estimation" format="tabular" label="${tool.name} on ${on_string}: Gene abundance estimates">
228 </data> 268 </data>
229 </outputs> 269 </outputs>
230 <tests> 270 <tests>
231 <!--Ensure default GTF output works --> 271 <!--Ensure default GTF output works -->
232 <test expect_num_outputs="1"> 272 <test expect_num_outputs="1">
233 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" /> 273 <conditional name="input_options">
274 <param name="input_mode" value="short_reads"/>
275 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
276 </conditional>
234 <output name="output_gtf" file="stringtie_out1.gtf" ftype="gtf" lines_diff="4" /> 277 <output name="output_gtf" file="stringtie_out1.gtf" ftype="gtf" lines_diff="4" />
235 </test> 278 </test>
236 <!--Ensure fraction option works --> 279 <!--Ensure fraction option works -->
237 <test expect_num_outputs="1"> 280 <test expect_num_outputs="1">
238 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" /> 281 <conditional name="input_options">
282 <param name="input_mode" value="short_reads"/>
283 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
284 </conditional>
239 <param name="fraction" value="0.17" /> 285 <param name="fraction" value="0.17" />
240 <output name="output_gtf" file="stringtie_out2.gtf" ftype="gtf" lines_diff="4" /> 286 <output name="output_gtf" file="stringtie_out2.gtf" ftype="gtf" lines_diff="4" />
241 </test> 287 </test>
242 <!--Ensure guide option works --> 288 <!--Ensure guide option works -->
243 <test expect_num_outputs="1"> 289 <test expect_num_outputs="1">
244 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" /> 290 <conditional name="input_options">
291 <param name="input_mode" value="short_reads"/>
292 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
293 </conditional>
245 <param name="use_guide" value="yes" /> 294 <param name="use_guide" value="yes" />
246 <param name="guide_gff_select" value="history" /> 295 <param name="guide_gff_select" value="history" />
247 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" /> 296 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
248 <output name="output_gtf" file="stringtie_out3.gtf" ftype="gtf" lines_diff="4" /> 297 <output name="output_gtf" file="stringtie_out3.gtf" ftype="gtf" lines_diff="4" />
249 </test> 298 </test>
250 <!--Ensure guide with fraction works --> 299 <!--Ensure guide with fraction works -->
251 <test expect_num_outputs="1"> 300 <test expect_num_outputs="1">
252 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" /> 301 <conditional name="input_options">
302 <param name="input_mode" value="short_reads"/>
303 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
304 </conditional>
253 <param name="use_guide" value="yes" /> 305 <param name="use_guide" value="yes" />
254 <param name="guide_gff_select" value="history" /> 306 <param name="guide_gff_select" value="history" />
255 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" /> 307 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
256 <param name="fraction" value="0.17" /> 308 <param name="fraction" value="0.17" />
257 <output name="output_gtf" file="stringtie_out4.gtf" ftype="gtf" lines_diff="4" /> 309 <output name="output_gtf" file="stringtie_out4.gtf" ftype="gtf" lines_diff="4" />
258 </test> 310 </test>
259 <!--Ensure coverage and output for Ballgown works --> 311 <!--Ensure coverage and output for Ballgown works -->
260 <test expect_num_outputs="7"> 312 <test expect_num_outputs="7">
261 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" /> 313 <conditional name="input_options">
314 <param name="input_mode" value="short_reads"/>
315 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
316 </conditional>
262 <param name="use_guide" value="yes" /> 317 <param name="use_guide" value="yes" />
263 <param name="guide_gff_select" value="history" /> 318 <param name="guide_gff_select" value="history" />
264 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" /> 319 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
265 <param name="special_outputs_select" value="ballgown" /> 320 <param name="special_outputs_select" value="ballgown" />
266 <param name="coverage_file" value="true" /> 321 <param name="coverage_file" value="true" />
272 <output name="output_gtf" file="stringtie_out5.gtf" ftype="gtf" lines_diff="4" /> 327 <output name="output_gtf" file="stringtie_out5.gtf" ftype="gtf" lines_diff="4" />
273 <output name="coverage" file="stringtie_out_coverage.gtf" ftype="gtf" /> 328 <output name="coverage" file="stringtie_out_coverage.gtf" ftype="gtf" />
274 </test> 329 </test>
275 <!--Ensure output for edgeR works --> 330 <!--Ensure output for edgeR works -->
276 <test expect_num_outputs="5"> 331 <test expect_num_outputs="5">
277 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" /> 332 <conditional name="input_options">
333 <param name="input_mode" value="short_reads"/>
334 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
335 </conditional>
278 <param name="use_guide" value="yes" /> 336 <param name="use_guide" value="yes" />
279 <param name="special_outputs_select" value="deseq2" /> 337 <param name="special_outputs_select" value="deseq2" />
280 <param name="input_estimation" value="true" /> 338 <param name="input_estimation" value="true" />
281 <param name="guide_gff_select" value="history" /> 339 <param name="guide_gff_select" value="history" />
282 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" /> 340 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
288 <output name="output_gtf" file="stringtie_out6.gtf" ftype="gtf" lines_diff="4" /> 346 <output name="output_gtf" file="stringtie_out6.gtf" ftype="gtf" lines_diff="4" />
289 <output name="coverage" file="stringtie_out_coverage.gtf" ftype="gtf" /> 347 <output name="coverage" file="stringtie_out_coverage.gtf" ftype="gtf" />
290 </test> 348 </test>
291 <!--Ensure gene abundances output works --> 349 <!--Ensure gene abundances output works -->
292 <test expect_num_outputs="2"> 350 <test expect_num_outputs="2">
293 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" /> 351 <conditional name="input_options">
352 <param name="input_mode" value="short_reads"/>
353 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
354 </conditional>
294 <param name="use_guide" value="yes" /> 355 <param name="use_guide" value="yes" />
295 <param name="guide_gff_select" value="history" /> 356 <param name="guide_gff_select" value="history" />
296 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" /> 357 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
297 <param name="fraction" value="0.17" /> 358 <param name="fraction" value="0.17" />
298 <param name="abundance_estimation" value="true" /> 359 <param name="abundance_estimation" value="true" />
299 <output name="output_gtf" file="stringtie_out4.gtf" ftype="gtf" lines_diff="4" /> 360 <output name="output_gtf" file="stringtie_out4.gtf" ftype="gtf" lines_diff="4" />
300 <output name="gene_abundance_estimation" file="stringtie_out7.tsv" ftype="tabular" lines_diff="2" /> 361 <output name="gene_abundance_estimation" file="stringtie_out7.tsv" ftype="tabular" lines_diff="2" />
301 </test> 362 </test>
302 <!--Ensure another fraction value works --> 363 <!--Ensure another fraction value works -->
303 <test expect_num_outputs="1"> 364 <test expect_num_outputs="1">
304 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" /> 365 <conditional name="input_options">
366 <param name="input_mode" value="short_reads"/>
367 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
368 </conditional>
305 <param name="use_guide" value="yes" /> 369 <param name="use_guide" value="yes" />
306 <param name="guide_gff_select" value="history" /> 370 <param name="guide_gff_select" value="history" />
307 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" /> 371 <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
308 <param name="fraction" value="0.15" /> 372 <param name="fraction" value="0.15" />
309 <output name="output_gtf" file="stringtie_out8.gtf" ftype="gtf" lines_diff="4" /> 373 <output name="output_gtf" file="stringtie_out8.gtf" ftype="gtf" lines_diff="4" />
310 </test> 374 </test>
311 <!--Ensure built-in GTFs work --> 375 <!--Ensure built-in GTFs work -->
312 <test expect_num_outputs="1"> 376 <test expect_num_outputs="1">
313 <param name="input_bam" ftype="bam" dbkey="hg38" value="stringtie_in1.bam" /> 377 <conditional name="input_options">
378 <param name="input_mode" value="short_reads"/>
379 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
380 </conditional>
314 <param name="use_guide" value="yes" /> 381 <param name="use_guide" value="yes" />
315 <param name="guide_gff_select" value="cached" /> 382 <param name="guide_gff_select" value="cached" />
316 <param name="fraction" value="0.15" /> 383 <param name="fraction" value="0.15" />
317 <output name="output_gtf" file="stringtie_out8.gtf" ftype="gtf" lines_diff="4" /> 384 <output name="output_gtf" file="stringtie_out9.gtf" ftype="gtf" lines_diff="4" />
385 </test>
386 <!-- Test long reads input -->
387 <test expect_num_outputs="1">
388 <conditional name="input_options">
389 <param name="input_mode" value="long_reads"/>
390 <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
391 </conditional>
392 <param name="use_guide" value="yes" />
393 <param name="guide_gff_select" value="cached" />
394 <param name="fraction" value="0.15" />
395 <output name="output_gtf" file="stringtie_out10.gtf" ftype="gtf" lines_diff="4" />
396 </test>
397 <!-- Test error splice option -->
398 <test expect_num_outputs="1">
399 <conditional name="input_options">
400 <param name="input_mode" value="long_reads"/>
401 <param name="input_bam" ftype="bam" value="long_reads.bam" />
402 <param name="error_splice" value="30" />
403 </conditional>
404 <param name="use_guide" value="yes" />
405 <param name="guide_gff_select" value="cached" />
406 <param name="fraction" value="0.15" />
407 <output name="output_gtf" file="stringtie_out11.gtf" ftype="gtf" lines_diff="4" />
408 </test>
409 <!-- Test mixed reads input -->
410 <test expect_num_outputs="1">
411 <conditional name="input_options">
412 <param name="input_mode" value="mixed_reads"/>
413 <param name="input_bam_short" ftype="bam" value="short_reads.bam" />
414 <param name="input_bam_long" ftype="bam" value="long_reads.bam" />
415 </conditional>
416 <output name="output_gtf" file="stringtie_out12.gtf" ftype="gtf" lines_diff="4" />
318 </test> 417 </test>
319 </tests> 418 </tests>
320 <help><![CDATA[ 419 <help><![CDATA[
321 420
322 .. class:: infomark 421 .. class:: infomark
474 .. _edgeR: https://bioconductor.org/packages/release/bioc/html/edgeR.html 573 .. _edgeR: https://bioconductor.org/packages/release/bioc/html/edgeR.html
475 .. _limma: https://bioconductor.org/packages/release/bioc/html/limma.html 574 .. _limma: https://bioconductor.org/packages/release/bioc/html/limma.html
476 .. _Bioconductor: https://www.bioconductor.org/ 575 .. _Bioconductor: https://www.bioconductor.org/
477 .. _SAM: http://samtools.github.io/hts-specs/SAMv1.pdf 576 .. _SAM: http://samtools.github.io/hts-specs/SAMv1.pdf
478 .. _HISAT2: http://ccb.jhu.edu/software/hisat2 577 .. _HISAT2: http://ccb.jhu.edu/software/hisat2
479 .. _`GTF/GFF3`: https://ccb.jhu.edu/software/stringtie/gff.shtml 578 .. _`GTF/GFF3`: http://ccb.jhu.edu/software/stringtie/gff.shtml
480 .. _`this link`: https://github.com/alyssafrazee/ballgown#ballgown-readable-expression-output 579 .. _`this link`: https://github.com/alyssafrazee/ballgown#ballgown-readable-expression-output
481 .. _`Ensembl site here`: http://useast.ensembl.org/info/website/upload/gff.html 580 .. _`Ensembl site here`: http://useast.ensembl.org/info/website/upload/gff.html
482 .. _here: http://www.rna-seqblog.com/rpkm-fpkm-and-tpm-clearly-explained/ 581 .. _here: http://www.rna-seqblog.com/rpkm-fpkm-and-tpm-clearly-explained/
483 .. _`by B. Li and C. Dewey here`: http://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-12-323 582 .. _`by B. Li and C. Dewey here`: http://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-12-323
484 .. _`GFF utilities page`: https://ccb.jhu.edu/software/stringtie/gff.shtml#gffcompare 583 .. _`GFF utilities page`: http://ccb.jhu.edu/software/stringtie/gff.shtml#gffcompare
485 .. _`protocol paper`: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5032908/ 584 .. _`protocol paper`: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5032908/
486 .. _`StringTie manual here`: https://ccb.jhu.edu/software/stringtie/index.shtml?t=manual 585 .. _`StringTie manual here`: http://ccb.jhu.edu/software/stringtie/index.shtml?t=manual
487 586
488 ]]></help> 587 ]]></help>
489 <expand macro="citations" /> 588 <expand macro="citations" />
490 </tool> 589 </tool>