comparison dimension_reduction_clustering.xml @ 1:8f8bef61fd0b draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/snapatac2 commit 1e34deee1e39c0c65e1e29a9d28becc7aaf23a4f
author iuc
date Thu, 23 May 2024 15:19:58 +0000
parents af821711b356
children d3ea0ba3d066
comparison
equal deleted inserted replaced
0:af821711b356 1:8f8bef61fd0b
16 16
17 @CMD_imports@ 17 @CMD_imports@
18 @CMD_read_inputs@ 18 @CMD_read_inputs@
19 19
20 #if $method.method == 'tl.spectral' 20 #if $method.method == 'tl.spectral'
21 #if $method.features 21 #if $method.features
22 with open('$method.features') as f: 22 with open('$method.features') as f:
23 features_mask = [x.lower().capitalize() == "True" for x in f.read().splitlines()] 23 features_mask = [x.lower().capitalize() == "True" for x in f.read().splitlines()]
24 #end if 24 #end if
25 sa.tl.spectral( 25 sa.tl.spectral(
26 adata, 26 adata,
27 n_comps = $method.n_comps, 27 n_comps = $method.n_comps,
28 #if $method.features 28 #if $method.features
29 features = features_mask, 29 features = features_mask,
30 #end if 30 #end if
31 random_state = $method.random_state, 31 random_state = $method.random_state,
32 #if $method.sample_size 32 #if $method.sample_size
33 sample_size = $method.sample_size, 33 sample_size = $method.sample_size,
34 #end if 34 #end if
35 chunk_size = $method.chunk_size, 35 chunk_size = $method.chunk_size,
36 distance_metric = '$method.distance_metric', 36 distance_metric = '$method.distance_metric',
37 weighted_by_sd = $method.weighted_by_sd, 37 weighted_by_sd = $method.weighted_by_sd,
38 inplace = True 38 inplace = True
39 ) 39 )
40 40
41 #else if $method.method == 'tl.umap' 41 #else if $method.method == 'tl.umap'
42 sa.tl.umap( 42 sa.tl.umap(
43 adata, 43 adata,
44 n_comps = $method.n_comps, 44 n_comps = $method.n_comps,
45 #if $method.use_dims != '' 45 #if $method.use_dims != ''
46 #set $dims = ([x.strip() for x in str($method.use_dims).split(',')]) 46 #set $dims = ([x.strip() for x in str($method.use_dims).split(',')])
47 use_dims=$dims, 47 use_dims=$dims,
48 #end if 48 #end if
49 use_rep = '$method.use_rep', 49 use_rep = '$method.use_rep',
50 key_added = '$method.key_added', 50 key_added = '$method.key_added',
51 random_state = $method.random_state, 51 random_state = $method.random_state,
52 inplace = True 52 inplace = True
53 ) 53 )
54 54
55 #else if $method.method == 'pp.knn' 55 #else if $method.method == 'pp.knn'
56 sa.pp.knn( 56 sa.pp.knn(
57 adata, 57 adata,
58 n_neighbors = $method.n_neighbors, 58 n_neighbors = $method.n_neighbors,
59 #if $method.use_dims != '' 59 #if $method.use_dims != ''
60 #set $dims = ([x.strip() for x in str($method.use_dims).split(',')]) 60 #set $dims = ([x.strip() for x in str($method.use_dims).split(',')])
61 use_dims=$dims, 61 use_dims=$dims,
62 #end if 62 #end if
63 use_rep = '$method.use_rep', 63 use_rep = '$method.use_rep',
64 method = '$method.algorithm', 64 method = '$method.algorithm',
65 inplace = True, 65 inplace = True,
66 random_state = $method.random_state 66 random_state = $method.random_state
67 ) 67 )
68 68
69 #else if $method.method == 'tl.dbscan' 69 #else if $method.method == 'tl.dbscan'
70 sa.tl.dbscan( 70 sa.tl.dbscan(
71 adata, 71 adata,
72 eps = $method.eps, 72 eps = $method.eps,
73 min_samples = $method.min_samples, 73 min_samples = $method.min_samples,
74 leaf_size = $method.leaf_size, 74 leaf_size = $method.leaf_size,
75 use_rep = '$method.use_rep', 75 use_rep = '$method.use_rep',
76 key_added = '$method.key_added' 76 key_added = '$method.key_added'
77 ) 77 )
78 78
79 #else if $method.method == 'tl.hdbscan' 79 #else if $method.method == 'tl.hdbscan'
80 sa.tl.hdbscan( 80 sa.tl.hdbscan(
81 adata, 81 adata,
82 min_cluster_size = $method.min_cluster_size, 82 min_cluster_size = $method.min_cluster_size,
83 #if $method.min_samples 83 #if $method.min_samples
84 min_samples = $method.min_samples, 84 min_samples = $method.min_samples,
85 #end if 85 #end if
86 cluster_selection_epsilon = $method.cluster_selection_epsilon, 86 cluster_selection_epsilon = $method.cluster_selection_epsilon,
87 alpha = $method.alpha, 87 alpha = $method.alpha,
88 cluster_selection_method = '$method.cluster_selection_method', 88 cluster_selection_method = '$method.cluster_selection_method',
89 random_state = $method.random_state, 89 random_state = $method.random_state,
90 use_rep = '$method.use_rep', 90 use_rep = '$method.use_rep',
91 key_added = '$method.key_added' 91 key_added = '$method.key_added'
92 ) 92 )
93 93
94 #else if $method.method == 'tl.leiden' 94 #else if $method.method == 'tl.leiden'
95 sa.tl.leiden( 95 sa.tl.leiden(
96 adata, 96 adata,
97 resolution = $method.resolution, 97 resolution = $method.resolution,
98 objective_function = '$method.objective_function', 98 objective_function = '$method.objective_function',
99 min_cluster_size = $method.min_cluster_size, 99 #if $method.objective_function == 'RBConfiguration'
100 n_iterations = $method.n_iterations, 100 use_leidenalg = True,
101 random_state = $method.random_state, 101 #end if
102 key_added = '$method.key_added', 102 min_cluster_size = $method.min_cluster_size,
103 weighted = $method.weighted, 103 n_iterations = $method.n_iterations,
104 inplace = True 104 random_state = $method.random_state,
105 key_added = '$method.key_added',
106 weighted = $method.weighted,
107 inplace = True
105 ) 108 )
106 109
107 #else if $method.method == 'tl.kmeans' 110 #else if $method.method == 'tl.kmeans'
108 sa.tl.kmeans( 111 sa.tl.kmeans(
109 adata, 112 adata,
110 n_clusters = $method.n_clusters, 113 n_clusters = $method.n_clusters,
111 n_iterations = $method.n_iterations, 114 n_iterations = $method.n_iterations,
112 random_state = $method.random_state, 115 random_state = $method.random_state,
113 use_rep = '$method.use_rep', 116 use_rep = '$method.use_rep',
114 key_added = '$method.key_added' 117 key_added = '$method.key_added'
115 ) 118 )
116 119
117 #else if $method.method == 'tl.aggregate_X' 120 #else if $method.method == 'tl.aggregate_X'
118 sa.tl.aggregate_X( 121 sa.tl.aggregate_X(
119 adata, 122 adata,
120 #if $method.groupby != '' 123 #if $method.groupby != ''
121 groupby = '$method.groupby', 124 groupby = '$method.groupby',
122 #end if 125 #end if
123 normalize = '$method.normalize' 126 normalize = '$method.normalize'
124 ) 127 )
125 128
126 #else if $method.method == 'tl.aggregate_cells' 129 #else if $method.method == 'tl.aggregate_cells'
127 sa.tl.aggregate_cells( 130 sa.tl.aggregate_cells(
128 adata, 131 adata,
129 use_rep = '$method.use_rep', 132 use_rep = '$method.use_rep',
130 #if $method.target_num_cells 133 #if $method.target_num_cells
131 target_num_cells = $method.target_num_cells, 134 target_num_cells = $method.target_num_cells,
132 #end if 135 #end if
133 min_cluster_size = $method.min_cluster_size, 136 min_cluster_size = $method.min_cluster_size,
134 random_state = $method.random_state, 137 random_state = $method.random_state,
135 key_added = '$method.key_added', 138 key_added = '$method.key_added',
136 inplace = True 139 inplace = True
137 ) 140 )
138 #end if 141 #end if
139 142
140 @CMD_anndata_write_outputs@ 143 @CMD_anndata_write_outputs@
141 ]]></configfile> 144 ]]></configfile>
142 </configfiles> 145 </configfiles>
143 <inputs> 146 <inputs>
144 <conditional name="method"> 147 <conditional name="method">
145 <param name="method" type="select" label="Dimension reduction and Clustering"> 148 <param name="method" type="select" label="Dimension reduction and Clustering">
146 <option value="tl.spectral">Perform dimension reduction using Laplacian Eigenmap, using 'tl.spectral'</option> 149 <option value="tl.spectral">Perform dimension reduction using Laplacian Eigenmap, using 'tl.spectral'</option>
160 <expand macro="param_random_state"/> 163 <expand macro="param_random_state"/>
161 <param argument="sample_size" type="float" min="0" max="1" optional="true" label="Approximate the embedding using the Nystrom algorithm by selecting a subset of cells" help="Using this only when the number of cells is too large, e.g. &gt; 10,000,000, or the `distance_metric` is “jaccard”"/> 164 <param argument="sample_size" type="float" min="0" max="1" optional="true" label="Approximate the embedding using the Nystrom algorithm by selecting a subset of cells" help="Using this only when the number of cells is too large, e.g. &gt; 10,000,000, or the `distance_metric` is “jaccard”"/>
162 <param argument="chunk_size" type="integer" value="20000" label="chunk size"/> 165 <param argument="chunk_size" type="integer" value="20000" label="chunk size"/>
163 <param argument="distance_metric" type="select" label="distance metric: “jaccard”, “cosine“"> 166 <param argument="distance_metric" type="select" label="distance metric: “jaccard”, “cosine“">
164 <option value="jaccard">jaccard</option> 167 <option value="jaccard">jaccard</option>
165 <option value="cosine">cosine</option> 168 <option value="cosine" selected="true">cosine</option>
166 </param> 169 </param>
167 <param argument="weighted_by_sd" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Whether to weight the result eigenvectors by the square root of eigenvalues"/> 170 <param argument="weighted_by_sd" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Whether to weight the result eigenvectors by the square root of eigenvalues"/>
168 </when> 171 </when>
169 <when value="tl.umap"> 172 <when value="tl.umap">
170 <expand macro="inputs_anndata"/> 173 <expand macro="inputs_anndata"/>
193 <when value="tl.leiden"> 196 <when value="tl.leiden">
194 <expand macro="inputs_anndata"/> 197 <expand macro="inputs_anndata"/>
195 <param argument="resolution" type="float" value="1" label="Parameter value controlling the coarseness of the clustering" help="Higher values lead to more clusters"/> 198 <param argument="resolution" type="float" value="1" label="Parameter value controlling the coarseness of the clustering" help="Higher values lead to more clusters"/>
196 <param argument="objective_function" type="select" label="Whether to use the Constant Potts Model (CPM) or modularity"> 199 <param argument="objective_function" type="select" label="Whether to use the Constant Potts Model (CPM) or modularity">
197 <option value="CPM">CPM</option> 200 <option value="CPM">CPM</option>
198 <option value="modularity">modularity</option> 201 <option value="modularity" selected="true">modularity</option>
199 <option value="RBConfiguration">RBConfiguration</option> 202 <option value="RBConfiguration">RBConfiguration</option>
200 </param> 203 </param>
201 <param argument="min_cluster_size" type="integer" value="5" label="The minimum size of clusters"/> 204 <param argument="min_cluster_size" type="integer" value="5" label="The minimum size of clusters"/>
202 <expand macro="param_n_iterations"/> 205 <expand macro="param_n_iterations"/>
203 <expand macro="param_random_state"/> 206 <expand macro="param_random_state"/>
265 <tests> 268 <tests>
266 <test expect_num_outputs="2"> 269 <test expect_num_outputs="2">
267 <!-- tl.spectral --> 270 <!-- tl.spectral -->
268 <conditional name="method"> 271 <conditional name="method">
269 <param name="method" value="tl.spectral"/> 272 <param name="method" value="tl.spectral"/>
270 <param name="adata" location="https://zenodo.org/records/11199963/files/pp.select_features.pbmc_500_chr21.h5ad"/> 273 <param name="adata" location="https://zenodo.org/records/11260316/files/pp.select_features.pbmc_500_chr21.h5ad"/>
271 <param name="n_comps" value="30"/> 274 <param name="n_comps" value="30"/>
272 <param name="random_state" value="0"/> 275 <param name="random_state" value="0"/>
273 <param name="chunk_size" value="20000"/> 276 <param name="chunk_size" value="20000"/>
274 <param name="distance_metric" value="jaccard"/> 277 <param name="distance_metric" value="jaccard"/>
275 <param name="weighted_by_sd" value="True"/> 278 <param name="weighted_by_sd" value="True"/>
285 <has_text_matching expression="chunk_size = 20000"/> 288 <has_text_matching expression="chunk_size = 20000"/>
286 <has_text_matching expression="distance_metric = 'jaccard'"/> 289 <has_text_matching expression="distance_metric = 'jaccard'"/>
287 <has_text_matching expression="weighted_by_sd = True"/> 290 <has_text_matching expression="weighted_by_sd = True"/>
288 </assert_contents> 291 </assert_contents>
289 </output> 292 </output>
290 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/tl.spectral.pbmc_500_chr21.h5ad"/> 293 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.spectral.pbmc_500_chr21.h5ad"/>
291 </test> 294 </test>
292 <test expect_num_outputs="2"> 295 <test expect_num_outputs="2">
293 <!-- tl.umap --> 296 <!-- tl.umap -->
294 <conditional name="method"> 297 <conditional name="method">
295 <param name="method" value="tl.umap"/> 298 <param name="method" value="tl.umap"/>
296 <param name="adata" location="https://zenodo.org/records/11199963/files/tl.spectral.pbmc_500_chr21.h5ad"/> 299 <param name="adata" location="https://zenodo.org/records/11260316/files/tl.spectral.pbmc_500_chr21.h5ad"/>
297 <param name="n_comps" value="2"/> 300 <param name="n_comps" value="2"/>
298 <param name="use_rep" value="X_spectral"/> 301 <param name="use_rep" value="X_spectral"/>
299 <param name="key_added" value="umap"/> 302 <param name="key_added" value="umap"/>
300 <param name="random_state" value="0"/> 303 <param name="random_state" value="0"/>
301 </conditional> 304 </conditional>
309 <has_text_matching expression="use_rep = 'X_spectral'"/> 312 <has_text_matching expression="use_rep = 'X_spectral'"/>
310 <has_text_matching expression="key_added = 'umap'"/> 313 <has_text_matching expression="key_added = 'umap'"/>
311 <has_text_matching expression="random_state = 0"/> 314 <has_text_matching expression="random_state = 0"/>
312 </assert_contents> 315 </assert_contents>
313 </output> 316 </output>
314 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/tl.umap.pbmc_500_chr21.h5ad"/> 317 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.umap.pbmc_500_chr21.h5ad"/>
315 </test> 318 </test>
316 <test expect_num_outputs="2"> 319 <test expect_num_outputs="2">
317 <!-- pp.knn --> 320 <!-- pp.knn -->
318 <conditional name="method"> 321 <conditional name="method">
319 <param name="method" value="pp.knn"/> 322 <param name="method" value="pp.knn"/>
320 <param name="adata" location="https://zenodo.org/records/11199963/files/tl.umap.pbmc_500_chr21.h5ad"/> 323 <param name="adata" location="https://zenodo.org/records/11260316/files/tl.umap.pbmc_500_chr21.h5ad"/>
321 <param name="n_neighbors" value="50"/> 324 <param name="n_neighbors" value="50"/>
322 <param name="use_rep" value="X_spectral"/> 325 <param name="use_rep" value="X_spectral"/>
323 <param name="method_" value="kdtree"/> 326 <param name="method_" value="kdtree"/>
324 <param name="inplace" value="True"/> 327 <param name="inplace" value="True"/>
325 <param name="random_state" value="0"/> 328 <param name="random_state" value="0"/>
335 <has_text_matching expression="method = 'kdtree'"/> 338 <has_text_matching expression="method = 'kdtree'"/>
336 <has_text_matching expression="inplace = True"/> 339 <has_text_matching expression="inplace = True"/>
337 <has_text_matching expression="random_state = 0"/> 340 <has_text_matching expression="random_state = 0"/>
338 </assert_contents> 341 </assert_contents>
339 </output> 342 </output>
340 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/pp.knn.pbmc_500_chr21.h5ad"/> 343 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/pp.knn.pbmc_500_chr21.h5ad"/>
341 </test> 344 </test>
342 <test expect_num_outputs="2"> 345 <test expect_num_outputs="2">
343 <!-- tl.leiden --> 346 <!-- tl.leiden -->
344 <conditional name="method"> 347 <conditional name="method">
345 <param name="method" value="tl.leiden"/> 348 <param name="method" value="tl.leiden"/>
346 <param name="adata" location="https://zenodo.org/records/11199963/files/pp.knn.pbmc_500_chr21.h5ad"/> 349 <param name="adata" location="https://zenodo.org/records/11260316/files/pp.knn.pbmc_500_chr21.h5ad"/>
347 <param name="resolution" value="2"/> 350 <param name="resolution" value="2"/>
348 <param name="objective_function" value="modularity"/> 351 <param name="objective_function" value="modularity"/>
349 <param name="min_cluster_size" value="3"/> 352 <param name="min_cluster_size" value="3"/>
350 <param name="n_iterations" value="-1"/> 353 <param name="n_iterations" value="-1"/>
351 <param name="random_state" value="0"/> 354 <param name="random_state" value="0"/>
365 <has_text_matching expression="random_state = 0"/> 368 <has_text_matching expression="random_state = 0"/>
366 <has_text_matching expression="key_added = 'leiden'"/> 369 <has_text_matching expression="key_added = 'leiden'"/>
367 <has_text_matching expression="weighted = False"/> 370 <has_text_matching expression="weighted = False"/>
368 </assert_contents> 371 </assert_contents>
369 </output> 372 </output>
370 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/tl.leiden.pbmc_500_chr21.h5ad"/> 373 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.leiden.modularity.pbmc_500_chr21.h5ad"/>
374 </test>
375 <test expect_num_outputs="2">
376 <!-- tl.leiden -->
377 <conditional name="method">
378 <param name="method" value="tl.leiden"/>
379 <param name="adata" location="https://zenodo.org/records/11260316/files/pp.knn.pbmc_500_chr21.h5ad"/>
380 <param name="resolution" value="2"/>
381 <param name="objective_function" value="RBConfiguration"/>
382 <param name="min_cluster_size" value="3"/>
383 <param name="n_iterations" value="-1"/>
384 <param name="random_state" value="0"/>
385 <param name="key_added" value="leiden"/>
386 <param name="weighted" value="False"/>
387 </conditional>
388 <section name="advanced_common">
389 <param name="show_log" value="true"/>
390 </section>
391 <output name="hidden_output">
392 <assert_contents>
393 <has_text_matching expression="sa.tl.leiden"/>
394 <has_text_matching expression="resolution = 2"/>
395 <has_text_matching expression="objective_function = 'RBConfiguration'"/>
396 <has_text_matching expression="min_cluster_size = 3"/>
397 <has_text_matching expression="n_iterations = -1"/>
398 <has_text_matching expression="random_state = 0"/>
399 <has_text_matching expression="key_added = 'leiden'"/>
400 <has_text_matching expression="weighted = False"/>
401 </assert_contents>
402 </output>
403 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.leiden.RBConfiguration.pbmc_500_chr21.h5ad"/>
371 </test> 404 </test>
372 <test expect_num_outputs="2"> 405 <test expect_num_outputs="2">
373 <!-- tl.kmeans --> 406 <!-- tl.kmeans -->
374 <conditional name="method"> 407 <conditional name="method">
375 <param name="method" value="tl.kmeans"/> 408 <param name="method" value="tl.kmeans"/>
376 <param name="adata" location="https://zenodo.org/records/11199963/files/tl.spectral.pbmc_500_chr21.h5ad"/> 409 <param name="adata" location="https://zenodo.org/records/11260316/files/tl.spectral.pbmc_500_chr21.h5ad"/>
377 <param name="n_iterations" value="-1"/> 410 <param name="n_iterations" value="-1"/>
378 <param name="random_state" value="0"/> 411 <param name="random_state" value="0"/>
379 <param name="use_rep" value="X_spectral"/> 412 <param name="use_rep" value="X_spectral"/>
380 <param name="key_added" value="kmeans"/> 413 <param name="key_added" value="kmeans"/>
381 </conditional> 414 </conditional>
389 <has_text_matching expression="random_state = 0"/> 422 <has_text_matching expression="random_state = 0"/>
390 <has_text_matching expression="use_rep = 'X_spectral'"/> 423 <has_text_matching expression="use_rep = 'X_spectral'"/>
391 <has_text_matching expression="key_added = 'kmeans'"/> 424 <has_text_matching expression="key_added = 'kmeans'"/>
392 </assert_contents> 425 </assert_contents>
393 </output> 426 </output>
394 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/tl.kmeans.pbmc_500_chr21.h5ad"/> 427 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.kmeans.pbmc_500_chr21.h5ad"/>
395 </test> 428 </test>
396 <test expect_num_outputs="2"> 429 <test expect_num_outputs="2">
397 <!-- tl.dbscan --> 430 <!-- tl.dbscan -->
398 <conditional name="method"> 431 <conditional name="method">
399 <param name="method" value="tl.dbscan"/> 432 <param name="method" value="tl.dbscan"/>
400 <param name="adata" location="https://zenodo.org/records/11199963/files/tl.spectral.pbmc_500_chr21.h5ad"/> 433 <param name="adata" location="https://zenodo.org/records/11260316/files/tl.spectral.pbmc_500_chr21.h5ad"/>
401 <param name="eps" value="0.5"/> 434 <param name="eps" value="0.5"/>
402 <param name="min_samples" value="3"/> 435 <param name="min_samples" value="3"/>
403 <param name="leaf_size" value="5"/> 436 <param name="leaf_size" value="5"/>
404 <param name="use_rep" value="X_spectral"/> 437 <param name="use_rep" value="X_spectral"/>
405 <param name="key_added" value="dbscan"/> 438 <param name="key_added" value="dbscan"/>
415 <has_text_matching expression="leaf_size = 5"/> 448 <has_text_matching expression="leaf_size = 5"/>
416 <has_text_matching expression="use_rep = 'X_spectral'"/> 449 <has_text_matching expression="use_rep = 'X_spectral'"/>
417 <has_text_matching expression="key_added = 'dbscan'"/> 450 <has_text_matching expression="key_added = 'dbscan'"/>
418 </assert_contents> 451 </assert_contents>
419 </output> 452 </output>
420 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/tl.dbscan.pbmc_500_chr21.h5ad"/> 453 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.dbscan.pbmc_500_chr21.h5ad"/>
421 </test> 454 </test>
422 <test expect_num_outputs="2"> 455 <test expect_num_outputs="2">
423 <!-- tl.hdbscan --> 456 <!-- tl.hdbscan -->
424 <conditional name="method"> 457 <conditional name="method">
425 <param name="method" value="tl.hdbscan"/> 458 <param name="method" value="tl.hdbscan"/>
426 <param name="adata" location="https://zenodo.org/records/11199963/files/tl.spectral.pbmc_500_chr21.h5ad"/> 459 <param name="adata" location="https://zenodo.org/records/11260316/files/tl.spectral.pbmc_500_chr21.h5ad"/>
427 <param name="min_cluster_size" value="3"/> 460 <param name="min_cluster_size" value="3"/>
428 <param name="min_samples" value="3"/> 461 <param name="min_samples" value="3"/>
429 <param name="cluster_selection_method" value="eom"/> 462 <param name="cluster_selection_method" value="eom"/>
430 <param name="random_state" value="0"/> 463 <param name="random_state" value="0"/>
431 <param name="use_rep" value="X_spectral"/> 464 <param name="use_rep" value="X_spectral"/>
443 <has_text_matching expression="random_state = 0"/> 476 <has_text_matching expression="random_state = 0"/>
444 <has_text_matching expression="use_rep = 'X_spectral'"/> 477 <has_text_matching expression="use_rep = 'X_spectral'"/>
445 <has_text_matching expression="key_added = 'hdbscan'"/> 478 <has_text_matching expression="key_added = 'hdbscan'"/>
446 </assert_contents> 479 </assert_contents>
447 </output> 480 </output>
448 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/tl.hdbscan.pbmc_500_chr21.h5ad"/> 481 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.hdbscan.pbmc_500_chr21.h5ad"/>
449 </test> 482 </test>
450 <test expect_num_outputs="2"> 483 <test expect_num_outputs="2">
451 <!-- tl.aggregate_X --> 484 <!-- tl.aggregate_X -->
452 <conditional name="method"> 485 <conditional name="method">
453 <param name="method" value="tl.aggregate_X"/> 486 <param name="method" value="tl.aggregate_X"/>
454 <param name="adata" location="https://zenodo.org/records/11199963/files/tl.spectral.pbmc_500_chr21.h5ad"/> 487 <param name="adata" location="https://zenodo.org/records/11260316/files/tl.spectral.pbmc_500_chr21.h5ad"/>
455 <param name="normalize" value="RPKM"/> 488 <param name="normalize" value="RPKM"/>
456 </conditional> 489 </conditional>
457 <section name="advanced_common"> 490 <section name="advanced_common">
458 <param name="show_log" value="true"/> 491 <param name="show_log" value="true"/>
459 </section> 492 </section>
461 <assert_contents> 494 <assert_contents>
462 <has_text_matching expression="sa.tl.aggregate_X"/> 495 <has_text_matching expression="sa.tl.aggregate_X"/>
463 <has_text_matching expression="normalize = 'RPKM'"/> 496 <has_text_matching expression="normalize = 'RPKM'"/>
464 </assert_contents> 497 </assert_contents>
465 </output> 498 </output>
466 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/tl.aggregate_X.pbmc_500_chr21.h5ad"/> 499 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.aggregate_X.pbmc_500_chr21.h5ad"/>
467 </test> 500 </test>
468 <test expect_num_outputs="2"> 501 <test expect_num_outputs="2">
469 <!-- tl.aggregate_cells --> 502 <!-- tl.aggregate_cells -->
470 <conditional name="method"> 503 <conditional name="method">
471 <param name="method" value="tl.aggregate_cells"/> 504 <param name="method" value="tl.aggregate_cells"/>
472 <param name="adata" location="https://zenodo.org/records/11199963/files/tl.spectral.pbmc_500_chr21.h5ad"/> 505 <param name="adata" location="https://zenodo.org/records/11260316/files/tl.spectral.pbmc_500_chr21.h5ad"/>
473 <param name="use_rep" value="X_spectral"/> 506 <param name="use_rep" value="X_spectral"/>
474 <param name="target_num_cells" value="5"/> 507 <param name="target_num_cells" value="5"/>
475 <param name="min_cluster_size" value="3"/> 508 <param name="min_cluster_size" value="3"/>
476 <param name="random_state" value="0"/> 509 <param name="random_state" value="0"/>
477 <param name="key_added" value="pseudo_cell"/> 510 <param name="key_added" value="pseudo_cell"/>
487 <has_text_matching expression="min_cluster_size = 3"/> 520 <has_text_matching expression="min_cluster_size = 3"/>
488 <has_text_matching expression="random_state = 0"/> 521 <has_text_matching expression="random_state = 0"/>
489 <has_text_matching expression="key_added = 'pseudo_cell'"/> 522 <has_text_matching expression="key_added = 'pseudo_cell'"/>
490 </assert_contents> 523 </assert_contents>
491 </output> 524 </output>
492 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11199963/files/tl.aggregate_cells.pbmc_500_chr21.h5ad"/> 525 <output name="anndata_out" ftype="h5ad" compare="sim_size" delta_frac="0.1" location="https://zenodo.org/records/11260316/files/tl.aggregate_cells.pbmc_500_chr21.h5ad"/>
493 </test> 526 </test>
494 </tests> 527 </tests>
495 <help><![CDATA[ 528 <help><![CDATA[
496 Perform dimension reduction using Laplacian Eigenmap, using `tl.spectral` 529 Perform dimension reduction using Laplacian Eigenmap, using `tl.spectral`
497 ========================================================================= 530 =========================================================================