diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crossmap_vcf.xml	Tue Sep 26 05:45:41 2017 -0400
@@ -0,0 +1,119 @@
+<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>