Mercurial > repos > yhoogstrate > varscan_mpileup2indel_from_bam
changeset 4:23e5913327b4 draft default tip
planemo upload for repository https://bitbucket.org/EMCbioinf/galaxy-tool-shed-tools commit 0bc9864516071632199ddf9a4ff403893060c99f
author | yhoogstrate |
---|---|
date | Thu, 05 Nov 2015 09:57:03 -0500 |
parents | d2424abb9404 |
children | |
files | README.rst example.fa.1.bed example.fa.2.bed samtools-parallel-mpileup.xml test-data/GSM1244822_Control_Rep7.hg18.subset.chr10_8136673-8157170.bam test-data/example.bam test-data/example.fa test-data/example.fa.1.bed test-data/example.fa.2.bed test-data/example.fa.fai test-data/example.mpileup test-data/example.mpileup.parallel test-data/example.vcf tool_dependencies.xml varscan_mpileup2indel.xml varscan_mpileup2indel_from_bam.tar.xz varscan_mpileup2indel_from_bam.xml |
diffstat | 17 files changed, 690 insertions(+), 676 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.rst Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,102 @@ +VarScan2 mpileup2snp wrapper for Galaxy +======================================= + +http://sourceforge.net/projects/varscan/ + +This wrapper is optimized for direct access to BAM files such that the +big mpileup files are not saved. + +Development +----------- + +Repository-Maintainer: Youri Hoogstrate + +Repository-Development: https://bitbucket.org/EMCbioinf/galaxy-tool-shed-tools + + +License +------- + +**VarScan2**: + +Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0): http://sourceforge.net/directory/os:linux/license:nposl3/freshness:recently-updated/ http://opensource.org/licenses/NPOSL-3.0 + +**samtools**: + +MIT/Expat License: https://raw.githubusercontent.com/samtools/samtools/develop/LICENSE + + The MIT/Expat License + + Copyright (C) 2008-2014 Genome Research Ltd. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + [The use of a range of years within a copyright notice in this distribution + should be interpreted as being equivalent to a list of years including the + first and last year specified and all consecutive years between them. + + For example, a copyright notice that reads "Copyright (C) 2005, 2007-2009, + 2011-2012" should be interpreted as being identical to a notice that reads + "Copyright (C) 2005, 2007, 2008, 2009, 2011, 2012" and a copyright notice + that reads "Copyright (C) 2005-2012" should be interpreted as being identical + to a notice that reads "Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, + 2011, 2012".] + +**samtools-parallel-mpileup**: + +MIT License: https://raw.githubusercontent.com/mydatascience/parallel-mpileup/master/samtools-0.1.19/COPYING + +The MIT License + + Copyright (c) 2008-2009 Genome Research Ltd. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +**This wrapper**: + + Copyright (C) 2013-2014 Youri Hoogstrate + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example.fa.1.bed Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,1 @@ +chr1 0 330
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example.fa.2.bed Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,1 @@ +chr1 330 600
--- a/samtools-parallel-mpileup.xml Wed Nov 19 10:04:52 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,261 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<tool id="samtools_parallel_mpileup" name="Samtools parallel mpileup"> - <description>Samtools mpileup (supporting parallelization)</description> - <requirements> - <requirement type="package" version="5.9">ncurses</requirement> - <requirement type="package" version="0.1.19a">samtools_parallel_mpileup_0_1_19a</requirement> - <requirement type="package" version="0.1.19">package_samtools_0_1_19</requirement> - </requirements> - <command> - #if $reference_genome_source.source_select == "attribute" and len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) != 1 - echo "Invalid number of dbkeys are found: ${ len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) }, while only one should be used. Make sure that the alignments are done on the same reference genome and that 'tool-data/all_fasta.loc' is configured properly!" >&2 - #else - #if $mpileup_parallelization.mpileup_parallelization_select == "true" - samtools-parallel-mpileup mpileup - -t $mpileup_parallelization.samtools_threads - #else - samtools mpileup - #end if - -f - #if $reference_genome_source.source_select == "indexed_filtered" - "$reference_genome_source.reference_genome" - #else if $reference_genome_source.source_select == "indexed_all" - "$reference_genome_source.reference_genome" - #else if $reference_genome_source.source_select == "history" - "$reference_genome_source.reference_genome" - #else - <!-- - This is a workaround to obtain the "genome.fa" file that - corresponds to the dbkey of the alignments. - Because this file is "calculated" during run-time, it can - be used in a workflow. - --> - "${ filter( lambda x: str( x[0] ) == str( { alignment.metadata.dbkey:True for alignment in $alignments }.keys()[0] ), $__app__.tool_data_tables[ 'all_fasta' ].get_fields() )[0][-1] }" - #end if - - #if $extended_parameters_regions.samtools_regions == "region" - -r $extended_parameters_regions.$samtools_r - #elif $extended_parameters_regions.samtools_regions == "regions_file_pos" or $extended_parameters_regions.samtools_regions == "regions_file_bed" - -l $extended_parameters_regions.$samtools_l - #end if - - #if $extended_parameters.parameters == "extended" - $extended_parameters.samtools_6 - $extended_parameters.samtools_A - $extended_parameters.samtools_B - -C $extended_parameters.samtools_C - -d $extended_parameters.samtools_d - $extended_parameters.samtools_E - -M $extended_parameters.samtools_M - $extended_parameters.samtools_R - -q $extended_parameters.samtools_q - -Q $extended_parameters.samtools_Q - - -e $extended_parameters.samtools_e - -F $extended_parameters.samtools_F - -h $extended_parameters.samtools_h - $extended_parameters.samtools_I - -L $extended_parameters.samtools_L - -m $extended_parameters.samtools_m - -o $extended_parameters.samtools_o - $extended_parameters.samtools_p - -P $extended_parameters.samtools_P - #end if - - #for $alignment in $alignments - ${alignment} - #end for - - 2> stderr_1.txt - - #if $sort_mpileup - | sort -k 1,1 -k 2,2 - #end if - - > $output ; - cat stderr_1.txt - #end if - </command> - - <inputs> - <param format="bam,sam" multiple="true" name="alignments" type="data" label="Alignment file" help="Mapped reads in BAM or SAM format."/> - - <!-- Find out how to access the reference genome from the BAM file(s) --> - <conditional name="reference_genome_source"> - <param name="source_select" type="select" label="Fasta Source"> - <option value="indexed_filtered">Use a built-in index (which fits your reference)</option> - <option value="history">Use reference from the history</option> - <option value="indexed_all">Use a built-in index (entire list) - avoid this option if possible; only useful if you design a workflow</option> - <option value="attribute">Use a built-in index based on the 'metadata.dbkey' attribute; ideal in workflows</option> - </param> - <when value="indexed_filtered"> - <param name="reference_genome" type="select" label="Reference Genome used during alignment (fasta)" > - <options from_data_table="all_fasta"> - <column name="name" index="2"/> - <column name="dbkey" index="1"/> - <column name="value" index="3"/><!-- Value is the path of the fasta file --> - <filter type="data_meta" ref="alignments" multiple="false" key="dbkey" column="1" /> - <validator type="no_options" message="No indexes are available for the selected input dataset" /> - </options> - </param> - </when> - <when value="history"> - <param name="reference_genome" format="fasta" type="data" label="Reference Genome used during alignment (fasta)" help="Reference genome (genome.fa) that corresponds to the *.bam file." /> - </when> - <when value="indexed_all"> - <param name="reference_genome" type="select" label="Reference Genome used during alignment (fasta)" > - <options from_data_table="all_fasta"> - <column name="name" index="2"/> - <column name="dbkey" index="1"/> - <column name="value" index="3"/><!-- Value is the path of the fasta file --> - <validator type="no_options" message="No indexes are available for the selected input dataset" /> - </options> - </param> - </when> - <when value="attribute" /> - </conditional> - - <conditional name="extended_parameters_regions"> - <param name="samtools_regions" type="select" label="Region specific parameters" help="Let samtools target specific genomic locations."> - <option value="entire_genome">Entire genome</option> - <option value="region">Specific region</option> - <option value="regions_file_pos">Specific positions (file); list of positions</option> - <option value="regions_file_bed">Specific regions (file); list of regions in BED</option> - </param> - <when value="entire_genome"> - </when> - <when value="region"> - <param type="text" name="samtools_r" label="Samtools: region in which pileup is generated" help="chr:pos or chr:start-end" /> - </when> - <when value="regions_file_pos"> - <param type="data" name="samtools_l" format="tabular" label="Samtools: list of positions (chr pos)" /> - </when> - <when value="regions_file_bed"> - <param type="data" name="samtools_l" format="bed" label="Samtools: specific regions (BED)" /> - </when> - </conditional> - - <conditional name="mpileup_parallelization"> - <param name="mpileup_parallelization_select" type="select" label="Use parallelization for the mpileup generation (experimental)" help="Especially if larger numbers of bam/sam files are processed, or the file infrastructure is optimized for IO-paralellization, this feature might improve performance."> - <option value="false" >False - uses classical samtools</option> - <option value="true">True - uses (experimental) samtools mpileup-parallel</option> - </param> - <when value="false" /> - <when value="true"> - <param type="integer" name="samtools_threads" value="2" min="1" label="Samtools: mpileup threads" /> - </when> - </conditional> - - <param name="sort_mpileup" type="boolean" truevalue="true" falsevalue="false" label="Sort mpileup file" help="Because parallelization may disrupt the outputs order, sorting can be conveniet for e.g. testing. Notice that this function has only use in a limited number of situations but consumes (much) resources. Only use it if it's really neccesairy." /> - - <conditional name="extended_parameters"> - <param name="parameters" type="select" label="Advanced parameters" help="For more advanced VarScan and samtools settings."> - <option value="default">Default settings</option> - <option value="extended">Extended settings</option> - </param> - <when value="default" /> - <when value="extended"> - <param type="boolean" name="samtools_6" falsevalue="" truevalue=" -6" label="Samtools: assume the quality is in the Illumina-1.3+ encoding" /> - <param type="boolean" name="samtools_A" falsevalue="" truevalue=" -A" label="Samtools: count anomalous read pairs" /> - <param type="boolean" name="samtools_B" falsevalue="" truevalue=" -B" label="Samtools: disable BAQ computation" /> - <param type="integer" name="samtools_C" value="0" label="Samtools: parameter for adjusting mapQ; 0 to disable [0]" /> - <param type="integer" name="samtools_d" value="250" label="Samtools: max per-BAM depth to avoid excessive memory usage [250]" /> - <param type="boolean" name="samtools_E" falsevalue="" truevalue=" -E" label="Samtools: recalculate extended BAQ on the fly thus ignoring existing BQs" /> - <param type="integer" name="samtools_M" value="60" label="cap mapping quality at INT [60]" /> - <param type="boolean" name="samtools_R" falsevalue="" truevalue=" -R" label="Samtools: ignore RG tags" /> - <param type="integer" name="samtools_q" value="0" label="Samtools: skip alignments with mapQ smaller than INT [0]" /> - <param type="integer" name="samtools_Q" value="13" label="Samtools: skip bases with baseQ/BAQ smaller than INT [13]" /> - - <param type="integer" name="samtools_e" value="20" label="Samtools: Phred-scaled gap extension seq error probability [20]" /> - <param type="float" name="samtools_F" value="0.002" label="Samtools: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" /> - <param type="integer" name="samtools_h" value="100" label="Samtools: coefficient for homopolymer errors [100]" /> - <param type="boolean" name="samtools_I" falsevalue="" truevalue=" -I" label="Samtools: do not perform indel calling" /> - <param type="integer" name="samtools_L" value="250" label="Samtools: max per-sample depth for INDEL calling [250]" /> - <param type="integer" name="samtools_m" value="1" label="Samtools: minimum gapped reads for indel candidates [1]" help="Alias: -m" /> - <param type="integer" name="samtools_o" value="40" label="Samtools: Phred-scaled gap open sequencing error probability [40]" /> - <param type="boolean" name="samtools_p" falsevalue="" truevalue=" -p" label="Samtools: apply -m and -F per-sample to increase sensitivity" /> - <param type="text" name="samtools_P" value="all" label="Samtools: comma separated list of platforms for indels [all]" /> - </when> - </conditional> - </inputs> - - <outputs> - <data format="mpileup" name="output" label="${tool.name} on ${', '.join([ str(a.hid)+': '+a.name for a in $alignments ])}" /> - </outputs> - - <tests> - <test><!-- Use classical samtools --> - <param name="alignments" value="hg19_mutant.bam.txt" dbkey="hg19" ftype="bam" /> - <param name="source_select" value="attribute" /> - <param name="samtools_regions" value="entire_genome" /> - - <param name="mpileup_parallelization_select" value="false" /> - <param name="sort_mpileup" value="true" /> - - <param name="parameters" value="default" /> - - - <output name="output" file="hg19_mutant.mpileup" /> - </test> - <test><!-- Use parallelized samtools --> - <param name="alignments" value="hg19_mutant.bam.txt" dbkey="hg19" ftype="bam" /> - <param name="source_select" value="attribute" /> - <param name="samtools_regions" value="entire_genome" /> - - <param name="mpileup_parallelization_select" value="true" /> - <param name="samtools_threads" value="2" /> - <param name="sort_mpileup" value="true" /> - - <param name="parameters" value="default" /> - - - <output name="output" file="hg19_mutant.mpileup" /> - </test> - </tests> - - <help> -**Samtools mpileup (supporting parallelization)** - -SAM (Sequence Alignment/Map) format is a generic format for storing large nucleotide sequence alignments. SAM aims to be a format that: - -Is flexible enough to store all the alignment information generated by various alignment programs; -Is simple enough to be easily generated by alignment programs or converted from existing alignment formats; -Is compact in file size; -Allows most of operations on the alignment to work on a stream without loading the whole alignment into memory; -Allows the file to be indexed by genomic position to efficiently retrieve all reads aligning to a locus. -SAM Tools provide various utilities for manipulating alignments in the SAM format, including sorting, merging, indexing and generating alignments in a per-position format. - -SAMtools is hosted by SourceForge.net. The project page is http://samtools.sourceforge.net/. The source code releases are available from the download page. You can check out the most recent source code from the github project page with: -git clone git://github.com/samtools/samtools.git -https://github.com/mydatascience/parallel-mpileup/ - -Because samtools does not support parallization of the mpileup command, the project was forked to include paralellization support: - - -However, since the project seems to lack support and contains fatal bugs this project was continued at: -https://github.com/yhoogstrate/parallel-mpileup/ - - -**Input formats** - -Satmools accepts sequencing alignments in the same, either SAM or BAM format (http://samtools.sourceforge.net/). The alignment files have to be linked to a reference genome by galaxy. This is indicated under every history item with e.g.: *"database: hg19"* for a link to hg19, or *"database: ?"* if the link is missing. - -**Installation** - -The installation is fully automatic. - -**License** - -* parallel-mpileup: MIT License (https://github.com/yhoogstrate/parallel-mpileup/blob/master/samtools-0.1.19/COPYING) -* samtool: MIT License - - -**Contact** - -The tool wrapper has been written by Youri Hoogstrate from the Erasmus Medical Center (Rotterdam, Netherlands) on behalf of the Translational Research IT (TraIT) project: -http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch - -More tools by the Translational Research IT (TraIT) project can be found in the following repository: -http://toolshed.dtls.nl/ -</help> -</tool> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.fa Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,11 @@ +>chr1 +aaataggtcccaaacgttacgcactctatgcctgacaaagttgcgaccacttcctctgcc +ttgtgtgacacgccggagatagggcatcagcaagtacgttaagtacactgaacgaactgg +aggtttctacatcgtgcgtgatggctctaggagaagtgggtgtatctgcacagcataagt +tataagacggaagtaaagcgtcttcaccgttcagcaccccacgctcatagtcaatgctgg +ttcagcatagtcaagcgccggtggcctccaaaaagacgcactgagtagcttagctacttt +gctccgcttgcggaagcactaagaggagattgaatttccaaatcccccccgatacctgtg +cggtcgctacgtaagtgcgaagttctgttagatacgctccccttagtatatgggcgttaa +tcggaccgtcggtactcactgcattccaggtctcatatagttcgccctagaagcctggga +tgaacgttgaactatagctgatgtaaaccccgcgtgccaattccaggcgtcatgggggca +acccctcgcagcctccctcttgctgttggtgcctagtatttcatgatttcgagccgacat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.fa.1.bed Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,1 @@ +chr1 0 330
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.fa.2.bed Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,1 @@ +chr1 330 600
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.fa.fai Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,1 @@ +chr1 600 6 60 61
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.mpileup Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,70 @@ +chr1 1 a 8 ^],^].^],^].^],^],^].^], ~~~~~~~~ +chr1 2 a 8 ,.,.,,., ~~~~~~~~ +chr1 3 a 8 ,.,.,,., ~~~~~~~~ +chr1 4 t 8 ,.,.,,., ~~~~~~~~ +chr1 5 a 8 ,.,.,,., ~~~~~~~~ +chr1 6 g 8 ,.,.,,., ~~~~~~~~ +chr1 7 g 8 ,.,.,,., ~~~~~~~~ +chr1 8 t 8 ,.,.,,., ~~~~~~~~ +chr1 9 c 8 ,.,.,,., ~~~~~~~~ +chr1 10 c 8 ,.,.,,., ~~~~~~~~ +chr1 11 c 8 ,.,.,,., ~~~~~~~~ +chr1 12 a 8 ,.,.,,., ~~~~~~~~ +chr1 13 a 8 ,.,.,,., ~~~~~~~~ +chr1 14 a 8 ,.,.,,., ~~~~~~~~ +chr1 15 c 8 ,.,.,,., ~~~~~~~~ +chr1 16 g 8 ,.,.,,., ~~~~~~~~ +chr1 17 t 8 ,-1t.-1T,-1t.-1T,-1t,-1t.-1T,-1t ~~~~~~~~ +chr1 18 t 8 ******** ~~~~~~~~ +chr1 19 a 8 ,.,.,,., ~~~~~~~~ +chr1 20 c 8 ,.,.,,., ~~~~~~~~ +chr1 21 g 8 ,.,.,,., ~~~~~~~~ +chr1 22 c 8 ,.,.,,., ~~~~~~~~ +chr1 23 a 8 ,.,.,,., ~~~~~~~~ +chr1 24 c 8 gGgGggGg ~~~~~~~~ +chr1 25 t 8 ,.,.,,., ~~~~~~~~ +chr1 26 c 8 ,.,.,,., ~~~~~~~~ +chr1 27 t 8 ,.,.,,., ~~~~~~~~ +chr1 28 a 8 ,.,.,,., ~~~~~~~~ +chr1 29 t 8 ,.,.,,., ~~~~~~~~ +chr1 30 g 8 ,.,.,,., ~~~~~~~~ +chr1 31 c 8 ,.,.,,., ~~~~~~~~ +chr1 32 c 8 ,.,.,,., ~~~~~~~~ +chr1 33 t 8 ,.,.,,., ~~~~~~~~ +chr1 34 g 8 ,.,.,,., ~~~~~~~~ +chr1 35 a 8 ,$.$,$.$,$,$.$,$ ~~~~~~~~ +chr1 61 t 8 ^],^],^],^],^],^],^],^], ~BBBBBBB +chr1 62 t 8 ,,,,,,,, ~EEEEEEE +chr1 63 g 8 ,,,,,,,, ~bbbbbbb +chr1 64 t 8 ,,,,,,,, ~eeeeeee +chr1 65 g 8 ,,,,,,,, ~ooooooo +chr1 66 t 8 ,,,,,,,, ~ppppppp +chr1 67 g 8 ,,,,,,,, ~sssssss +chr1 68 a 8 ,,,,,,,, ~xxxxxxx +chr1 69 c 8 ,,,,,,,, ~xxxxxxx +chr1 70 a 8 ,,,,,,,, ~xxxxxxx +chr1 71 c 8 ,,,,,,,, ~xxxxxxx +chr1 72 g 8 ,,,,,,,, ~{{{{{{{ +chr1 73 c 8 ,,,,,,,, ~aaaaaaa +chr1 74 c 8 ,,,,,,,, ~aaaaaaa +chr1 75 g 8 ,,,,,,,, ~RRRRRRR +chr1 76 g 8 ,,,,,,,, ~RRRRRRR +chr1 77 a 1 ,+1a ~ +chr1 78 g 8 ,,,,,,,, ~RRRRRRR +chr1 79 a 8 ,,,,,,,, ~RRRRRRR +chr1 80 t 8 ,,,,,,,, ~[[[[[[[ +chr1 81 a 8 ,,,,,,,, ~[[[[[[[ +chr1 82 g 8 ,,,,,,,, ~[[[[[[[ +chr1 83 g 8 ,,,,,,,, ~[[[[[[[ +chr1 84 g 8 aaaaaaaa ~[[[[[[[ +chr1 85 c 8 ,,,,,,,, ~[[[[[[[ +chr1 86 a 8 ,,,,,,,, ~[[[[[[[ +chr1 87 t 8 ,,,,,,,, ~iiiiiii +chr1 88 c 8 ,,,,,,,, ~iiiiiii +chr1 89 a 8 ,,,,,,,, ~lllllll +chr1 90 g 8 ,,,,,,,, ~~~~~~~~ +chr1 91 c 8 ,,,,,,,, ~~~~~~~~ +chr1 92 a 8 ,,,,,,,, ~aaaaaaa +chr1 93 a 8 ,,,,,,,, ~_______ +chr1 94 g 8 ,,,,,,,, ~UUUUUUU +chr1 95 t 8 ,$,$,$,$,$,$,$,$ ~EEEEEEE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.mpileup.parallel Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,70 @@ +achr1 77 a 1 ,+1a ~ +chr1 1 a 8 ^],^].^],^].^],^],^].^], ~~~~~~~~ +chr1 2 a 8 ,.,.,,., ~~~~~~~~ +chr1 3 a 8 ,.,.,,., ~~~~~~~~ +chr1 4 t 8 ,.,.,,., ~~~~~~~~ +chr1 5 a 8 ,.,.,,., ~~~~~~~~ +chr1 6 g 8 ,.,.,,., ~~~~~~~~ +chr1 7 g 8 ,.,.,,., ~~~~~~~~ +chr1 8 t 8 ,.,.,,., ~~~~~~~~ +chr1 9 c 8 ,.,.,,., ~~~~~~~~ +chr1 10 c 8 ,.,.,,., ~~~~~~~~ +chr1 11 c 8 ,.,.,,., ~~~~~~~~ +chr1 12 a 8 ,.,.,,., ~~~~~~~~ +chr1 13 a 8 ,.,.,,., ~~~~~~~~ +chr1 14 a 8 ,.,.,,., ~~~~~~~~ +chr1 15 c 8 ,.,.,,., ~~~~~~~~ +chr1 16 g 8 ,.,.,,., ~~~~~~~~ +chr1 17 t 8 ,-1t.-1T,-1t.-1T,-1t,-1t.-1T,-1t ~~~~~~~~ +chr1 18 t 8 ******** ~~~~~~~~ +chr1 19 a 8 ,.,.,,., ~~~~~~~~ +chr1 20 c 8 ,.,.,,., ~~~~~~~~ +chr1 21 g 8 ,.,.,,., ~~~~~~~~ +chr1 22 c 8 ,.,.,,., ~~~~~~~~ +chr1 23 a 8 ,.,.,,., ~~~~~~~~ +chr1 24 c 8 gGgGggGg ~~~~~~~~ +chr1 25 t 8 ,.,.,,., ~~~~~~~~ +chr1 26 c 8 ,.,.,,., ~~~~~~~~ +chr1 27 t 8 ,.,.,,., ~~~~~~~~ +chr1 28 a 8 ,.,.,,., ~~~~~~~~ +chr1 29 t 8 ,.,.,,., ~~~~~~~~ +chr1 30 g 8 ,.,.,,., ~~~~~~~~ +chr1 31 c 8 ,.,.,,., ~~~~~~~~ +chr1 32 c 8 ,.,.,,., ~~~~~~~~ +chr1 33 t 8 ,.,.,,., ~~~~~~~~ +chr1 34 g 8 ,.,.,,., ~~~~~~~~ +chr1 35 a 8 ,$.$,$.$,$,$.$,$ ~~~~~~~~ +chr1 61 t 8 ^],^],^],^],^],^],^],^], ~BBBBBBB +chr1 62 t 8 ,,,,,,,, ~EEEEEEE +chr1 63 g 8 ,,,,,,,, ~bbbbbbb +chr1 64 t 8 ,,,,,,,, ~eeeeeee +chr1 65 g 8 ,,,,,,,, ~ooooooo +chr1 66 t 8 ,,,,,,,, ~ppppppp +chr1 67 g 8 ,,,,,,,, ~sssssss +chr1 68 a 8 ,,,,,,,, ~xxxxxxx +chr1 69 c 8 ,,,,,,,, ~xxxxxxx +chr1 70 a 8 ,,,,,,,, ~xxxxxxx +chr1 71 c 8 ,,,,,,,, ~xxxxxxx +chr1 72 g 8 ,,,,,,,, ~{{{{{{{ +chr1 73 c 8 ,,,,,,,, ~aaaaaaa +chr1 74 c 8 ,,,,,,,, ~aaaaaaa +chr1 75 g 8 ,,,,,,,, ~RRRRRRR +chr1 76 g 8 ,,,,,,,, ~RRRRRRR +chr1 78 g 8 ,,,,,,,, ~RRRRRRR +chr1 79 a 8 ,,,,,,,, ~RRRRRRR +chr1 80 t 8 ,,,,,,,, ~[[[[[[[ +chr1 81 a 8 ,,,,,,,, ~[[[[[[[ +chr1 82 g 8 ,,,,,,,, ~[[[[[[[ +chr1 83 g 8 ,,,,,,,, ~[[[[[[[ +chr1 84 g 8 aaaaaaaa ~[[[[[[[ +chr1 85 c 8 ,,,,,,,, ~[[[[[[[ +chr1 86 a 8 ,,,,,,,, ~[[[[[[[ +chr1 87 t 8 ,,,,,,,, ~iiiiiii +chr1 88 c 8 ,,,,,,,, ~iiiiiii +chr1 89 a 8 ,,,,,,,, ~lllllll +chr1 90 g 8 ,,,,,,,, ~~~~~~~~ +chr1 91 c 8 ,,,,,,,, ~~~~~~~~ +chr1 92 a 8 ,,,,,,,, ~aaaaaaa +chr1 93 a 8 ,,,,,,,, ~_______ +chr1 94 g 8 ,,,,,,,, ~UUUUUUU +chr1 95 t 8 ,$,$,$,$,$,$,$,$ ~EEEEEEE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/example.vcf Thu Nov 05 09:57:03 2015 -0500 @@ -0,0 +1,25 @@ +##fileformat=VCFv4.1 +##source=VarScan2 +##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15"> +##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)"> +##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant"> +##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant"> +##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called"> +##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand"> +##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position"> +##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> +##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> +##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools"> +##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15"> +##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)"> +##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)"> +##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency"> +##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test"> +##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)"> +##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)"> +##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)"> +##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)"> +##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)"> +##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)"> +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1 +chr1 17 . TT T . PASS ADP=8;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:41:8:8:0:8:100%:7.77E-5:0:93:0:0:3:5
--- a/tool_dependencies.xml Wed Nov 19 10:04:52 2014 -0500 +++ b/tool_dependencies.xml Thu Nov 05 09:57:03 2015 -0500 @@ -1,55 +1,14 @@ <?xml version="1.0"?> <tool_dependency> - <!-- - <package name="ncurses" version="5.9"> - <repository name="package_ncurses_5_9" owner="iuc" prior_installation_required="True" /> - </package> - --> - - <package name="ncurses" version="5.9"> - <repository changeset_revision="632f1a03db92" name="package_samtools_0_1_19" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> - </package> - - <package name="samtools" version="0.1.19"> - <repository changeset_revision="632f1a03db92" name="package_samtools_0_1_19" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> - </package> - - <package name="samtools_parallel_mpileup_0_1_19a" version="0.1.19a"> - <install version="1.0"> - <actions> - <action type="set_environment_for_install"> - <repository changeset_revision="c0735727b530" name="package_ncurses_5_9" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu"> - <package name="ncurses" version="5.9" /> - </repository> - </action> - - <action type="shell_command"> - svn checkout https://github.com/yhoogstrate/parallel-mpileup/trunk samtools-parallel-mpileup ; - - cd samtools-parallel-mpileup ; - cd $(ls |grep samtools-) ; - - sed -i 's/-lcurses/-lncurses/' Makefile ; - sed -i -e "s|CFLAGS=\s*-g\s*-Wall\s*-O2\s*|CFLAGS= -g -Wall -O2 -I$NCURSES_INCLUDE_PATH/ncurses/ -I$NCURSES_INCLUDE_PATH -L$NCURSES_LIB_PATH|g" Makefile ; - - make ; - cp samtools ../samtools-parallel-mpileup</action> - <action type="move_file"> - <source>samtools-parallel-mpileup/samtools-parallel-mpileup</source> - <destination>$INSTALL_DIR/bin</destination> - </action> - <action type="set_environment"> - <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable> - <environment_variable action="prepend_to" name="PATH">$REPOSITORY_INSTALL_DIR</environment_variable> - </action> - </actions> - </install> - <readme> - Downloads and installs a modified version of samtools, able to paralellize the mpileup function. - </readme> - </package> - - <package name="varscan" version="2.3.6"> - <repository changeset_revision="f82940004c84" name="varscan_version_2" owner="devteam" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> - </package> + <package name="samtools" version="0.1.19"> + <repository changeset_revision="0e56e4dac6e7" name="package_samtools_0_1_19" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + + <package name="samtools_parallel_mpileup" version="0.1.19-a"> + <repository changeset_revision="8eea1a2bd1f2" name="package_samtools_parallel_mpileup_0_1_19_a" owner="yhoogstrate" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + + <package name="varscan" version="2.3.6"> + <repository changeset_revision="f82940004c84" name="varscan_version_2" owner="devteam" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> </tool_dependency>
--- a/varscan_mpileup2indel.xml Wed Nov 19 10:04:52 2014 -0500 +++ b/varscan_mpileup2indel.xml Thu Nov 05 09:57:03 2015 -0500 @@ -1,82 +1,86 @@ <?xml version="1.0" encoding="UTF-8"?> -<tool id="varscan_mpileup2indel" name="VarScan2 Call INDELs from a mpileup file"> - <description>VarScan2 INDEL detection; directly from a *.mpileup file.</description> - <requirements> - <requirement type="package" version="2.3.6">varscan</requirement> - </requirements> - <command> - cat $mpileup_input | java - -Xmx64G - -jar \$JAVA_JAR_PATH/VarScan.v2.3.6.jar - mpileup2indel - - #if $extended_parameters.parameters == "extended" - --min-coverage $extended_parameters.varscan_min_coverage - --min-reads2 $extended_parameters.varscan_min_reads2 - --min-avg-qual $extended_parameters.varscan_min_avg_qual - --min-var-freq $extended_parameters.varscan_min_var_freq - --min-freq-for-hom $extended_parameters.varscan_min_freq_for_hom - --p-value $extended_parameters.varscan_p_value - $extended_parameters.varscan_strand_filter - $extended_parameters.varscan_variants - #end if - - #if $varscan_output == "vcf" or $varscan_output.value == "vcf" - --output-vcf 1 - #end if - - 2> stderr.txt - > $snv_output ; - cat stderr.txt - </command> - - <inputs> - <param format="pileup" name="mpileup_input" type="data" label="Alignment file" help="Mapped reads in mpileup format."/><!-- datatype "mpileup" does not exist.. it seems to be common to use pileup instead? --> - - <conditional name="extended_parameters"> - <param name="parameters" type="select" label="VarScan parameters" help="For more advanced VarScan settings."> - <option value="default">Default settings</option> - <option value="extended">Extended settings</option> - </param> - <when value="default"> - </when> - <when value="extended"> - <param type="integer" name="varscan_min_coverage" value="8" label="VarScan: Minimum read depth at a position to make a call [8]" /> - <param type="integer" name="varscan_min_reads2" value="2" label="VarScan: PMinimum supporting reads at a position to call variants [2]" /> - <param type="integer" name="varscan_min_avg_qual" value="15" label="VarScan: Minimum base quality at a position to count a read [15]" /> - <param type="float" name="varscan_min_var_freq" value="0.01" label="VarScan: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" /> - <param type="float" name="varscan_min_freq_for_hom" value="0.75" label="VarScan: Minimum frequency to call homozygote [0.75]" /> - <param type="float" name="varscan_p_value" value="0.99" label="VarScan: Default p-value threshold for calling variants [99e-02]" /> - <param type="boolean" name="varscan_strand_filter" falsevalue=" --strand_filter 0" truevalue=" --strand_filter 1" checked="true" label="VarScan: Ignore variants with >90% support on one strand [1]" /> - <param type="boolean" name="varscan_variants" falsevalue=" --variants 0" truevalue=" --variants 1" checked="false" label="VarScan: Report only variant (SNP/indel) positions [0]" /> - </when> - </conditional> - - <param name="varscan_output" type="select" label="Output format"> - <option value="vcf">VCF</option> - <option value="tabular">tabular</option> - </param> - </inputs> - - <outputs> - <data format="tabular" name="snv_output" label="${tool.name} on ${mpileup_input.hid}: ${mpileup_input.name}"> - <change_format> - <when input="varscan_output" value="vcf" format="vcf" /> - </change_format> - </data> - </outputs> - - <tests> - <test> - <param name="mpileup_input" value="hg19_mutant.mpileup" dbkey="hg19" ftype="pileup" /> - <param name="parameters" value="default" /> - <param name="varscan_output_vcf" value="1" /> - - <output name="snv_output" file="hg19_mutant.vcf" /> - </test> - </tests> - - <help> +<tool id="varscan_mpileup2indel" name="VarScan2 Call INDELs from a mpileup file" version="2.3.6.a"> + <description>VarScan2 INDEL detection; directly from a *.mpileup file.</description> + + <requirements> + <requirement type="package" version="2.3.6">varscan</requirement> + </requirements> + + <version_command>java -jar $JAVA_JAR_PATH/VarScan.v2.3.6.jar 2>&1 | head -n 1</version_command> + + <command> + cat $mpileup_input | java + -Xmx64G + -jar \$JAVA_JAR_PATH/VarScan.v2.3.6.jar + mpileup2indel + + #if $extended_parameters.parameters == "extended" + --min-coverage $extended_parameters.varscan_min_coverage + --min-reads2 $extended_parameters.varscan_min_reads2 + --min-avg-qual $extended_parameters.varscan_min_avg_qual + --min-var-freq $extended_parameters.varscan_min_var_freq + --min-freq-for-hom $extended_parameters.varscan_min_freq_for_hom + --p-value $extended_parameters.varscan_p_value + $extended_parameters.varscan_strand_filter + $extended_parameters.varscan_variants + #end if + + #if $varscan_output == "vcf" or $varscan_output.value == "vcf" + --output-vcf 1 + #end if + + 2> stderr.txt + > $snv_output ; + cat stderr.txt + </command> + + <inputs> + <param format="pileup" name="mpileup_input" type="data" label="Alignment file" help="Mapped reads in mpileup format."/><!-- datatype "mpileup" does not exist.. it seems to be common to use pileup instead? --> + + <conditional name="extended_parameters"> + <param name="parameters" type="select" label="VarScan parameters" help="For more advanced VarScan settings."> + <option value="default">Default settings</option> + <option value="extended">Extended settings</option> + </param> + <when value="default"> + </when> + <when value="extended"> + <param type="integer" name="varscan_min_coverage" value="8" label="VarScan: Minimum read depth at a position to make a call [8]" /> + <param type="integer" name="varscan_min_reads2" value="2" label="VarScan: PMinimum supporting reads at a position to call variants [2]" /> + <param type="integer" name="varscan_min_avg_qual" value="15" label="VarScan: Minimum base quality at a position to count a read [15]" /> + <param type="float" name="varscan_min_var_freq" value="0.01" label="VarScan: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" /> + <param type="float" name="varscan_min_freq_for_hom" value="0.75" label="VarScan: Minimum frequency to call homozygote [0.75]" /> + <param type="float" name="varscan_p_value" value="0.99" label="VarScan: Default p-value threshold for calling variants [99e-02]" /> + <param type="boolean" name="varscan_strand_filter" falsevalue=" --strand_filter 0" truevalue=" --strand_filter 1" checked="true" label="VarScan: Ignore variants with >90% support on one strand [1]" /> + <param type="boolean" name="varscan_variants" falsevalue=" --variants 0" truevalue=" --variants 1" checked="false" label="VarScan: Report only variant (SNP/indel) positions [0]" /> + </when> + </conditional> + + <param name="varscan_output" type="select" label="Output format"> + <option value="vcf">VCF</option> + <option value="tabular">tabular</option> + </param> + </inputs> + + <outputs> + <data format="tabular" name="snv_output" label="${tool.name} on ${mpileup_input.hid}: ${mpileup_input.name}"> + <change_format> + <when input="varscan_output" value="vcf" format="vcf" /> + </change_format> + </data> + </outputs> + + <tests> + <test> + <param name="mpileup_input" value="example.mpileup" ftype="pileup" /> + <param name="parameters" value="default" /> + <param name="varscan_output_vcf" value="1" /> + + <output name="snv_output" file="example.vcf" /> + </test> + </tests> + + <help> **VarScan 2.3.6** VarScan is a platform-independent mutation caller for targeted, exome, and whole-genome resequencing data generated on Illumina, SOLiD, Life/PGM, Roche/454, and similar instruments. The newest version, VarScan 2, is written in Java, so it runs on most operating systems. @@ -105,13 +109,23 @@ * VarScan2.3.6: Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0) * parallel-mpileup: MIT License (https://github.com/mydatascience/parallel-mpileup/blob/master/samtools-0.1.19/COPYING) +Contact +------- -**Contact** +The tool wrapper has been written by Youri Hoogstrate from the Erasmus +Medical Center (Rotterdam, Netherlands) on behalf of the Translational +Research IT (TraIT) project: -The tool wrapper has been written by Youri Hoogstrate from the Erasmus Medical Center (Rotterdam, Netherlands) on behalf of the Translational Research IT (TraIT) project: http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch -More tools by the Translational Research IT (TraIT) project can be found in the following repository: -http://toolshed.dtls.nl/ +More tools by the Translational Research IT (TraIT) project can be found +in the following toolsheds: + +http://toolshed.g2.bx.psu.edu/ + +http://testtoolshed.g2.bx.psu.edu/ </help> + <citations> + <citation type="doi">10.1101/gr.129684.111</citation> + </citations> </tool> \ No newline at end of file
--- a/varscan_mpileup2indel_from_bam.xml Wed Nov 19 10:04:52 2014 -0500 +++ b/varscan_mpileup2indel_from_bam.xml Thu Nov 05 09:57:03 2015 -0500 @@ -1,280 +1,288 @@ <?xml version="1.0" encoding="UTF-8"?> -<tool id="varscan_mpileup2indel_from_bam" name="VarScan2 Call INDELs from BAM"> - <description>VarScan2 INDEL detection; directly reading *.bam file(s) & using parallel mpileup generation, to avoid unnecessairy I/O overhead and increase performance.</description> - <requirements> - <requirement type="package" version="5.9">ncurses</requirement> - <requirement type="package" version="0.1.19a">samtools_parallel_mpileup_0_1_19a</requirement> - <requirement type="package" version="2.3.6">varscan</requirement> - <requirement type="package" version="5.9">ncurses</requirement> - <requirement type="package" version="0.1.19">samtools</requirement> - </requirements> - <command> - #if $reference_genome_source.source_select == "attribute" and len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) != 1 - echo "Invalid number of dbkeys are found: ${ len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) }, while only one should be used. Make sure that the alignments are done on the same reference genome and that 'tool-data/all_fasta.loc' is configured properly!" >&2 - #else - #import os.path - #for $alignment in $alignments - <!-- @todo use the existence of $alignment.metadata.bam_index or $alignment.metadata['bam_index'] --> - #if not os.path.isfile(str($alignment)+".bai") - echo "- Indexing alignment file: $alignment.name " ; - samtools index $alignment 2>&1 ; - #else - echo "- Skiping indexing: $alignment.name " ; - #end if - #end for - - #if $mpileup_parallelization.mpileup_parallelization_select == "true" - samtools-parallel-mpileup mpileup - -t $mpileup_parallelization.samtools_threads - #else - samtools mpileup - #end if - -f - #if $reference_genome_source.source_select == "indexed_filtered" - "$reference_genome_source.reference_genome" - #else if $reference_genome_source.source_select == "indexed_all" - "$reference_genome_source.reference_genome" - #else if $reference_genome_source.source_select == "history" - "$reference_genome_source.reference_genome" - #else - <!-- - This is a workaround to obtain the "genome.fa" file that - corresponds to the dbkey of the alignments. - Because this file is "calculated" during run-time, it can - be used in a workflow. - --> - "${ filter( lambda x: str( x[0] ) == str( { alignment.metadata.dbkey:True for alignment in $alignments }.keys()[0] ), $__app__.tool_data_tables[ 'all_fasta' ].get_fields() )[0][-1] }" - #end if - - #if $extended_parameters_regions.samtools_regions == "region" - -r $extended_parameters_regions.samtools_r - #elif $extended_parameters_regions.samtools_regions == "regions_file_pos" or $extended_parameters_regions.samtools_regions == "regions_file_bed" - -l $extended_parameters_regions.samtools_l - #end if - - #if $extended_parameters.parameters == "extended" - $extended_parameters.samtools_6 - $extended_parameters.samtools_A - $extended_parameters.samtools_B - -C $extended_parameters.samtools_C - -d $extended_parameters.samtools_d - $extended_parameters.samtools_E - -M $extended_parameters.samtools_M - $extended_parameters.samtools_R - -q $extended_parameters.samtools_q - -Q $extended_parameters.samtools_Q - - -e $extended_parameters.samtools_e - -F $extended_parameters.samtools_F - -h $extended_parameters.samtools_h - $extended_parameters.samtools_I - -L $extended_parameters.samtools_L - -m $extended_parameters.samtools_m - -o $extended_parameters.samtools_o - $extended_parameters.samtools_p - -P $extended_parameters.samtools_P - #end if - - #for $alignment in $alignments - ${alignment} - #end for - 2>stderr_1.txt - - #if $mpileup_parallelization.mpileup_parallelization_select == "true" - #if $mpileup_parallelization.sort_mpileup - | sort -k 1,1 -k 2,2 - #end if - #end if - - | java - -Xmx64G - -jar \$JAVA_JAR_PATH/VarScan.v2.3.6.jar - mpileup2indel - - #if $extended_parameters.parameters == "extended" - --min-coverage $extended_parameters.varscan_min_coverage - --min-reads2 $extended_parameters.varscan_min_reads2 - --min-avg-qual $extended_parameters.varscan_min_avg_qual - --min-var-freq $extended_parameters.varscan_min_var_freq - --min-freq-for-hom $extended_parameters.varscan_min_freq_for_hom - --p-value $extended_parameters.varscan_p_value - $extended_parameters.varscan_strand_filter - $extended_parameters.varscan_variants - #end if - - #if $varscan_output == "vcf" or $varscan_output.value == "vcf" - --output-vcf 1 - #end if - - 2>stderr_2.txt - > $snv_output ; - - - echo "---------------[ mpileup generation ]---------------" ; - cat stderr_1.txt ; - echo "" ; - echo "---------------[ VarScan INDEL detect ]---------------" ; - cat stderr_2.txt ; - echo "" ; - echo "----------------------------------------------------" ; - #end if - </command> - - <inputs> - <param format="bam,sam" multiple="true" name="alignments" type="data" label="Alignment file(s)" help="Mapped reads in BAM or SAM format."/> - - <!-- Find out how to access the reference genome from the BAM file(s) --> - <conditional name="reference_genome_source"> - <param name="source_select" type="select" label="Fasta Source"> - <option value="indexed_filtered">Use a built-in index (which fits your reference)</option> - <option value="history">Use reference from the history</option> - <option value="indexed_all">Use a built-in index (entire list) - avoid this option if possible; only useful if you design a workflow</option> - <option value="attribute">Use a built-in index based on the 'metadata.dbkey' attribute; ideal in workflows</option> - </param> - <when value="history"> - <param name="reference_genome" format="fasta" type="data" label="Reference Genome used during alignment (FASTA)" help="Reference genome (genome.fa) that corresponds to the *.bam file." /> - </when> - <when value="indexed_filtered"> - <param name="reference_genome" type="select" label="Reference Genome used during alignment (FASTA)" > - <options from_data_table="all_fasta"> - <column name="name" index="2"/> - <column name="dbkey" index="1"/> - <column name="value" index="3"/><!-- Value is the path of the fasta file --> - <filter type="data_meta" ref="alignments" multiple="false" key="dbkey" column="1" /> - <validator type="no_options" message="No indexes are available for the selected input dataset" /> - </options> - </param> - </when> - <when value="indexed_all"> - <param name="reference_genome" type="select" label="Reference Genome used during alignment (FASTA)" > - <options from_data_table="all_fasta"> - <column name="name" index="2"/> - <column name="dbkey" index="1"/> - <column name="value" index="3"/><!-- Value is the path of the fasta file --> - <validator type="no_options" message="No indexes are available for the selected input dataset" /> - </options> - </param> - </when> - <when value="attribute" /> - </conditional> - - <conditional name="extended_parameters_regions"> - <param name="samtools_regions" type="select" label="Region specific parameters" help="Let samtools target specific genomic locations."> - <option value="entire_genome">Entire genome</option> - <option value="region">Specific region</option> - <option value="regions_file_pos">Specific positions (file); list of positions</option> - <option value="regions_file_bed">Specific regions (file); list of regions in BED</option> - </param> - <when value="entire_genome" /> - <when value="region"> - <param type="text" name="samtools_r" label="Samtools: region in which pileup is generated" help="e.g. chrX or chr:pos or chr:start-end" /> - </when> - <when value="regions_file_pos"> - <param type="data" name="samtools_l" format="tabular" label="Samtools: list of positions (chr pos)" /> - </when> - <when value="regions_file_bed"> - <param type="data" name="samtools_l" format="bed" label="Samtools: specific regions (BED)" /> - </when> - </conditional> - - <conditional name="mpileup_parallelization"> - <param name="mpileup_parallelization_select" type="select" label="Use parallelization for the mpileup generation (experimental)" help="Especially if larger numbers of bam/sam files are processed, or the file infrastructure is optimized for IO-paralellization, this feature might improve performance."> - <option value="false" >False - uses classical samtools</option> - <option value="true">True - uses (experimental) samtools mpileup-parallel</option> - </param> - <when value="false" /> - <when value="true"> - <param type="integer" name="samtools_threads" value="2" min="1" label="Samtools: mpileup threads" /> - <param type="boolean" name="sort_mpileup" truevalue="true" falsevalue="false" label="Sort mpileup file (SLOW)" help="Because parallelization may disrupt the outputs order, sorting can be conveniet for e.g. testing. Notice that this function has only use in a limited number of situations but consumes (much) resources. Only use it if it's really neccesairy." /> - </when> - </conditional> - - <conditional name="extended_parameters"> - <param name="parameters" type="select" label="Advanced parameters" help="For more advanced VarScan and samtools settings."> - <option value="default">Default settings</option> - <option value="extended">Extended settings</option> - </param> - <when value="default" /> - <when value="extended"> - <param type="boolean" name="samtools_6" falsevalue="" truevalue=" -6" label="Samtools: assume the quality is in the Illumina-1.3+ encoding" /> - <param type="boolean" name="samtools_A" falsevalue="" truevalue=" -A" label="Samtools: count anomalous read pairs" /> - <param type="boolean" name="samtools_B" falsevalue="" truevalue=" -B" label="Samtools: disable BAQ computation" /> - <param type="integer" name="samtools_C" value="0" label="Samtools: parameter for adjusting mapQ; 0 to disable [0]" /> - <param type="integer" name="samtools_d" value="250" label="Samtools: max per-BAM depth to avoid excessive memory usage [250]" /> - <param type="boolean" name="samtools_E" falsevalue="" truevalue=" -E" label="Samtools: recalculate extended BAQ on the fly thus ignoring existing BQs" /> - <param type="integer" name="samtools_M" value="60" label="cap mapping quality at INT [60]" /> - <param type="boolean" name="samtools_R" falsevalue="" truevalue=" -R" label="Samtools: ignore RG tags" /> - <param type="integer" name="samtools_q" value="0" label="Samtools: skip alignments with mapQ smaller than INT [0]" /> - <param type="integer" name="samtools_Q" value="13" label="Samtools: skip bases with baseQ/BAQ smaller than INT [13]" /> - - <param type="integer" name="samtools_e" value="20" label="Samtools: Phred-scaled gap extension seq error probability [20]" /> - <param type="float" name="samtools_F" value="0.002" label="Samtools: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" /> - <param type="integer" name="samtools_h" value="100" label="Samtools: coefficient for homopolymer errors [100]" /> - <param type="boolean" name="samtools_I" falsevalue="" truevalue=" -I" label="Samtools: do not perform indel calling" /> - <param type="integer" name="samtools_L" value="250" label="Samtools: max per-sample depth for INDEL calling [250]" /> - <param type="integer" name="samtools_m" value="1" label="Samtools: minimum gapped reads for indel candidates [1]" help="Alias: -m" /> - <param type="integer" name="samtools_o" value="40" label="Samtools: Phred-scaled gap open sequencing error probability [40]" /> - <param type="boolean" name="samtools_p" falsevalue="" truevalue=" -p" label="Samtools: apply -m and -F per-sample to increase sensitivity" /> - <param type="text" name="samtools_P" value="all" label="Samtools: comma separated list of platforms for indels [all]" /> - - <param type="integer" name="varscan_min_coverage" value="8" label="VarScan: Minimum read depth at a position to make a call [8]" /> - <param type="integer" name="varscan_min_reads2" value="2" label="VarScan: PMinimum supporting reads at a position to call variants [2]" /> - <param type="integer" name="varscan_min_avg_qual" value="15" label="VarScan: Minimum base quality at a position to count a read [15]" /> - <param type="float" name="varscan_min_var_freq" value="0.01" label="VarScan: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" /> - <param type="float" name="varscan_min_freq_for_hom" value="0.75" label="VarScan: Minimum frequency to call homozygote [0.75]" /> - <param type="float" name="varscan_p_value" value="0.99" label="VarScan: Default p-value threshold for calling variants [99e-02]" /> - <param type="boolean" name="varscan_strand_filter" falsevalue=" --strand_filter 0" truevalue=" --strand_filter 1" checked="true" label="VarScan: Ignore variants with >90% support on one strand [1]" /> - <param type="boolean" name="varscan_variants" falsevalue=" --variants 0" truevalue=" --variants 1" checked="false" label="VarScan: Report only variant (SNP/indel) positions [0]" /> - </when> - </conditional> - - <param name="varscan_output" type="select" label="Output format"> - <option value="vcf">VCF</option> - <option value="tabular">tabular</option> - </param> - </inputs> - - <outputs> - <data format="tabular" name="snv_output" label="${tool.name} on ${', '.join([ str(a.hid)+': '+a.name for a in $alignments ])}"> - <change_format> - <when input="varscan_output" value="vcf" format="vcf" /> - </change_format> - </data> - </outputs> - - <tests> - <test><!-- Use classical samtools --> - <param name="alignments" value="hg19_mutant.bam.txt" dbkey="hg19" ftype="bam" /> - <param name="source_select" value="attribute" /> - <param name="samtools_regions" value="entire_genome" /> - - <param name="mpileup_parallelization_select" value="false" /> - <param name="sort_mpileup" value="true" /> - - <param name="parameters" value="default" /> - <param name="varscan_output_vcf" value="1" /> - - - <output name="snv_output" file="hg19_mutant.vcf" /> - </test> - <test><!-- Use parallelized samtools --> - <param name="alignments" value="hg19_mutant.bam.txt" dbkey="hg19" ftype="bam" /> - <param name="source_select" value="attribute" /> - <param name="samtools_regions" value="entire_genome" /> - - <param name="mpileup_parallelization_select" value="true" /> - <param name="samtools_threads" value="2" /> - <param name="sort_mpileup" value="true" /> - - <param name="parameters" value="default" /> - <param name="varscan_output_vcf" value="1" /> - - - <output name="snv_output" file="hg19_mutant.vcf" /> - </test> - </tests> - - <help> +<tool id="varscan_mpileup2indel_from_bam" name="VarScan2 Call INDELs from BAM" version="2.3.6.a"> + <description>VarScan2 INDEL detection; directly reading *.bam file(s) & using parallel mpileup generation, to avoid unnecessairy I/O overhead and increase performance.</description> + + <requirements> + <requirement type="package" version="0.1.19a">samtools_parallel_mpileup_0_1_19a</requirement> + <requirement type="package" version="0.1.19">samtools</requirement> + <requirement type="package" version="2.3.6">varscan</requirement> + </requirements> + + <version_command>java -jar $JAVA_JAR_PATH/VarScan.v2.3.6.jar 2>&1 | head -n 1</version_command> + + <command> + #if $reference_genome_source.source_select == "attribute" and len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) != 1 + echo "Invalid number of dbkeys are found: ${ len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) }, while only one should be used. Make sure that the alignments are done on the same reference genome and that 'tool-data/all_fasta.loc' is configured properly!" >&2 + #else + #import os.path + #for $alignment in $alignments + <!-- @todo use the existence of $alignment.metadata.bam_index or $alignment.metadata['bam_index'] --> + #if not os.path.isfile(str($alignment)+".bai") + echo "- Indexing alignment file: $alignment.name " ; + samtools index $alignment 2>&1 ; + #else + echo "- Skiping indexing: $alignment.name " ; + #end if + #end for + + #if $mpileup_parallelization.mpileup_parallelization_select == "true" + samtools-parallel-mpileup mpileup + -t $mpileup_parallelization.samtools_threads + #else + samtools mpileup + #end if + -f + #if $reference_genome_source.source_select == "indexed_filtered" + "$reference_genome_source.reference_genome" + #else if $reference_genome_source.source_select == "indexed_all" + "$reference_genome_source.reference_genome" + #else if $reference_genome_source.source_select == "history" + "$reference_genome_source.reference_genome" + #else + <!-- + This is a workaround to obtain the "genome.fa" file that + corresponds to the dbkey of the alignments. + Because this file is "calculated" during run-time, it can + be used in a workflow. + --> + "${ filter( lambda x: str( x[0] ) == str( { alignment.metadata.dbkey:True for alignment in $alignments }.keys()[0] ), $__app__.tool_data_tables[ 'all_fasta' ].get_fields() )[0][-1] }" + #end if + + #if $extended_parameters_regions.samtools_regions == "region" + -r $extended_parameters_regions.samtools_r + #elif $extended_parameters_regions.samtools_regions == "regions_file_pos" or $extended_parameters_regions.samtools_regions == "regions_file_bed" + -l $extended_parameters_regions.samtools_l + #end if + + #if $extended_parameters.parameters == "extended" + $extended_parameters.samtools_6 + $extended_parameters.samtools_A + $extended_parameters.samtools_B + -C $extended_parameters.samtools_C + -d $extended_parameters.samtools_d + $extended_parameters.samtools_E + -M $extended_parameters.samtools_M + $extended_parameters.samtools_R + -q $extended_parameters.samtools_q + -Q $extended_parameters.samtools_Q + + -e $extended_parameters.samtools_e + -F $extended_parameters.samtools_F + -h $extended_parameters.samtools_h + $extended_parameters.samtools_I + -L $extended_parameters.samtools_L + -m $extended_parameters.samtools_m + -o $extended_parameters.samtools_o + $extended_parameters.samtools_p + -P $extended_parameters.samtools_P + #end if + + #for $alignment in $alignments + ${alignment} + #end for + 2>stderr_1.txt + + #if $mpileup_parallelization.mpileup_parallelization_select == "true" + #if $mpileup_parallelization.sort_mpileup + | sort -k1,1V -k2,2g + #end if + #end if + + | java + -Xmx64G + -jar \$JAVA_JAR_PATH/VarScan.v2.3.6.jar + mpileup2indel + + #if $extended_parameters.parameters == "extended" + --min-coverage $extended_parameters.varscan_min_coverage + --min-reads2 $extended_parameters.varscan_min_reads2 + --min-avg-qual $extended_parameters.varscan_min_avg_qual + --min-var-freq $extended_parameters.varscan_min_var_freq + --min-freq-for-hom $extended_parameters.varscan_min_freq_for_hom + --p-value $extended_parameters.varscan_p_value + $extended_parameters.varscan_strand_filter + $extended_parameters.varscan_variants + #end if + + #if $varscan_output == "vcf" or $varscan_output.value == "vcf" + --output-vcf 1 + #end if + + 2>stderr_2.txt + > $snv_output ; + + + echo "---------------[ mpileup generation ]---------------" ; + cat stderr_1.txt ; + echo "" ; + echo "---------------[ VarScan INDEL detect ]-------------" ; + cat stderr_2.txt ; + echo "" ; + echo "----------------------------------------------------" ; + #end if + </command> + + <inputs> + <param format="bam,sam" multiple="true" name="alignments" type="data" label="Alignment file(s)" help="Mapped reads in BAM or SAM format."/> + + <!-- Find out how to access the reference genome from the BAM file(s) --> + <conditional name="reference_genome_source"> + <param name="source_select" type="select" label="Fasta Source"> + <option value="indexed_filtered">Use a built-in index (which fits your reference)</option> + <option value="history">Use reference from the history</option> + <option value="indexed_all">Use a built-in index (entire list) - avoid this option if possible; only useful if you design a workflow</option> + <option value="attribute">Use a built-in index based on the 'metadata.dbkey' attribute; ideal in workflows</option> + </param> + <when value="history"> + <param name="reference_genome" format="fasta" type="data" label="Reference Genome used during alignment (FASTA)" help="Reference genome (genome.fa) that corresponds to the *.bam file." /> + </when> + <when value="indexed_filtered"> + <param name="reference_genome" type="select" label="Reference Genome used during alignment (FASTA)" > + <options from_data_table="all_fasta"> + <column name="name" index="2"/> + <column name="dbkey" index="1"/> + <column name="value" index="3"/><!-- Value is the path of the fasta file --> + <filter type="data_meta" ref="alignments" multiple="false" key="dbkey" column="1" /> + <validator type="no_options" message="No indexes are available for the selected input dataset" /> + </options> + </param> + </when> + <when value="indexed_all"> + <param name="reference_genome" type="select" label="Reference Genome used during alignment (FASTA)" > + <options from_data_table="all_fasta"> + <column name="name" index="2"/> + <column name="dbkey" index="1"/> + <column name="value" index="3"/><!-- Value is the path of the fasta file --> + <validator type="no_options" message="No indexes are available for the selected input dataset" /> + </options> + </param> + </when> + <when value="attribute" /> + </conditional> + + <conditional name="extended_parameters_regions"> + <param name="samtools_regions" type="select" label="Region specific parameters" help="Let samtools target specific genomic locations."> + <option value="entire_genome">Entire genome</option> + <option value="region">Specific region</option> + <option value="regions_file_pos">Specific positions (file); list of positions</option> + <option value="regions_file_bed">Specific regions (file); list of regions in BED</option> + </param> + <when value="entire_genome" /> + <when value="region"> + <param type="text" name="samtools_r" label="Samtools: region in which pileup is generated" help="e.g. chrX or chr:pos or chr:start-end" /> + </when> + <when value="regions_file_pos"> + <param type="data" name="samtools_l" format="tabular" label="Samtools: list of positions (chr pos)" /> + </when> + <when value="regions_file_bed"> + <param type="data" name="samtools_l" format="bed" label="Samtools: specific regions (BED)" /> + </when> + </conditional> + + <conditional name="mpileup_parallelization"> + <param name="mpileup_parallelization_select" type="select" label="Use parallelization for the mpileup generation (experimental)" help="Especially if larger numbers of bam/sam files are processed, or the file infrastructure is optimized for IO-paralellization, this feature might improve performance."> + <option value="false" >False - uses classical samtools</option> + <option value="true">True - uses (experimental) samtools mpileup-parallel</option> + </param> + <when value="false" /> + <when value="true"> + <param type="integer" name="samtools_threads" value="2" min="1" label="Samtools: mpileup threads" /> + <param type="boolean" name="sort_mpileup" truevalue="true" falsevalue="false" label="Sort mpileup file (SLOW)" help="Because parallelization may disrupt the outputs order, sorting can be conveniet for e.g. testing. Notice that this function has only use in a limited number of situations but consumes (much) resources. Only use it if it's really neccesairy." /> + </when> + </conditional> + + <conditional name="extended_parameters"> + <param name="parameters" type="select" label="Advanced parameters" help="For more advanced VarScan and samtools settings."> + <option value="default">Default settings</option> + <option value="extended">Extended settings</option> + </param> + <when value="default" /> + <when value="extended"> + <param type="boolean" name="samtools_6" falsevalue="" truevalue=" -6" label="Samtools: assume the quality is in the Illumina-1.3+ encoding" /> + <param type="boolean" name="samtools_A" falsevalue="" truevalue=" -A" label="Samtools: count anomalous read pairs" /> + <param type="boolean" name="samtools_B" falsevalue="" truevalue=" -B" label="Samtools: disable BAQ computation" /> + <param type="integer" name="samtools_C" value="0" label="Samtools: parameter for adjusting mapQ; 0 to disable [0]" /> + <param type="integer" name="samtools_d" value="250" label="Samtools: max per-BAM depth to avoid excessive memory usage [250]" /> + <param type="boolean" name="samtools_E" falsevalue="" truevalue=" -E" label="Samtools: recalculate extended BAQ on the fly thus ignoring existing BQs" /> + <param type="integer" name="samtools_M" value="60" label="cap mapping quality at INT [60]" /> + <param type="boolean" name="samtools_R" falsevalue="" truevalue=" -R" label="Samtools: ignore RG tags" /> + <param type="integer" name="samtools_q" value="0" label="Samtools: skip alignments with mapQ smaller than INT [0]" /> + <param type="integer" name="samtools_Q" value="13" label="Samtools: skip bases with baseQ/BAQ smaller than INT [13]" /> + + <param type="integer" name="samtools_e" value="20" label="Samtools: Phred-scaled gap extension seq error probability [20]" /> + <param type="float" name="samtools_F" value="0.002" label="Samtools: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" /> + <param type="integer" name="samtools_h" value="100" label="Samtools: coefficient for homopolymer errors [100]" /> + <param type="boolean" name="samtools_I" falsevalue="" truevalue=" -I" label="Samtools: do not perform indel calling" /> + <param type="integer" name="samtools_L" value="250" label="Samtools: max per-sample depth for INDEL calling [250]" /> + <param type="integer" name="samtools_m" value="1" label="Samtools: minimum gapped reads for indel candidates [1]" help="Alias: -m" /> + <param type="integer" name="samtools_o" value="40" label="Samtools: Phred-scaled gap open sequencing error probability [40]" /> + <param type="boolean" name="samtools_p" falsevalue="" truevalue=" -p" label="Samtools: apply -m and -F per-sample to increase sensitivity" /> + <param type="text" name="samtools_P" value="all" label="Samtools: comma separated list of platforms for indels [all]" /> + + <param type="integer" name="varscan_min_coverage" value="8" label="VarScan: Minimum read depth at a position to make a call [8]" /> + <param type="integer" name="varscan_min_reads2" value="2" label="VarScan: PMinimum supporting reads at a position to call variants [2]" /> + <param type="integer" name="varscan_min_avg_qual" value="15" label="VarScan: Minimum base quality at a position to count a read [15]" /> + <param type="float" name="varscan_min_var_freq" value="0.01" label="VarScan: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" /> + <param type="float" name="varscan_min_freq_for_hom" value="0.75" label="VarScan: Minimum frequency to call homozygote [0.75]" /> + <param type="float" name="varscan_p_value" value="0.99" label="VarScan: Default p-value threshold for calling variants [99e-02]" /> + <param type="boolean" name="varscan_strand_filter" falsevalue=" --strand_filter 0" truevalue=" --strand_filter 1" checked="true" label="VarScan: Ignore variants with >90% support on one strand [1]" /> + <param type="boolean" name="varscan_variants" falsevalue=" --variants 0" truevalue=" --variants 1" checked="false" label="VarScan: Report only variant (SNP/indel) positions [0]" /> + </when> + </conditional> + + <param name="varscan_output" type="select" label="Output format"> + <option value="vcf">VCF</option> + <option value="tabular">tabular</option> + </param> + </inputs> + + <outputs> + <data format="tabular" name="snv_output" label="${tool.name} on ${', '.join([ str(a.hid)+': '+a.name for a in $alignments ])}"> + <change_format> + <when input="varscan_output" value="vcf" format="vcf" /> + </change_format> + </data> + </outputs> + + <tests> + <test><!-- Use classical samtools --> + <param name="alignments" value="example.bam" ftype="bam" /> + + <param name="source_select" value="history" /> + <param name="reference_genome" value="example.fa" ftype="fasta" /> + + <param name="samtools_regions" value="entire_genome" /> + + <param name="mpileup_parallelization_select" value="false" /> + <param name="sort_mpileup" value="true" /> + + <param name="parameters" value="default" /> + <param name="varscan_output_vcf" value="1" /> + + + <output name="snv_output" file="example.vcf" /> + </test> + <test><!-- Use parallelized samtools --> + <param name="alignments" value="example.bam" ftype="bam" /> + + <param name="source_select" value="history" /> + <param name="reference_genome" value="example.fa" ftype="fasta" /> + + <param name="samtools_regions" value="entire_genome" /> + + <param name="mpileup_parallelization_select" value="true" /> + <param name="samtools_threads" value="2" /> + <param name="sort_mpileup" value="true" /> + + <param name="parameters" value="default" /> + <param name="varscan_output_vcf" value="1" /> + + + <output name="snv_output" file="example.vcf" /> + </test> + </tests> + + <help> **VarScan 2.3.6** VarScan is a platform-independent mutation caller for targeted, exome, and whole-genome resequencing data generated on Illumina, SOLiD, Life/PGM, Roche/454, and similar instruments. The newest version, VarScan 2, is written in Java, so it runs on most operating systems. @@ -304,12 +312,23 @@ * parallel-mpileup: MIT License (https://github.com/mydatascience/parallel-mpileup/blob/master/samtools-0.1.19/COPYING) -**Contact** +Contact +------- -The tool wrapper has been written by Youri Hoogstrate from the Erasmus Medical Center (Rotterdam, Netherlands) on behalf of the Translational Research IT (TraIT) project: +The tool wrapper has been written by Youri Hoogstrate from the Erasmus +Medical Center (Rotterdam, Netherlands) on behalf of the Translational +Research IT (TraIT) project: + http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch -More tools by the Translational Research IT (TraIT) project can be found in the following repository: -http://toolshed.dtls.nl/ -</help> +More tools by the Translational Research IT (TraIT) project can be found +in the following toolsheds: + +http://toolshed.g2.bx.psu.edu/ + +http://testtoolshed.g2.bx.psu.edu/ + </help> + <citations> + <citation type="doi">10.1101/gr.129684.111</citation> + </citations> </tool> \ No newline at end of file