view maf_stats.xml @ 2:87c1c223c704 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/interval2maf/ commit 1317f57940166a6326eea430443918f85b60bd95
author iuc
date Wed, 25 Oct 2023 07:38:28 +0000
parents 0c84cce7b030
children
line wrap: on
line source

<tool id="maf_stats1" name="MAF Coverage Stats" version="1.0.2+galaxy0">
    <description>Alignment coverage information</description>
    <command>
        <![CDATA[
        #if $maf_source_type.maf_source == 'cached'
            #set $tab = '\t'
            echo '$maf_source_type.mafType.fields.name${tab}$maf_source_type.mafType.fields.value${tab}$maf_source_type.mafType.fields.indexed_for${tab}$maf_source_type.mafType.fields.exists_in_maf${tab}$maf_source_type.mafType.fields.path' >> ./maf_index.loc &&
        #end if
        python '$__tool_directory__/maf_stats.py' $maf_source_type.maf_source
        #if $maf_source_type.maf_source == 'user':
            '$input2'
        #else:
            $maf_source_type.mafType.fields.value
        #end if
        '$input1' '$out_file1' $dbkey ${input1.metadata.chromCol} ${input1.metadata.startCol} ${input1.metadata.endCol} $summary '.'
        #if $maf_source_type.maf_source == 'user':
            '$input2.metadata.maf_index'
        #end if
        ]]>
    </command>
    <inputs>
        <param format="interval" name="input1" label="Interval File" type="data">
            <validator type="unspecified_build" />
        </param>
        <conditional name="maf_source_type">
            <param name="maf_source" type="select" label="MAF Source">
                <option value="cached" selected="true">Locally Cached Alignments</option>
                <option value="user">Alignments in Your History</option>
            </param>
            <when value="user">
                <param format="maf" name="input2" label="Choose alignments" type="data">
                    <options>
                        <filter type="data_meta" ref="input1" key="dbkey" />
                    </options>
                    <validator type="dataset_ok_validator" />
                </param>
            </when>
            <when value="cached">
                <param name="mafType" type="select" label="Choose alignments">
                    <options from_data_table="maf_indexes">
                        <column name="name" index="0"/>
                        <column name="value" index="1"/>
                        <column name="indexed_for" index="2"/>
                        <column name="exists_in_maf" index="3" />
                        <column name="path" index="4" />
                    </options>
                </param>
            </when>
        </conditional>
        <param name="summary" type="select" label="Type of Output">
            <option value="false" selected="true">Coverage by Region</option>
            <option value="true">Summarize Coverage</option>
        </param>
    </inputs>
    <outputs>
        <data format="interval" name="out_file1" metadata_source="input1">
            <change_format>
                <when input="summary" value="true" format="tabular" />
            </change_format>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="input1" value="maf_stats-in1.bed" dbkey="hg38" ftype="bed"/>
            <param name="maf_source" value="cached"/>
            <param name="mafType" value="TEST"/>
            <output name="out_file1" file="maf_stats-out1.dat"/>
            <param name="summary" value="false"/>
        </test>
        <test>
            <param name="input1" value="maf_stats-in2.bed" dbkey="hg38" ftype="bed"/>
            <param name="maf_source" value="cached"/>
            <param name="mafType" value="TEST"/>
            <output name="out_file1" file="maf_stats-out2.dat"/>
            <param name="summary" value="true"/>
        </test>
    </tests>
    <help>
**What it does**

This tool takes an MAF file and an interval file and relates coverage information by interval for each species.
If a column does not exist in the reference genome, it is not included in the output.

Consider the interval: "chrX 1000 1100 myInterval"
Let's suppose we want to do stats on three way alignments for H, M, and R. The result look like this:

    chrX 1000 1100 myInterval H XXX YYY

    chrX 1000 1100 myInterval M XXX YYY

    chrX 1000 1100 myInterval R XXX YYY


where XXX and YYY are:

    XXX = number of nucleotides

    YYY = number of gaps

----

Alternatively, you can request only summary information for a set of intervals:

    ========  ===========  ========
    #species  nucleotides  coverage
    ========  ===========  ========
    hg18         30639      0.2372
    rheMac2      7524       0.0582
    panTro2      30390      0.2353
    ========  ===========  ========

where **coverage** is the number of nucleotides divided by the total length of the intervals provided in the BED file.
    </help>
    <citations>
        <citation type="doi">10.1093/bioinformatics/btr398</citation>
    </citations>
</tool>