comparison seurat_run_umap.xml @ 0:b9424c715a0d draft default tip

planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
author ebi-gxa
date Sat, 02 Mar 2024 10:40:43 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:b9424c715a0d
1 <tool id="seurat_run_umap" name="Seurat UMAP" profile="18.01" version="@SEURAT_VERSION@+galaxy0">
2 <description>dimensionality reduction</description>
3 <macros>
4 <import>seurat_macros.xml</import>
5 </macros>
6 <expand macro="requirements" />
7 <expand macro="version" />
8
9 <command detect_errors="exit_code"><![CDATA[
10 @INPUT_OBJ_PREAMBLE@
11
12 seurat-run-umap.R
13 @INPUT_OBJECT@
14 @OUTPUT_OBJECT@
15
16 #if $dims
17 --dims '$dims'
18 #end if
19
20 #if $reduction
21 --reduction '$reduction'
22 #end if
23
24 #if $adv.graph
25 --graph '$adv.graph'
26 #end if
27
28 #if $assay
29 --assay '$assay'
30 #end if
31
32 #if $adv.nn_name
33 --nn.name '$adv.nn_name'
34 #end if
35
36 #if $adv.slot
37 --slot '$adv.slot'
38 #end if
39
40 #if $adv.umap_method
41 --umap.method '$adv.umap_method'
42 #end if
43
44 #if $adv.reduction_model
45 --reduction.model '$adv.reduction_model'
46 #end if
47 $adv.return_model
48
49 #if $n_neighbors
50 --n.neighbors '$n_neighbors'
51 #end if
52
53 #if $n_components
54 --n.components '$n_components'
55 #end if
56
57 #if $adv.metric
58 --metric '$adv.metric'
59 #end if
60
61 #if $adv.n_epochs
62 --n.epochs '$adv.n_epochs'
63 #end if
64
65 #if $adv.learning_rate
66 --learning.rate '$adv.learning_rate'
67 #end if
68
69 #if $adv.min_dist
70 --min.dist '$adv.min_dist'
71 #end if
72
73 #if $adv.spread
74 --spread '$adv.spread'
75 #end if
76
77 #if $local_connectivity
78 --local.connectivity '$local_connectivity'
79 #end if
80
81 #if $adv.repulsion_strength
82 --repulsion.strength '$adv.repulsion_strength'
83 #end if
84
85 #if $adv.negative_sample_rate
86 --negative.sample.rate '$adv.negative_sample_rate'
87 #end if
88
89 #if $adv.a
90 --a '$adv.a'
91 #end if
92
93 #if $adv.b
94 --b '$adv.b'
95 #end if
96 $adv.uwot_sgd
97
98 #if $seed_use
99 --seed.use '$seed_use'
100 #end if
101
102 ##if $adv.metric_kwds
103 ## --metric.kwds '$adv.metric_kwds'
104 ##end if
105 $adv.angular_rp_forest
106 $adv.verbose
107
108 #if $reduction_name
109 --reduction.name '$reduction_name'
110 #end if
111
112 #if $reduction_key
113 --reduction.key '$reduction_key'
114 #end if
115
116 ]]></command>
117
118
119 <inputs>
120 <expand macro="input_object_params"/>
121 <expand macro="output_object_params"/>
122 <param label="Dims" optional='true' name="dims" argument="--dims" type="text" help="Which dimensions to use as input features, used only if list('features') is NULL">
123 <validator type="regex" message="Value may only include numbers, colon, 'c', commas and parenthesis, to do things such as 1:10 or c(1,2,3).">^[c0-9:,)(]+$</validator>
124 </param>
125 <param label="Reduction" optional='true' value='pca' name="reduction" argument="--reduction" type="text" help="Which dimensional reduction (PCA or ICA) to use for the UMAP input. Default is PCA"/>
126 <param label="Assay" optional='true' name="assay" argument="--assay" type="text" help="Assay to pull data for when using list('features') , or assay used to construct Graph if running UMAP on a Graph"/>
127 <param label="N neighbors" optional='true' value='30' name="n_neighbors" argument="--n.neighbors" type="integer" help="This determines the number of neighboring points used in local approximations of manifold structure. Larger values will result in more global structure being preserved at the loss of detailed local structure. In general this parameter should often be in the range 5 to 50."/>
128 <param label="N components" optional='true' value='2' name="n_components" argument="--n.components" type="integer" help="The dimension of the space to embed into."/>
129 <param label="Local connectivity" optional='true' value='1' name="local_connectivity" argument="--local.connectivity" type="integer" help="The local connectivity required - i.e. the number of nearest neighbors that should be assumed to be connected at a local level. The higher this value the more connected the manifold becomes locally. In practice this should be not more than the local intrinsic dimension of the manifold."/>
130 <param label="Seed use" optional='true' value='42' name="seed_use" argument="--seed.use" type="integer" help="Set a random seed. By default, sets the seed to 42. Setting NULL will not set a seed"/>
131 <param label="Reduction name" optional='true' value='umap' name="reduction_name" argument="--reduction.name" type="text" help="Name to store dimensional reduction under in the Seurat object"/>
132 <param label="Reduction key" optional='true' value='UMAP' name="reduction_key" argument="--reduction.key" type="text" help="dimensional reduction key, specifies the string before the number for the dimension names. UMAP by default"/>
133 <section name="adv" title="Advanced options">
134 <param label="Graph" optional='true' name="graph" argument="--graph" type="text" help="Name of graph on which to run UMAP"/>
135 <param label="Nn name" optional='true' name="nn_name" argument="--nn.name" type="text" help="Name of knn output on which to run UMAP"/>
136 <param label="Slot" optional='true' value='data' name="slot" argument="--slot" type="text" help="The slot used to pull data for when using list('features') . data slot is by default."/>
137 <param label="Umap method" optional='true' value='uwot' name="umap_method" argument="--umap.method" type="text" help="UMAP implementation to run. Can be list uwot, uwot-learn, umap-learn (rquires python umap-learn package)."/>
138 <param label="Reduction model" optional='true' name="reduction_model" argument="--reduction.model" type="text" help="list('DimReduc') object that contains the umap model"/>
139 <param label="Return model" optional='true' value='false' name="return_model" argument="--return.model" type="boolean" truevalue='--return.model' falsevalue='' checked='false' help="whether UMAP will return the uwot model"/>
140 <param label="Metric" optional='true' value='cosine' name="metric" argument="--metric" type="text" help="metric: This determines the choice of metric used to measure distance in the input space. A wide variety of metrics are already coded, and a user defined function can be passed as long as it has been JITd by numba."/>
141 <param label="N epochs" optional='true' name="n_epochs" argument="--n.epochs" type="integer" help="The number of training epochs to be used in optimizing the low dimensional embedding. Larger values result in more accurate embeddings. If NULL is specified, a value will be selected based on the size of the input dataset (200 for large datasets, 500 for small)."/>
142 <param label="Learning rate" optional='true' value='1' name="learning_rate" argument="--learning.rate" type="integer" help="The initial learning rate for the embedding optimization."/>
143 <param label="Min dist" optional='true' value='0' name="min_dist" argument="--min.dist" type="integer" help="This controls how tightly the embedding is allowed compress points together. Larger values ensure embedded points are moreevenly distributed, while smaller values allow the algorithm to optimise more accurately with regard to local structure. Sensible values are in the range 0.001 to 0.5."/>
144 <param label="Spread" optional='true' value='1' name="spread" argument="--spread" type="integer" help="The effective scale of embedded points. In combination with min.dist this determines how clustered/clumped the embedded points are."/>
145 <param label="Repulsion strength" optional='true' value='1' name="repulsion_strength" argument="--repulsion.strength" type="integer" help="Weighting applied to negative samples in low dimensional embedding optimization. Values higher than one will result in greater weight being given to negative samples."/>
146 <param label="Negative sample rate" optional='true' value='5' name="negative_sample_rate" argument="--negative.sample.rate" type="integer" help="The number of negative samples to select per positive sample in the optimization process. Increasing this value will result in greater repulsive force being applied, greater optimization cost, but slightly more accuracy."/>
147 <param label="A" optional='true' name="a" argument="--a" type="text" help="More specific parameters controlling the embedding. If NULL, these values are set automatically as determined by min. dist and spread. Parameter of differentiable approximation of right adjoint functor."/>
148 <param label="B" optional='true' name="b" argument="--b" type="text" help="More specific parameters controlling the embedding. If NULL, these values are set automatically as determined by min. dist and spread. Parameter of differentiable approximation of right adjoint functor."/>
149 <param label="Uwot sgd" optional='true' value='false' name="uwot_sgd" argument="--uwot.sgd" type="boolean" truevalue='--uwot.sgd' falsevalue='' checked='false' help="Set list('uwot::umap(fast_sgd = TRUE)') ; see list('umap') for more details"/>
150 <!-- Potential injection concern, needs to be handled better before being enabled.
151 <param label="Metric kwds" optional='true' name="metric_kwds" argument="metric.kwds" type="text" help="A dictionary of arguments to pass on to the metric, such as the p value for Minkowski distance. If NULL then no arguments are passed on."/>
152 -->
153 <param label="Angular rp forest" optional='true' value='false' name="angular_rp_forest" argument="--angular.rp.forest" type="boolean" truevalue='--angular.rp.forest' falsevalue='' checked='false' help="Whether to use an angular random projection forest to initialise the approximate nearest neighbor search. This can be faster, but is mostly on useful for metric that use an angular style distance such as cosine, correlation etc. In the case of those metrics angular forests will be chosen automatically."/>
154 <param label="Verbose" optional='true' value='true' name="verbose" argument="--do-not-verbose" type="boolean" truevalue='' falsevalue='--do-not-verbose' checked='true' help="Controls verbosity"/>
155 </section>
156 </inputs>
157
158 <outputs>
159 <expand macro="output_files"/>
160 </outputs>
161
162
163
164 <tests>
165 <!-- MANUAL TESTS -->
166 <test>
167 <param name="rds_seurat_file" ftype="rdata" value="E-MTAB-6077-3k_features_90_cells-clusters.rds"/>
168 <param name="dims" value="1:10"/>
169 <output name="rds_seurat_file" ftype="rdata" >
170 <assert_contents>
171 <has_size value="5067150" delta="200000"/>
172 </assert_contents>
173 </output>
174 </test>
175 <test>
176 <param name="rds_seurat_file" ftype="rdata" value="E-MTAB-6077-3k_features_90_cells-clusters.rds"/>
177 <param name="dims" value="c(1,2,3,4,5,6,7,8,9,10)"/>
178 <output name="rds_seurat_file" ftype="rdata" >
179 <assert_contents>
180 <has_size value="5067150" delta="200000"/>
181 </assert_contents>
182 </output>
183 </test>
184 <!-- END MANUAL TESTS -->
185 </tests>
186 <help>
187 <!-- MANUAL HELP -->
188 <![CDATA[
189 .. class:: infomark
190
191 **What it does**
192
193 @SEURAT_INTRO@
194
195 For more details on this method, please see the individual in-line documentation or the same method's Seurat 4 documentation.
196
197 @VERSION_HISTORY@
198 ]]>
199 <!-- END MANUAL HELP -->
200 </help>
201 <expand macro="citations" />
202 </tool>