annotate tools/filters/get_orfs_or_cdss.xml @ 2:324775a016ce draft

Uploaded v0.0.3, bundle Ssuis.fasta test file X record Python script version
author peterjc
date Tue, 23 Apr 2013 11:48:43 -0400
parents 922d69bd5258
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
324775a016ce Uploaded v0.0.3, bundle Ssuis.fasta test file X record Python script version
peterjc
parents: 1
diff changeset
1 <tool id="get_orfs_or_cdss" name="Get open reading frames (ORFs) or coding sequences (CDSs)" version="0.0.3">
0
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
2 <description>e.g. to get peptides from ESTs</description>
2
324775a016ce Uploaded v0.0.3, bundle Ssuis.fasta test file X record Python script version
peterjc
parents: 1
diff changeset
3 <version_command interpreter="python">get_orfs_or_cdss.py --version</version_command>
0
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
4 <command interpreter="python">
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
5 get_orfs_or_cdss.py $input_file $input_file.ext $table $ftype $ends $mode $min_len $strand $out_nuc_file $out_prot_file
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
6 </command>
1
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
7 <stdio>
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
8 <!-- Anything other than zero is an error -->
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
9 <exit_code range="1:" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
10 <exit_code range=":-1" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
11 </stdio>
0
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
12 <inputs>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
13 <param name="input_file" type="data" format="fasta,fastq,sff" label="Sequence file (nucleotides)" help="FASTA, FASTQ, or SFF format." />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
14 <param name="table" type="select" label="Genetic code" help="Tables from the NCBI, these determine the start and stop codons">
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
15 <option value="1">1. Standard</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
16 <option value="2">2. Vertebrate Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
17 <option value="3">3. Yeast Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
18 <option value="4">4. Mold, Protozoan, Coelenterate Mitochondrial and Mycoplasma/Spiroplasma</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
19 <option value="5">5. Invertebrate Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
20 <option value="6">6. Ciliate Macronuclear and Dasycladacean</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
21 <option value="9">9. Echinoderm Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
22 <option value="10">10. Euplotid Nuclear</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
23 <option value="11">11. Bacterial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
24 <option value="12">12. Alternative Yeast Nuclear</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
25 <option value="13">13. Ascidian Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
26 <option value="14">14. Flatworm Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
27 <option value="15">15. Blepharisma Macronuclear</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
28 <option value="16">16. Chlorophycean Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
29 <option value="21">21. Trematode Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
30 <option value="22">22. Scenedesmus obliquus</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
31 <option value="23">23. Thraustochytrium Mitochondrial</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
32 </param>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
33 <param name="ftype" type="select" value="True" label="Look for ORFs or CDSs">
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
34 <option value="ORF">Look for ORFs (check for stop codons only, ignore start codons)</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
35 <option value="CDS">Look for CDSs (with start and stop codons)</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
36 </param>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
37 <param name="ends" type="select" value="open" label="Sequence end treatment">
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
38 <option value="open">Open ended (will allow missing start/stop codons at the ends)</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
39 <option value="closed">Complete (will check for start/stop codons at the ends)</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
40 <!-- TODO? Circular, for using this on finished bacteria etc -->
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
41 </param>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
42
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
43 <param name="mode" type="select" label="Selection criteria" help="Suppose a sequence has ORFs/CDSs of lengths 100, 102 and 102 -- which should be taken? These options would return 3, 2 or 1 ORF.">
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
44 <option value="all">All ORFs/CDSs from each sequence</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
45 <option value="top">All ORFs/CDSs from each sequence with the maximum length</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
46 <option value="one">First ORF/CDS from each sequence with the maximum length</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
47 </param>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
48 <param name="min_len" type="integer" size="5" value="30" label="Minimum length ORF/CDS (in amino acids, e.g. 30 aa = 90 bp plus any stop codon)">
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
49 </param>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
50 <param name="strand" type="select" label="Strand to search" help="Use the forward only option if your sequence directionality is known (e.g. from poly-A tails, or strand specific RNA sequencing.">
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
51 <option value="both">Search both the forward and reverse strand</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
52 <option value="forward">Only search the forward strand</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
53 <option value="reverse">Only search the reverse strand</option>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
54 </param>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
55 </inputs>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
56 <outputs>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
57 <data name="out_nuc_file" format="fasta" label="${ftype.value}s (nucleotides)" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
58 <data name="out_prot_file" format="fasta" label="${ftype.value}s (amino acids)" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
59 </outputs>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
60 <tests>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
61 <test>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
62 <param name="input_file" value="get_orf_input.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
63 <param name="table" value="1" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
64 <param name="ftype" value="CDS" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
65 <param name="ends" value="open" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
66 <param name="mode" value="all" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
67 <param name="min_len" value="10" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
68 <param name="strand" value="forward" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
69 <output name="out_nuc_file" file="get_orf_input.t1_nuc_out.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
70 <output name="out_prot_file" file="get_orf_input.t1_prot_out.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
71 </test>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
72 <test>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
73 <param name="input_file" value="get_orf_input.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
74 <param name="table" value="11" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
75 <param name="ftype" value="CDS" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
76 <param name="ends" value="closed" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
77 <param name="mode" value="all" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
78 <param name="min_len" value="10" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
79 <param name="strand" value="forward" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
80 <output name="out_nuc_file" file="get_orf_input.t11_nuc_out.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
81 <output name="out_prot_file" file="get_orf_input.t11_prot_out.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
82 </test>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
83 <test>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
84 <param name="input_file" value="get_orf_input.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
85 <param name="table" value="11" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
86 <param name="ftype" value="CDS" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
87 <param name="ends" value="open" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
88 <param name="mode" value="all" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
89 <param name="min_len" value="10" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
90 <param name="strand" value="forward" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
91 <output name="out_nuc_file" file="get_orf_input.t11_open_nuc_out.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
92 <output name="out_prot_file" file="get_orf_input.t11_open_prot_out.fasta" />
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
93 </test>
1
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
94 <test>
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
95 <param name="input_file" value="Ssuis.fasta" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
96 <param name="table" value="11" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
97 <param name="ftype" value="ORF" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
98 <param name="ends" value="open" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
99 <param name="mode" value="all" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
100 <param name="min_len" value="100" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
101 <param name="strand" value="both" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
102 <output name="out_nuc_file" file="get_orf_input.Suis_ORF.nuc.fasta" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
103 <output name="out_prot_file" file="get_orf_input.Suis_ORF.prot.fasta" />
922d69bd5258 Uploaded v0.0.2, fixes labelling issue on reverse strand.
peterjc
parents: 0
diff changeset
104 </test>
0
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
105 </tests>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
106 <requirements>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
107 <requirement type="python-module">Bio</requirement>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
108 </requirements>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
109 <help>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
110
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
111 **What it does**
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
112
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
113 Takes an input file of nucleotide sequences (typically FASTA, but also FASTQ
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
114 and Standard Flowgram Format (SFF) are supported), and searches each sequence
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
115 for open reading frames (ORFs) or potential coding sequences (CDSs) of the
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
116 given minimum length. These are returned as FASTA files of nucleotides and
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
117 protein sequences.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
118
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
119 You can choose to have all the ORFs/CDSs above the minimum length for each
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
120 sequence (similar to the EMBOSS getorf tool), those with the longest length
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
121 equal, or the first ORF/CDS with the longest length (in the special case
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
122 where a sequence encodes two or more long ORFs/CDSs of the same length). The
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
123 last option is a reasonable choice when the input sequences represent EST or
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
124 mRNA sequences, where only one ORF/CDS is expected.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
125
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
126 Note that if no ORFs/CDSs in a sequence match the criteria, there will be no
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
127 output for that sequence.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
128
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
129 Also note that the ORFs/CDSs are assigned modified identifiers to distinguish
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
130 them from the original full length sequences, by appending a suffix.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
131
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
132 The start and stop codons are taken from the `NCBI Genetic Codes
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
133 &lt;http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi&gt;`_.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
134 When searching for ORFs, the sequences will run from stop codon to stop
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
135 codon, and any start codons are ignored. When searching for CDSs, the first
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
136 potential start codon will be used, giving the longest possible CDS within
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
137 each ORF, and thus the longest possible protein sequence. This is useful
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
138 for things like BLAST or domain searching, but since this may not be the
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
139 correct start codon may not be appropriate for signal peptide detection
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
140 etc.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
141
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
142 **Example Usage**
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
143
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
144 Given some EST sequences (Sanger capillary reads) assembled into unigenes,
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
145 or a transcriptome assembly from some RNA-Seq, each of your nucleotide
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
146 sequences should (barring sequencing, assembly errors, frame-shifts etc)
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
147 encode one protein as a single ORF/CDS, which you wish to extract (and
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
148 perhaps translate into amino acids).
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
149
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
150 If your RNS-Seq data was strand specific, and assembled taking this into
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
151 account, you should only search for ORFs/CDSs on the forward strand.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
152
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
153 **Citation**
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
154
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
155 This tool uses Biopython. If you use this tool in scientific work leading
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
156 to a publication, please cite the Biopython application note (and Galaxy
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
157 too of course):
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
158
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
159 Cock et al 2009. Biopython: freely available Python tools for computational
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
160 molecular biology and bioinformatics. Bioinformatics 25(11) 1422-3.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
161 http://dx.doi.org/10.1093/bioinformatics/btp163 pmid:19304878.
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
162
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
163 </help>
9cff9a1176ea Uploaded v0.0.1
peterjc
parents:
diff changeset
164 </tool>