comparison scythe/scythe.xml @ 2:8e5357ca8ebd draft

Uploaded
author nikhil-joshi
date Tue, 06 Aug 2013 23:13:27 -0400
parents 8161274941bf
children 0a70eb1e6432
comparison
equal deleted inserted replaced
1:6833c884a751 2:8e5357ca8ebd
1 <tool id="scythe" name="Scythe"> 1 <tool id="scythe" name="Scythe">
2 <description>Trimming adapters/contaminants using a Naive Bayesian classifier</description> 2 <description>Trimming adapters/contaminants using a Naive Bayesian classifier</description>
3 3
4 <command> 4 <command>
5 scythe --quiet -a $adapter_file -q $qual_type 5 scythe --quiet -a $adapter_file
6
7 #if $input_fastq.ext == "fastq":
8 -q sanger
9 #else if $input_fastq.ext == "fastqsanger":
10 -q sanger
11 #else if $input_fastq.ext == "fastqillumina":
12 -q illumina
13 #else if $input_fastq.ext == "fastqsolexa":
14 -q solexa
15 #end if
6 16
7 #if str($add_tag) == "add_tag_true": 17 #if str($add_tag) == "add_tag_true":
8 -t 18 -t
9 #end if 19 #end if
10 20
14 24
15 #if str($min_match) != "": 25 #if str($min_match) != "":
16 -n $min_match 26 -n $min_match
17 #end if 27 #end if
18 28
29 #if str($min_keep) != "":
30 -M $min_keep
31 #end if
32
19 #if str($matches_file) == "matches_file_true": 33 #if str($matches_file) == "matches_file_true":
20 -m $output_matches 34 -m $output_matches
21 #end if 35 #end if
22 36
23 -o $output_trimmed $input_fastq 2> /dev/null 37 -o $output_trimmed $input_fastq 2> /dev/null
24 </command> 38 </command>
25 39
26 <inputs> 40 <inputs>
27 <param format="fastq, fastqsanger" name="input_fastq" type="data" optional="false" label="FastQ Reads"/> 41 <param format="fastq, fastqsanger, fastqillumina, fastqsolexa" name="input_fastq" type="data" optional="false" label="FastQ Reads" help="Note: Scythe will infer the quality type of the file from its datatype. I.e., if the datatype is fastqsanger, then the quality type is sanger. The default is fastqsanger."/>
28 42
29 <param format="fasta" name="adapter_file" type="data" optional="false" label="Adapter/Contaminant file (in fasta format)"/> 43 <param format="fasta" name="adapter_file" type="data" optional="false" label="Adapter/Contaminant file (in fasta format)"/>
30
31 <param name="qual_type" type="select" optional="false" label="Quality type">
32 <option value="illumina" selected="true">Illumina</option>
33 <option value="solexa">Solexa</option>
34 <option value="sanger">Sanger</option>
35 </param>
36 44
37 <param name="add_tag" type="boolean" checked="false" truevalue="add_tag_true" falsevalue="add_tag_false" label="Add a tag to the header indicating that Scythe cut a sequence?"/> 45 <param name="add_tag" type="boolean" checked="false" truevalue="add_tag_true" falsevalue="add_tag_false" label="Add a tag to the header indicating that Scythe cut a sequence?"/>
38 46
39 <param name="matches_file" type="boolean" checked="false" truevalue="matches_file_true" falsevalue="matches_file_false" label="Also output another file with details about adapter/contaminant matches?"/> 47 <param name="matches_file" type="boolean" checked="false" truevalue="matches_file_true" falsevalue="matches_file_false" label="Also output another file with details about adapter/contaminant matches?"/>
40 48
41 <param name="prior" value="0.05" type="float" optional="true" label="Prior" help="The prior contamination rate"> 49 <param name="prior" value="0.3" type="float" optional="true" label="Prior" help="The prior contamination rate">
42 <validator type="in_range" min="0" message="Minimum value is 0"/> 50 <validator type="in_range" min="0" message="Minimum value is 0"/>
43 </param> 51 </param>
44 52
45 <param name="min_match" value="0" type="integer" optional="true" label="Smallest length adapter/contaminant to consider"> 53 <param name="min_match" value="5" type="integer" optional="true" label="Smallest length adapter/contaminant to consider">
46 <validator type="in_range" min="0" message="Minimum value is 0"/> 54 <validator type="in_range" min="0" message="Minimum value is 0"/>
47 </param> 55 </param>
56
57 <param name="min_keep" value="35" type="integer" optional="true" label="Filter sequences less than this length (after trimming)">
58 <validator type="in_range" min="0" message="Minimum value is 0"/>
59 </param>
48 </inputs> 60 </inputs>
49 61
50 <outputs> 62 <outputs>
51 <data format_source="input_fastq" name="output_trimmed" label="Adapter/Contaminant Trimmed FastQ using ${tool.name} on ${on_string}"/> 63 <data format_source="input_fastq" name="output_trimmed" label="Adapter/Contaminant Trimmed FastQ using ${tool.name} on ${on_string}"/>
52 64
59 Scythe uses a Naive Bayesian approach to classify contaminant substrings in sequence reads. It considers quality information, which can make it robust in picking out 3'-end adapters, which often include poor quality bases. 71 Scythe uses a Naive Bayesian approach to classify contaminant substrings in sequence reads. It considers quality information, which can make it robust in picking out 3'-end adapters, which often include poor quality bases.
60 72
61 Most next generation sequencing reads have deteriorating quality towards the 3'-end. It's common for a quality-based trimmer to be employed before mapping, assemblies, and analysis to remove these poor quality bases. However, quality-based trimming could remove bases that are helpful in identifying (and removing) 3'-end adapter contaminants. Thus, it is recommended you run Scythe before quality-based trimming, as part of a read quality control pipeline. 73 Most next generation sequencing reads have deteriorating quality towards the 3'-end. It's common for a quality-based trimmer to be employed before mapping, assemblies, and analysis to remove these poor quality bases. However, quality-based trimming could remove bases that are helpful in identifying (and removing) 3'-end adapter contaminants. Thus, it is recommended you run Scythe before quality-based trimming, as part of a read quality control pipeline.
62 74
63 The Bayesian approach Scythe uses compares two likelihood models: the probability of seeing the matches in a sequence given contamination, and not given contamination. Given that the read is contaminated, the probability of seeing a certain number of matches and mistmatches is a function of the quality of the sequence. Given the read is not contaminated (and is thus assumed to be random sequence), the probability of seeing a certain number of matches and mismatches is chance. The posterior is calculated across both these likelihood models, and the class (contaminated or not contaminated) with the maximum posterior probability is the class selected. 75 The Bayesian approach Scythe uses compares two likelihood models: the probability of seeing the matches in a sequence given contamination, and not given contamination. Given that the read is contaminated, the probability of seeing a certain number of matches and mistmatches is a function of the quality of the sequence. Given the read is not contaminated (and is thus assumed to be random sequence), the probability of seeing a certain number of matches and mismatches is chance. The posterior is calculated across both these likelihood models, and the class (contaminated or not contaminated) with the maximum posterior probability is the class selected.
76
77 Scythe will infer the quality type from the datatype of the file.
64 </help> 78 </help>
65 79
66 </tool> 80 </tool>