view mismatch_frequencies.xml @ 2:2974c382105c draft default tip

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/mismatch_frequencies commit 10a7e3877c2568d9c23de53fc97dc1c902ff0524-dirty
author mvdbeek
date Sat, 22 Dec 2018 04:15:47 -0500
parents 3613460e891e
children
line wrap: on
line source

<tool id="mismatch_frequencies" name="Mismatch Frequencies" version="0.1.0" hidden="false" >
  <description>Analyze mismatch frequencies in BAM/SAM alignments</description>
  <requirements>
    <requirement type="package" version="0.8.3">pysam</requirement>
    <requirement type="package" version="0.19.0">pandas</requirement>
    <requirement type="package" version="1.5.3">matplotlib</requirement>
  </requirements>
  <command detect_errors="aggressive"><![CDATA[
      python '$__tool_directory__'/mismatch_frequencies.py --input
        #for i in $rep
            "$i.input_file"
        #end for
        --name
        #for i in $rep
            "$i.input_file.element_identifier"
        #end for
        --output_pdf '$output_pdf'
        --output_tab '$output_tab'
        --min $min_length
        --max $max_length
        --n_mm $number_of_mismatches
        --five_p $five_p
        --three_p $three_p
        --expanded_output_tab '$expanded_tab'
        --possible_mismatches $possible_mismatches
  ]]></command>
  <inputs>
    <repeat name="rep" title="alignment files">
      <param name="input_file" type="data" format="bam,sam" label="Alignment file" help="The input alignment file(s) for which to analyze the mismatches."/>
    </repeat>
    <param name="number_of_mismatches" label="Maximum number of allowed mismatches per read" help="Discard reads with more than the chosen number of mismatches from the frequency calculation" type="integer" value="3"/>
    <param name="possible_mismatches" label="Specify mismatches that should be counted" help="Ignores mismatches that are not listed" type="text" value="AC AG AT CA CG CT GA GC GT TA TC TG">
      <validator type="expression" message="Allowed values are AGCTN, seperated by space.">len([False for char in value if not char in " AGCTN"]) == 0</validator>
    </param>
    <param name="min_length" label="Minumum read length to analyse" type="integer" value="21"/>
    <param name="max_length" label="Maximum read length to analyse" type="integer" value="21"/>
    <param name="five_p" label="Ignore mismatches in the first N nucleotides of a read" type="integer" value="0"/>
    <param name="three_p" label="Ignore mismatches in the last N nucleotides of a read" help="useful to discriminate between tailing events and editing events" type="integer" value="3"/>
    <param help="Output expanded tabular format" label="Nucleotide mismatches per reference sequence" name="expanded" type="select">
        <option selected="true" value="false">No</option>
        <option value="expanded">Yes</option>
    </param>
  </inputs>
  <outputs>
    <data format="tabular" name="output_tab" />
    <data format="tabular" name="expanded_tab">
        <filter> expanded == "expanded"</filter>
    </data>
    <data format="pdf" name="output_pdf" />
  </outputs>
  <tests>
    <test>
      <param name="rep_0|input_file" value="3mismatches_ago2ip_s2.bam" ftype="bam" />
      <param name="rep_1|input_file" value="3mismatches_ago2ip_ovary.bam" ftype="bam" />
      <param name="number_of_mismatches" value="1" />
      <param name="min_length" value="21" />
      <param name="max_length" value="21" />
      <param name="three_p" value="0" />
      <param name="five_p" value="0" />
      <output name="tabular" file="mismatch.tab" ftype="tabular"/>
    <!--
      <output name="pdf" file="mismatch.pdf" ftype="pdf"/>
    -->
    </test>
  </tests>
  <help>

.. class:: infomark


***What it does***

This tool reconstitues for each aligned read of an alignment file in SAM/BAM
format whether a mismatch is annotated in the MD tag, and if that is the case
counts the identity of the mismatch relative to the reference sequence. The
output is a PDF document with the calculated frequency for each mismatch that
occured relative to the total number of valid reads and a table with the
corresponding values. Read length can be limited to a specific read length, and
5 prime and 3 prime-most nucleotides of a read can be ignored.

----

.. class:: warningmark

***Warning***

This tool skips all read that have insertions and has been tested only with bowtie and bowtie2
generated alignment files.

Written by Marius van den Beek, m.vandenbeek at gmail . com
  </help>
  <citations>
  </citations>
</tool>