Mercurial > repos > iuc > anndata_inspect
changeset 1:05304c5c195d draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/anndata/ commit 8ef5f7c6f8728608a3f05bb51e11b642b84a05f5"
line wrap: on
line diff
--- a/inspect.xml Wed Apr 10 03:25:39 2019 -0400 +++ b/inspect.xml Wed Oct 16 06:27:55 2019 -0400 @@ -11,20 +11,27 @@ <configfiles> <configfile name="script_file"><![CDATA[ @CMD_imports@ +import pandas as pd +from scipy import io + +pd.options.display.precision = 15 adata = ad.read('$input') #if $inspect.info == 'general' with open('$general', 'w') as f: print(adata, file=f) + #else if $inspect.info == 'X' adata.to_df().to_csv('$X', sep='\t') + #else if $inspect.info == 'obs' adata.obs.to_csv('$obs', sep='\t') + #else if $inspect.info == 'var' adata.var.to_csv('$var', sep='\t') + #else if $inspect.info == 'chunk_X' -import pandas as pd #if $inspect.chunk.info == 'random' X = adata.chunk_X(select=$inspect.chunk.size, replace=$inspect.chunk.replace) #else @@ -32,6 +39,45 @@ X = adata.chunk_X(select=$select) #end if pd.DataFrame(X).to_csv('$chunk_X', sep='\t') + +#else if $inspect.info == 'uns' + #if $inspect.uns_info == 'neighbors' +io.mmwrite('uns_neighbors_connectivities.mtx', adata.uns['neighbors']['connectivities']) +io.mmwrite('uns_neighbors_distances.mtx', adata.uns['neighbors']['distances']) + #else if $inspect.uns_info == 'paga' +io.mmwrite('uns_paga_connectivities.mtx', adata.uns['paga']['connectivities']) +io.mmwrite('uns_paga_connectivities_tree.mtx', adata.uns['paga']['connectivities_tree']) + #else if $inspect.uns_info == 'pca' +pd.DataFrame(adata.uns['pca']['variance']).to_csv("$uns_pca_variance", sep="\t", index = False) +pd.DataFrame(adata.uns['pca']['variance_ratio']).to_csv("$uns_pca_variance_ratio", sep="\t", index = False) + #else if $inspect.uns_info == 'rank_genes_groups' +pd.DataFrame(adata.uns['rank_genes_groups']['logfoldchanges']).to_csv("$uns_rank_genes_groups_logfoldchanges", sep="\t", index = False) +pd.DataFrame(adata.uns['rank_genes_groups']['names']).to_csv("$uns_rank_genes_groups_names", sep="\t", index = False) +pd.DataFrame(adata.uns['rank_genes_groups']['pvals']).to_csv("$uns_rank_genes_groups_pvals", sep="\t", index = False) +pd.DataFrame(adata.uns['rank_genes_groups']['pvals_adj']).to_csv("$uns_rank_genes_groups_pvals_adj", sep="\t", index = False) +pd.DataFrame(adata.uns['rank_genes_groups']['scores']).to_csv("$uns_rank_genes_groups_scores", sep="\t", index = False) + #end if + +#else if $inspect.info == 'obsm' + #if $inspect.obsm_info == 'X_pca' +pd.DataFrame(adata.obsm['X_pca']).to_csv("$obsm_X_pca", sep="\t", index = False) + #else if $inspect.obsm_info == 'X_umap' +pd.DataFrame(adata.obsm['X_umap']).to_csv("$obsm_X_umap", sep="\t", index = False) + #else if $inspect.obsm_info == 'X_tsne' +pd.DataFrame(adata.obsm['X_tsne']).to_csv("$obsm_X_tsne", sep="\t", index = False) + #else if $inspect.obsm_info == 'X_draw_graph' +for key in adata.obsm.keys(): + if key.startswith('X_draw_graph'): + pd.DataFrame(adata.obsm[key]).to_csv(key, sep="\t", index = False) + #else if $inspect.obsm_info == 'X_diffmap' +pd.DataFrame(adata.obsm['X_diffmap']).to_csv("$obsm_X_diffmap", sep="\t", index = False) + #end if + +#else if $inspect.info == 'varm' + #if $inspect.varm_info == 'PCs' +pd.DataFrame(adata.varm['PCs']).to_csv("$varm_PCs", sep="\t", index = False) + #end if + #end if ]]></configfile> </configfiles> @@ -42,16 +88,40 @@ <option value="general">General information about the object</option> <option value="X">The full data matrix</option> <option value="chunk_X">A chunk of the data matrix</option> - <option value="obs">Key-indexed observations annotation</option> - <option value="var">Key-indexed annotation of variables/features</option> - <!--<option value="uns">Unstructured annotation</option>!--> + <option value="obs">Key-indexed observations annotation (obs)</option> + <option value="var">Key-indexed annotation of variables/features (var)</option> + <option value="uns">Unstructured annotation (uns)</option> + <option value="obsm">Multi-dimensional observations annotation (obsm)</option> + <option value="varm">Multi-dimensional variables annotation (varm)</option> </param> <when value="general"/> <when value="X"/> + <when value="chunk_X"> + <expand macro="params_chunk_X"/> + </when> <when value="obs"/> <when value="var"/> - <when value="chunk_X"> - <expand macro="params_chunk_X"/> + <when value="uns"> + <param name="uns_info" type="select" label="What to inspect in uns?"> + <option value="neighbors">Neighbors</option> + <option value="paga">PAGA</option> + <option value="pca">PCA</option> + <option value="rank_genes_groups">Rank gene groups (rank_genes_groups)</option> + </param> + </when> + <when value="obsm"> + <param name="obsm_info" type="select" label="Which annotation to inspect for the observations?"> + <option value="X_pca">PCA coordinates (X_pca)</option> + <option value="X_umap">UMAP coordinates (X_umap)</option> + <option value="X_tsne">tSNE coordinates (X_tsne)</option> + <option value="X_draw_graph">Coordinates of graph layout (X_draw_graph)</option> + <option value="X_diffmap">Diffusion map representation of data (X_diffmap)</option> + </param> + </when> + <when value="varm"> + <param name="varm_info" type="select" label="Which annotation to inspect for the variables?"> + <option value="PCs">Principal components containing the loadings</option> + </param> </when> </conditional> </inputs> @@ -71,9 +141,62 @@ <data name="chunk_X" format="tabular" label="${tool.name} on ${on_string}: Observations annotation"> <filter>inspect['info'] == 'chunk_X'</filter> </data> + <data name="uns_neighbors_connectivities" format="mtx" from_work_dir="uns_neighbors_connectivities.mtx" label="${tool.name} on ${on_string}: Weighted adjacency matrix of the neighborhood graph of data points"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'neighbors'</filter> + </data> + <data name="uns_neighbors_distances" format="mtx" from_work_dir="uns_neighbors_distances.mtx" label="${tool.name} on ${on_string}: Distances for each pair of neighbors"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'neighbors'</filter> + </data> + <data name="uns_paga_connectivities" format="mtx" from_work_dir="uns_paga_connectivities.mtx" label="${tool.name} on ${on_string}: Full adjacency matrix of the abstracted graph"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'paga'</filter> + </data> + <data name="uns_paga_connectivities_tree" format="mtx" from_work_dir="uns_paga_connectivities_tree.mtx" label="${tool.name} on ${on_string}: Adjacency matrix of the tree-like subgraph"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'paga'</filter> + </data> + <data name="uns_pca_variance" format="tabular" label="${tool.name} on ${on_string}: Ratio of explained variance for PCA"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'pca'</filter> + </data> + <data name="uns_pca_variance_ratio" format="tabular" label="${tool.name} on ${on_string}: Explained variance, equivalent to the eigenvalues of the covariance matrix, for PCA"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'pca'</filter> + </data> + <data name="uns_rank_genes_groups_names" format="tabular" label="${tool.name} on ${on_string}: Names for rank genes"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'rank_genes_groups'</filter> + </data> + <data name="uns_rank_genes_groups_scores" format="tabular" label="${tool.name} on ${on_string}: Z-scores for rank genes"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'rank_genes_groups'</filter> + </data> + <data name="uns_rank_genes_groups_logfoldchanges" format="tabular" label="${tool.name} on ${on_string}: Log2 fold changes for rank genes"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'rank_genes_groups'</filter> + </data> + <data name="uns_rank_genes_groups_pvals" format="tabular" label="${tool.name} on ${on_string}: P-values for rank genes"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'rank_genes_groups'</filter> + </data> + <data name="uns_rank_genes_groups_pvals_adj" format="tabular" label="${tool.name} on ${on_string}: Adjusted p-values for rank genes"> + <filter>inspect['info'] == 'uns' and inspect['uns_info'] == 'rank_genes_groups'</filter> + </data> + <data name="obsm_X_pca" format="tabular" label="${tool.name} on ${on_string}: PCA coordinates for observations"> + <filter>inspect['info'] == 'obsm' and inspect['obsm_info'] == 'X_pca'</filter> + </data> + <data name="obsm_X_umap" format="tabular" label="${tool.name} on ${on_string}: UMAP coordinates for observations"> + <filter>inspect['info'] == 'obsm' and inspect['obsm_info'] == 'X_umap'</filter> + </data> + <data name="obsm_X_tsne" format="tabular" label="${tool.name} on ${on_string}: tSNE coordinates for observations"> + <filter>inspect['info'] == 'obsm' and inspect['obsm_info'] == 'X_tsne'</filter> + </data> + <collection name="obsm_X_draw_graph" type="list" label="${tool.name} on ${on_string}: Coordinates of graph layout"> + <discover_datasets pattern="X_draw_graph_(?P<designation>.*)" format="tabular"/> + <filter>inspect['info'] == 'obsm' and inspect['obsm_info'] == 'X_draw_graph'</filter> + </collection> + <data name="obsm_X_diffmap" format="tabular" label="${tool.name} on ${on_string}: Diffusion map representation for observations"> + <filter>inspect['info'] == 'obsm' and inspect['obsm_info'] == 'X_diffmap'</filter> + </data> + <data name="varm_PCs" format="tabular" label="${tool.name} on ${on_string}: Principal components containing the loadings for variables"> + <filter>inspect['info'] == 'varm' and inspect['varm_info'] == 'PCs'</filter> + </data> </outputs> <tests> <test> + <!-- test 1: general info --> <param name="input" value="krumsiek11.h5ad"/> <conditional name="inspect"> <param name="info" value="general"/> @@ -81,6 +204,7 @@ <output name="general" value="inspect.general.txt"/> </test> <test> + <!-- test 2: X --> <param name="input" value="krumsiek11.h5ad"/> <conditional name="inspect"> <param name="info" value="X"/> @@ -91,6 +215,7 @@ <output name="X" value="inspect.X.tabular" ftype="tabular"/> </test> <test> + <!-- test 3: obs --> <param name="input" value="krumsiek11.h5ad"/> <conditional name="inspect"> <param name="info" value="obs"/> @@ -101,6 +226,7 @@ <output name="obs" value="inspect.obs.tabular" ftype="tabular"/> </test> <test> + <!-- test 4: var --> <param name="input" value="krumsiek11.h5ad"/> <conditional name="inspect"> <param name="info" value="var"/> @@ -111,6 +237,7 @@ <output name="var" value="inspect.var.tabular" ftype="tabular"/> </test> <test> + <!-- test 5: chunk_X, specified --> <param name="input" value="krumsiek11.h5ad"/> <conditional name="inspect"> <param name="info" value="chunk_X"/> @@ -126,6 +253,7 @@ <output name="chunk_X" value="inspect.chunk_X.specified.tabular" ftype="tabular"/> </test> <test> + <!-- test 6: chunk_X, random --> <param name="input" value="krumsiek11.h5ad"/> <conditional name="inspect"> <param name="info" value="chunk_X"/> @@ -146,6 +274,211 @@ </assert_contents> </output> </test> + <test> + <!-- test 7: uns, neighbors --> + <param name="input" value="pp.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad"/> + <conditional name="inspect"> + <param name="info" value="uns"/> + <param name="uns_info" value="neighbors"/> + </conditional> + <output name="uns_neighbors_connectivities" ftype="mtx"> + <assert_contents> + <has_text_matching expression="100 100 1248" /> + <has_text_matching expression="4.880" /> + </assert_contents> + </output> + <output name="uns_neighbors_distances" ftype="mtx"> + <assert_contents> + <has_text_matching expression="100 100 1400" /> + <has_text_matching expression="4.973" /> + <has_text_matching expression="4.877" /> + </assert_contents> + </output> + </test> + <test> + <!-- test 8: uns, paga --> + <param name="input" value="tl.paga.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad"/> + <conditional name="inspect"> + <param name="info" value="uns"/> + <param name="uns_info" value="paga"/> + </conditional> + <output name="uns_paga_connectivities" ftype="mtx"> + <assert_contents> + <has_text_matching expression="16 16 97" /> + <has_text_matching expression="1.000" /> + <has_text_matching expression="8.839" /> + </assert_contents> + </output> + <output name="uns_paga_connectivities_tree" ftype="mtx"> + <assert_contents> + <has_text_matching expression="16 16 15" /> + <has_text_matching expression="1.000" /> + </assert_contents> + </output> + </test> + <test> + <!-- test 9: uns, pca --> + <param name="input" value="pp.pca.krumsiek11.h5ad"/> + <conditional name="inspect"> + <param name="info" value="uns"/> + <param name="uns_info" value="pca"/> + </conditional> + <output name="uns_pca_variance"> + <assert_contents> + <has_text_matching expression="0.75409454" /> + <has_text_matching expression="3.2818672e-05" /> + <has_n_columns n="1" /> + </assert_contents> + </output> + <output name="uns_pca_variance_ratio"> + <assert_contents> + <has_text_matching expression="0.039053127" /> + <has_text_matching expression="0.00013167" /> + <has_n_columns n="1" /> + </assert_contents> + </output> + </test> + <test> + <!-- test 10: uns, rank_gene_groups --> + <param name="input" value="tl.rank_genes_groups.krumsiek11.h5ad"/> + <conditional name="inspect"> + <param name="info" value="uns"/> + <param name="uns_info" value="rank_genes_groups"/> + </conditional> + <output name="uns_rank_genes_groups_names"> + <assert_contents> + <has_n_columns n="5" /> + <has_text_matching expression="Ery\tMk\tMo\tNeu\tprogenitor"/> + <has_text_matching expression="Gata1\tFog1\tCebpa\tFli1\tGata2"/> + <has_text_matching expression="EgrNab\tEgrNab\tSCL\tSCL\tGfi1"/> + </assert_contents> + </output> + <output name="uns_rank_genes_groups_scores"> + <assert_contents> + <has_n_columns n="5" /> + <has_text_matching expression="Ery\tMk\tMo\tNeu\tprogenitor"/> + <has_text_matching expression="18.86\d{4}"/> + <has_text_matching expression="17.85\d{4}"/> + <has_text_matching expression="-2.63\d{4}"/> + <has_text_matching expression="-2.98\d{4}"/> + <has_text_matching expression="-6.41\d{4}"/> + </assert_contents> + </output> + <output name="uns_rank_genes_groups_logfoldchanges"> + <assert_contents> + <has_n_columns n="5" /> + </assert_contents> + </output> + <output name="uns_rank_genes_groups_pvals"> + <assert_contents> + <has_n_columns n="5" /> + <has_text_matching expression="1.8000"/> + </assert_contents> + </output> + <output name="uns_rank_genes_groups_pvals_adj"> + <assert_contents> + <has_n_columns n="5" /> + <has_text_matching expression="1.98004"/> + </assert_contents> + </output> + </test> + <test> + <!-- test 11: obsm, X_pca --> + <param name="input" value="pp.pca.krumsiek11.h5ad"/> + <conditional name="inspect"> + <param name="info" value="obsm"/> + <param name="obsm_info" value="X_pca"/> + </conditional> + <output name="obsm_X_pca"> + <assert_contents> + <has_text_matching expression="0.00030471283" /> + <has_text_matching expression="3.4109413e-05" /> + <has_text_matching expression="-0.6401007" /> + <has_n_columns n="10" /> + </assert_contents> + </output> + </test> + <test> + <!-- test 12: obsm_info, X_umap --> + <param name="input" value="tl.umap.h5ad"/> + <conditional name="inspect"> + <param name="info" value="obsm"/> + <param name="obsm_info" value="X_umap"/> + </conditional> + <output name="obsm_X_umap"> + <assert_contents> + <has_text text="1.664" /> + <has_text text="5.425" /> + <has_text text="-1.748" /> + <has_text text="-9.714" /> + <has_n_columns n="2" /> + </assert_contents> + </output> + </test> + <test> + <!-- test 13: obsm_info, X_tsne --> + <param name="input" value="tl.tsne.h5ad"/> + <conditional name="inspect"> + <param name="info" value="obsm"/> + <param name="obsm_info" value="X_tsne"/> + </conditional> + <output name="obsm_X_tsne"> + <assert_contents> + <has_text text="14.301989" /> + <has_text text="-19.447426" /> + <has_n_columns n="2" /> + </assert_contents> + </output> + </test> + <test> + <!-- test 14: obsm_info, X_draw_graph --> + <param name="input" value="tl.draw_graph.h5ad"/> + <conditional name="inspect"> + <param name="info" value="obsm"/> + <param name="obsm_info" value="X_draw_graph"/> + </conditional> + <output_collection name="obsm_X_draw_graph"> + <element name="fr"> + <assert_contents> + <has_text text="-39.77" /> + <has_text text="-24.83" /> + <has_text text="-34.34" /> + <has_text text="-22.34" /> + <has_n_columns n="2" /> + </assert_contents> + </element> + </output_collection> + </test> + <test> + <!-- test 15: obsm_info, X_diffmap --> + <param name="input" value="tl.diffmap.h5ad"/> + <conditional name="inspect"> + <param name="info" value="obsm"/> + <param name="obsm_info" value="X_diffmap"/> + </conditional> + <output name="obsm_X_diffmap"> + <assert_contents> + <has_text text="0.1006" /> + <has_text text="-0.0619" /> + <has_n_columns n="15" /> + </assert_contents> + </output> + </test> + <test> + <!-- test 16: varm_info, PCs --> + <param name="input" value="pp.pca.krumsiek11.h5ad"/> + <conditional name="inspect"> + <param name="info" value="varm"/> + <param name="varm_info" value="PCs"/> + </conditional> + <output name="varm_PCs"> + <assert_contents> + <has_text_matching expression="0.2352" /> + <has_text_matching expression="-0.0492" /> + <has_n_columns n="10" /> + </assert_contents> + </output> + </test> </tests> <help><![CDATA[ **What it does**
--- a/macros.xml Wed Apr 10 03:25:39 2019 -0400 +++ b/macros.xml Wed Oct 16 06:27:55 2019 -0400 @@ -1,11 +1,11 @@ <macros> - <token name="@VERSION@">0.6.19</token> + <token name="@VERSION@">0.6.22.post1</token> <token name="@GALAXY_VERSION@">galaxy0</token> <xml name="requirements"> <requirements> <requirement type="package" version="@VERSION@">anndata</requirement> - <requirement type="package" version="1.4">scanpy</requirement> <requirement type="package" version="2.0.17">loompy</requirement> + <requirement type="package" version="2.9.0">h5py</requirement> <yield /> </requirements> </xml>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/obs_add_annotation.tabular Wed Oct 16 06:27:55 2019 -0400 @@ -0,0 +1,641 @@ +annot1 annot2 +0 progenitor +1 progenitor +2 progenitor +3 progenitor +4 progenitor +5 progenitor +6 progenitor +7 progenitor +8 progenitor +9 progenitor +10 progenitor +11 progenitor +12 progenitor +13 progenitor +14 progenitor +15 progenitor +16 progenitor +17 progenitor +18 progenitor +19 progenitor +20 progenitor +21 progenitor +22 progenitor +23 progenitor +24 progenitor +25 progenitor +26 progenitor +27 progenitor +28 progenitor +29 progenitor +30 progenitor +31 progenitor +32 progenitor +33 progenitor +34 progenitor +35 progenitor +36 progenitor +37 progenitor +38 progenitor +39 progenitor +40 progenitor +41 progenitor +42 progenitor +43 progenitor +44 progenitor +45 progenitor +46 progenitor +47 progenitor +48 progenitor +49 progenitor +50 progenitor +51 progenitor +52 progenitor +53 progenitor +54 progenitor +55 progenitor +56 progenitor +57 progenitor +58 progenitor +59 progenitor +60 progenitor +61 progenitor +62 progenitor +63 progenitor +64 progenitor +65 progenitor +66 progenitor +67 progenitor +68 progenitor +69 progenitor +70 progenitor +71 progenitor +72 progenitor +73 progenitor +74 progenitor +75 progenitor +76 progenitor +77 progenitor +78 progenitor +79 progenitor +80 Mo +81 Mo +82 Mo +83 Mo +84 Mo +85 Mo +86 Mo +87 Mo +88 Mo +89 Mo +90 Mo +91 Mo +92 Mo +93 Mo +94 Mo +95 Mo +96 Mo +97 Mo +98 Mo +99 Mo +100 Mo +101 Mo +102 Mo +103 Mo +104 Mo +105 Mo +106 Mo +107 Mo +108 Mo +109 Mo +110 Mo +111 Mo +112 Mo +113 Mo +114 Mo +115 Mo +116 Mo +117 Mo +118 Mo +119 Mo +120 Mo +121 Mo +122 Mo +123 Mo +124 Mo +125 Mo +126 Mo +127 Mo +128 Mo +129 Mo +130 Mo +131 Mo +132 Mo +133 Mo +134 Mo +135 Mo +136 Mo +137 Mo +138 Mo +139 Mo +140 Mo +141 Mo +142 Mo +143 Mo +144 Mo +145 Mo +146 Mo +147 Mo +148 Mo +149 Mo +150 Mo +151 Mo +152 Mo +153 Mo +154 Mo +155 Mo +156 Mo +157 Mo +158 Mo +159 Mo +0 progenitor +1 progenitor +2 progenitor +3 progenitor +4 progenitor +5 progenitor +6 progenitor +7 progenitor +8 progenitor +9 progenitor +10 progenitor +11 progenitor +12 progenitor +13 progenitor +14 progenitor +15 progenitor +16 progenitor +17 progenitor +18 progenitor +19 progenitor +20 progenitor +21 progenitor +22 progenitor +23 progenitor +24 progenitor +25 progenitor +26 progenitor +27 progenitor +28 progenitor +29 progenitor +30 progenitor +31 progenitor +32 progenitor +33 progenitor +34 progenitor +35 progenitor +36 progenitor +37 progenitor +38 progenitor +39 progenitor +40 progenitor +41 progenitor +42 progenitor +43 progenitor +44 progenitor +45 progenitor +46 progenitor +47 progenitor +48 progenitor +49 progenitor +50 progenitor +51 progenitor +52 progenitor +53 progenitor +54 progenitor +55 progenitor +56 progenitor +57 progenitor +58 progenitor +59 progenitor +60 progenitor +61 progenitor +62 progenitor +63 progenitor +64 progenitor +65 progenitor +66 progenitor +67 progenitor +68 progenitor +69 progenitor +70 progenitor +71 progenitor +72 progenitor +73 progenitor +74 progenitor +75 progenitor +76 progenitor +77 progenitor +78 progenitor +79 progenitor +80 Ery +81 Ery +82 Ery +83 Ery +84 Ery +85 Ery +86 Ery +87 Ery +88 Ery +89 Ery +90 Ery +91 Ery +92 Ery +93 Ery +94 Ery +95 Ery +96 Ery +97 Ery +98 Ery +99 Ery +100 Ery +101 Ery +102 Ery +103 Ery +104 Ery +105 Ery +106 Ery +107 Ery +108 Ery +109 Ery +110 Ery +111 Ery +112 Ery +113 Ery +114 Ery +115 Ery +116 Ery +117 Ery +118 Ery +119 Ery +120 Ery +121 Ery +122 Ery +123 Ery +124 Ery +125 Ery +126 Ery +127 Ery +128 Ery +129 Ery +130 Ery +131 Ery +132 Ery +133 Ery +134 Ery +135 Ery +136 Ery +137 Ery +138 Ery +139 Ery +140 Ery +141 Ery +142 Ery +143 Ery +144 Ery +145 Ery +146 Ery +147 Ery +148 Ery +149 Ery +150 Ery +151 Ery +152 Ery +153 Ery +154 Ery +155 Ery +156 Ery +157 Ery +158 Ery +159 Ery +0 progenitor +1 progenitor +2 progenitor +3 progenitor +4 progenitor +5 progenitor +6 progenitor +7 progenitor +8 progenitor +9 progenitor +10 progenitor +11 progenitor +12 progenitor +13 progenitor +14 progenitor +15 progenitor +16 progenitor +17 progenitor +18 progenitor +19 progenitor +20 progenitor +21 progenitor +22 progenitor +23 progenitor +24 progenitor +25 progenitor +26 progenitor +27 progenitor +28 progenitor +29 progenitor +30 progenitor +31 progenitor +32 progenitor +33 progenitor +34 progenitor +35 progenitor +36 progenitor +37 progenitor +38 progenitor +39 progenitor +40 progenitor +41 progenitor +42 progenitor +43 progenitor +44 progenitor +45 progenitor +46 progenitor +47 progenitor +48 progenitor +49 progenitor +50 progenitor +51 progenitor +52 progenitor +53 progenitor +54 progenitor +55 progenitor +56 progenitor +57 progenitor +58 progenitor +59 progenitor +60 progenitor +61 progenitor +62 progenitor +63 progenitor +64 progenitor +65 progenitor +66 progenitor +67 progenitor +68 progenitor +69 progenitor +70 progenitor +71 progenitor +72 progenitor +73 progenitor +74 progenitor +75 progenitor +76 progenitor +77 progenitor +78 progenitor +79 progenitor +80 Mk +81 Mk +82 Mk +83 Mk +84 Mk +85 Mk +86 Mk +87 Mk +88 Mk +89 Mk +90 Mk +91 Mk +92 Mk +93 Mk +94 Mk +95 Mk +96 Mk +97 Mk +98 Mk +99 Mk +100 Mk +101 Mk +102 Mk +103 Mk +104 Mk +105 Mk +106 Mk +107 Mk +108 Mk +109 Mk +110 Mk +111 Mk +112 Mk +113 Mk +114 Mk +115 Mk +116 Mk +117 Mk +118 Mk +119 Mk +120 Mk +121 Mk +122 Mk +123 Mk +124 Mk +125 Mk +126 Mk +127 Mk +128 Mk +129 Mk +130 Mk +131 Mk +132 Mk +133 Mk +134 Mk +135 Mk +136 Mk +137 Mk +138 Mk +139 Mk +140 Mk +141 Mk +142 Mk +143 Mk +144 Mk +145 Mk +146 Mk +147 Mk +148 Mk +149 Mk +150 Mk +151 Mk +152 Mk +153 Mk +154 Mk +155 Mk +156 Mk +157 Mk +158 Mk +159 Mk +0 progenitor +1 progenitor +2 progenitor +3 progenitor +4 progenitor +5 progenitor +6 progenitor +7 progenitor +8 progenitor +9 progenitor +10 progenitor +11 progenitor +12 progenitor +13 progenitor +14 progenitor +15 progenitor +16 progenitor +17 progenitor +18 progenitor +19 progenitor +20 progenitor +21 progenitor +22 progenitor +23 progenitor +24 progenitor +25 progenitor +26 progenitor +27 progenitor +28 progenitor +29 progenitor +30 progenitor +31 progenitor +32 progenitor +33 progenitor +34 progenitor +35 progenitor +36 progenitor +37 progenitor +38 progenitor +39 progenitor +40 progenitor +41 progenitor +42 progenitor +43 progenitor +44 progenitor +45 progenitor +46 progenitor +47 progenitor +48 progenitor +49 progenitor +50 progenitor +51 progenitor +52 progenitor +53 progenitor +54 progenitor +55 progenitor +56 progenitor +57 progenitor +58 progenitor +59 progenitor +60 progenitor +61 progenitor +62 progenitor +63 progenitor +64 progenitor +65 progenitor +66 progenitor +67 progenitor +68 progenitor +69 progenitor +70 progenitor +71 progenitor +72 progenitor +73 progenitor +74 progenitor +75 progenitor +76 progenitor +77 progenitor +78 progenitor +79 progenitor +80 Neu +81 Neu +82 Neu +83 Neu +84 Neu +85 Neu +86 Neu +87 Neu +88 Neu +89 Neu +90 Neu +91 Neu +92 Neu +93 Neu +94 Neu +95 Neu +96 Neu +97 Neu +98 Neu +99 Neu +100 Neu +101 Neu +102 Neu +103 Neu +104 Neu +105 Neu +106 Neu +107 Neu +108 Neu +109 Neu +110 Neu +111 Neu +112 Neu +113 Neu +114 Neu +115 Neu +116 Neu +117 Neu +118 Neu +119 Neu +120 Neu +121 Neu +122 Neu +123 Neu +124 Neu +125 Neu +126 Neu +127 Neu +128 Neu +129 Neu +130 Neu +131 Neu +132 Neu +133 Neu +134 Neu +135 Neu +136 Neu +137 Neu +138 Neu +139 Neu +140 Neu +141 Neu +142 Neu +143 Neu +144 Neu +145 Neu +146 Neu +147 Neu +148 Neu +149 Neu +150 Neu +151 Neu +152 Neu +153 Neu +154 Neu +155 Neu +156 Neu +157 Neu +158 Neu +159 Neu
Binary file test-data/pp.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad has changed