Mercurial > repos > vmarcon > plot_pca
comparison plot_pca.xml @ 0:610e86c430a9 draft default tip
planemo upload commit 0b661bcf940c03e11becd42b3321df9573b591b2
author | vmarcon |
---|---|
date | Mon, 23 Oct 2017 09:34:56 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:610e86c430a9 |
---|---|
1 <!--# Copyright (C) 2017 INRA | |
2 # This program is free software: you can redistribute it and/or modify | |
3 # it under the terms of the GNU General Public License as published by | |
4 # the Free Software Foundation, either version 3 of the License, or | |
5 # (at your option) any later version. | |
6 # | |
7 # This program is distributed in the hope that it will be useful, | |
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
10 # GNU General Public License for more details. | |
11 # | |
12 # You should have received a copy of the GNU General Public License | |
13 # along with this program. If not, see http://www.gnu.org/licenses/. | |
14 #--> | |
15 <tool id="plot_pca" name="Plot PCA" version="1.0.0"> | |
16 <description>PCA analysis</description> | |
17 <requirements> | |
18 <requirement type="package">R</requirement> | |
19 <requirement type="package">r-optparse</requirement> | |
20 <requirement type="package">r-reshape</requirement> | |
21 <requirement type="package">r-ggplot2</requirement> | |
22 <requirement type="package">r-gridextra</requirement> | |
23 <requirement type="package">r-scatterplot3d</requirement> | |
24 </requirements> | |
25 <stdio> | |
26 <!-- Anything other than zero is an error --> | |
27 <exit_code range="1:" level="fatal"/> | |
28 <exit_code range=":-1" level="fatal"/> | |
29 </stdio> | |
30 <command><![CDATA[ | |
31 Rscript $__tool_directory__/plot_pca.R | |
32 --input_matrix $input_matrix | |
33 #if $log_cond.log10: | |
34 -l $log_cond.pseudocount | |
35 #end if | |
36 #if $height | |
37 --height $height | |
38 #end if | |
39 #if $width | |
40 --width $width | |
41 #end if | |
42 #if $output | |
43 --output $output | |
44 #end if | |
45 #if $metadata_cond.metadata: | |
46 --metadata | |
47 $metadata_cond.input_metadata | |
48 #for $i, $s in enumerate( $metadata_cond.series ) | |
49 ,${s.input_metadata2} | |
50 #end for | |
51 #if $metadata_cond.color_by | |
52 --color_by $metadata_cond.color_by | |
53 #end if | |
54 #if $metadata_cond.shape_by | |
55 --shape_by $metadata_cond.shape_by | |
56 #end if | |
57 #end if | |
58 --border | |
59 --palette=$__tool_directory__/rainbow.3.txt | |
60 && | |
61 cp *.pdf $outputfile | |
62 ]]></command> | |
63 <inputs> | |
64 <param argument="--input_matrix" type="data" format="csv,tabular" label="Input Matrix"/> | |
65 | |
66 <conditional name="log_cond"> | |
67 <param name="log10" type="boolean" checked="false" truevalue="True" falsevalue="" label="Apply the log10" help="Default=No"/> | |
68 <when value="True"> | |
69 <param name="pseudocount" type="float" value="1e-04" help="Default=1e-04" /> | |
70 </when> | |
71 </conditional> | |
72 | |
73 <conditional name="metadata_cond"> | |
74 <param name="metadata" type="boolean" checked="false" truevalue="Yes" falsevalue="" label="Add file with metadata on matrix experiment?" help="must countain a key column named 'labExpId"/> | |
75 <when value="Yes"> | |
76 <param name="input_metadata" type="data" format="tsv" label="Input Metadata file"/> | |
77 <repeat name="series" title="Others Input Metadata files"> | |
78 <param name="input_metadata2" type="data" format="tsv" label="Other Input Metadata file"/> | |
79 </repeat> | |
80 <param argument="--color_by" type="text" label="Choose the fields in the metadata you want to color by" /> | |
81 <param argument="--shape_by" type="text" label="Choose the fields in the metadata you want to shape by" /> | |
82 </when> | |
83 </conditional> | |
84 | |
85 <param argument="--height" size="20" type="integer" value="7" label="Height of the plot in inches" /> | |
86 <param argument="--width" size="20" type="integer" value="7" label="Width of the plot in inches" /> | |
87 <param argument="--output" type="text" label="Output name" help="[Optional] Specify the project label for your outputs. By default it will be the name of your input file."/> | |
88 </inputs> | |
89 <outputs> | |
90 <data format="pdf" name="outputfile" label ="#if str($output)=='' then os.path.splitext(str($input_matrix.name))[0] else $output #_PCA.pdf"/> | |
91 </outputs> | |
92 <tests> | |
93 <test> | |
94 <param name="input_matrix" value="decathlon.tsv" /> | |
95 <conditional name="log_cond"> | |
96 <param name="log10" value="True" /> | |
97 <param name="pseudocount" value="1e-04" /> | |
98 </conditional> | |
99 <conditional name="metadata_cond"> | |
100 <param name="metadata" value="" /> | |
101 </conditional> | |
102 <param name="height" value="7" /> | |
103 <param name="width" value="7" /> | |
104 <param name="output" value="" /> | |
105 <output name="outputfile" file="output" compare="sim_size" /> | |
106 </test> | |
107 </tests> | |
108 | |
109 <help><![CDATA[ | |
110 | |
111 ======== | |
112 Plot PCA | |
113 ======== | |
114 | |
115 ----------- | |
116 Description | |
117 ----------- | |
118 | |
119 Plot a Principal Component Analysis (PCA) from a data matrix | |
120 | |
121 ----------- | |
122 Input files | |
123 ----------- | |
124 | |
125 +---------------------------+----------------+ | |
126 | Parameter : num + label | Format | | |
127 +===========================+================+ | |
128 | 1 : Input matrix | csv,tabular | | |
129 +---------------------------+----------------+ | |
130 | |
131 ---------- | |
132 Parameters | |
133 ---------- | |
134 | |
135 Apply the log 10 | |
136 | To normalize your data | |
137 | | |
138 | |
139 (?)Add file with metadata on matrix experiment? | |
140 | To ad metadata to the analysis | |
141 | | |
142 | |
143 Input Metadata file | |
144 | Must countain a key column named labExpId | |
145 | | |
146 | |
147 Others Metadata files | |
148 | | |
149 | |
150 Choose the fields in the metadata you want to color by | |
151 | | |
152 | |
153 Choose the fields in the metadata you want to shape by | |
154 | | |
155 | |
156 Height of the plot in inches | |
157 | default 7 inches | |
158 | | |
159 | |
160 Width of the plot in inches | |
161 | default 7 inches | |
162 | | |
163 | |
164 Output name | |
165 | Specify the project label for your outputs. By default it will be the name of your input file | |
166 | | |
167 | |
168 ------------ | |
169 Output files | |
170 ------------ | |
171 | |
172 <Input Name>_PCA.pdf | |
173 | Pdf file containing your PCA plot | |
174 | |
175 | |
176 ------ | |
177 | |
178 **Authors** | |
179 Alessandra Breschi (alessandra.breschi@crg.eu); | |
180 Sarah Djebali (sarah.djebali-quelen@inra.fr); | |
181 Valentin Marcon (valentin.marcon@inra.fr) | |
182 | |
183 Contact : sigenae-support@listes.inra.fr | |
184 | |
185 ------------- | |
186 Please cite : | |
187 ------------- | |
188 | |
189 - (Depending on the help provided you can cite us in acknowledgements) | |
190 | |
191 Acknowledgements | |
192 | We wish to thank : Alessandra Breschi, Sarah Djebali (Centre for Genomic Regulation - http://www.crg.eu/), and Valentin Marcon (Migale platform - http://migale.jouy.inra.fr/) | |
193 | |
194 | |
195 | |
196 ------ | |
197 | |
198 .. class:: infomark | |
199 | |
200 Usage: ./plot_pca.R [options] file | |
201 | |
202 Options: | |
203 -i INPUT_MATRIX, --input_matrix=INPUT_MATRIX | |
204 the matrix you want to analyze. Can be stdin | |
205 | |
206 -l, --log10 | |
207 apply the log [default=FALSE] | |
208 | |
209 -p PSEUDOCOUNT, --pseudocount=PSEUDOCOUNT | |
210 specify a pseudocount for the log [default=1e-04] | |
211 | |
212 -m METADATA, --metadata=METADATA | |
213 A list of tsv files with metadata on matrix experiment. | |
214 They must be in the format 'file1.tsv,file2.tsv' and contain a key column named 'labExpId'. Can be omitted | |
215 | |
216 --merge_mdata_on=MERGE_MDATA_ON | |
217 [default=labExpId] | |
218 | |
219 -c COLOR_BY, --color_by=COLOR_BY | |
220 choose the fields in the metadata you want to color by | |
221 | |
222 --sort_color=SORT_COLOR | |
223 A field for sorting colors. Can be omitted [default=NULL] | |
224 | |
225 -s SHAPE_BY, --shape_by=SHAPE_BY | |
226 choose the fields in the metadata you want to shape by | |
227 | |
228 --no_legend | |
229 Do not show the legend [default=FALSE] | |
230 | |
231 -r, --row_as_variables | |
232 select this if you want rows as variables [default=FALSE] | |
233 | |
234 -C PRINCOMP, --princomp=PRINCOMP | |
235 choose the principal components you want to plot. With 3 PC it gives a 3d plot [default='PC1,PC2'] | |
236 | |
237 --print_scores | |
238 Output the resuling PCs as a separate file with the extension PCs.tsv [default=FALSE] | |
239 | |
240 --print_loadings | |
241 Output the resulting loadings as a separate file with the extension loadings.tsv [default=FALSE] | |
242 | |
243 --print_lambdas | |
244 Output the resulting lambdas (stdev) as a separate file with the extension lambdas.tsv [default=FALSE] | |
245 | |
246 --biplot | |
247 If active, the factor of the color is used as grouping factor. | |
248 Centroids are computed and the first <top> loadings are plotted wrt to the two specified components [default=FALSE] | |
249 | |
250 --palette=PALETTE | |
251 File with the color palette [default=/users/rg/abreschi/R/palettes/cbbPalette1.15.txt] | |
252 | |
253 --border | |
254 Black border to dots [default=FALSE] | |
255 | |
256 --shapes=SHAPES | |
257 File with the shapes [default=NULL] | |
258 | |
259 -L LABELS, --labels=LABELS | |
260 The metadata field with the labels [default=NULL] | |
261 | |
262 -B BASE_SIZE, --base_size=BASE_SIZE | |
263 Base font size [default=16] | |
264 | |
265 -H HEIGHT, --height=HEIGHT | |
266 Height of the plot in inches [default=7] | |
267 | |
268 -W WIDTH, --width=WIDTH | |
269 Width of the plot in inches [default=7] | |
270 | |
271 -o OUTPUT, --output=OUTPUT | |
272 output file name [default=pca.out] | |
273 | |
274 -v, --verbose | |
275 verbose output [default=FALSE] | |
276 | |
277 -h, --help | |
278 Show this help message and exit | |
279 | |
280 ]]></help> | |
281 </tool> |