comparison scanpy-run-pca.xml @ 1:7798c318e7d7 draft

"planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/tree/develop/tools/tertiary-analysis/scanpy commit 4846776f55931e176f7e77af7c185ec6fec7d142"
author ebi-gxa
date Mon, 16 Sep 2019 08:12:12 -0400
parents 5063cd7f8c89
children 242cf7e1fd0c
comparison
equal deleted inserted replaced
0:5063cd7f8c89 1:7798c318e7d7
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <tool id="scanpy_run_pca" name="Scanpy RunPCA" version="@TOOL_VERSION@+galaxy1"> 2 <tool id="scanpy_run_pca" name="Scanpy RunPCA" version="@TOOL_VERSION@+galaxy0">
3 <description>for dimensionality reduction</description> 3 <description>for dimensionality reduction</description>
4 <macros> 4 <macros>
5 <import>scanpy_macros.xml</import> 5 <import>scanpy_macros2.xml</import>
6 </macros> 6 </macros>
7 <expand macro="requirements"/> 7 <expand macro="requirements"/>
8 <command detect_errors="exit_code"><![CDATA[ 8 <command detect_errors="exit_code"><![CDATA[
9 ln -s '${input_obj_file}' input.h5 && 9 ln -s '${input_obj_file}' input.h5 &&
10 PYTHONIOENCODING=utf-8 scanpy-run-pca.py 10 PYTHONIOENCODING=utf-8 scanpy-run-pca
11 -i input.h5 11 --n-comps '${n_pcs}'
12 -f '${input_format}' 12 #if $run_mode.chunked
13 -o output.h5 13 --chunked
14 -F '${output_format}' 14 --chunk-size '${run_mode.chunk_size}'
15 -n '${n_pcs}' 15 #else
16 #if $run_mode.chunked 16 ${run_mode.zero_center}
17 -c 17 #if $run_mode.svd_solver
18 --chunk-size '${run_mode.chunk_size}' 18 --svd-solver '${run_mode.svd_solver}'
19 #else
20 #if $run_mode.zero_center
21 -z
22 #else
23 -Z
24 #end if
25 #if $run_mode.svd_solver
26 --svd-solver '${run_mode.svd_solver}'
27 #end if
28 #if $run_mode.random_seed is not None
29 -s '${run_mode.random_seed}'
30 #end if
31 #end if 19 #end if
32 #if $extra_outputs: 20 #if $run_mode.random_seed is not None
33 #set extras = ' '.join(['--output-{}-file {}.csv'.format(x, x) for x in str($extra_outputs).split(',')]) 21 --random-state '${run_mode.random_seed}'
34 ${extras}
35 #end if 22 #end if
36 23 #end if
37 @PLOT_OPTS@ 24 #if $extra_outputs and "embeddings" in str($extra_outputs).split(','):
25 --export-embedding embeddings.tsv
26 #end if
27 @INPUT_OPTS@
28 @OUTPUT_OPTS@
38 ]]></command> 29 ]]></command>
39 30
40 <inputs> 31 <inputs>
41 <expand macro="input_object_params"/> 32 <expand macro="input_object_params"/>
42 <expand macro="output_object_params"/> 33 <expand macro="output_object_params"/>
43 <param name="n_pcs" argument="--n-pcs" type="integer" value="50" label="Number of PCs to produce"/> 34 <param name="n_pcs" argument="--n-comps" type="integer" min="2" value="50" label="Number of PCs to produce"/>
44 <conditional name="run_mode"> 35 <conditional name="run_mode">
45 <param name="chunked" argument="--chunked" type="boolean" checked="false" label="Perform incremental PCA by chunks"/> 36 <param name="chunked" argument="--chunked" type="boolean" checked="false" label="Perform incremental PCA by chunks"/>
46 <when value="true"> 37 <when value="true">
47 <param name="chunk_size" argument="--chunk-size" type="integer" value="0" label="Chunk size"/> 38 <param name="chunk_size" argument="--chunk-size" type="integer" value="0" label="Chunk size"/>
48 </when> 39 </when>
49 <when value="false"> 40 <when value="false">
50 <param name="zero_center" argument="--zero-center" type="boolean" checked="true" label="Zero center data before scaling"/> 41 <param name="zero_center" argument="--zero-center" type="boolean" truevalue="" falsevalue="--no-zero-center" checked="true"
42 label="Zero center data before scaling"/>
51 <param name="svd_solver" argument="--svd-solver" type="select" optional="true" label="SVD solver"> 43 <param name="svd_solver" argument="--svd-solver" type="select" optional="true" label="SVD solver">
52 <option value="arpack">ARPACK</option> 44 <option value="arpack">ARPACK</option>
53 <option value="randomised">Randomised</option> 45 <option value="randomized">Randomised</option>
54 </param> 46 </param>
55 <param name="random_seed" argument="--random-seed" type="integer" value="0" label="random_seed for numpy random number generator"/> 47 <param name="random_seed" argument="--random-state" type="integer" value="0" label="random seed for numpy random number generator"/>
56 </when> 48 </when>
57 </conditional> 49 </conditional>
58 50
59 <param name="extra_outputs" type="select" multiple="true" optional="true" label="Type of output"> 51 <param name="extra_outputs" type="select" multiple="true" display="checkboxes" optional="true" label="Export extra output">
60 <option value="embeddings">PCA embeddings</option> 52 <option value="embeddings">PCA embeddings</option>
61 <option value="loadings">PCA loadings</option>
62 <option value="stdev">PCs stdev</option>
63 <option value="var-ratio">PCs proportion of variance</option>
64 </param> 53 </param>
65 54
66 <conditional name="do_plotting">
67 <param name="plot" type="boolean" checked="false" label="Make PCA plot"/>
68 <when value="true">
69 <expand macro="output_plot_params"/>
70 </when>
71 <when value="false"/>
72 </conditional>
73 </inputs> 55 </inputs>
74 56
75 <outputs> 57 <outputs>
76 <data name="output_h5" format="h5" from_work_dir="output.h5" label="${tool.name} on ${on_string}: PCA object"/> 58 <data name="output_h5" format="h5" from_work_dir="output.h5" label="${tool.name} on ${on_string}: PCA object"/>
77 <data name="output_png" format="png" from_work_dir="output.png" label="${tool.name} on ${on_string}: PCA plot"> 59 <data name="output_embed" format="tsv" from_work_dir="embeddings.tsv" label="${tool.name} on ${on_string}: PCA embeddings">
78 <filter>do_plotting['plot']</filter>
79 </data>
80 <data name="output_embed" format="csv" from_work_dir="embeddings.csv" label="${tool.name} on ${on_string}: PCA embeddings">
81 <filter>extra_outputs and 'embeddings' in extra_outputs.split(',')</filter> 60 <filter>extra_outputs and 'embeddings' in extra_outputs.split(',')</filter>
82 </data>
83 <data name="output_load" format="csv" from_work_dir="loadings.csv" label="${tool.name} on ${on_string}: PCA loadings">
84 <filter>extra_outputs and 'loadings' in extra_outputs.split(',')</filter>
85 </data>
86 <data name="output_stdev" format="csv" from_work_dir="stdev.csv" label="${tool.name} on ${on_string}: PCA stdev">
87 <filter>extra_outputs and 'stdev' in extra_outputs.split(',')</filter>
88 </data>
89 <data name="output_vprop" format="csv" from_work_dir="var-ratio.csv" label="${tool.name} on ${on_string}: PC explained proportion of variance">
90 <filter>extra_outputs and 'var-ratio' in extra_outputs.split(',')</filter>
91 </data> 61 </data>
92 </outputs> 62 </outputs>
93 63
94 <tests> 64 <tests>
95 <test> 65 <test>
100 <param name="n_pcs" value="50"/> 70 <param name="n_pcs" value="50"/>
101 <param name="zero_center" value="true"/> 71 <param name="zero_center" value="true"/>
102 <param name="svd_solver" value="arpack"/> 72 <param name="svd_solver" value="arpack"/>
103 <param name="random_seed" value="0"/> 73 <param name="random_seed" value="0"/>
104 <param name="chunked" value="false"/> 74 <param name="chunked" value="false"/>
105 <param name="plot" value="true"/>
106 <param name="color_by" value="n_genes"/>
107 <output name="output_h5" file="run_pca.h5" ftype="h5" compare="sim_size"/> 75 <output name="output_h5" file="run_pca.h5" ftype="h5" compare="sim_size"/>
108 <output name="output_png" file="run_pca.png" ftype="png" compare="sim_size"/>
109 <output name="output_embed" file="run_pca.embeddings.csv" ftype="csv" compare="sim_size"> 76 <output name="output_embed" file="run_pca.embeddings.csv" ftype="csv" compare="sim_size">
110 <assert_contents> 77 <assert_contents>
111 <has_n_columns n="50" sep=","/> 78 <has_n_columns n="50" sep=","/>
112 </assert_contents> 79 </assert_contents>
113 </output> 80 </output>
114 </test> 81 </test>
115 </tests> 82 </tests>
116 83
117 <help><![CDATA[ 84 <help><![CDATA[
118 ======================================================================================================= 85 ================================================================================
119 Computes PCA (principal component analysis) coordinates, loadings and variance decomposition (`tl.pca`) 86 Dimensionality reduction by PCA (principal component analysis) (`scanpy.pp.pca`)
120 ======================================================================================================= 87 ================================================================================
121 88
122 It uses the implementation of *scikit-learn*. 89 It uses the implementation of *scikit-learn*.
123 90
124 @HELP@ 91 @HELP@
125 92