comparison bcftools_merge.xml @ 25:e172f8d4b15a draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/bcftools commit f6efda26965eb73c9107d367fd5ffdf246ed0dbc
author iuc
date Tue, 02 Dec 2025 07:41:50 +0000
parents 63f75c284e32
children
comparison
equal deleted inserted replaced
24:c16fba3e9f45 25:e172f8d4b15a
1 <?xml version='1.0' encoding='utf-8'?>
2 <tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> 1 <tool name="bcftools @EXECUTABLE@" id="bcftools_@EXECUTABLE@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
3 <description>Merge multiple VCF/BCF files from non-overlapping sample sets to create one multi-sample file</description> 2 <description>Merge multiple VCF/BCF files from non-overlapping sample sets to create one multi-sample file</description>
4 <macros> 3 <macros>
5 <token name="@EXECUTABLE@">merge</token> 4 <token name="@EXECUTABLE@">merge</token>
6 <import>macros.xml</import> 5 <import>macros.xml</import>
7 </macros> 6 </macros>
8 <expand macro="bio_tools" /> 7 <expand macro="bio_tools"/>
9 <expand macro="requirements" /> 8 <expand macro="requirements"/>
10 <expand macro="version_command" /> 9 <expand macro="version_command"/>
11 <command detect_errors="aggressive"><![CDATA[ 10 <command detect_errors="aggressive"><![CDATA[
12 @PREPARE_ENV@
13 @PREPARE_INPUT_FILES@ 11 @PREPARE_INPUT_FILES@
14 #set $section = $sec_restrict 12 #set $section = $sec_restrict
15 @PREPARE_REGIONS_FILE@ 13 @PREPARE_REGIONS_FILE@
16 14
17 bcftools @EXECUTABLE@ 15 bcftools @EXECUTABLE@
47 @INPUT_FILES@ 45 @INPUT_FILES@
48 > '$output_file' 46 > '$output_file'
49 ]]> 47 ]]>
50 </command> 48 </command>
51 <inputs> 49 <inputs>
52 <expand macro="macro_inputs" /> 50 <expand macro="macro_inputs"/>
53 <section name="sec_restrict" expanded="false" title="Restrict to"> 51 <section name="sec_restrict" expanded="false" title="Restrict to">
54 <expand macro="macro_apply_filters" /> 52 <expand macro="macro_apply_filters"/>
55 <expand macro="macro_restrict" /> 53 <expand macro="macro_region_restrict"/>
56 </section> 54 </section>
57 <section name="sec_merge" expanded="true" title="Merge Options"> 55 <section name="sec_merge" expanded="true" title="Merge Options">
58 <param name="force_samples" type="boolean" truevalue="--force-samples" falsevalue="" label="Force Samples" help="Resolve duplicate sample names" /> 56 <param name="force_samples" type="boolean" truevalue="--force-samples" falsevalue="" label="Force Samples" help="Resolve duplicate sample names"/>
59 <param name="info_rules" type="text" label="Info Rules" help="Rules for merging INFO fields (method is one of sum,avg,min,max,join) or &quot;-&quot; to turn off the default [DP:sum,DP4:sum]" /> 57 <param name="info_rules" type="text" label="Info Rules" help="Rules for merging INFO fields (method is one of sum,avg,min,max,join) or &quot;-&quot; to turn off the default [DP:sum,DP4:sum]"/>
60 <param name="merge" type="select" label="Merge" optional="True" 58 <param name="merge" type="select" label="Merge" optional="True" help="Allow multiallelic records for: snps|indels|both|all|none|id, see man page for details [both]">
61 help="Allow multiallelic records for: snps|indels|both|all|none|id, see man page for details [both]" > 59 <option value="none">none - no new multiallelics, output multiple records instead</option>
62 <option value="none">none - no new multiallelics, output multiple records instead</option> 60 <option value="snps">snps - allow multiallelic SNP records</option>
63 <option value="snps">snps - allow multiallelic SNP records</option> 61 <option value="indels">indels - allow multiallelic indel records</option>
64 <option value="indels">indels - allow multiallelic indel records</option> 62 <option value="both">both - both SNP and indel records can be multiallelic</option>
65 <option value="both">both - both SNP and indel records can be multiallelic</option> 63 <option value="all">all - SNP records can be merged with indel records</option>
66 <option value="all">all - SNP records can be merged with indel records</option> 64 <option value="id">id - merge by ID</option>
67 <option value="id">id - merge by ID</option>
68 </param> 65 </param>
69 <param argument="--no-index" type="boolean" truevalue="--no-index" falsevalue="" checked="false" 66 <param argument="--no-index" type="boolean" truevalue="--no-index" falsevalue="" checked="false" label="Allow merge unindexed files" help="Requires the input files to have chromosomes in th same order and consistent with the order of sequences in the header"/>
70 label="Allow merge unindexed files" help="Requires the input files to have chromosomes in th same order and consistent with the order of sequences in the header" />
71 </section> 67 </section>
72 <section name="sec_header" expanded="false" title="Header Options"> 68 <section name="sec_header" expanded="false" title="Header Options">
73 <param name="use_header" type="data" format="vcf" label="Use Header" optional="True" help="Use the provided header" /> 69 <param name="use_header" type="data" format="vcf" label="Use Header" optional="True" help="Use the provided header"/>
74 <param name="print_header" type="boolean" truevalue="--print-header" falsevalue="" label="Print Header" help="Print only the merged header and exit" /> 70 <param name="print_header" type="boolean" truevalue="--print-header" falsevalue="" label="Print Header" help="Print only the merged header and exit"/>
75 </section> 71 </section>
76 <expand macro="macro_select_output_type" /> 72 <expand macro="macro_select_output_type"/>
77 </inputs> 73 </inputs>
78 <outputs> 74 <outputs>
79 <expand macro="macro_vcf_output"/> 75 <expand macro="macro_vcf_output"/>
80 </outputs> 76 </outputs>
81 <tests> 77 <tests>
82 <test> 78 <test>
83 <param name="input_files" ftype="vcf" value="merge.a.vcf,merge.b.vcf,merge.c.vcf" /> 79 <param name="input_files" ftype="vcf" value="merge.a.vcf,merge.b.vcf,merge.c.vcf"/>
84 <param name="force_samples" value="true" /> 80 <section name="sec_merge">
85 <param name="output_type" value="v" /> 81 <param name="force_samples" value="true"/>
86 <output name="output_file"> 82 </section>
87 <assert_contents> 83 <param name="output_type" value="v"/>
88 <has_text text="3000150" /> 84 <output name="output_file">
89 <has_text text="3188209" /> 85 <assert_contents>
86 <has_text text="3000150"/>
87 <has_text text="3188209"/>
90 <has_text_matching expression="\tq10;q20\t[\s]*INDEL"/> 88 <has_text_matching expression="\tq10;q20\t[\s]*INDEL"/>
91 </assert_contents> 89 </assert_contents>
92 </output> 90 </output>
93 </test> 91 </test>
94 <test> 92 <test>
95 <param name="input_files" ftype="vcf" value="merge.2.a.vcf,merge.2.b.vcf" /> 93 <param name="input_files" ftype="vcf" value="merge.2.a.vcf,merge.2.b.vcf"/>
96 <param name="force_samples" value="true" /> 94 <section name="sec_merge">
97 <param name="merge" value="none" /> 95 <param name="force_samples" value="true"/>
98 <param name="output_type" value="v" /> 96 <param name="merge" value="none"/>
97 </section>
98 <param name="output_type" value="v"/>
99 <output name="output_file"> 99 <output name="output_file">
100 <assert_contents> 100 <assert_contents>
101 <has_text_matching expression="1\t3000000\t.\tC\tCCG\t"/> 101 <has_text_matching expression="1\t3000000\t.\tC\tCCG\t"/>
102 <has_text_matching expression="1\t3000000\t.\tC\tG\t"/> 102 <has_text_matching expression="1\t3000000\t.\tC\tG\t"/>
103 </assert_contents> 103 </assert_contents>
104 </output> 104 </output>
105 </test> 105 </test>
106 <test> 106 <test>
107 <param name="input_files" ftype="vcf" value="merge.2.a.vcf,merge.2.b.vcf" /> 107 <param name="input_files" ftype="vcf" value="merge.2.a.vcf,merge.2.b.vcf"/>
108 <param name="force_samples" value="true" /> 108 <section name="sec_merge">
109 <param name="merge" value="both" /> 109 <param name="force_samples" value="true"/>
110 <param name="output_type" value="v" /> 110 <param name="merge" value="both"/>
111 </section>
112 <param name="output_type" value="v"/>
111 <output name="output_file"> 113 <output name="output_file">
112 <assert_contents> 114 <assert_contents>
113 <has_text_matching expression="1\t3000150\t\.\tC\t(A,G|G,A)\t"/> 115 <has_text_matching expression="1\t3000150\t\.\tC\t(A,G|G,A)\t"/>
114 <has_text_matching expression="1\t3106154\t\.\tC\t(CC,CCC|CCC,CC)\t"/> 116 <has_text_matching expression="1\t3106154\t\.\tC\t(CC,CCC|CCC,CC)\t"/>
115 </assert_contents> 117 </assert_contents>
116 </output> 118 </output>
117 </test> 119 </test>
118 <test> 120 <test>
119 <param name="input_files" ftype="vcf" value="merge.2.a.vcf,merge.2.b.vcf" /> 121 <param name="input_files" ftype="vcf" value="merge.2.a.vcf,merge.2.b.vcf"/>
120 <param name="force_samples" value="true" /> 122 <section name="sec_merge">
121 <param name="merge" value="all" /> 123 <param name="force_samples" value="true"/>
122 <param name="output_type" value="v" /> 124 <param name="merge" value="all"/>
125 </section>
126 <param name="output_type" value="v"/>
123 <output name="output_file"> 127 <output name="output_file">
124 <assert_contents> 128 <assert_contents>
125 <has_text_matching expression="1\t3000000\t\.\tC\t(CCG,G|G,CCG)\t"/> 129 <has_text_matching expression="1\t3000000\t\.\tC\t(CCG,G|G,CCG)\t"/>
126 </assert_contents> 130 </assert_contents>
127 </output> 131 </output>
128 </test> 132 </test>
129 <test> 133 <test>
130 <param name="input_files" ftype="vcf" value="merge.3.a.vcf,merge.3.b.vcf" /> 134 <param name="input_files" ftype="vcf" value="merge.3.a.vcf,merge.3.b.vcf"/>
131 <param name="force_samples" value="true" /> 135 <section name="sec_merge">
132 <param name="info_rules" value="TR:sum,TA:sum,TG:sum" /> 136 <param name="force_samples" value="true"/>
133 <param name="output_type" value="v" /> 137 <param name="info_rules" value="TR:sum,TA:sum,TG:sum"/>
138 </section>
139 <param name="output_type" value="v"/>
134 <output name="output_file"> 140 <output name="output_file">
135 <assert_contents> 141 <assert_contents>
136 <has_text_matching expression="1\t3000000\t.\tC\t(CG,CCG|CCG,CG)\t"/> 142 <has_text_matching expression="1\t3000000\t.\tC\t(CG,CCG|CCG,CG)\t"/>
137 <has_text_matching expression="TR=[^;\t]*11"/> 143 <has_text_matching expression="TR=[^;\t]*11"/>
138 </assert_contents> 144 </assert_contents>
139 </output> 145 </output>
140 </test> 146 </test>
141 <!-- Test no_index option --> 147 <!-- Test no_index option -->
142 <test> 148 <test>
143 <param name="input_files" ftype="vcf" value="merge.4.a.vcf,merge.4.b.vcf" /> 149 <param name="input_files" ftype="vcf" value="merge.4.a.vcf,merge.4.b.vcf"/>
144 <param name="force_samples" value="true" /> 150 <section name="sec_merge">
145 <param name="merge" value="id" /> 151 <param name="force_samples" value="true"/>
146 <param name="no_index" value="true"/> 152 <param name="merge" value="id"/>
147 <param name="output_type" value="v" /> 153 <param name="no_index" value="true"/>
154 </section>
155 <param name="output_type" value="v"/>
148 <output name="output_file"> 156 <output name="output_file">
149 <assert_contents> 157 <assert_contents>
150 <has_text_matching expression="1\t3000000\tid1\tC\t(A,CCG|CCG,A)\t"/> 158 <has_text_matching expression="1\t3000000\tid1\tC\t(A,CCG|CCG,A)\t"/>
151 </assert_contents> 159 </assert_contents>
152 </output> 160 </output>
153 <assert_command> 161 <assert_command>
154 <has_text text="--no-index" /> 162 <has_text text="--no-index"/>
155 </assert_command> 163 </assert_command>
156 </test> 164 </test>
157 <!-- Test region overlap option --> 165 <!-- Test region overlap option -->
158 <test> 166 <test>
159 <param name="input_files" ftype="vcf" value="merge.4.a.vcf,merge.4.b.vcf" /> 167 <param name="input_files" ftype="vcf" value="merge.4.a.vcf,merge.4.b.vcf"/>
160 <param name="force_samples" value="true" /> 168 <section name="sec_merge">
161 <param name="merge" value="id" /> 169 <param name="force_samples" value="true"/>
162 <param name="output_type" value="v" /> 170 <param name="merge" value="id"/>
171 </section>
172 <param name="output_type" value="v"/>
163 <section name="sec_restrict"> 173 <section name="sec_restrict">
164 <param name="regions_overlap" value="1"/> 174 <conditional name="regions">
175 <param name="regions_src" value="regions" />
176 <repeat name="region_specs">
177 <param name="chrom" value="1" />
178 </repeat>
179 </conditional>
165 </section> 180 </section>
166 <output name="output_file"> 181 <output name="output_file">
167 <assert_contents> 182 <assert_contents>
168 <has_text_matching expression="1\t3000000\tid1\tC\t(A,CCG|CCG,A)\t"/> 183 <has_text_matching expression="1\t3000000\tid1\tC\t(A,CCG|CCG,A)\t"/>
169 </assert_contents> 184 </assert_contents>
170 </output> 185 </output>
171 <assert_command> 186 <assert_command>
172 <has_text text="--regions-overlap" /> 187 <has_text text="--regions-overlap"/>
173 </assert_command> 188 </assert_command>
174 </test> 189 </test>
175 </tests> 190 </tests>
176 <help><![CDATA[ 191 <help><![CDATA[
177 ===================================== 192 =====================================
186 201
187 @REGIONS_HELP@ 202 @REGIONS_HELP@
188 203
189 @BCFTOOLS_MANPAGE@#@EXECUTABLE@ 204 @BCFTOOLS_MANPAGE@#@EXECUTABLE@
190 205
191 @BCFTOOLS_WIKI@ 206 @BCFTOOLS_HOWTOS@
192 ]]> 207 ]]>
193 </help> 208 </help>
194 <expand macro="citations" /> 209 <expand macro="citations"/>
195 </tool> 210 </tool>