comparison gffread.xml @ 4:0cf496c45054 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gffread commit 956566e1f7b4390719db56b7488a720ccad181a4"
author iuc
date Fri, 01 Nov 2019 12:54:23 -0400
parents 29769f789b8f
children f312cff50fda
comparison
equal deleted inserted replaced
3:29769f789b8f 4:0cf496c45054
1 <tool id="gffread" name="gffread" version="@VERSION@.2"> 1 <tool id="gffread" name="gffread" version="@VERSION@.1">
2 <description>Filters and/or converts GFF3/GTF2 records</description> 2 <description>Filters and/or converts GFF3/GTF2 records</description>
3 <macros> 3 <macros>
4 <import>cuff_macros.xml</import> 4 <token name="@VERSION@">0.11.4</token>
5 <xml name="fasta_output_select"> 5 <xml name="fasta_output_select">
6 <param name="fa_outputs" type="select" display="checkboxes" multiple="true" label="Select fasta outputs"> 6 <param name="fa_outputs" type="select" display="checkboxes" multiple="true" label="Select fasta outputs">
7 <option value="-w exons.fa">fasta file with spliced exons for each GFF transcript (-w exons.fa)</option> 7 <option value="-w exons.fa">fasta file with spliced exons for each GFF transcript (-w exons.fa)</option>
8 <option value="-x cds.fa">fasta file with spliced CDS for each GFF transcript (-x cds.fa)</option> 8 <option value="-x cds.fa">fasta file with spliced CDS for each GFF transcript (-x cds.fa)</option>
9 <option value="-y pep.fa">protein fasta file with the translation of CDS for each record (-y pep.fa)</option> 9 <option value="-y pep.fa">protein fasta file with the translation of CDS for each record (-y pep.fa)</option>
45 <param name="merge_options" type="select" display="checkboxes" multiple="true" label="Cluster options"> 45 <param name="merge_options" type="select" display="checkboxes" multiple="true" label="Cluster options">
46 <expand macro="cluster_opts" /> 46 <expand macro="cluster_opts" />
47 </param> 47 </param>
48 </xml> 48 </xml>
49 </macros> 49 </macros>
50 <expand macro="requirements" /> 50 <requirements>
51 <requirement type="package" version="@VERSION@">gffread</requirement>
52 </requirements>
51 <command detect_errors="aggressive"> 53 <command detect_errors="aggressive">
52 <![CDATA[ 54 <![CDATA[
53 #if $reference_genome.source == 'history': 55 #if $reference_genome.source == 'history':
54 ln -s '$reference_genome.genome_fasta' genomeref.fa && 56 ln -s '$reference_genome.genome_fasta' genomeref.fa &&
55 #end if 57 #end if
122 <param name="filtering" type="select" display="checkboxes" multiple="true" label="filters"> 124 <param name="filtering" type="select" display="checkboxes" multiple="true" label="filters">
123 <option value="-U">discard single-exon transcripts (-U)</option> 125 <option value="-U">discard single-exon transcripts (-U)</option>
124 <option value="-C">coding only: discard mRNAs that have no CDS feature (-C)</option> 126 <option value="-C">coding only: discard mRNAs that have no CDS feature (-C)</option>
125 <option value="-G">only parse additional exon attributes from the first exon and move them to the mRNA level (useful for GTF input) (-G)</option> 127 <option value="-G">only parse additional exon attributes from the first exon and move them to the mRNA level (useful for GTF input) (-G)</option>
126 <option value="-O">process also non-transcript GFF records (by default non-transcript records are ignored) (-O)</option> 128 <option value="-O">process also non-transcript GFF records (by default non-transcript records are ignored) (-O)</option>
127 <option value="--no-pseudo">filter out records matching the 'pseudo' keyword (--no-pseudo)</option> 129 <!-- The no-pseudo option is broken in 0.11.4 of gffread.
130 See https://github.com/gpertea/gffread/issues/43 -->
131 <!-- <option value="\-\-no-pseudo">filter out records matching the 'pseudo' keyword (\-\-no-pseudo)</option> -->
128 </param> 132 </param>
129 <conditional name="region"> 133 <conditional name="region">
130 <param name="region_filter" type="select" label="Filter by genome region"> 134 <param name="region_filter" type="select" label="Filter by genome region">
131 <option value="none">No</option> 135 <option value="none">No</option>
132 <option value="filter">Yes</option> 136 <option value="filter">Yes</option>
270 <param name="input" ftype="gtf" value="ecoli-k12.gff3"/> 274 <param name="input" ftype="gtf" value="ecoli-k12.gff3"/>
271 <param name="gff_fmt" value="gff"/> 275 <param name="gff_fmt" value="gff"/>
272 <param name="full_gff_attribute_preservation" value="-F"/> 276 <param name="full_gff_attribute_preservation" value="-F"/>
273 <output name="output_gff" file="ecoli-k12.processed.gff3" ftype="gff3" lines_diff="2" /> 277 <output name="output_gff" file="ecoli-k12.processed.gff3" ftype="gff3" lines_diff="2" />
274 </test> 278 </test>
275 279
280 <!-- The no-pseudo option is broken in 0.11.4 of gffread.
281 See https://github.com/gpertea/gffread/issues/43 -->
282 <!--
276 <test> 283 <test>
277 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> 284 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/>
278 <param name="filtering" value="--no-pseudo"/> 285 <param name="filtering" value="/-/-no-pseudo"/> # Fix dashes when uncommenting
279 <param name="gff_fmt" value="gtf"/> 286 <param name="gff_fmt" value="gtf"/>
280 <output name="output_gtf"> 287 <output name="output_gtf">
281 <assert_contents> 288 <assert_contents>
282 <not_has_text text="pseudo" /> 289 <not_has_text text="pseudo" />
283 </assert_contents> 290 </assert_contents>
284 </output> 291 </output>
285 </test> 292 </test>
293 -->
286 294
287 <test> 295 <test>
288 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> 296 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/>
289 <param name="region_filter" value="filter"/> 297 <param name="region_filter" value="filter"/>
290 <param name="range" value="19:496500..504965"/> 298 <param name="range" value="19:496500..504965"/>
333 <param name="region_filter" value="filter"/> 341 <param name="region_filter" value="filter"/>
334 <param name="range" value="19:496500..504965"/> 342 <param name="range" value="19:496500..504965"/>
335 <param name="gff_fmt" value="gtf"/> 343 <param name="gff_fmt" value="gtf"/>
336 <output name="output_gtf"> 344 <output name="output_gtf">
337 <assert_contents> 345 <assert_contents>
338 <not_has_text text="ENST00000587541" /> 346 <has_text text="ENST00000587541" />
339 <has_text text="ENST00000382683" /> 347 <has_text text="ENST00000382683" />
340 </assert_contents> 348 </assert_contents>
341 </output> 349 </output>
342 <output name="output_exons"> 350 <output name="output_exons">
343 <assert_contents> 351 <assert_contents>
344 <has_text text="ENST00000346144 gene=MADCAM1 CDS=47-932" /> 352 <has_text text="ENST00000346144 CDS=47-934" />
345 <has_text text="CTATTTAAGCGGCTTCCCCGCGGCCTCGGGACAGAGGGGACTGAGCATGGATTTCGGACTGGCCCTCCTG" /> 353 <has_text text="CTATTTAAGCGGCTTCCCCGCGGCCTCGGGACAGAGGGGACTGAGCATGGATTTCGGACTGGCCCTCCTG" />
346 </assert_contents> 354 </assert_contents>
347 </output> 355 </output>
348 <output name="output_cds"> 356 <output name="output_cds">
349 <assert_contents> 357 <assert_contents>
350 <has_text text="ENST00000346144 gene=MADCAM1" /> 358 <has_text text="ENST00000346144" />
351 <has_text text="ATGGATTTCGGACTGGCCCTCCTGCTGGCGGGGCTTCTGGGGCTCCTCCTCGGCCAGTCCCTCCAGGTGA" /> 359 <has_text text="ATGGATTTCGGACTGGCCCTCCTGCTGGCGGGGCTTCTGGGGCTCCTCCTCGGCCAGTCCCTCCAGGTGA" />
352 </assert_contents> 360 </assert_contents>
353 </output> 361 </output>
354 <output name="output_pep"> 362 <output name="output_pep">
355 <assert_contents> 363 <assert_contents>
356 <has_text text="ENST00000346144 gene=MADCAM1" /> 364 <has_text text="ENST00000346144" />
357 <has_text text="MDFGLALLLAGLLGLLLGQSLQVKPLQVEPPEPVVAVALGASRQLTCRLACADRGASVQWRGLDTSLGAV" /> 365 <has_text text="MDFGLALLLAGLLGLLLGQSLQVKPLQVEPPEPVVAVALGASRQLTCRLACADRGASVQWRGLDTSLGAV" />
358 </assert_contents> 366 </assert_contents>
359 </output> 367 </output>
360 </test> 368 </test>
361 369
362 </tests> 370 </tests>
363 <help> 371 <help>
364 <![CDATA[ 372 <![CDATA[
365 **gffread Filters and/or converts GFF3/GTF2 records** 373 **gffread Filters and/or converts GFF3/GTF2 records**
366 374
367 The gffread command is distributed with the cufflinks_ package. 375 The gffread command is documented with the stringtie_ package.
368 376
369 .. _cufflinks: http://cole-trapnell-lab.github.io/cufflinks/ 377 .. _stringtie: http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread
370 378
371 Usage: :: 379
372 380 gffread v0.11.4. Usage: ::
373 gffread "input_gff" [-g "genomic_seqs_fasta" | "dir"][-s "seq_info.fsize"] 381
374 [-o "outfile.gff"] [-t "tname"] [-r [["strand"]"chr":]"start".."end" [-R]] 382 gffread <input_gff> [-g <genomic_seqs_fasta> | <dir>][-s <seq_info.fsize>]
375 [-CTVNJMKQAFGUBHZWTOLE] [-w "exons.fa"] [-x "cds.fa"] [-y "tr_cds.fa"] 383 [-o <outfile>] [-t <trackname>] [-r [[<strand>]<chr>:]<start>..<end> [-R]]
376 [-i "maxintron"] 384 [-CTVNJMKQAFPGUBHZWTOLE] [-w <exons.fa>] [-x <cds.fa>] [-y <tr_cds.fa>]
377 385 [-i <maxintron>] [--bed] [--table <attrlist>] [--sort-by <refseq_list.txt>]
378 Options: :: 386
379 387 Filter, convert or cluster GFF/GTF/BED records, extract the sequence of
380 -g full path to a multi-fasta file with the genomic sequences 388 transcripts (exon or CDS) and more.
381 for all input mappings, OR a directory with single-fasta files 389 By default (i.e. without -O) only transcripts are processed, discarding any
382 (one per genomic sequence, with file names matching sequence names) 390 other non-transcript features. Default output is a simplified GFF3 with only
383 -s <seq_info.fsize> is a tab-delimited file providing this info 391 the basic attributes.
384 for each of the mapped sequences: 392
385 <seq-name> <seq-length> <seq-description> 393 <input_gff> is a GFF file, use '-' for stdin
386 (useful for -A option with mRNA/EST/protein mappings) 394
387 -i discard transcripts having an intron larger than <maxintron> 395 Options:
388 -r only show transcripts overlapping coordinate range <start>..<end> 396
389 (on chromosome/contig <chr>, strand <strand> if provided) 397 -i discard transcripts having an intron larger than <maxintron>
390 -R for -r option, discard all transcripts that are not fully 398 -l discard transcripts shorter than <minlen> bases
391 contained within the given range 399 -r only show transcripts overlapping coordinate range <start>..<end>
392 -U discard single-exon transcripts 400 (on chromosome/contig <chr>, strand <strand> if provided)
393 -C coding only: discard mRNAs that have no CDS feature 401 -R for -r option, discard all transcripts that are not fully
394 -F full GFF attribute preservation (all attributes are shown) 402 contained within the given range
395 -G only parse additional exon attributes from the first exon 403 -U discard single-exon transcripts
396 and move them to the mRNA level (useful for GTF input) 404 -C coding only: discard mRNAs that have no CDS features
397 -A use the description field from <seq_info.fsize> and add it 405 --nc non-coding only: discard mRNAs that have CDS features
398 as the value for a 'descr' attribute to the GFF record 406 --ignore-locus : discard locus features and attributes found in the input
399 407 -A use the description field from <seq_info.fsize> and add it
400 -O process also non-transcript GFF records (by default non-transcript 408 as the value for a 'descr' attribute to the GFF record
401 records are ignored) 409 -s <seq_info.fsize> is a tab-delimited file providing this info
402 -V discard any mRNAs with CDS having in-frame stop codons 410 for each of the mapped sequences:
403 -H for -V option, check and adjust the starting CDS phase 411 <seq-name> <seq-length> <seq-description>
404 if the original phase leads to a translation with an 412 (useful for -A option with mRNA/EST/protein mappings)
405 in-frame stop codon 413
406 -B for -V option, single-exon transcripts are also checked on the 414 Sorting: (by default, chromosomes are kept in the order they were found)
407 opposite strand 415 --sort-alpha : chromosomes (reference sequences) are sorted alphabetically
408 -N discard multi-exon mRNAs that have any intron with a non-canonical 416 --sort-by : sort the reference sequences by the order in which their
409 splice site consensus (i.e. not GT-AG, GC-AG or AT-AC) 417 names are given in the <refseq.lst> file
410 -J discard any mRNAs that either lack initial START codon 418
411 or the terminal STOP codon, or have an in-frame stop codon 419 Misc options:
412 (only print mRNAs with a fulll, valid CDS) 420 -F preserve all GFF attributes (for non-exon features)
413 --no-pseudo: filter out records matching the 'pseudo' keyword 421 --keep-exon-attrs : for -F option, do not attempt to reduce redundant
414 422 exon/CDS attributes
415 -M/--merge : cluster the input transcripts into loci, collapsing matching 423 -G do not keep exon attributes, move them to the transcript feature
416 transcripts (those with the same exact introns and fully contained) 424 (for GFF3 output)
417 -d <dupinfo> : for -M option, write collapsing info to file <dupinfo> 425 --keep-genes : in transcript-only mode (default), also preserve gene records
418 --cluster-only: same as --merge but without collapsing matching transcripts 426 --keep-comments: for GFF3 input/output, try to preserve comments
419 -K for -M option: also collapse shorter, fully contained transcripts 427 -O process other non-transcript GFF records (by default non-transcript
420 with fewer introns than the container 428 records are ignored)
421 -Q for -M option, remove the containment restriction: 429 -V discard any mRNAs with CDS having in-frame stop codons (requires -g)
422 (multi-exon transcripts will be collapsed if just their introns match, 430 -H for -V option, check and adjust the starting CDS phase
423 while single-exon transcripts can partially overlap (80%)) 431 if the original phase leads to a translation with an
424 432 in-frame stop codon
425 --force-exons: make sure that the lowest level GFF features are printed as 433 -B for -V option, single-exon transcripts are also checked on the
426 "exon" features 434 opposite strand (requires -g)
427 -E expose (warn about) duplicate transcript IDs and other potential 435 -P add transcript level GFF attributes about the coding status of each
428 problems with the given GFF/GTF records 436 transcript, including partialness or in-frame stop codons (requires -g)
429 -D decode url encoded characters within attributes 437 --add-hasCDS : add a "hasCDS" attribute with value "true" for transcripts
430 -Z merge close exons into a single exon (for intron size<4) 438 that have CDS features
431 -w write a fasta file with spliced exons for each GFF transcript 439 --adj-stop stop codon adjustment: enables -P and performs automatic
432 -x write a fasta file with spliced CDS for each GFF transcript 440 adjustment of the CDS stop coordinate if premature or downstream
433 -W for -w and -x options, also write for each fasta record the exon 441 -N discard multi-exon mRNAs that have any intron with a non-canonical
434 coordinates projected onto the spliced sequence 442 splice site consensus (i.e. not GT-AG, GC-AG or AT-AC)
435 -y write a protein fasta file with the translation of CDS for each record 443 -J discard any mRNAs that either lack initial START codon
436 -L Ensembl GTF to GFF3 conversion (implies -F; should be used with -m) 444 or the terminal STOP codon, or have an in-frame stop codon
437 -m <chr_replace> is a reference (genomic) sequence replacement table with 445 (i.e. only print mRNAs with a complete CDS)
438 this format: 446 --no-pseudo: filter out records matching the 'pseudo' keyword
439 <original_ref_ID> <new_ref_ID> 447 --in-bed: input should be parsed as BED format (automatic if the input
440 For example from UCSC naming to Ensembl naming: 448 filename ends with .bed*)
441 chr1 1 449 --in-tlf: input GFF-like one-line-per-transcript format without exon/CDS
442 chr2 2 450 features (see --tlf option below); automatic if the input
443 GFF records on reference sequences that are not found among the 451 filename ends with .tlf)
444 <original_ref_ID> entries in this file will be filtered out 452
445 -o the "filtered" GFF records will be written to <outfile.gff> 453 Clustering:
446 (use -o- for printing to stdout) 454 -M/--merge : cluster the input transcripts into loci, discarding
447 -t use <trackname> in the second column of each GFF output line 455 "duplicated" transcripts (those with the same exact introns
448 -T -o option will output GTF format instead of GFF3 456 and fully contained or equal boundaries)
449 457 -d <dupinfo> : for -M option, write duplication info to file <dupinfo>
458 --cluster-only: same as -M/--merge but without discarding any of the
459 "duplicate" transcripts, only create "locus" features
460 -K for -M option: also discard as redundant the shorter, fully contained
461 transcripts (intron chains matching a part of the container)
462 -Q for -M option, no longer require boundary containment when assessing
463 redundancy (can be combined with -K); only introns have to match for
464 multi-exon transcripts, and >=80% overlap for single-exon transcripts
465 -Y for -M option, enforce -Q but also discard overlapping single-exon
466 transcripts, even on the opposite strand (can be combined with -K)
467
468 Output options:
469 --force-exons: make sure that the lowest level GFF features are considered
470 "exon" features
471 --gene2exon: for single-line genes not parenting any transcripts, add an
472 exon feature spanning the entire gene (treat it as a transcript)
473 --t-adopt: try to find a parent gene overlapping/containing a transcript
474 that does not have any explicit gene Parent
475 -D decode url encoded characters within attributes
476 -Z merge very close exons into a single exon (when intron size<4)
477 -g full path to a multi-fasta file with the genomic sequences
478 for all input mappings, OR a directory with single-fasta files
479 (one per genomic sequence, with file names matching sequence names)
480 -w write a fasta file with spliced exons for each GFF transcript
481 -x write a fasta file with spliced CDS for each GFF transcript
482 -y write a protein fasta file with the translation of CDS for each record
483 -W for -w and -x options, write in the FASTA defline the exon
484 coordinates projected onto the spliced sequence;
485 for -y option, write transcript attributes in the FASTA defline
486 -S for -y option, use '*' instead of '.' as stop codon translation
487 -L Ensembl GTF to GFF3 conversion (implies -F; should be used with -m)
488 -m <chr_replace> is a name mapping table for converting reference
489 sequence names, having this 2-column format:
490 <original_ref_ID> <new_ref_ID>
491 WARNING: all GFF records on reference sequences whose original IDs
492 are not found in the 1st column of this table will be discarded!
493 -t use <trackname> in the 2nd column of each GFF/GTF output line
494 -o write the records into <outfile> instead of stdout
495 -T main output will be GTF instead of GFF3
496 --bed output records in BED format instead of default GFF3
497 --tlf output "transcript line format" which is like GFF
498 but exons, CDS features and related data are stored as GFF
499 attributes in the transcript feature line, like this:
500 exoncount=N;exons=<exons>;CDSphase=<N>;CDS=<CDScoords>
501 <exons> is a comma-delimited list of exon_start-exon_end coordinates;
502 <CDScoords> is CDS_start:CDS_end coordinates or a list like <exons>
503 --table output a simple tab delimited format instead of GFF, with columns
504 having the values of GFF attributes given in <attrlist>; special
505 pseudo-attributes (prefixed by @) are recognized:
506 @chr, @start, @end, @strand, @numexons, @exons, @cds, @covlen, @cdslen
507 -v,-E expose (warn about) duplicate transcript IDs and other potential
508 problems with the given GFF/GTF records
450 ]]> 509 ]]>
451 </help> 510 </help>
452 <citations> 511 <citations>
453 <citation type="doi">10.1038/nbt.1621</citation> 512 <citation type="doi">10.1038/nbt.1621</citation>
454 </citations> 513 </citations>