Files
galaxy/tools/samtools/sam2interval.xml
T

70 lines
2.5 KiB
XML

<tool id="sam2interval" name="Convert SAM" version="1.0.0">
<description>to interval</description>
<command interpreter="python">sam2interval.py --input_sam_file=$input1 $print_all > $out_file1
</command>
<inputs>
<param format="sam" name="input1" type="data" label="Select dataset to convert"/>
<param name="print_all" type="select" label="Print all?" help="Do you want to retain original SAM fields? See example below.">
<option value="-p">Yes</option>
<option value="">No</option>
</param>
</inputs>
<outputs>
<data format="interval" name="out_file1" />
</outputs>
<tests>
<test>
<param name="input1" value="sam_bioinf_example.sam" ftype="sam"/>
<param name="flags" value="Read is mapped in a proper pair"/>
<param name="print_all" value="Yes"/>
<output name="out_file1" file="sam2interval_printAll.dat" ftype="interval"/>
</test>
<test>
<param name="input1" value="sam_bioinf_example.sam" ftype="sam"/>
<param name="flags" value="Read is mapped in a proper pair"/>
<param name="print_all" value="No"/>
<output name="out_file1" file="sam2interval_noprintAll.dat" ftype="interval"/>
</test>
</tests>
<help>
**What it does**
Converts positional information from a SAM dataset into interval format with 0-based start and 1-based end. CIGAR string of SAM format is used to compute the end coordinate.
-----
**Example**
Converting the following dataset::
r001 163 ref 7 30 8M2I4M1D3M = 37 39 TTAGATAAAGGATACTA *
r002 0 ref 9 30 3S6M1P1I4M * 0 0 AAAAGATAAGGATA *
r003 0 ref 9 30 5H6M * 0 0 AGCTAA * NM:i:1
r004 0 ref 16 30 6M14N5M * 0 0 ATAGCTTCAGC *
r003 16 ref 29 30 6H5M * 0 0 TAGGC * NM:i:0
r001 83 ref 37 30 9M = 7 -39 CAGCGCCAT *
into Interval format will produce the following if *Print all?* is set to **Yes**::
ref 6 22 + r001 163 ref 7 30 8M2I4M1D3M = 37 39 TTAGATAAAGGATACTA *
ref 8 19 + r002 0 ref 9 30 3S6M1P1I4M * 0 0 AAAAGATAAGGATA *
ref 8 14 + r003 0 ref 9 30 5H6M * 0 0 AGCTAA * NM:i:1
ref 15 40 + r004 0 ref 16 30 6M14N5M * 0 0 ATAGCTTCAGC *
ref 28 33 - r003 16 ref 29 30 6H5M * 0 0 TAGGC * NM:i:0
ref 36 45 - r001 83 ref 37 30 9M = 7 -39 CAGCGCCAT *
Setting *Print all?* to **No** will generate the following::
ref 6 22 + r001
ref 8 19 + r002
ref 8 14 + r003
ref 15 40 + r004
ref 28 33 - r003
ref 36 45 - r001
</help>
</tool>