1 | <tool id="fakePhe1" name="Null phenotypes"> |
---|
2 | <description>for testing</description> |
---|
3 | <code file="rgfakePhe_code.py"/> |
---|
4 | <command interpreter="python">rgfakePhe.py '$infile1.extra_files_path/$infile1.metadata.base_name' |
---|
5 | "$title1" '$ppheout' '$ppheout.files_path' '$script_file' |
---|
6 | </command> |
---|
7 | <inputs> |
---|
8 | <page> |
---|
9 | <param name="infile1" |
---|
10 | type="data" format="pbed,lped" |
---|
11 | label="Pedigree from Dataset" /> |
---|
12 | <param name="title1" type="text" |
---|
13 | value="My null phenos" size="60" |
---|
14 | label="Title for outputs"/> |
---|
15 | <param name="dbkey" type="hidden" value='hg18' /> |
---|
16 | </page> |
---|
17 | <page> |
---|
18 | <repeat name="fakePhe" title="Phenotypes to simulate under the Null"> |
---|
19 | <param name="pName" type="text" label="Phenotype Name"> |
---|
20 | </param> |
---|
21 | <conditional name="series"> |
---|
22 | <param name="phetype" type="select" label="Phenotype Distribution"> |
---|
23 | <option value="rnorm" selected="true">Random Normal variate</option> |
---|
24 | <option value="unif">Random Uniform variate</option> |
---|
25 | <option value="rgamma">Random Gamma variate</option> |
---|
26 | <option value="weibull">Random Weibull variate</option> |
---|
27 | <option value="exponential">Random exponential variate</option> |
---|
28 | <option value="poisson">Random Poisson variate</option> |
---|
29 | <option value="cat">Random categorical choice</option> |
---|
30 | </param> |
---|
31 | <when value="poisson"> |
---|
32 | <param name="lamb" type="integer" value="2" label="Lambda (mean and variance)" /> |
---|
33 | </when> |
---|
34 | <when value="rnorm"> |
---|
35 | <param name="Mean" type="float" value="0.0" label="Mean" /> |
---|
36 | <param name="SD" type="float" label="SD" value="1.0"/> |
---|
37 | </when> |
---|
38 | <when value="exponential"> |
---|
39 | <param name="Mean" type="float" value="1.0" label="Mean" help="lambda for the exponential will be 1.0/Mean" />= |
---|
40 | </when> |
---|
41 | <when value="rgamma"> |
---|
42 | <param name="Alpha" type="float" value="10" label="Alpha"> |
---|
43 | </param> |
---|
44 | <param name="Beta" type="float" label="Beta" value="1.0"> |
---|
45 | </param> |
---|
46 | </when> |
---|
47 | <when value="weibull"> |
---|
48 | <param name="Alpha" type="float" value="10" label="Alpha"> |
---|
49 | </param> |
---|
50 | <param name="Beta" type="float" label="Beta" value="1.0"> |
---|
51 | </param> |
---|
52 | </when> |
---|
53 | <when value="unif"> |
---|
54 | <param name="low" type="float" value="0.0" label="Lowest uniform value"> |
---|
55 | </param> |
---|
56 | <param name="hi" type="float" label="Highest uniform value" value="1.0" |
---|
57 | help="A uniform value will be generated from the range specified (low to high) - eg 0.0 to 1.0"> |
---|
58 | </param> |
---|
59 | </when> |
---|
60 | <when value="cat"> |
---|
61 | <param name="values" type="text" value="A,B,C" label="Comma separated values to choose from" |
---|
62 | help = "Each of the comma separated values will have an equal probability of being chosen - eg 'A1,A2,B1,B2'"> |
---|
63 | </param> |
---|
64 | </when> |
---|
65 | </conditional> |
---|
66 | </repeat> |
---|
67 | </page> |
---|
68 | </inputs> |
---|
69 | <outputs> |
---|
70 | <data format="pphe" name="ppheout" metadata_source="infile1" /> |
---|
71 | </outputs> |
---|
72 | <configfiles> |
---|
73 | <configfile name="script_file"> |
---|
74 | #for $n, $f in enumerate($fakePhe) |
---|
75 | #if $f.series.phetype=='rnorm' |
---|
76 | {'pN':'$f.pName','pT':'rnorm','pP':"{'Mean':'$f.series.Mean', 'SD':'$f.series.SD'}"} |
---|
77 | #elif $f.series.phetype=='rgamma' |
---|
78 | {'pN':'$f.pName','pT':'rgamma','pP':"{'Alpha':'$f.series.Alpha', 'Beta':'$f.series.Beta'}"} |
---|
79 | #elif $f.series.phetype=='poisson' |
---|
80 | {'pN':'$f.pName','pT':'poisson','pP':"{'lamb':'$f.series.lamb',}"} |
---|
81 | #elif $f.series.phetype=='exponential' |
---|
82 | {'pN':'$f.pName','pT':'exponential','pP':"{'Mean':'$f.series.Mean',}"} |
---|
83 | #elif $f.series.phetype=='weibull' |
---|
84 | {'pN':'$f.pName','pT':'weibull','pP':"{'Alpha':'$f.series.Alpha', 'Beta':'$f.series.Beta'}"} |
---|
85 | #elif $f.series.phetype=='cat' |
---|
86 | {'pN':'$f.pName','pT':'$f.series.phetype','pP':"{'values':'$f.series.values'}"} |
---|
87 | #elif $f.series.phetype=='unif' |
---|
88 | {'pN':'$f.pName','pT':'$f.series.phetype','pP':"{'low':'$f.series.low','hi':'$f.series.hi'}"} |
---|
89 | #end if |
---|
90 | #end for |
---|
91 | </configfile> |
---|
92 | </configfiles> |
---|
93 | <help> |
---|
94 | .. class:: infomark |
---|
95 | |
---|
96 | This tool allows you to generate an arbitrary (sort of) |
---|
97 | synthetic phenotype file with measurements drawn from normal, |
---|
98 | gamma, weibull, exponential, uniform or categorical distributions. These are for testing under |
---|
99 | the null hypothesis of no association - the values are random but |
---|
100 | from user specified distributions. |
---|
101 | |
---|
102 | Two output files will appear - one for FBAT and the other for Plink since unfortunately, |
---|
103 | they have slightly differing requirements for the header row. |
---|
104 | |
---|
105 | ----- |
---|
106 | |
---|
107 | .. class:: warningmark |
---|
108 | |
---|
109 | This tool is very experimental |
---|
110 | |
---|
111 | ----- |
---|
112 | |
---|
113 | - **Pedigree** is a library pedigree file - the id's will be used in the synthetic null phenotypes |
---|
114 | - **Title** is a name to give to the output phenotype file |
---|
115 | |
---|
116 | On the next page, you can add an unlimited number of various kinds of phenotypes including choices for |
---|
117 | categorical ones or distributions with specific parameters |
---|
118 | |
---|
119 | Just keep using the "Add new phenotype" button to add new specifications until you're done. |
---|
120 | Use the Execute button to run the program and generate the null phenotype data. |
---|
121 | The new files will be available on the drop down lists for appropriate tools - eg the |
---|
122 | FBAT format one will be available if you run the FBAT modelling tool. |
---|
123 | |
---|
124 | **Attribution** |
---|
125 | Originally designed and written for the Rgenetics |
---|
126 | series of Galaxy tools, and |
---|
127 | copyright Ross Lazarus 2007 (ross period lazarus at gmail period com) |
---|
128 | Licensed under the terms of the LGPL |
---|
129 | as documented http://www.gnu.org/licenses/lgpl.html |
---|
130 | |
---|
131 | </help> |
---|
132 | </tool> |
---|