annotate filter_spades_repeats.xml @ 0:ddd1e15df88c draft

Uploaded
author aaronpetkau
date Sat, 04 Jul 2015 09:45:30 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
1 <tool id="filter_spades_repeat" name="Filter SPAdes repeats" version="1.0.0">
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
2 <description>Remove short and repeat contigs/scaffolds</description>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
3 <requirements>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
4 <requirement type="package" version="5.18.1">perl</requirement>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
5 </requirements>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
6 <command interpreter="perl">nml_filter_spades_repeats.pl -i $fasta_input -t $tab_input -c $cov_cutoff -r $rep_cutoff -l $len_cutoff -o $output_with_repeats -u $output_without_repeats -n $repeat_sequences_only -e $cov_len_cutoff -f $discarded_sequences -s $summary
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
7 </command>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
8
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
9 <inputs>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
10 <param name="fasta_input" type="data" format="fasta" label="Contigs or scaffolds file" help="Contigs/Scaffolds output file from Spades" />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
11 <param name="tab_input" type="data" format="tabular" label="Stats file" help="Enter the corresponding stats file of the fasta file input above" />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
12 <param name="cov_cutoff" type="float" value="0.33" min="0" label="Coverage cut-off ratio" help="This is the average coverage ratio cutoff. For example: if the average coverage is 100 and a coverage cut-off ratio of 0.5 is used, then any contigs with coverage lower than 50 will be eliminated." />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
13 <param name="rep_cutoff" type="float" value="1.75" min="0" label="Repeat cut-off ratio" help="This is the coverage ratio cutoff to determine repeats in contigs. For exmaple: if the average coverage is 100 and a repeat cut-off ratio of 1.75 is used, then any contigs with coverage more than or equal to 175 will be marked as repeats." />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
14 <param name="len_cutoff" type="integer" value="1000" min="0" label="Length cut-off" help="Contigs with length under the chosen cut-off will be eliminated." />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
15 <param name="cov_len_cutoff" type="integer" value="5000" min="0" label="Length for average coverage calculation" help="Only contigs above this length will be used to calculate the average coverage." />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
16 <param name="keep_leftover" type="select" label="Print out a fasta file containing the discarded sequences?">
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
17 <option value="yes">Yes</option>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
18 <option value="no">No</option>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
19 </param>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
20 <param name="print_summary" type="select" label="Print out a summary of all the results?">
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
21 <option value="yes">Yes</option>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
22 <option value="no">No</option>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
23 </param>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
24 </inputs>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
25 <outputs>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
26 <data format="fasta" name="output_with_repeats" label="Filtered sequences (with repeats)" />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
27 <data format="fasta" name="output_without_repeats" label="Filtered sequences (no repeats)" />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
28 <data format="fasta" name="repeat_sequences_only" label="Repeat sequences" />
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
29 <data format="fasta" name="discarded_sequences" label="Discarded sequences">
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
30 <filter>keep_leftover == "yes"</filter>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
31 </data>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
32 <data format="txt" name="summary" label="Results summary">
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
33 <filter>print_summary == "yes"</filter>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
34 </data>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
35 </outputs>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
36
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
37
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
38
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
39
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
40 <help>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
41 ================
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
42 **What it does**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
43 ================
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
44
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
45 Using the output of SPAdes (a fasta and a stats file, either from contigs or scaffolds), it filters the fasta files, discarding all sequences that are under a given length or under a calculated coverage. Repeated contigs are detected based on coverage.
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
46
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
47 --------------------------------------
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
48
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
49 ==========
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
50 **Output**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
51 ==========
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
52
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
53 - **Filtered sequences (with repeats)**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
54 - Will contain the filtered contigs/scaffolds including the repeats. These are the sequences that passed the length and minumum coverage cutoffs.
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
55 - For workflows, this output is named **output_with_repeats**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
56 - **Filtered sequences (no repeats)**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
57 - Will contain the filtered contigs/scaffolds excluding the repeats. These are the sequences that passed the length, minimum coverage and repeat cutoffs.
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
58 - For workflows, this output is named **output_without_repeats**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
59 - **Repeat sequences**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
60 - Will contain the repeated contigs/scaffolds only. These are the sequences that were exluded for having high coverage (determined by the repeat cutoff).
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
61 - For workflows, this output is named **repeat_sequences_only**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
62 - **Discarded sequences**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
63 - If selected, will contain the discarded sequences. These are the sequences that fell below the length and minumum coverage cutoffs, and got discarded.
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
64 - For workflows, this output is named **discarded_sequences**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
65 - **Results summary** : If selected, will contain a summary of all the results.
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
66
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
67 ------------------------------------------
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
68
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
69 ============
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
70 **Example**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
71 ============
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
72
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
73 Stats file input:
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
74 ------------------
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
75
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
76 +------------+------------+------------+
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
77 |#name |length |coverage |
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
78 +============+============+============+
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
79 |NODE_1 |2500 |15.5 |
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
80 +------------+------------+------------+
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
81 |NODE_2 |102 |3.0 |
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
82 +------------+------------+------------+
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
83 |NODE_3 |1300 |50.0 |
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
84 +------------+------------+------------+
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
85 |NODE_4 |1000 |2.3 |
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
86 +------------+------------+------------+
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
87 |NODE_5 |5000 |14.3 |
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
88 +------------+------------+------------+
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
89 |NODE_6 |450 |25.2 |
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
90 +------------+------------+------------+
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
91
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
92 User Inputs:
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
93 ------------
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
94
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
95 - Coverage cut-off ratio = 0.33
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
96 - Repeat cut-off ratio = 1.75
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
97 - Length cut-off = 500
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
98 - Length for average coverage calculation = 1000
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
99
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
100 Calculations:
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
101 -------------
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
102
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
103 **Average coverage will be calculatd based on contigs with length >= 1000bp**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
104
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
105
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
106 - Average coverage = 15.5 + 50.0 + 2.3 + 14.3 / 4 = 20.5
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
107
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
108 **Contigs that have coverage in the lower 1/3 of the average coverage will be eliminated.**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
109
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
110 - Coverage cut-off = 20.5 * 0.33 = 6.8
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
111
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
112 **Contigs with high coverage (larger than 1.75 times the average coverage) are considered to be repeated contigs.**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
113
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
114 - Repeat cut-off = 20.5 * 1.75 = 35.9
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
115
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
116 **Number of copies are calculated by dividing the sequence coverage by the average coverage.**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
117
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
118 - Number of repeats for NODE_3 = 50 / 20.5 = 2 copies
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
119
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
120
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
121 Output (in fasta format):
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
122 --------------------------
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
123
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
124 **Filtered sequences (with repeats)**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
125
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
126 ::
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
127
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
128 >NODE_1
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
129 >NODE_3 (2 copies)
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
130 >NODE_5
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
131
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
132 **Filtered sequences (no repeats)**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
133
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
134 ::
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
135
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
136 >NODE_1
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
137 >NODE_5
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
138
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
139 **Repeat sequences**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
140
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
141 ::
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
142
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
143 >NODE_3 (2 copies)
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
144
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
145 **Discarded sequences**
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
146
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
147 ::
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
148
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
149 >NODE_2
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
150 >NODE_4
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
151 >NODE_6
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
152
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
153 ---------------------------------------
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
154
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
155
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
156
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
157
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
158 </help>
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
159
ddd1e15df88c Uploaded
aaronpetkau
parents:
diff changeset
160 </tool>