Mercurial > repos > devteam > gffread
comparison gffread.xml @ 7:9c298cab341d draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gffread commit f40643d8b80299ebb84faebe92579321ac459746"
author | iuc |
---|---|
date | Sat, 25 Sep 2021 15:38:01 +0000 |
parents | bba49324f2fa |
children |
comparison
equal
deleted
inserted
replaced
6:bba49324f2fa | 7:9c298cab341d |
---|---|
1 <tool id="gffread" name="gffread" version="@VERSION@.0"> | 1 <tool id="gffread" name="gffread" version="@GALAXY_TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05"> |
2 <description>Filters and/or converts GFF3/GTF2 records</description> | 2 <description>Filters and/or converts GFF3/GTF2 records</description> |
3 <xrefs> | 3 <xrefs> |
4 <xref type="bio.tools">gffread</xref> | 4 <xref type="bio.tools">gffread</xref> |
5 </xrefs> | 5 </xrefs> |
6 <macros> | 6 <macros> |
7 <token name="@VERSION@">0.11.6</token> | 7 <!-- the version of this tool must not be lowered since in the past 2.x was used |
8 lets use small increments and hope that gffread catches up one day --> | |
9 <token name="@GALAXY_TOOL_VERSION@">2.2.1.3</token> | |
10 <token name="@TOOL_VERSION@">0.12.7</token> | |
11 <token name="@VERSION_SUFFIX@">0</token> | |
8 <xml name="fasta_output_select"> | 12 <xml name="fasta_output_select"> |
9 <param name="fa_outputs" type="select" display="checkboxes" multiple="true" label="Select fasta outputs"> | 13 <param name="fa_outputs" type="select" display="checkboxes" multiple="true" label="Select fasta outputs"> |
10 <option value="-w exons.fa">fasta file with spliced exons for each GFF transcript (-w exons.fa)</option> | 14 <option value="-w exons.fa">fasta file with spliced exons for each GFF transcript (-w)</option> |
11 <option value="-x cds.fa">fasta file with spliced CDS for each GFF transcript (-x cds.fa)</option> | 15 <option value="-x cds.fa">fasta file with spliced CDS for each GFF transcript (-x)</option> |
12 <option value="-y pep.fa">protein fasta file with the translation of CDS for each record (-y pep.fa)</option> | 16 <option value="-y pep.fa">protein fasta file with the translation of CDS for each record (-y)</option> |
13 <option value="-W">for each fasta: record the exon coordinates projected onto the spliced sequence (-W)</option> | 17 <option value="-W">for each fasta: record the exon coordinates projected onto the spliced sequence (-W)</option> |
18 <option value="-S">for protein fasta: use '*' instead of '.' as stop codon translation (-S)</option> | |
14 </param> | 19 </param> |
15 </xml> | 20 </xml> |
16 <xml name="ref_filtering_select"> | 21 <xml name="ref_filtering_select"> |
17 <param name="ref_filtering" type="select" display="checkboxes" multiple="true" label="reference based filters"> | 22 <param name="ref_filtering" type="select" display="checkboxes" multiple="true" label="reference based filters"> |
18 <option value="-N">discard multi-exon mRNAs that have any intron with a non-canonical splice site consensus, i.e. not GT-AG, GC-AG or AT-AC (-N)</option> | 23 <option value="-N">discard multi-exon mRNAs that have any intron with a non-canonical splice site consensus, i.e. not GT-AG, GC-AG or AT-AC (-N)</option> |
23 <option value="-B">single-exon transcripts are also checked on the opposite strand (-B with -V)</option> | 28 <option value="-B">single-exon transcripts are also checked on the opposite strand (-B with -V)</option> |
24 --> | 29 --> |
25 </param> | 30 </param> |
26 </xml> | 31 </xml> |
27 <xml name="trackname"> | 32 <xml name="trackname"> |
28 <param name="tname" type="text" value="" optional="true" label="Trackname to use in the second column of each GFF output line" help="(-t track_name}"> | 33 <param argument="-t" name="tname" type="text" value="" optional="true" label="Trackname to use in the second column of each GFF output line" help=""> |
29 <validator type="regex">\w+</validator> | 34 <validator type="regex">\w+</validator> |
30 </param> | 35 </param> |
31 </xml> | 36 </xml> |
32 <xml name="merge_opts"> | 37 <xml name="merge_opts"> |
33 <option value="-K">also collapse shorter, fully contained transcripts with fewer introns than the container (-K)</option> | 38 <option value="-K">also collapse shorter, fully contained transcripts with fewer introns than the container (-K)</option> |
34 <option value="-Q">remove the containment restriction: multi-exon transcripts will be collapsed if just their introns match, while single-exon transcripts can partially overlap 80% (-Q)</option> | 39 <option value="-Q">remove the containment restriction: multi-exon transcripts will be collapsed if just their introns match, while single-exon transcripts can partially overlap 80% (-Q)</option> |
35 <option value="-d dupinfo">output collapsing info (-d dupinfo)</option> | 40 <option value="-d dupinfo">output collapsing info (-d)</option> |
36 </xml> | 41 </xml> |
37 <xml name="cluster_opts"> | 42 <xml name="cluster_opts"> |
38 <option value="--force-exons"> make sure that the lowest level GFF features are printed as 'exon' features (--force-exons)</option> | 43 <option value="--force-exons"> make sure that the lowest level GFF features are printed as 'exon' features (--force-exons)</option> |
39 <option value="-Z">merge close exons into a single exon (for intron size < 4) (-Z)</option> | 44 <option value="-Z">merge close exons into a single exon (for intron size < 4) (-Z)</option> |
40 </xml> | 45 </xml> |
49 <expand macro="cluster_opts" /> | 54 <expand macro="cluster_opts" /> |
50 </param> | 55 </param> |
51 </xml> | 56 </xml> |
52 </macros> | 57 </macros> |
53 <requirements> | 58 <requirements> |
54 <requirement type="package" version="@VERSION@">gffread</requirement> | 59 <requirement type="package" version="@TOOL_VERSION@">gffread</requirement> |
55 </requirements> | 60 </requirements> |
61 <version_command>gffread --version</version_command> | |
56 <command detect_errors="aggressive"> | 62 <command detect_errors="aggressive"> |
57 <![CDATA[ | 63 <![CDATA[ |
58 #if $reference_genome.source == 'history': | 64 #if $reference_genome.source == 'history': |
59 ln -s '$reference_genome.genome_fasta' genomeref.fa && | 65 ln -s '$reference_genome.genome_fasta' genomeref.fa && |
60 #end if | 66 #end if |
67 | |
61 gffread '$input' | 68 gffread '$input' |
69 #if $input.ext.startswith("bed") | |
70 --in-bed | |
71 #end if | |
62 #if $reference_genome.source == 'cached': | 72 #if $reference_genome.source == 'cached': |
63 -g '${reference_genome.fasta_indexes.fields.path}' | 73 -g '${reference_genome.fasta_indexes.fields.path}' |
64 #if $reference_genome.ref_filtering and str($reference_genome.ref_filtering) != '': | 74 #if $reference_genome.ref_filtering and str($reference_genome.ref_filtering) != '': |
65 #echo ' '.join(str($reference_genome.ref_filtering).split(',')) | 75 #echo ' '.join(str($reference_genome.ref_filtering).split(',')) |
66 #end if | 76 #end if |
105 #if $reference_genome.fa_outputs and str($reference_genome.fa_outputs) != '': | 115 #if $reference_genome.fa_outputs and str($reference_genome.fa_outputs) != '': |
106 #echo ' ' + ' '.join(str($reference_genome.fa_outputs).split(',')) | 116 #echo ' ' + ' '.join(str($reference_genome.fa_outputs).split(',')) |
107 #end if | 117 #end if |
108 #end if | 118 #end if |
109 #if $gffs.gff_fmt != 'none': | 119 #if $gffs.gff_fmt != 'none': |
110 #if $gffs.tname: | 120 #if $gffs.gff_fmt != 'bed' and $gffs.tname: |
111 -t '$gffs.tname' | 121 -t '$gffs.tname' |
112 #end if | 122 #end if |
113 #if $gffs.gff_fmt == 'gff': | 123 #if $gffs.gff_fmt == 'gff': |
124 ## TODO bug 'gft' -> 'gtf' | |
114 #if $input.datatype.file_ext == 'gft': | 125 #if $input.datatype.file_ext == 'gft': |
115 $gffs.ensembl | 126 $gffs.ensembl |
116 #end if | 127 #end if |
117 $gffs.output_cmd | |
118 #elif $gffs.gff_fmt == 'gtf': | |
119 $gffs.output_cmd | |
120 #end if | 128 #end if |
121 #end if | 129 #if $gffs.gff_fmt == 'gtf' |
130 -T | |
131 #elif $gffs.gff_fmt == 'bed' | |
132 --bed | |
133 #end if | |
134 -o output.$gffs.gff_fmt | |
135 #end if | |
136 | |
137 ## Missing options | |
138 ## | |
139 ## --ids | |
140 ## --nids | |
141 ## -l | |
142 ## --jmatch | |
143 ## --nc | |
144 ## --ignore-locus | |
145 ## -A -s (see above) | |
146 ## --sort-alpha : chromosomes (reference sequences) are sorted alphabetically | |
147 ## --sort-by : sort the reference sequences by the order in which their | |
148 ## names are given in the <refseq.lst> file | |
149 ## Misc | |
150 ## --keep-exon-attrs : for -F option, do not attempt to reduce redundant | |
151 ## --attrs | |
152 ## --keep-genes : in transcript-only mode (default), also preserve gene records | |
153 ## --keep-comments: for GFF3 input/output, try to preserve comments | |
154 ## -B (see above) | |
155 ## -P | |
156 ## --add-hasCDS : add a "hasCDS" attribute with value "true" for transcripts | |
157 ## that have CDS features | |
158 ## --adj-stop stop codon adjustment: enables -P and performs automatic | |
159 ## adjustment of the CDS stop coordinate if premature or downstream | |
160 | |
161 ## --in-tlf: input GFF-like one-line-per-transcript format without exon/CDS | |
162 ## features (see --tlf option below); automatic if the input | |
163 ## filename ends with .tlf) | |
164 ## --stream: fast processing of input GFF/BED transcripts as they are received | |
165 ## ((no sorting, exons must be grouped by transcript in the input data) | |
166 | |
167 ## Clustering | |
168 | |
169 ## -Y | |
170 | |
171 ## Output | |
172 | |
173 ## --gene2exon | |
174 ## --t-adopt | |
175 ## -j | |
176 ## --w-add | |
177 ## --w-nocds | |
122 ]]> | 178 ]]> |
123 </command> | 179 </command> |
124 <inputs> | 180 <inputs> |
125 <param name="input" type="data" format="gff3,gtf" label="Input GFF3 or GTF feature file"/> | 181 <param name="input" type="data" format="bed,gff3,gtf" label="Input BED, GFF3 or GTF feature file"/> |
126 <!-- filtering --> | 182 <!-- filtering --> |
127 <param name="filtering" type="select" display="checkboxes" multiple="true" label="filters"> | 183 <param name="filtering" type="select" display="checkboxes" multiple="true" label="filters"> |
128 <option value="-U">discard single-exon transcripts (-U)</option> | 184 <option value="-U">discard single-exon transcripts (-U)</option> |
129 <option value="-C">coding only: discard mRNAs that have no CDS feature (-C)</option> | 185 <option value="-C">coding only: discard mRNAs that have no CDS feature (-C)</option> |
130 <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> | 186 <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> |
136 <option value="none">No</option> | 192 <option value="none">No</option> |
137 <option value="filter">Yes</option> | 193 <option value="filter">Yes</option> |
138 </param> | 194 </param> |
139 <when value="none"/> | 195 <when value="none"/> |
140 <when value="filter"> | 196 <when value="filter"> |
141 <param name="range" type="text" value="" label="Only show transcripts overlapping coordinate range"> | 197 <param argument="-r" name="range" type="text" value="" label="Only show transcripts overlapping coordinate range"> |
142 <help><![CDATA[ | 198 <help><![CDATA[ |
143 (-r [['strand']'chr':]'start'..'end') <br> | 199 [['strand']'chr':]'start'..'end' <br> |
144 examples: <br> | 200 examples: <br> |
145 1000..500000 <br> | 201 1000..500000 <br> |
146 chr1:1000..500000 <br> | 202 chr1:1000..500000 <br> |
147 +chr1:1000..500000 <br> | 203 +chr1:1000..500000 <br> |
148 -chr1:1000..500000 | 204 -chr1:1000..500000 |
149 ]]> | 205 ]]> |
150 </help> | 206 </help> |
151 <validator type="regex">(([+-])?(\w+:))?\d+\.\.\d+</validator> | 207 <validator type="regex">(([+-])?(\w+:))?\d+\.\.\d+</validator> |
152 </param> | 208 </param> |
153 <param name="discard_partial" type="boolean" truevalue="-R" falsevalue="" checked="false" | 209 <param argument="-R" name="discard_partial" type="boolean" truevalue="-R" falsevalue="" checked="false" |
154 label="Discard all transcripts that are not fully contained within the given range" help="(-R)"/> | 210 label="Discard all transcripts that are not fully contained within the given range" help=""/> |
155 </when> | 211 </when> |
156 </conditional> | 212 </conditional> |
157 <param name="maxintron" type="integer" value="" optional="true" min="0" label="Filter out transcipts with large introns" | 213 <param argument="-i" name="maxintron" type="integer" value="" optional="true" min="0" label="Filter out transcipts with large introns" |
158 help="If set, discard transcripts having an intron larger (-i max_intron)"/> | 214 help="If set, discard transcripts having an intron larger"/> |
159 <param name="chr_replace" type="data" format="tabular" optional="true" label="Replace reference sequence names" > | 215 <param argument="-m" name="chr_replace" type="data" format="tabular" optional="true" label="Replace reference sequence names" > |
160 <help><![CDATA[(-m chr_replace) <br> | 216 <help><![CDATA[ |
161 chr_replace is a reference sequence replacement table consisting of 2 columns: "original_ref_ID" "new_ref_ID"<br> | 217 chr_replace is a reference sequence replacement table consisting of 2 columns: "original_ref_ID" "new_ref_ID"<br> |
162 It is useful for switching between Ensembl and UCSC naming conventions <br> | 218 It is useful for switching between Ensembl and UCSC naming conventions <br> |
163 NOTE: GFF records on reference sequences that are not found among the "original_ref_ID" entries in this file will be filtered out | 219 NOTE: GFF records on reference sequences that are not found among the "original_ref_ID" entries in this file will be filtered out |
164 ]]> | 220 ]]> |
165 </help> | 221 </help> |
175 </param> | 231 </param> |
176 --> | 232 --> |
177 | 233 |
178 <!-- merging --> | 234 <!-- merging --> |
179 <conditional name="merging"> | 235 <conditional name="merging"> |
180 <param name="merge_sel" type="select" label="Transcript merging" help="(-M/--merge or --cluster-only)"> | 236 <param name="merge_sel" type="select" label="Transcript merging" help=""> |
181 <option value="none">none</option> | 237 <option value="none">none</option> |
182 <option value="merge">merge: cluster the input transcripts into loci, collapsing matching transcripts</option> | 238 <option value="merge">merge: cluster the input transcripts into loci, collapsing matching transcripts (--merge)</option> |
183 <option value="cluster">cluster-only: merge but without collapsing matching transcripts</option> | 239 <option value="cluster">cluster-only: merge but without collapsing matching transcripts (--cluster-only)</option> |
184 </param> | 240 </param> |
185 <when value="none"/> | 241 <when value="none"/> |
186 <when value="merge"> | 242 <when value="merge"> |
187 <param name="merge_cmd" type="hidden" value="--merge"/> | 243 <param name="merge_cmd" type="hidden" value="--merge"/> |
188 <expand macro="merge_opt_sel" /> | 244 <expand macro="merge_opt_sel" /> |
193 </when> | 249 </when> |
194 </conditional> | 250 </conditional> |
195 <!-- reference sequence file --> | 251 <!-- reference sequence file --> |
196 <!-- Error: -g option is required for options -w, -x, -y, -V, -N, -M --> | 252 <!-- Error: -g option is required for options -w, -x, -y, -V, -N, -M --> |
197 <conditional name="reference_genome"> | 253 <conditional name="reference_genome"> |
198 <param name="source" type="select" label="Reference Genome" help="(-g genome.fasta) NOTE: Required for fasta outputs"> | 254 <param name="source" type="select" label="Reference Genome" help="NOTE: Required for fasta outputs"> |
199 <option value="none">none</option> | 255 <option value="none">none</option> |
200 <option value="cached"></option> | 256 <option value="cached"></option> |
201 <option value="history">From your history</option> | 257 <option value="history">From your history</option> |
202 </param> | 258 </param> |
203 <when value="none"> | 259 <when value="none"> |
204 </when> | 260 </when> |
205 <when value="cached"> | 261 <when value="cached"> |
206 <param name="fasta_indexes" type="select" label="Source FASTA Sequence"> | 262 <param argument="-g" name="fasta_indexes" type="select" label="Source FASTA Sequence"> |
207 <options from_data_table="all_fasta"/> | 263 <options from_data_table="all_fasta"/> |
208 </param> | 264 </param> |
209 <expand macro="ref_filtering_select" /> | 265 <expand macro="ref_filtering_select" /> |
210 <expand macro="fasta_output_select" /> | 266 <expand macro="fasta_output_select" /> |
211 </when> | 267 </when> |
212 <when value="history"> | 268 <when value="history"> |
213 <param name="genome_fasta" type="data" format="fasta" label="Genome Reference Fasta"/> | 269 <param argument="-g" name="genome_fasta" type="data" format="fasta" label="Genome Reference Fasta"/> |
214 <expand macro="ref_filtering_select" /> | 270 <expand macro="ref_filtering_select" /> |
215 <expand macro="fasta_output_select" /> | 271 <expand macro="fasta_output_select" /> |
216 </when> | 272 </when> |
217 </conditional> | 273 </conditional> |
218 | 274 |
220 <conditional name="gffs"> | 276 <conditional name="gffs"> |
221 <param name="gff_fmt" type="select" label="Feature File Output" help="(-o output.gff3|output.gtf)"> | 277 <param name="gff_fmt" type="select" label="Feature File Output" help="(-o output.gff3|output.gtf)"> |
222 <option value="none">none</option> | 278 <option value="none">none</option> |
223 <option value="gff">GFF</option> | 279 <option value="gff">GFF</option> |
224 <option value="gtf">GTF</option> | 280 <option value="gtf">GTF</option> |
281 <option value="bed">BED</option> | |
225 </param> | 282 </param> |
226 <when value="none"> | 283 <when value="none"> |
227 </when> | 284 </when> |
228 <when value="gff"> | 285 <when value="gff"> |
229 <param name="output_cmd" type="hidden" value="-o output.gff3"/> | 286 <param argument="-L" name="ensembl" type="boolean" truevalue="-L" falsevalue="" checked="false" label="Ensembl GTF to GFF3 conversion" help=""/> |
230 <param name="ensembl" type="boolean" truevalue="-L" falsevalue="" checked="false" label="Ensembl GTF to GFF3 conversion" help="(-L)"/> | |
231 <expand macro="trackname" /> | 287 <expand macro="trackname" /> |
232 </when> | 288 </when> |
233 <when value="gtf"> | 289 <when value="gtf"> |
234 <param name="output_cmd" type="hidden" value="-T -o output.gtf"/> | |
235 <expand macro="trackname" /> | 290 <expand macro="trackname" /> |
236 </when> | 291 </when> |
292 <when value="bed"> | |
293 </when> | |
237 </conditional> | 294 </conditional> |
238 | 295 |
239 <param name="full_gff_attribute_preservation" type="boolean" truevalue="-F" falsevalue="" checked="false" | 296 <param argument="-F" name="full_gff_attribute_preservation" type="boolean" truevalue="-F" falsevalue="" checked="false" |
240 label="full GFF attribute preservation (all attributes are shown)" help="(-F)"/> | 297 label="full GFF attribute preservation (all attributes are shown)" help=""/> |
241 <param name="decode_url" type="boolean" truevalue="-D" falsevalue="" checked="false" | 298 <param argument="-D" name="decode_url" type="boolean" truevalue="-D" falsevalue="" checked="false" |
242 label="decode url encoded characters within attributes" help="(-D)"/> | 299 label="decode url encoded characters within attributes" help=""/> |
243 <param name="expose" type="boolean" truevalue="-E" falsevalue="" checked="false" | 300 <param argument="-E" name="expose" type="boolean" truevalue="-E" falsevalue="" checked="false" |
244 label="warn about duplicate transcript IDs and other potential problems with the given GFF/GTF records" help="(-E)"/> | 301 label="warn about duplicate transcript IDs and other potential problems with the given GFF/GTF records" help=""/> |
245 | 302 |
246 </inputs> | 303 </inputs> |
247 <outputs> | 304 <outputs> |
248 <data name="output_gff" format="gff3" metadata_source="input" label="${tool.name} on ${on_string}: gff3" from_work_dir="output.gff3"> | 305 <data name="output_gff" format="gff3" metadata_source="input" label="${tool.name} on ${on_string}: gff3" from_work_dir="output.gff"> |
249 <filter>gffs['gff_fmt'] == 'gff'</filter> | 306 <filter>gffs['gff_fmt'] == 'gff'</filter> |
250 </data> | 307 </data> |
251 <data name="output_gtf" format="gtf" metadata_source="input" label="${tool.name} on ${on_string}: gtf" from_work_dir="output.gtf"> | 308 <data name="output_gtf" format="gtf" metadata_source="input" label="${tool.name} on ${on_string}: gtf" from_work_dir="output.gtf"> |
252 <filter>gffs['gff_fmt'] == 'gtf'</filter> | 309 <filter>gffs['gff_fmt'] == 'gtf'</filter> |
310 </data> | |
311 <data name="output_bed" format="bed" metadata_source="input" label="${tool.name} on ${on_string}: bed" from_work_dir="output.bed"> | |
312 <filter>gffs['gff_fmt'] == 'bed'</filter> | |
253 </data> | 313 </data> |
254 <data name="output_exons" format="fasta" label="${tool.name} on ${on_string}: exons.fa" from_work_dir="exons.fa"> | 314 <data name="output_exons" format="fasta" label="${tool.name} on ${on_string}: exons.fa" from_work_dir="exons.fa"> |
255 <filter>'fa_outputs' in reference_genome and str(reference_genome['fa_outputs']).find('exons.fa') > 0 </filter> | 315 <filter>'fa_outputs' in reference_genome and str(reference_genome['fa_outputs']).find('exons.fa') > 0 </filter> |
256 </data> | 316 </data> |
257 <data name="output_cds" format="fasta" label="${tool.name} on ${on_string}: cds.fa" from_work_dir="cds.fa"> | 317 <data name="output_cds" format="fasta" label="${tool.name} on ${on_string}: cds.fa" from_work_dir="cds.fa"> |
263 <data name="output_dupinfo" format="txt" label="${tool.name} on ${on_string}: dupinfo" from_work_dir="dupinfo"> | 323 <data name="output_dupinfo" format="txt" label="${tool.name} on ${on_string}: dupinfo" from_work_dir="dupinfo"> |
264 <filter>'merge_options' in merging and merging['merge_options'].find('dupinfo') > 0</filter> | 324 <filter>'merge_options' in merging and merging['merge_options'].find('dupinfo') > 0</filter> |
265 </data> | 325 </data> |
266 </outputs> | 326 </outputs> |
267 <tests> | 327 <tests> |
268 <test> | 328 <test expect_num_outputs="1"> |
269 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> | 329 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> |
270 <param name="gff_fmt" value="gff"/> | 330 <param name="gff_fmt" value="gff"/> |
271 <output name="output_gff" file="Homo_sapiens.GRCh37_19.71.gff3" ftype="gff3" lines_diff="2" /> | 331 <output name="output_gff" file="Homo_sapiens.GRCh37_19.71.gff3" ftype="gff3" lines_diff="4" /> |
272 </test> | 332 </test> |
273 <test> | 333 <test expect_num_outputs="1"> |
334 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> | |
335 <param name="gff_fmt" value="gff"/> | |
336 <output name="output_gff" file="Homo_sapiens.GRCh37_19.71.gff3" ftype="gff3" lines_diff="4" /> | |
337 </test> | |
338 <test expect_num_outputs="1"> | |
274 <param name="input" ftype="gtf" value="ecoli-k12.gff3"/> | 339 <param name="input" ftype="gtf" value="ecoli-k12.gff3"/> |
275 <param name="gff_fmt" value="gff"/> | 340 <param name="gff_fmt" value="gff"/> |
276 <param name="full_gff_attribute_preservation" value="-F"/> | 341 <param name="full_gff_attribute_preservation" value="-F"/> |
277 <output name="output_gff" file="ecoli-k12.processed.gff3" ftype="gff3" lines_diff="2" /> | 342 <output name="output_gff" file="ecoli-k12.processed.gff3" ftype="gff3" lines_diff="4" /> |
278 </test> | 343 </test> |
279 <test> | 344 <!-- bed output --> |
280 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> | 345 <test expect_num_outputs="1"> |
281 <param name="filtering" value="--no-pseudo"/> | 346 <param name="input" ftype="gff3" value="Homo_sapiens.GRCh37_19.71.gff3"/> |
282 <param name="gff_fmt" value="gtf"/> | 347 <param name="gff_fmt" value="bed"/> |
283 <output name="output_gtf"> | 348 <output name="output_bed" ftype="bed"> |
284 <assert_contents> | 349 <assert_contents> |
285 <not_has_text text="pseudo" /> | 350 <has_n_lines n="42"/> |
286 </assert_contents> | 351 <has_n_columns n="13"/> |
287 </output> | 352 </assert_contents> |
288 </test> | 353 </output> |
289 <test> | 354 </test> |
355 <!-- bed input and test tname --> | |
356 <test expect_num_outputs="1"> | |
357 <param name="input" ftype="bed" value="Homo_sapiens.GRCh37_19.71.bed"/> | |
358 <param name="gff_fmt" value="gff"/> | |
359 <param name="tname" value="track name"/> | |
360 <output name="output_bed" ftype="gff3"> | |
361 <assert_contents> | |
362 <has_n_lines n="388"/> | |
363 <!-- this will work with https://github.com/galaxyproject/galaxy/pull/12528 --> | |
364 <!-- <has_n_columns n="9" comment="#"/> --> | |
365 <has_text text="track name"/> | |
366 </assert_contents> | |
367 </output> | |
368 </test> | |
369 <test expect_num_outputs="1"> | |
290 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> | 370 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> |
291 <param name="region_filter" value="filter"/> | 371 <param name="region_filter" value="filter"/> |
292 <param name="range" value="19:496500..504965"/> | 372 <param name="range" value="19:496500..504965"/> |
293 <param name="gff_fmt" value="gtf"/> | 373 <param name="gff_fmt" value="gtf"/> |
294 <output name="output_gtf"> | 374 <output name="output_gtf"> |
296 <has_text text="ENST00000587541" /> | 376 <has_text text="ENST00000587541" /> |
297 <has_text text="ENST00000382683" /> | 377 <has_text text="ENST00000382683" /> |
298 </assert_contents> | 378 </assert_contents> |
299 </output> | 379 </output> |
300 </test> | 380 </test> |
301 <test> | 381 <test expect_num_outputs="1"> |
302 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> | 382 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> |
303 <param name="region_filter" value="filter"/> | 383 <param name="region_filter" value="filter"/> |
304 <param name="range" value="19:496500..504965"/> | 384 <param name="range" value="19:496500..504965"/> |
305 <param name="discard_partial" value="true"/> | 385 <param name="discard_partial" value="true"/> |
306 <param name="gff_fmt" value="gtf"/> | 386 <param name="gff_fmt" value="gtf"/> |
309 <not_has_text text="ENST00000587541" /> | 389 <not_has_text text="ENST00000587541" /> |
310 <has_text text="ENST00000382683" /> | 390 <has_text text="ENST00000382683" /> |
311 </assert_contents> | 391 </assert_contents> |
312 </output> | 392 </output> |
313 </test> | 393 </test> |
314 <test> | 394 <test expect_num_outputs="1"> |
315 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> | 395 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> |
316 <param name="filtering" value="-C"/> | 396 <param name="filtering" value="-C"/> |
317 <param name="region_filter" value="filter"/> | 397 <param name="region_filter" value="filter"/> |
318 <param name="range" value="19:496500..504965"/> | 398 <param name="range" value="19:496500..504965"/> |
319 <param name="gff_fmt" value="gtf"/> | 399 <param name="gff_fmt" value="gtf"/> |
322 <not_has_text text="ENST00000587541" /> | 402 <not_has_text text="ENST00000587541" /> |
323 <has_text text="ENST00000382683" /> | 403 <has_text text="ENST00000382683" /> |
324 </assert_contents> | 404 </assert_contents> |
325 </output> | 405 </output> |
326 </test> | 406 </test> |
327 <test> | 407 <test expect_num_outputs="4"> |
328 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> | 408 <param name="input" ftype="gtf" value="Homo_sapiens.GRCh37_19.71.gtf"/> |
329 <param name="source" value="history"/> | 409 <param name="source" value="history"/> |
330 <param name="genome_fasta" ftype="fasta" value="Homo_sapiens.GRCh37.71.dna.chromosome.19.fa"/> | 410 <param name="genome_fasta" ftype="fasta" value="Homo_sapiens.GRCh37.71.dna.chromosome.19.fa"/> |
331 <param name="fa_outputs" value="-w exons.fa,-x cds.fa,-y pep.fa"/> | 411 <param name="fa_outputs" value="-w exons.fa,-x cds.fa,-y pep.fa"/> |
332 <param name="region_filter" value="filter"/> | 412 <param name="region_filter" value="filter"/> |
355 <has_text text="ENST00000346144" /> | 435 <has_text text="ENST00000346144" /> |
356 <has_text text="MDFGLALLLAGLLGLLLGQSLQVKPLQVEPPEPVVAVALGASRQLTCRLACADRGASVQWRGLDTSLGAV" /> | 436 <has_text text="MDFGLALLLAGLLGLLLGQSLQVKPLQVEPPEPVVAVALGASRQLTCRLACADRGASVQWRGLDTSLGAV" /> |
357 </assert_contents> | 437 </assert_contents> |
358 </output> | 438 </output> |
359 </test> | 439 </test> |
360 | 440 <test expect_num_outputs="1"> |
441 <param name="input" ftype="gtf" value="stop_codons.gtf"/> | |
442 <param name="source" value="history"/> | |
443 <param name="genome_fasta" ftype="fasta" value="Homo_sapiens.GRCh37.71.dna.chromosome.19.fa"/> | |
444 <param name="fa_outputs" value="-y pep.fa,-S"/> | |
445 <output name="output_pep"> | |
446 <assert_contents> | |
447 <has_text text="ENST00000269812" /> | |
448 <has_text text="PLRGLHPRV*LQTPLERCPCWPPAGGTGGCPHCLLHLRLLQSPTPTALSEGGGAGTEAQPVTDVDPGRG*" /> | |
449 </assert_contents> | |
450 </output> | |
451 </test> | |
361 </tests> | 452 </tests> |
362 <help> | 453 <help> |
363 <![CDATA[ | 454 <![CDATA[ |
364 **gffread Filters and/or converts GFF3/GTF2 records** | 455 **gffread Filters and/or converts GFF3/GTF2 records** |
365 | 456 |
366 The gffread command is documented with the stringtie_ package. | 457 The gffread command is documented with the stringtie_ package. |
367 | 458 |
368 .. _stringtie: http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread | 459 .. _stringtie: http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread |
369 | 460 |
370 | 461 gffread v0.12.7. Usage: :: |
371 gffread v0.11.4. Usage: :: | 462 |
372 | 463 gffread [-g <genomic_seqs_fasta> | <dir>] [-s <seq_info.fsize>] |
373 gffread <input_gff> [-g <genomic_seqs_fasta> | <dir>][-s <seq_info.fsize>] | 464 [-o <outfile>] [-t <trackname>] [-r [<strand>]<chr>:<start>-<end> [-R]] |
374 [-o <outfile>] [-t <trackname>] [-r [[<strand>]<chr>:]<start>..<end> [-R]] | 465 [--jmatch <chr>:<start>-<end>] [--no-pseudo] |
375 [-CTVNJMKQAFPGUBHZWTOLE] [-w <exons.fa>] [-x <cds.fa>] [-y <tr_cds.fa>] | 466 [-CTVNJMKQAFPGUBHZWTOLE] [-w <exons.fa>] [-x <cds.fa>] [-y <tr_cds.fa>] |
376 [-i <maxintron>] [--bed] [--table <attrlist>] [--sort-by <refseq_list.txt>] | 467 [-j ][--ids <IDs.lst> | --nids <IDs.lst>] [--attrs <attr-list>] [-i <maxintron>] |
377 | 468 [--stream] [--bed | --gtf | --tlf] [--table <attrlist>] [--sort-by <ref.lst>] |
469 [<input_gff>] | |
470 | |
378 Filter, convert or cluster GFF/GTF/BED records, extract the sequence of | 471 Filter, convert or cluster GFF/GTF/BED records, extract the sequence of |
379 transcripts (exon or CDS) and more. | 472 transcripts (exon or CDS) and more. |
380 By default (i.e. without -O) only transcripts are processed, discarding any | 473 By default (i.e. without -O) only transcripts are processed, discarding any |
381 other non-transcript features. Default output is a simplified GFF3 with only | 474 other non-transcript features. Default output is a simplified GFF3 with only |
382 the basic attributes. | 475 the basic attributes. |
383 | 476 |
384 <input_gff> is a GFF file, use '-' for stdin | |
385 | |
386 Options: | 477 Options: |
387 | 478 --ids discard records/transcripts if their IDs are not listed in <IDs.lst> |
479 --nids discard records/transcripts if their IDs are listed in <IDs.lst> | |
388 -i discard transcripts having an intron larger than <maxintron> | 480 -i discard transcripts having an intron larger than <maxintron> |
389 -l discard transcripts shorter than <minlen> bases | 481 -l discard transcripts shorter than <minlen> bases |
390 -r only show transcripts overlapping coordinate range <start>..<end> | 482 -r only show transcripts overlapping coordinate range <start>..<end> |
391 (on chromosome/contig <chr>, strand <strand> if provided) | 483 (on chromosome/contig <chr>, strand <strand> if provided) |
392 -R for -r option, discard all transcripts that are not fully | 484 -R for -r option, discard all transcripts that are not fully |
393 contained within the given range | 485 contained within the given range |
486 --jmatch only output transcripts matching the given junction | |
394 -U discard single-exon transcripts | 487 -U discard single-exon transcripts |
395 -C coding only: discard mRNAs that have no CDS features | 488 -C coding only: discard mRNAs that have no CDS features |
396 --nc non-coding only: discard mRNAs that have CDS features | 489 --nc non-coding only: discard mRNAs that have CDS features |
397 --ignore-locus : discard locus features and attributes found in the input | 490 --ignore-locus : discard locus features and attributes found in the input |
398 -A use the description field from <seq_info.fsize> and add it | 491 -A use the description field from <seq_info.fsize> and add it |
399 as the value for a 'descr' attribute to the GFF record | 492 as the value for a 'descr' attribute to the GFF record |
400 -s <seq_info.fsize> is a tab-delimited file providing this info | 493 -s <seq_info.fsize> is a tab-delimited file providing this info |
401 for each of the mapped sequences: | 494 for each of the mapped sequences: |
402 <seq-name> <seq-length> <seq-description> | 495 <seq-name> <seq-length> <seq-description> |
403 (useful for -A option with mRNA/EST/protein mappings) | 496 (useful for -A option with mRNA/EST/protein mappings) |
404 | 497 Sorting: (by default, chromosomes are kept in the order they were found) |
405 Sorting: (by default, chromosomes are kept in the order they were found) | |
406 --sort-alpha : chromosomes (reference sequences) are sorted alphabetically | 498 --sort-alpha : chromosomes (reference sequences) are sorted alphabetically |
407 --sort-by : sort the reference sequences by the order in which their | 499 --sort-by : sort the reference sequences by the order in which their |
408 names are given in the <refseq.lst> file | 500 names are given in the <refseq.lst> file |
409 | |
410 Misc options: | 501 Misc options: |
411 -F preserve all GFF attributes (for non-exon features) | 502 -F keep all GFF attributes (for non-exon features) |
412 --keep-exon-attrs : for -F option, do not attempt to reduce redundant | 503 --keep-exon-attrs : for -F option, do not attempt to reduce redundant |
413 exon/CDS attributes | 504 exon/CDS attributes |
414 -G do not keep exon attributes, move them to the transcript feature | 505 -G do not keep exon attributes, move them to the transcript feature |
415 (for GFF3 output) | 506 (for GFF3 output) |
507 --attrs <attr-list> only output the GTF/GFF attributes listed in <attr-list> | |
508 which is a comma delimited list of attribute names to | |
416 --keep-genes : in transcript-only mode (default), also preserve gene records | 509 --keep-genes : in transcript-only mode (default), also preserve gene records |
417 --keep-comments: for GFF3 input/output, try to preserve comments | 510 --keep-comments: for GFF3 input/output, try to preserve comments |
418 -O process other non-transcript GFF records (by default non-transcript | 511 -O process other non-transcript GFF records (by default non-transcript |
419 records are ignored) | 512 records are ignored) |
420 -V discard any mRNAs with CDS having in-frame stop codons (requires -g) | 513 -V discard any mRNAs with CDS having in-frame stop codons (requires -g) |
438 --in-bed: input should be parsed as BED format (automatic if the input | 531 --in-bed: input should be parsed as BED format (automatic if the input |
439 filename ends with .bed*) | 532 filename ends with .bed*) |
440 --in-tlf: input GFF-like one-line-per-transcript format without exon/CDS | 533 --in-tlf: input GFF-like one-line-per-transcript format without exon/CDS |
441 features (see --tlf option below); automatic if the input | 534 features (see --tlf option below); automatic if the input |
442 filename ends with .tlf) | 535 filename ends with .tlf) |
443 | 536 --stream: fast processing of input GFF/BED transcripts as they are received |
537 ((no sorting, exons must be grouped by transcript in the input data) | |
444 Clustering: | 538 Clustering: |
445 -M/--merge : cluster the input transcripts into loci, discarding | 539 -M/--merge : cluster the input transcripts into loci, discarding |
446 "duplicated" transcripts (those with the same exact introns | 540 "redundant" transcripts (those with the same exact introns |
447 and fully contained or equal boundaries) | 541 and fully contained or equal boundaries) |
448 -d <dupinfo> : for -M option, write duplication info to file <dupinfo> | 542 -d <dupinfo> : for -M option, write duplication info to file <dupinfo> |
449 --cluster-only: same as -M/--merge but without discarding any of the | 543 --cluster-only: same as -M/--merge but without discarding any of the |
450 "duplicate" transcripts, only create "locus" features | 544 "duplicate" transcripts, only create "locus" features |
451 -K for -M option: also discard as redundant the shorter, fully contained | 545 -K for -M option: also discard as redundant the shorter, fully contained |
453 -Q for -M option, no longer require boundary containment when assessing | 547 -Q for -M option, no longer require boundary containment when assessing |
454 redundancy (can be combined with -K); only introns have to match for | 548 redundancy (can be combined with -K); only introns have to match for |
455 multi-exon transcripts, and >=80% overlap for single-exon transcripts | 549 multi-exon transcripts, and >=80% overlap for single-exon transcripts |
456 -Y for -M option, enforce -Q but also discard overlapping single-exon | 550 -Y for -M option, enforce -Q but also discard overlapping single-exon |
457 transcripts, even on the opposite strand (can be combined with -K) | 551 transcripts, even on the opposite strand (can be combined with -K) |
458 | |
459 Output options: | 552 Output options: |
460 --force-exons: make sure that the lowest level GFF features are considered | 553 --force-exons: make sure that the lowest level GFF features are considered |
461 "exon" features | 554 "exon" features |
462 --gene2exon: for single-line genes not parenting any transcripts, add an | 555 --gene2exon: for single-line genes not parenting any transcripts, add an |
463 exon feature spanning the entire gene (treat it as a transcript) | 556 exon feature spanning the entire gene (treat it as a transcript) |
466 -D decode url encoded characters within attributes | 559 -D decode url encoded characters within attributes |
467 -Z merge very close exons into a single exon (when intron size<4) | 560 -Z merge very close exons into a single exon (when intron size<4) |
468 -g full path to a multi-fasta file with the genomic sequences | 561 -g full path to a multi-fasta file with the genomic sequences |
469 for all input mappings, OR a directory with single-fasta files | 562 for all input mappings, OR a directory with single-fasta files |
470 (one per genomic sequence, with file names matching sequence names) | 563 (one per genomic sequence, with file names matching sequence names) |
471 -w write a fasta file with spliced exons for each GFF transcript | 564 -j output the junctions and the corresponding transcripts |
565 -w write a fasta file with spliced exons for each transcript | |
566 --w-add <N> for the -w option, extract additional <N> bases | |
567 both upstream and downstream of the transcript boundaries | |
568 --w-nocds for -w, disable the output of CDS info in the FASTA file | |
472 -x write a fasta file with spliced CDS for each GFF transcript | 569 -x write a fasta file with spliced CDS for each GFF transcript |
473 -y write a protein fasta file with the translation of CDS for each record | 570 -y write a protein fasta file with the translation of CDS for each record |
474 -W for -w and -x options, write in the FASTA defline the exon | 571 -W for -w, -x and -y options, write in the FASTA defline all the exon |
475 coordinates projected onto the spliced sequence; | 572 coordinates projected onto the spliced sequence; |
476 for -y option, write transcript attributes in the FASTA defline | |
477 -S for -y option, use '*' instead of '.' as stop codon translation | 573 -S for -y option, use '*' instead of '.' as stop codon translation |
478 -L Ensembl GTF to GFF3 conversion (implies -F; should be used with -m) | 574 -L Ensembl GTF to GFF3 conversion, adds version to IDs |
479 -m <chr_replace> is a name mapping table for converting reference | 575 -m <chr_replace> is a name mapping table for converting reference |
480 sequence names, having this 2-column format: | 576 sequence names, having this 2-column format: |
481 <original_ref_ID> <new_ref_ID> | 577 <original_ref_ID> <new_ref_ID> |
482 WARNING: all GFF records on reference sequences whose original IDs | |
483 are not found in the 1st column of this table will be discarded! | |
484 -t use <trackname> in the 2nd column of each GFF/GTF output line | 578 -t use <trackname> in the 2nd column of each GFF/GTF output line |
485 -o write the records into <outfile> instead of stdout | 579 -o write the output records into <outfile> instead of stdout |
486 -T main output will be GTF instead of GFF3 | 580 -T main output will be GTF instead of GFF3 |
487 --bed output records in BED format instead of default GFF3 | 581 --bed output records in BED format instead of default GFF3 |
488 --tlf output "transcript line format" which is like GFF | 582 --tlf output "transcript line format" which is like GFF |
489 but exons, CDS features and related data are stored as GFF | 583 but with exons and CDS related features stored as GFF |
490 attributes in the transcript feature line, like this: | 584 attributes in the transcript feature line, like this: |
491 exoncount=N;exons=<exons>;CDSphase=<N>;CDS=<CDScoords> | 585 exoncount=N;exons=<exons>;CDSphase=<N>;CDS=<CDScoords> |
492 <exons> is a comma-delimited list of exon_start-exon_end coordinates; | 586 <exons> is a comma-delimited list of exon_start-exon_end coordinates; |
493 <CDScoords> is CDS_start:CDS_end coordinates or a list like <exons> | 587 <CDScoords> is CDS_start:CDS_end coordinates or a list like <exons> |
494 --table output a simple tab delimited format instead of GFF, with columns | 588 --table output a simple tab delimited format instead of GFF, with columns |
495 having the values of GFF attributes given in <attrlist>; special | 589 having the values of GFF attributes given in <attrlist>; special |
496 pseudo-attributes (prefixed by @) are recognized: | 590 pseudo-attributes (prefixed by @) are recognized: |
497 @chr, @start, @end, @strand, @numexons, @exons, @cds, @covlen, @cdslen | 591 @id, @geneid, @chr, @start, @end, @strand, @numexons, @exons, |
592 @cds, @covlen, @cdslen | |
593 If any of -w/-y/-x FASTA output files are enabled, the same fields | |
594 (excluding @id) are appended to the definition line of corresponding | |
595 FASTA records | |
498 -v,-E expose (warn about) duplicate transcript IDs and other potential | 596 -v,-E expose (warn about) duplicate transcript IDs and other potential |
499 problems with the given GFF/GTF records | 597 problems with the given GFF/GTF records |
598 | |
500 ]]> | 599 ]]> |
501 </help> | 600 </help> |
502 <citations> | 601 <citations> |
503 <citation type="doi">10.1038/nbt.1621</citation> | 602 <citation type="doi">10.1038/nbt.1621</citation> |
504 </citations> | 603 </citations> |