Mercurial > repos > devteam > kraken_filter
view kraken-filter.xml @ 2:317726be0703 draft
planemo upload for repository https://github.com/galaxyproject/tools-devteam/blob/master/tool_collections/kraken/kraken_filter/ commit cb6ebb843c71dcfc73aa05cc616f8e3229170108-dirty
author | devteam |
---|---|
date | Wed, 15 Jul 2015 15:22:22 -0400 |
parents | f093ba52debe |
children | 7fb926851f66 |
line wrap: on
line source
<tool id="kraken-filter" name="Kraken-filter" version="1.1.0"> <description> filter classification by confidence score </description> <macros> <import>macros.xml</import> </macros> <command> <![CDATA[ @SET_DATABASE_PATH@ && kraken-filter @INPUT_DATABASE@ --threshold $threshold "${input}" > "$filtered_output" ]]> </command> <inputs> <param format="tabular" label="Kraken output" name="input" type="data" help="Select taxonomy classification produced by kraken"/> <param label="Confidence threshold" max="1" min="0" name="threshold" type="float" value="0" help="--threshold; A number between 0 and 1; default=0"/> <expand macro="input_database" /> </inputs> <outputs> <data format="tabular" name="filtered_output" /> </outputs> <help> <![CDATA[ .. class:: warningmark **Note**: the database used must be the same as the one used in the original Kraken run ----- **What it does** At present, we have not yet developed a confidence score with a solid probabilistic interpretation for Kraken. However, we have developed a simple scoring scheme that has yielded good results for us, and we've made that available in the kraken-filter script. The approach we use allows a user to specify a threshold score in the [0,1] interval; the ``kraken-filter`` script then will adjust labels up the tree until the label's score (described below) meets or exceeds that threshold. If a label at the root of the taxonomic tree would not have a score exceeding the threshold, the sequence is called unclassified by ``kraken-filter``. A sequence label's score is a fraction C/Q, where C is the number of k-mers mapped to LCA values in the clade rooted at the label, and Q is the number of k-mers in the sequence that lack an ambiguous nucleotide (i.e., they were queried against the database). Consider the example of the LCA mappings in Kraken's output:: 562:13 561:4 A:31 0:1 562:3 would indicate that:: the first 13 k-mers mapped to taxonomy ID #562 the next 4 k-mers mapped to taxonomy ID #561 the next 31 k-mers contained an ambiguous nucleotide the next k-mer was not in the database the last 3 k-mers mapped to taxonomy ID #562 In this case, ID #561 is the parent node of #562. Here, a label of #562 for this sequence would have a score of C/Q = (13+3)/(13+4+1+3) = 16/21. A label of #561 would have a score of C/Q = (13+4+3)/(13+4+1+3) = 20/21. If a user specified a threshold over 16/21, kraken-filter would adjust the original label from #562 to #561; if the threshold was greater than 20/21, the sequence would become unclassified. ]]> </help> <expand macro="version_command" /> <expand macro="requirements" /> <expand macro="stdio" /> <expand macro="citations" /> </tool>