annotate dante.xml @ 18:039c45c01b47 draft

Uploaded
author petr-novak
date Tue, 24 Sep 2019 07:27:56 -0400
parents 3151a72a6671
children 1eabd42e00ef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
1 <tool id="dante" name="Domain based ANnotation of Transposable Elements - DANTE" version="1.0.0">
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
2 <description> Tool for annotation of transposable elements based on the similarity to conserved protein domains database. </description>
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
3 <requirements>
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
4 <requirement type="package">last</requirement>
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
5 <requirement type="package">numpy</requirement>
3
18d6c1c66798 Uploaded
petr-novak
parents: 0
diff changeset
6 <requirement type="package" version="1.0">rexdb</requirement>
10
d0431a839606 Uploaded
petr-novak
parents: 6
diff changeset
7 <requirement type="set_environment">REXDB</requirement>
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
8 </requirements>
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
9 <stdio>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
10 <regex match="Traceback" source="stderr" level="fatal" description="Unknown error" />
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
11 <regex match="error" source="stderr" level="fatal" description="Unknown error" />
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
12 </stdio>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
13 <command>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
14 #if str($input_type.input_type_selector) == "aln"
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
15 python3 ${__tool_directory__}/parse_aln.py -a $(input_sequences) -f sequences.fasta -p sequences.profile
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
16 &amp;&amp;
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
17 INPUT_SEQUENCES="sequences.fasta"
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
18 #else
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
19 INPUT_SEQUENCES=$(input_sequences)
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
20 #end if
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
21 &amp;&amp;
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
22
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
23
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
24 python3 ${__tool_directory__}/dante.py --query \${INPUT_SEQUENCES} --domain_gff ${DomGff}
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
25 --protein_database \${REXDB}/${db_type}_pdb
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
26 --classification \${REXDB}/${db_type}_class
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
27 --scoring_matrix ${scoring_matrix}
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
28
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
29
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
30 #if str($input_type.input_type_selector) == "aln"
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
31 &amp;&amp;
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
32 python3 ${__tool_directory__}/coverage2gff.py -p sequences.profile -g ${DomGff}
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
33 #end if
10
d0431a839606 Uploaded
petr-novak
parents: 6
diff changeset
34
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
35 #if str($iterative) == "Yes"
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
36 &amp;&amp;
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
37 python3 ${__tool_directory__}/dante_gff_output_filtering.py --dom_gff ${DomGff}
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
38 --domains_prot_seq domains_filtered.fasta --domains_filtered domains_filtered.gff
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
39 --output_dir .
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
40 --selected_dom All --th_identity 0.35
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
41 --th_similarity 0.45 --th_length 0.9
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
42 --interruptions 1 --max_len_proportion 1.1
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
43 --element_type ''
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
44 &amp;&amp;
10
d0431a839606 Uploaded
petr-novak
parents: 6
diff changeset
45
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
46
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
47
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
48 python3 ${__tool_directory__}/fasta2database.py domains_filtered.fasta domains_filtered.db
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
49 domains_filtered.class
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
50 &amp;&amp;
10
d0431a839606 Uploaded
petr-novak
parents: 6
diff changeset
51
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
52 lastdb -p domains_filtered.db domains_filtered.db
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
53 &amp;&amp;
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
54
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
55 python3 ${__tool_directory__}/dante.py --query \${INPUT_SEQUENCES} --domain_gff ${DomGff2}
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
56 --protein_database domains_filtered.db
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
57 --classification domains_filtered.class
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
58 --scoring_matrix BL80
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
59
10
d0431a839606 Uploaded
petr-novak
parents: 6
diff changeset
60
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
61 #if str($input_type.input_type_selector) == "aln"
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
62 &amp;&amp;
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
63 python3 ${__tool_directory__}/coverage2gff.py -p sequences.profile -g ${DomGff2}
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
64 #end if
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
65 #end if
10
d0431a839606 Uploaded
petr-novak
parents: 6
diff changeset
66
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
67 </command>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
68 <inputs>
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
69
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
70 <conditional name="input_type">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
71 <param name="input_type_selector" type="select" label="Choose the type of sequence data">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
72 <option value="fasta" selected="true">Fasta</option>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
73 <option value="aln">Aln file</option>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
74 </param>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
75 <when value="fasta">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
76 <param name="input_sequences" type="data" format="fasta" label="Sequences in fasta format"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
77 </when>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
78 <when value="aln">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
79 <param name="input_sequences" type="data" format="txt" label="Sequences in ALN format (extracted from RepeatExplorer)"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
80 </when>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
81 </conditional>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
82 <param name="db_type" type="select" label="Select taxon and protein domain database version (REXdb)" help="">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
83 <options from_file="rexdb_versions.loc">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
84 <column name="name" index="0"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
85 <column name="value" index="1"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
86 </options>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
87 </param>
10
d0431a839606 Uploaded
petr-novak
parents: 6
diff changeset
88
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
89 <param name="scoring_matrix" type="select" label="Select scoring matrix">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
90 <option value="BL80" selected="true" >BLOSUM80</option>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
91 <option value="BL62">BLOSUM62</option>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
92 <option value="MIQS">MIQS</option>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
93 </param>
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
94
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
95 <param name="iterative" type="select" label="Run iterative search" truevalue="true" valsevalue="false"
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
96 help="Second iteration run search against database of proteins extracted from query. Second iteration can yield some extra hits in some cases.">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
97 <option value="No" selected="true">No</option>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
98 <option value="Yes">Yes</option>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
99 </param>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
100 </inputs>
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
101
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
102 <outputs>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
103 <data format="gff3" name="DomGff" label="DANTE on ${on_string}" />
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
104 <data format="gff3" name="DomGff2" label="DANTE on ${on_string}: 2nd pass">
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
105 <filter>iterative == "Yes" </filter>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
106 </data>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
107 </outputs>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
108 <tests>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
109 <test>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
110 <param name="input_type" value="fasta"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
111 <param name="input_sequences" value="GEPY_test_long_1.fa"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
112 <param name="db_type" value="Viridiplantae_v3.0"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
113 <param name="scoring_matrix" value="BL80"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
114 <param name="iterative" value="No"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
115 <output name="DomGff" value="GEPY_test_long_1_output_unfiltered.gff3"/>
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
116 </test>
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
117
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
118
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
119 </tests>
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
120
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
121
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
122 <help>
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
123
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
124
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
125 THIS IS A PRIMARY OUTPUT THAT SHOULD UNDERGO FURTHER QUALITY FILTERING TO GET RID OFF POTENTIAL FALSE POSITIVE DOMAINS
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
126
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
127 **WHAT IT DOES**
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
128
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
129 This tool uses external aligning programme `LAST`_ and RepeatExplorer database of TE protein domains(REXdb) (Viridiplantae and Metazoa)
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
130
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
131 .. _LAST: http://last.cbrc.jp/
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
132
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
133 *Lastal* runs similarity search to find hits between query DNA sequence and our database of protein domains from all Viridiplantae repetitive elements. Hits with overlapping positions in the sequence (even through other hits) forms a cluster which represents one potential protein domain. Strand orientation is taken into consideration when forming the clusters which means each cluster is built from forward or reverse stranded hits exclusively. The clusters are subsequently processed separately; within one cluster positions are scanned base-by-base and classification strings are assigned for each of them based on the database sequences which were mapped on that place. These asigned classification strings consist of a domain type as well as class and lineage of the repetitive element where the database protein comes from. Different classification levels are separated by "|" character. Every hit is scored according to the scoring matrix used for DNA-protein alignment (BLOSUM80). For single position only the hits reaching certain percentage (80% by default) of the overall best score within the whole cluster are reported. One cluster of overlapping hits represents one domain region and is recorded as one line in the resulting GFF3 file. Regarding the classition strings assigned to one region (cluster) there are three situations that can occur:
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
134
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
135 1. There is a single classification string assigned to each position as well as classifications along all the positions in the region are mutually uniform, in this case domain's final classification is equivalent to this unique classification.
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
136 2. There are multiple classification strings assigned to one cluster, i.e. one domain, which leads to classification to the common (less specific) level of all the strings
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
137 3. There is a conflict at the domain type level, domains are reported with slash (e.g. RT/INT) and the classification is in this case ambiguous
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
138
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
139 **There are 2 outputs produced by this tool:**
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
140
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
141 1. GFF3 file of all proteins domains built from all hits found by LAST. Domains are reported per line as regions (start - end) on the original DNA sequence including the seq ID, alignment score and strand orientation. The last "Attributes" column contains several semicolon-separated information related to annotation, repetitive classification, alignment and its quality. This file can undergo further filtering using *Protein Domain Filter* tool
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
142
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
143 - Attributes reported always:
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
144
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
145 Name
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
146 type of domain; if ambiguous reported with slash
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
147
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
148 Final_classification
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
149 definite classification based on all partial classifications of Region_hits_classifications attribute or
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
150 "Ambiguous_domain" when there is an ambiguous domain type
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
151
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
152 Region_Hits_Classifications
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
153 all hits classifications (comma separated) from a certain domain region that reach the set score threshold; in case of multiple annotations the square brackets indicate the number of bases having this particular classification
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
154
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
155 - Attributes only reported in case of unambiguous domain type (all the attributes including quality information are related to the Best_Hit of the region):
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
156
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
157 Best_hit
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
158 classification and position of the best alignment with the highest score within the cluster; in the square brackets is the percentage of the whole cluster range that this best hit covers
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
159
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
160 Best_Hit_DB_Pos
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
161 showing which part of the original datatabase domain corresponding to the Best Hit was aligned on query DNA (e.g. **Best_Hit_DB_Pos=17:75of79** means the Best Hit reported in GFF represents region from 17th to 75th of total 79 aminoacids in the original domain from the database)
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
162
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
163 DB_Seq
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
164 database protein sequence of the best hit mapped to the query DNA
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
165
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
166 Query_Seq
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
167 alignment sequence of the query DNA for the best hit
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
168
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
169 Identity
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
170 ratio of identical amino acids in alignment sequence to the length of alignment
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
171
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
172 Similarity
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
173 ratio of alignment positions with positive score (according to the scoring matrix) to the length of alignment
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
174
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
175 Relat_Length
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
176 ratio of gapless length of the aligned protein sequence to the whole length of the database protein
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
177
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
178 Relat_Interruptions
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
179 number of the interruptions (frameshifts + stop codons) in aligned translated query sequence per each starting 100 AA
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
180
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
181 Hit_to_DB_Length
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
182 proportion of alignment length to the original length of the protein domain from database
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
183
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
184
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
185
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
186 !NOTE: Tool can in average process 0.5 Gbps of the DNA sequence per day. This is only a rough estimate and it is highly dependent on input data (repetive elements occurence) as well as computing resources. Maximum running time of the tool is 7 days.
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
187
15
3151a72a6671 Uploaded
petr-novak
parents: 10
diff changeset
188 </help>
0
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
189 </tool>
77d9f2ecb28a Uploaded
petr-novak
parents:
diff changeset
190