view leftalign.xml @ 21:978760187fe2 draft

planemo upload commit 4ec9eb1570ea116d83f5464a786af6e14fb5b57d
author devteam
date Fri, 09 Oct 2015 15:47:24 -0400
parents 55c06df02168
children 52aed7d9ed2b
line wrap: on
line source

<?xml version="1.0"?>
<tool id="bamleftalign" name="BamLeftAlign" version="0.4">
  <requirements>
    <requirement type="package" version="0_9_20_b040236">freebayes</requirement>
    <requirement type="package" version="0.1.18">samtools</requirement>
  </requirements>
  <description> indels in BAM datasets</description>
  <command>
    ##set up input files
    #set $reference_fasta_filename = "localref.fa"
    #if str( $reference_source.reference_source_selector ) == "history":
        ln -s "${reference_source.ref_file}" "${reference_fasta_filename}" &amp;&amp;
        samtools faidx "${reference_fasta_filename}" 2&gt;&amp;1 || echo "Error running samtools faidx for leftalign" &gt;&amp;2 &amp;&amp;
    #else:
        #set $reference_fasta_filename = str( $reference_source.ref_file.fields.path )
    #end if

    ##finished setting up inputs
    
    ##start leftalign commandline
    samtools view -bh "${input_bam}" | bamleftalign
    --fasta-reference "${reference_fasta_filename}"
    -c
    --max-iterations "${iterations}"
    ##outputs
    > "${output_bam}"
  </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">
            <param name="input_bam" type="data" format="bam" label="Select BAM dataset to leftalign">
              <validator type="unspecified_build" />
              <validator type="dataset_metadata_in_data_table" table_name="fasta_indexes" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." />
            </param>
        <param name="ref_file" type="select" label="Using reference genome">
          <options from_data_table="fasta_indexes"></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"> 
            <param name="input_bam" type="data" format="bam" label="BAM dataset to re-align" />
        <param name="ref_file" type="data" format="fasta" label="Using reference file" />
      </when>
    </conditional>
    <param name="iterations" type="integer" value="5" label="Maximum number of iterations" help="Iterate the left-realignment no more than this many times" />
  </inputs>
  <outputs>
    <data format="bam" name="output_bam" label="${tool.name} on ${on_string} (alignments)" />
  </outputs>
  <tests>
    <test>
     <param name="reference_source_selector" value="history" />
      <param name="ref_file" ftype="fasta" value="leftalign.fa"/>
      <param name="input_bam" ftype="bam" value="left-align-input.bam"/>
      <param name="iterations" value="5"/>
      <output name="output_bam" file="left-align-output.bam" />
    </test>
  </tests>
  <stdio>
    <exit_code range="1:" />
  </stdio>
  <help>

When calling indels, it is important to homogenize the positional distribution of insertions and deletions in the input by using left realignment. Left realignment will place all indels in homopolymer and microsatellite repeats at the same position, provided that doing so does not introduce mismatches between the read and reference other than the indel. This method is computationally inexpensive and handles the most common classes of alignment inconsistency.

This is leftalign utility from FreeBayes package developed and maintained by Erik Garrison (https://github.com/ekg/freebayes).
  </help>

  <citations>
    <citation type="bibtex">
      @misc{1207.3907,
      Author = {Erik Garrison},
      Title = {Haplotype-based variant detection from short-read sequencing},
      Year = {2012},
      Eprint = {arXiv:1207.3907},
      url = {http://arxiv.org/abs/1207.3907}
      }
    </citation>
  </citations>

</tool>