changeset 0:03cabb6711c5 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ococo commit c6f72da672e92592f8d389375e0db84676d539a6
author iuc
date Mon, 18 Dec 2017 10:11:02 -0500
parents
children
files ococo.xml test-data/alignment_A_2.sam test-data/answer.fa test-data/answer.pileup test-data/reference.fa
diffstat 5 files changed, 115 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ococo.xml	Mon Dec 18 10:11:02 2017 -0500
@@ -0,0 +1,106 @@
+<tool id="ococo" name="ococo" version="0.1.2.6" >
+    <description>consensus caller on SAM/BAM</description>
+    <requirements>
+      <requirement type="package" version="0.1.2.6">ococo</requirement>
+    </requirements>
+    <command detect_errors="exit_code">
+<![CDATA[
+    ococo -i '$input_alignment'
+    #if $fasta_reference:
+        --fasta-ref '$fasta_reference'
+    #end if
+    --counters $counters
+    --strategy $strategy
+    --min-MQ $min_mq
+    --min-BQ $min_bq
+    --ref-weight $ref_weight
+    --min-cov $min_cov
+    --maj-thres $maj_thres
+    #for $out in str($save_output).split(','):
+        #if str($out) == 'vcf':
+            --vcf-cons $vcf_cons
+        #elif str($out) == 'fasta':
+            --fasta-cons $fasta_cons
+        #elif str($out) == 'pileup':
+            --pileup $pileup
+        #end if
+    #end for
+]]>
+    </command>
+    <inputs>
+      <param name="input_alignment" type="data" format="bam,sam" label="SAM/BAM dataset"/>
+      <param name="fasta_reference" type="data" format="fasta" label="Select fasta reference" optional="True"/>
+      <param name="counters" type="select" label="Counter configuration: [ococo16]">
+        <option value="ococo16">ococo16 (3b/counter, 16b/position)</option>
+        <option value="ococo32">ococo32 (7b/counter, 32b/position)</option>
+        <option value="ococo64">ococo64 (15b/counter, 64b/position)</option>
+      </param>
+      <param name="strategy" type="select" label="Strategy for updates: [majority]">
+        <option value="majority">Majority (update to majority base)</option>
+        <option value="stochastic">stochastic (update to stochastically drawn base)</option>
+      </param>
+
+      <param name="save_output" type="select" label="Save output(s)" optional="False" multiple="True" help="Determine which output file(s) to keep">
+        <option value="vcf">Consensus VCF</option>
+        <option value="fasta">Consensus Fasta</option>
+        <option value="pileup">Pileup</option>
+      </param>
+      
+      <param name="min_mq" type="integer" label="Minimum mapping quality score" help="skip alignments with mapping quality smaller than INT [1]" value="1" argument="min-MQ"/>
+      <param name="min_bq" type="integer" label="Minimum base quality score" help="skip bases with base quality smaller than INT [13]" value="13" argument="--min-BQ"/>
+      <param name="ref_weight" type="integer" label="Initial nucleotides counter" help="initial counter value for nucleotides from ref [0]" value="0" argument='--ref-weight'/>
+      <param name="min_cov" type="integer" label="Minimum coverage required" help="minimum coverage required for update [2]" value="2" argument="--min-cov"/>
+      <param name="maj_thres" type="float" label="Majority consensus threshold [0.51]"  value="0.51" argument="--maj-thres"/>
+    </inputs>
+
+    <outputs>
+      <data name="vcf_cons" format="vcf" label="VCF Consensus on ${input_alignment.name}">
+        <filter>'vcf' in save_output</filter>
+      </data>
+      <data name="fasta_cons" format="fasta" label="Fasta Consensus on ${input_alignment.name}">
+        <filter>'fasta' in save_output</filter>
+      </data>
+      <data name="pileup" format="pileup" label="Pileup on ${input_alignment.name}">
+        <filter>'pileup' in save_output</filter>
+      </data>
+    </outputs>
+    <tests>
+      <test>
+        <param name="input_alignment" value="alignment_A_2.sam"/>
+        <param name="fasta_reference" value="reference.fa"/>
+        <param name="save_output" value="vcf,fasta,pileup"/>
+        <output name="fasta_cons" value="answer.fa"/>
+        <output name="pileup" value="answer.pileup"/>
+        <output name="vcf_cons">
+          <assert_contents>
+            <has_text text="AF=1.00;CS=2,0,0,0;COV=2"/>
+          </assert_contents>
+        </output>
+      </test>
+    </tests>
+    <help>
+<![CDATA[
+
+**OCOCO - Online Consensus Caller**
+
+OCOCO is a online consensus caller, capable to infer SNVs dynamically as read alignments are fed in.
+OCOCO inputs unsorted alignments from an unsorted SAM/BAM stream and decides about single-nucleotide
+updates of the current genomic consensus using statistics stored in compact several-bits counters.
+Updates are reported in the online fashion using unsorted VCF. OCOCO provides a fast and
+memory-efficient alternative to the usual variant calling, particularly advantageous when reads
+are sequenced or mapped progressively, or when available computational resources are at a premium. 
+
+]]>      
+    </help>
+    <citations>
+      <citation type="bibtex">
+        @misc{1207.3907,
+        Author = {Karel Brinda},
+        Title = {Ococo: an online consensus caller},
+        Year = {2017},
+        Eprint = {arXiv:1712.01146},
+        url = {https://arxiv.org/abs/1712.01146}
+        }
+      </citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/alignment_A_2.sam	Mon Dec 18 10:11:02 2017 -0500
@@ -0,0 +1,4 @@
+@HD	VN:1.5	SO:coordinate
+@SQ	SN:seq	LN:2
+read_1	0	seq	2	42	1M	*	0	0	A	*
+read_2	0	seq	2	42	1M	*	0	0	A	*
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/answer.fa	Mon Dec 18 10:11:02 2017 -0500
@@ -0,0 +1,2 @@
+>seq
+NA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/answer.pileup	Mon Dec 18 10:11:02 2017 -0500
@@ -0,0 +1,1 @@
+seq	2	N	2	AA	~~
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/reference.fa	Mon Dec 18 10:11:02 2017 -0500
@@ -0,0 +1,2 @@
+>seq
+NN