view samtools_calmd.xml @ 0:1ebb4ecdc1ef draft

Uploaded
author devteam
date Tue, 21 Apr 2015 15:13:37 -0400
parents
children 33208952b99d
line wrap: on
line source

<tool id="samtools_calmd" name="CalMD" version="2.0">
  <description>recalculate MD/NM tags</description>
  <macros>
    <import>macros.xml</import>
  </macros>
  <expand macro="requirements"></expand>
  <expand macro="stdio"></expand>
  <expand macro="version_command"></expand>
    <command><![CDATA[
        #if str( $reference_source.reference_source_selector ) == "history":
            #set ref_fa = 'ref.fa'
            ln -s "${reference_source.ref_fasta}" ref.fa && samtools faidx ref.fa &&
        #else:
            #set ref_fa = str( $reference_source.ref_fasta.fields.path )
        #end if
        samtools calmd
        #if str($option_set.option_sets) == 'advanced':
            $option_set.change_identical $option_set.modify_quality $option_set.compute_cap $option_set.extended_baq
        #end if
        -b "$input_bam" "$ref_fa" > "$calmd_output" ]]>
    </command>
    <inputs>
        <param format="bam" name="input_bam" type="data" label="BAM file to recalculate" />
        <conditional name="reference_source">
            <param name="reference_source_selector" type="select" label="Choose the source for the reference genome">
                <option value="cached">Use a built-in genome</option>
                <option value="history">Use a genome from the history</option>
            </param>
            <when value="cached">
                <param name="ref_fasta" type="select" label="Using reference genome">
                    <options from_data_table="fasta_indexes">
                        <filter type="data_meta" column="0" key="dbkey" ref="input_bam" />
                        <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file" />
                    </options>
                </param>
            </when>
            <when value="history">
                <param name="ref_fasta" type="data" format="fasta" label="Using reference file" />
            </when>
        </conditional>
        <conditional name="option_set">
            <param name="option_sets" type="select" label="Options">
                <option value="default">Use defaults</option>
                <option value="advanced">Advanced options</option>
            </param>
            <when value="default" />
            <when value="advanced">
                <param name="change_identical" type="boolean" truevalue="-e" falsevalue="" checked="False" label="Change identical bases to '='" help="-e"/>
                <param name="modify_quality" type="boolean" truevalue="-A" falsevalue="" checked="False" label="Modify the quality string" help="-A"/>
                <param name="compute_cap" type="boolean" truevalue="-r" falsevalue="" checked="False" label="Compute BQ or cap baseQ by BAQ" help="-r"/>
                <param name="extended_baq" type="boolean" truevalue="-E" falsevalue="" checked="False" label="Extended BAQ for better sensitivity" help="-E"/>
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data format="bam" name="calmd_output" label="${tool.name} on ${on_string}" />
    </outputs>
    <tests>
        <test>
            <param name="option_sets" value="default" /> 
            <param name="input_bam" value="phiX.bam"/>
            <param name="reference_source_selector" value="history" />
            <param name="ref_fasta" value="phiX.fasta" />
            <output name="calmd_output" file="samtools_calmd_out_1.bam" ftype="bam" />
        </test>
        <test>
            <param name="option_sets" value="advanced" /> 
            <param name="change_identical" value="true" />
            <param name="extended_baq" value="true" />
            <param name="input_bam" value="phiX.bam"/>
            <param name="reference_source_selector" value="history" />
            <param name="ref_fasta" value="phiX.fasta" />
            <output name="calmd_output" file="samtools_calmd_out_2.bam" ftype="bam" />
        </test>
    </tests>
    <help>
**What it does**

Generates the MD tag using ``samtools calmd`` command. If the MD tag (see SAM format refernce below for explanation of SAM/BAM tags) is already present, this command will give a warning if the MD tag generated is different from the existing tag. Outputs a BAM file. The command has the following options::

  -e       change identical bases to '='
  -A       modify the quality string
  -r       compute the BQ tag (without -A) or cap baseQ by BAQ (with -A)
  -E       extended BAQ for better sensitivity but lower specificity
  
-----

**NM and MD tags**

From SAM format specification::

  MD (string)  String for mismatching positions. Regex : [0-9]+(([A-Z]|\^[A-Z]+)[0-9]+)*7
  NM (indeger) Edit distance to the reference, including ambiguous bases but excluding clipping
  
See refernces for more information about SAM format tags.

    </help>
    <expand macro="citations"></expand>
</tool>