comparison bcftools_plugin_mendelian.xml @ 25:6294f7c049f0 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:50:43 +0000
parents 2776dd881da8
children
comparison
equal deleted inserted replaced
24:2776dd881da8 25:6294f7c049f0
1 <tool name="bcftools @EXECUTABLE@" id="bcftools_plugin_@PLUGIN_ID@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> 1 <tool name="bcftools @EXECUTABLE@" id="bcftools_plugin_@PLUGIN_ID@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>plugin Count Mendelian consistent / inconsistent genotypes</description> 2 <description>plugin Count Mendelian consistent / inconsistent genotypes</description>
3 <macros> 3 <macros>
4 <token name="@EXECUTABLE@">mendelian</token> 4 <token name="@EXECUTABLE@">mendelian2</token>
5 <token name="@PLUGIN_ID@">mendelian</token> 5 <token name="@PLUGIN_ID@">mendelian</token>
6 <import>macros.xml</import> 6 <import>macros.xml</import>
7 </macros> 7 </macros>
8 <expand macro="bio_tools" /> 8 <expand macro="bio_tools" />
9 <expand macro="requirements" /> 9 <expand macro="requirements" />
10 <expand macro="version_command" /> 10 <expand macro="version_command" />
11 <command detect_errors="aggressive"><![CDATA[ 11 <command detect_errors="aggressive"><![CDATA[
12 @PREPARE_ENV@
13 @PREPARE_INPUT_FILE@ 12 @PREPARE_INPUT_FILE@
14 #set $section = $sec_restrict 13 #set $section = $sec_restrict
15 @PREPARE_TARGETS_FILE@ 14 @PREPARE_TARGETS_FILE@
16 @PREPARE_REGIONS_FILE@ 15 @PREPARE_REGIONS_FILE@
17 16
30 @INPUT_FILE@ 29 @INPUT_FILE@
31 30
32 ## Plugin section 31 ## Plugin section
33 #set $section = $sec_plugin 32 #set $section = $sec_plugin
34 #if $section.trios.trios_src == 'trio': 33 #if $section.trios.trios_src == 'trio':
35 --trio "${section.trios.mother},${section.trios.father},${section.trios.child}" 34 --pfm '${section.trios.num_x}:${section.trios.child},${section.trios.mother},${section.trios.father}'
36 #elif $section.trios.trios_src == 'trio_file': 35 #elif $section.trios.trios_src == 'trio_file':
37 --trio-file "$section.trios.trio_file" 36 --ped '$section.trios.trio_file'
38 #end if 37 #end if
39 #if $section.mode: 38 #set $modes = "".join(str($section.mode).split(','))
40 #set $modes = str($section.mode).split(',') 39 -m $modes
41 #if 'count' in $modes:
42 --count
43 #end if
44 #if 'delete' in $modes:
45 --delete
46 #end if
47 #if '+' in $modes:
48 --list '+'
49 #end if
50 #if 'x' in $modes:
51 --list x
52 #end if
53 #end if
54 2> tmp_stderr 40 2> tmp_stderr
55 > '$output_file' 41 > '$output_file'
56 && cat tmp_stderr 42 && cat tmp_stderr
57 ]]> 43 ]]>
58 </command> 44 </command>
59 <inputs> 45 <inputs>
60 <expand macro="macro_input" /> 46 <expand macro="macro_input" />
61 <section name="sec_restrict" expanded="false" title="Restrict to"> 47 <section name="sec_restrict" expanded="false" title="Restrict to">
62 <expand macro="macro_restrict" /> 48 <expand macro="macro_region_restrict" />
63 <expand macro="macro_restrict" type="target" label_type="Target" /> 49 <expand macro="macro_target_restrict" />
64 <expand macro="macro_include" /> 50 <expand macro="macro_include" />
65 <expand macro="macro_exclude" /> 51 <expand macro="macro_exclude" />
66 </section> 52 </section>
67 <section name="sec_plugin" expanded="true" title="Plugin Options"> 53 <section name="sec_plugin" expanded="true" title="Plugin Options">
68 <!-- trios --> 54 <!-- trios -->
69 <conditional name="trios"> 55 <conditional name="trios">
70 <param name="trios_src" type="select" label="Sample relationship"> 56 <param name="trios_src" type="select" label="Sample relationship">
71 <option value="trio">trio - mother,father,child</option> 57 <option value="trio">trio - mother,father,child (--pfm)</option>
72 <option value="trio_file">trios file</option> 58 <option value="trio_file">trios file - specify 1 or more trios in PED format (--ped)</option>
73 </param> 59 </param>
74 <when value="trio"> 60 <when value="trio">
75 <param name="mother" type="text" value="" label="name of mother"/> 61 <param name="mother" type="text" value="" label="Mother sample name (as it appears in the input)"/>
76 <param name="father" type="text" value="" label="name of father"/> 62 <param name="father" type="text" value="" label="Father sample name (as it appears in the input)"/>
77 <param name="child" type="text" value="" label="name of child"/> 63 <param name="child" type="text" value="" label="Child sample name (as it appears in the input)"/>
64 <param name="num_x" type="boolean" truevalue="1X" falsevalue="2X" label="Male child?" help="This information is used to judge inheritance patterns of X-chromosomal mutations correctly."/>
78 </when> 65 </when>
79 <when value="trio_file"> 66 <when value="trio_file">
80 <param name="trio_file" type="data" format="txt" label="Trio File" help="List of trios, one per line" /> 67 <param name="trio_file" type="data" format="tabular" label="Sample information in PED format" help="This input dataset can describe one or several family trios. See the tool help below for more information on PED format." />
81 </when> 68 </when>
82 </conditional> 69 </conditional>
83 <param name="mode" type="select" label="Action" multiple="true" min="1"> 70 <param name="mode" type="select" multiple="true" optional="false" label="Output mode" help="Output mode. Multiple modes can be combined and the drop modes take precedence.">
84 <option value="count">count the number of consistent sites</option> 71 <option value="a" selected="true">add INFO -> MERR annotation with the number of inconsistent trios (a)</option>
85 <option value="delete">delete inconsistent genotypes (set to './.')</option> 72 <option value="d">delete (i.e., set to "./.") genotypes in inconsistent trios (d)</option>
86 <option value="+">list consistent sites (+)</option> 73 <option value="e">output sites with at least one erroneous trio (e)</option>
87 <option value="x">list inconsistent sites (x)</option> 74 <option value="E">drop sites with at least one erroneous trio (E)</option>
75 <option value="g">output sites with at least one good (i.e. with non-missing and consistent genotypes) trio (g)</option>
76 <option value="m">output sites with missing genotypes in at least one trio (m)</option>
77 <option value="M">drop sites with missing genotypes in at least one trio (M)</option>
78 <option value="S">drop sites skipped for various reasons when collecting stats (S)</option>
88 </param> 79 </param>
89 </section> 80 </section>
90 <expand macro="macro_select_output_type" /> 81 <expand macro="macro_select_output_type" />
91 </inputs> 82 </inputs>
92 <outputs> 83 <outputs>
94 </outputs> 85 </outputs>
95 <tests> 86 <tests>
96 <test> 87 <test>
97 <!-- This is just a test on a random file, should have a real test case --> 88 <!-- This is just a test on a random file, should have a real test case -->
98 <param name="input_file" ftype="vcf" value="convert.vcf" /> 89 <param name="input_file" ftype="vcf" value="convert.vcf" />
99 <param name="trios_src" value="trio" /> 90 <section name="sec_plugin">
100 <param name="mother" value="NA00001" /> 91 <conditional name="trios">
101 <param name="father" value="NA00002" /> 92 <param name="trios_src" value="trio" />
102 <param name="child" value="NA00006" /> 93 <param name="mother" value="NA00001" />
103 <param name="mode" value="delete" /> 94 <param name="father" value="NA00002" />
95 <param name="child" value="NA00006" />
96 </conditional>
97 <param name="mode" value="d" />
98 </section>
104 <param name="output_type" value="v" /> 99 <param name="output_type" value="v" />
105 <output name="output_file"> 100 <output name="output_file">
106 <assert_contents> 101 <assert_contents>
107 <has_text_matching expression="X\t2698769\t.\tAAG\tA\t999\t.\t.\tGT:PL:GP\t./."/> 102 <has_text_matching expression="X\t2698769\t.\tAAG\tA\t999\t.\t.\tGT:PL:GP\t./."/>
108 </assert_contents> 103 </assert_contents>
109 </output> 104 </output>
110 </test> 105 </test>
111 <test> 106 <test>
112 <!-- This is just a test on a random file, should have a real test case --> 107 <!-- This is just a test on a random file, should have a real test case -->
113 <param name="input_file" ftype="vcf" value="convert.vcf" /> 108 <param name="input_file" ftype="vcf" value="convert.vcf" />
114 <param name="trios_src" value="trio" /> 109 <section name="sec_plugin">
115 <param name="mother" value="NA00001" /> 110 <conditional name="trios">
116 <param name="father" value="NA00002" /> 111 <param name="trios_src" value="trio" />
117 <param name="child" value="NA00006" /> 112 <param name="mother" value="NA00001" />
118 <param name="mode" value="x" /> 113 <param name="father" value="NA00002" />
114 <param name="child" value="NA00006" />
115 </conditional>
116 <param name="mode" value="e" />
117 </section>
119 <param name="output_type" value="v" /> 118 <param name="output_type" value="v" />
120 <output name="output_file"> 119 <output name="output_file">
121 <assert_contents> 120 <assert_contents>
122 <not_has_text text="2698758" /> 121 <not_has_text text="2698758" />
123 <has_text text="2698769" /> 122 <has_text text="2698769" />
124 </assert_contents> 123 </assert_contents>
125 </output> 124 </output>
126 </test> 125 </test>
127
128 </tests> 126 </tests>
129 127
130 <help><![CDATA[ 128 <help><![CDATA[
131 ===================================== 129 =====================================
132 bcftools @EXECUTABLE@ plugin 130 bcftools @EXECUTABLE@ plugin
133 ===================================== 131 =====================================
132
133
134 Describing sample relationships (family trios) in PED format
135 ------------------------------------------------------------
136
137 A PED file is simply a tabular text file (columns can be separated by either
138 spaces or TABs, but not a mixture of the two within the same file) with the
139 header::
140
141 #family_id name paternal_id maternal_id sex
142
143 and optional additional columns. The actual column names in the header are not
144 fixed, but there have to be at least six columns that are interpreted as
145 detailed next.
146
147 Subsequent lines describe one sample from the VCF input dataset each, where
148
149 - *family_id* is an alphanumeric identifier of a family
150
151 This column has to be present, but is ignored by this plugin
152
153 - *name* is the identifier of the sample described by the line
154
155 - *paternal_id* is the identifier of the sample's father
156
157 - *maternal_id* is the identifier of the sample's mother
158
159 - *sex* is a numeric code (1=male, 2=female) for the sample's sex
160
161 An example minimal PED file describing a single family-trio with a female child could look like this::
162
163 #family_id name paternal_id maternal_id sex
164 0 NA00001 0 0 1
165 0 NA00002 0 0 2
166 0 NA00003 NA00001 NA00002 2
167
168 where 0 is used as a placeholder for the paternal_id/maternal_id values in the records of the father and mother.
134 169
135 @REGIONS_HELP@ 170 @REGIONS_HELP@
136 @TARGETS_HELP@ 171 @TARGETS_HELP@
137 @EXPRESSIONS_HELP@ 172 @EXPRESSIONS_HELP@
138 173