Mercurial > repos > yhoogstrate > varscan_mpileup2indel_from_bam
diff varscan_mpileup2indel_from_bam.xml @ 1:2c56a59a112f draft default tip
planemo upload for repository https://github.com/ErasmusMC-Bioinformatics/galaxytools-emc/tree/master/tools/galaxy-tool-shed-tools commit bd543e68c1af82bcd6a04f0ae3d1180e8887e122
author | erasmus-medical-center |
---|---|
date | Wed, 15 Feb 2017 16:15:21 -0500 |
parents | 10e2ea79ec55 |
children |
line wrap: on
line diff
--- a/varscan_mpileup2indel_from_bam.xml Thu Nov 05 10:00:19 2015 -0500 +++ b/varscan_mpileup2indel_from_bam.xml Wed Feb 15 16:15:21 2017 -0500 @@ -1,126 +1,97 @@ <?xml version="1.0" encoding="UTF-8"?> -<tool id="varscan_mpileup2indel_from_bam" name="VarScan2 Call INDELs from BAM" version="2.3.6.a"> +<tool id="varscan_mpileup2indel_from_bam" name="VarScan2 Call INDELs from BAM" version="2.4.2.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> + <requirement type="package" version="2.4.2">varscan</requirement> + <requirement type="package" version="0.6.5">sambamba</requirement> </requirements> - <version_command>java -jar $JAVA_JAR_PATH/VarScan.v2.3.6.jar 2>&1 | head -n 1</version_command> + <version_command>varscan 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 + <command detect_errors="exit_code"><![CDATA[ + #for $alignment in $alignments + ln -f -s '${alignment.metadata.bam_index}' '${alignment}.bai' && + #end for + + sambamba mpileup + -t \${GALAXY_SLOTS:-4} + #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 + '${alignment}' #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 + --samtools + -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.sambamba_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 - #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 "----------------------------------------------------" ; + -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 - </command> + + #for $alignment in $alignments + '${alignment}' + #end for + + | varscan 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 + + > '${snv_output}' + + ]]></command> <inputs> <param format="bam,sam" multiple="true" name="alignments" type="data" label="Alignment file(s)" help="Mapped reads in BAM or SAM format."/> @@ -179,18 +150,6 @@ </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> @@ -260,30 +219,12 @@ <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" /> + <output name="snv_output" file="example.2.vcf" /> </test> </tests> <help> -**VarScan 2.3.6** +**VarScan 2.4.2** 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. http://dx.doi.org/10.1101/gr.129684.111 @@ -302,33 +243,18 @@ VarScan2 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** - -Make sure your reference genomes are properly annotated in "tool-data/all_fasta.loc", and linked to the names of the reference used for alignment. - **License** -* 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) +* VarScan 2.4.2: Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0) 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 toolsheds: - -http://toolshed.g2.bx.psu.edu/ - -http://testtoolshed.g2.bx.psu.edu/ +Medical Center (Rotterdam, Netherlands). </help> <citations> <citation type="doi">10.1101/gr.129684.111</citation> </citations> -</tool> \ No newline at end of file +</tool>