view crossmap_vcf.xml @ 0:734eedede47c draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/crossmap commit d578fad97ce545d68dde40155d36426a121e4447
author iuc
date Tue, 26 Sep 2017 05:45:41 -0400
parents
children a40d9af7d058
line wrap: on
line source

<tool id="crossmap_vcf" name="CrossMap VCF" version="@WRAPPER_VERSION@-0">
    <description>Convert genome coordinates or annotation files between genome assemblies</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version_command"/>

    <command><![CDATA[
        #set $input_file = str($seq_source.input)

        CrossMap.py
            vcf

            #if $seq_source.index_source == "cached"
                <!-- This is the 2nd dbkey, and the corresponding value has to be looked up -->
                "${filter(lambda x: str( x[1] ) == str($chain_source.input_chain ), $__app__.tool_data_tables['liftOver'].get_fields())[0][2] }"
            #else
                "$chain_source.input_chain"
            #end if

            '${input_file}'
            '${seq_source.input_fasta}'

            '${output}'

            && mv "${output}.unmap" "$output_unmapped"
    ]]></command>

    <inputs>
        <conditional name="seq_source">
            <expand macro="source" />

            <when value="cached">
                <param type="data" format="vcf" name="input" label="VCF file">
                    <validator type="unspecified_build"/>
                    <!-- Gives error in tests
                    <validator type="dataset_metadata_in_file" filename="liftOver.loc" metadata_name="dbkey" metadata_column="0" message="LiftOver mapping (chain file) is not available for the specified build."/>
                    -->
                </param>
                <!-- automatically fetch a FASTA file from the same DBKEY as the chain file -->
                <param name="input_fasta" type="select" label="Lift Over To (FASTA file)" help="The FASTA file must be on the same build (dbkey) as the LiftOver chain file">
                    <options from_file="all_fasta.loc">
                        <column name="name" index="2"/>
                        <column name="value" index="3"/>
                        <column name="dbkey" index="1"/>
                        <filter type="param_value" ref="input_chain" column="1"/>
                    </options>
                </param>
            </when>

            <when value="history">
                <param type="data" format="vcf"   name="input" label="VCF file"/>
                <param type="data" format="fasta" name="input_fasta" multiple="false" label="Full genome FASTA file"/>
            </when>
        </conditional>
        <expand macro="chain" />

    </inputs>

    <outputs>
        <data format="vcf" name="output" label="${tool.name} on ${on_string}" />
        <data format="vcf" name="output_unmapped" label="${tool.name} (unmapped) on ${on_string}" />
    </outputs>

    <tests>
    <!-- VCF -->
        <test>
            <param name="index_source" value="history_all"/>
            <param name="input" value="test_vcf_01_input.vcf" ftype="vcf"/>
            <param name="input_chain" value="test_vcf_01.over.chain" ftype="csv"/>
            <param name="input_fasta" value="test_vcf_01.fasta" ftype="fasta"/>
            <param name="include_fails" value="False"/>

            <output name="output">
                <assert_contents>
                    <has_text text="##fileformat=VCFv4.2"/>
                    <has_text text="##liftOverProgram=CrossMap(https://sourceforge.net/projects/crossmap/)"/>
                    <has_text text="##new_reference_genome="/>
                    <has_text text="#CHROM"/>
                    <has_text_matching expression="2.*?rs11449.*?PASS"/>
                    <has_text_matching expression="2.*?rs84825.*?PASS"/>
                    <has_text_matching expression="2.*?rs84823.*?PASS"/>
                </assert_contents>
            </output>
            <output name="output_unmapped" file="test_vcf_01_output.vcf.unmap"/>
        </test>
    </tests>
    <help><![CDATA[
@HELP_GENERAL@

VCF
---

    VCF (variant call format) is a flexible and extendable line-oriented
    text format developed by the 1000 Genome Project. It is useful for
    representing single nucleotide variants, indels, copy number
    variants, and structural variants. Chromosomes, coordinates, and
    reference alleles are updated to a new assembly, and all the other
    fields are not changed.

    NOTE:

    - Genome coordinates and reference allele will be updated to target assembly.
    - Reference genome is genome sequence of target assembly.
    - If the reference genome sequence file (../database/genome/hg18.fa) was
      not indexed, CrossMap will automatically indexed it (only the first time
      you run CrossMap).
    - In the output VCF file, whether the chromosome IDs contain “chr” or not
      depends on the format of the input VCF file.

Please see `the manual <http://crossmap.sourceforge.net/#convert-vcf-format-files>`__ for more details
]]></help>

    <citations>
        <citation type="doi">10.1093/bioinformatics/btt730</citation>
    </citations>
</tool>