view tools/naive_variant_detector.xml @ 4:1c23da12b768

Remove test-data/ path from defined Tool tests.
author Daniel Blankenberg <dan@bx.psu.edu>
date Wed, 15 May 2013 09:37:01 -0400
parents 55b4460cd0ce
children 4a67169be0ee
line wrap: on
line source

<tool id="naive_variant_detector" name="Naive Variant Detector" version="0.0.1">
  <description>on BAM files</description>
  <requirements>
    <requirement type="package" version="1.7.1">numpy</requirement>
    <requirement type="package" version="0.0.1">pyBamParser</requirement>
    <requirement type="package" version="0.0.1">pyBamTools</requirement>
  </requirements>
  <stdio>
    <exit_code range="1:" err_level="fatal" />
    <exit_code range=":-1" err_level="fatal" />
  </stdio>
  <command interpreter="python">naive_variant_detector.py
      -o "${output_vcf}"
     
     #for $input_bam in $reference_source.input_bams:
         -b "${input_bam.input_bam}"
         -i "${input_bam.input_bam.metadata.bam_index}"
     #end for
     
     #if $reference_source.reference_source_selector != "history":
         -r "${reference_source.ref_file.fields.path}"
     #elif $reference_source.ref_file:
         -r "${reference_source.ref_file}"
     #end if
     
     #for $region in $regions:
         --region "${region.chromosome}:${region.start}-${region.end}"
     #end for
     
     ${variants_only}
     
     ${use_strand}
     
     --ploidy "${$ploidy}"
     
     --min_support_depth "${min_support_depth}"
     
     #if str($min_base_quality):
         --min_base_quality "${min_base_quality}"
     #end if
     
     #if str($min_mapping_quality):
         --min_mapping_quality "${min_mapping_quality}"
     #end if
     
     --coverage_dtype "${coverage_dtype}"
     
  </command>
  <inputs>
    <conditional name="reference_source">
      <param name="reference_source_selector" type="select" label="Choose the source for the reference list">
        <option value="cached">Locally cached</option>
        <option value="history">History</option>
      </param>
      <when value="cached">
        <repeat name="input_bams" title="BAM file" min="1" >
            <param name="input_bam" type="data" format="bam" label="BAM file">
              <validator type="unspecified_build" />
              <validator type="dataset_metadata_in_data_table" table_name="sam_fa_indexes" metadata_name="dbkey" metadata_column="value" message="Sequences are not currently available for the specified build." /> <!-- fixme!!! this needs to be a select -->
            </param>
        </repeat>
        <param name="ref_file" type="select" label="Using reference genome" >
          <options from_data_table="sam_fa_indexes">
            <!-- <filter type="data_meta" key="dbkey" ref="input_bam" column="dbkey"/> does not yet work in a repeat...--> 
          </options>
          <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
        </param>
      </when>
      <when value="history"> <!-- FIX ME!!!! -->
        <repeat name="input_bams" title="BAM file" min="1" >
            <param name="input_bam" type="data" format="bam" label="BAM file" >
            </param>
        </repeat>
        <param name="ref_file" type="data" format="fasta" label="Using reference file" optional="True" />
      </when>
    </conditional>

    <repeat name="regions" title="Restrict to regions" min="0" >
        <param name="chromosome" type="text" value="" optional="False" label="Chromosome" />
        <param name="start" type="integer" value="" optional="True" label="Start" />
        <param name="end" type="integer" value="" optional="True" label="End" />
    </repeat>

    <!-- TODO: enhance filtering -->
    <param name="min_support_depth" type="integer" value="0" min="0" label="Minimum number of reads needed to consider a REF/ALT" />
    <param name="min_base_quality" type="integer" value="" label="Minimum base quality" optional="True" />
    <param name="min_mapping_quality" type="integer" value="" label="Minimum mapping quality" optional="True" />
    
        
    <param name="ploidy" type="integer" value="2" min="1" label="Ploidy" />
    <param name="variants_only" type="boolean" truevalue="--variants_only" falsevalue="" checked="False" label="Only write out positions with with possible alternate alleles"/>
    
    <param name="use_strand" type="boolean" truevalue="--use_strand" falsevalue="" checked="False" label="Report counts by strand"/>
    
    <param name="coverage_dtype" type="select" label="Choose the dtype to use for storing coverage information" help="This affects the maximum recorded value for a position, e.g. uint8 would be 255 coverage, but will require the least amount of RAM">
      <option value="uint8" selected="True">uint8</option>
      <option value="uint16">uint16</option>
      <option value="uint32">uint32</option>
      <option value="uint64">uint64</option>
    </param>
    
  </inputs>
  <outputs>
    <data format="vcf" name="output_vcf" />
  </outputs>
  <help>
**What it does**

This tool is a naive variant detector. 

------

**Inputs**

Accepts one or more BAM input files.


**Outputs**

The output is in VCF format.

------

**Citation**

If you use this tool, please cite Blankenberg D, et al. *In preparation.*

  </help>
  <tests>
      <test>
          <param name="reference_source_selector" value="history" />
          <param name="input_bam" value="fake_phiX174_reads_1.bam" ftype="bam" /> 
          <param name="ref_file" value="phiX174.fasta" ftype="fasta" />
          <param name="min_support_depth" value="0" />
          <param name="min_base_quality" value="" />
          <param name="min_mapping_quality" value="" />
          <param name="ploidy" value="2" />
          <param name="variants_only" value="False" />
          <param name="use_strand" value="False" />
          <param name="coverage_dtype" value="uint8" />
          <output name="output_vcf" file="fake_phiX174_reads_1_test_out_1.vcf" compare="contains" />
      </test>
  </tests>
  
</tool>