diff --git a/tools/scanpy/.shed.yml b/tools/scanpy/.shed.yml index 58706925f3c..30078db06ad 100644 --- a/tools/scanpy/.shed.yml +++ b/tools/scanpy/.shed.yml @@ -7,8 +7,9 @@ long_description: | remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/scanpy/ type: unrestricted categories: -- Transcriptomics -- Sequence Analysis + - Single Cell + - Spatial Omics + - Transcriptomics auto_tool_repositories: name_template: "{{ tool_id }}" description_template: "Wrapper for the scanpy tool suite: {{ tool_name }}" diff --git a/tools/scanpy/README.md b/tools/scanpy/README.md index 10a3a036f7d..9aae2fa1557 100644 --- a/tools/scanpy/README.md +++ b/tools/scanpy/README.md @@ -25,6 +25,7 @@ Scanpy `pp.highly_variable_genes` | Extract highly variable genes `pp.subsample` | Subsample to a fraction of the number of observations `pp.downsample_counts` | Downsample counts so that each cell has no more than target_counts + `pp.scrublet` | Predict doublets 3. Normalize (`normalize.xml`) @@ -34,14 +35,18 @@ Scanpy `pp.recipe_zheng17` | Normalization and filtering as of [Zheng17] `pp.recipe_weinreb17` | Normalization and filtering as of [Weinreb17] `pp.recipe_seurat` | Normalization and filtering as of Seurat [Satija15] + `external.pp.magic` | Denoising using Markov Affinity-based Graph Imputation of Cells (MAGIC) API 4. Remove confounders (`remove_confounder.xml`) Methods | Description --- | --- `pp.regress_out` | Regress out unwanted sources of variation - `pp.mnn_correct` | Correct batch effects by matching mutual nearest neighbors + `pp.combat` | ComBat function for batch effect correction + `external.pp.bbknn` | Batch effect removal with Batch balanced KNN (BBKNN) + `external.pp.harmony_integrate` | Integrate multiple single-cell experiments with Harmony + `external.pp.scanorama_integrate` | Integrate multiple single-cell experiments with Scanorama 5. Clustering, embedding and trajectory inference (`cluster_reduce_dimension.xml`) @@ -49,14 +54,14 @@ Scanpy --- | --- `tl.louvain` | Cluster cells into subgroups `tl.leiden` | Cluster cells into subgroups - `tl.pca` | Principal component analysis - `pp.pca` | Principal component analysis (appears to be the same func...) + `pp.pca` | Principal component analysis `tl.diffmap` | Diffusion Maps `tl.tsne` | t-SNE `tl.umap` | Embed the neighborhood graph using UMAP `tl.draw_graph` | Force-directed graph drawing `tl.dpt` | Infer progression of cells through geodesic distance along the graph `tl.paga` | Mapping out the coarse-grained connectivity structures of complex manifolds + `tl.embedding_density` | Calculate the density of cells in an embedding (per condition) 6. Plot (`plot.xml`) @@ -66,18 +71,20 @@ Scanpy --- | --- `pl.scatter` | Scatter plot along observations or variables axes `pl.heatmap` | Heatmap of the expression values of set of genes + `pl.tracksplot` | Tracks plot of the expression values per cell `pl.dotplot` | Makes a dot plot of the expression values `pl.violin` | Violin plot `pl.stacked_violin` | Stacked violin plots `pl.matrixplot` | Heatmap of the mean expression values per cluster `pl.clustermap` | Hierarchically-clustered heatmap - + 2. Preprocessing Methods | Description --- | --- `pl.highest_expr_genes` | Plot the fraction of counts assigned to each gene over all cells `pl.highly_variable_genes` | Plot dispersions versus means for genes + `pl.scrublet_score_distribution` | Histogram of doublet scores 3. PCA @@ -96,12 +103,13 @@ Scanpy `pl.umap` | Scatter plot in UMAP basis `pl.diffmap` | Scatter plot in Diffusion Map basis `pl.draw_graph` | Scatter plot in graph-drawing basis + `pl.embedding_density` | Density of cells in an embedding (per condition) 5. Branching trajectories and pseudotime, clustering Methods | Description --- | --- - `pl.dpt_groups_pseudotime` | Plot groups and pseudotime + `pl.dpt_timeseries` | Heatmap of pseudotime series `pl.paga` | Plot the abstracted graph through thresholding low-connectivity edges `pl.paga_compare` | Scatter and PAGA graph side-by-side @@ -113,3 +121,8 @@ Scanpy --- | --- `pl.rank_genes_groups` | Plot ranking of genes using dotplot plot `pl.rank_genes_groups_violin` | Plot ranking of genes for all tested comparisons + `pl.rank_genes_groups_stacked_violin` | Plot ranking of genes as stacked violin plot + `pl.rank_genes_groups_heatmap` | Plot ranking of genes as heatmap plot + `pl.rank_genes_groups_dotplot` | Plot ranking of genes as dotplot plot + `pl.rank_genes_groups_matrixplot` | Plot ranking of genes as matrixplot plot + `pl.rank_genes_groups_tracksplot` | Plot ranking of genes as tracksplot plot diff --git a/tools/scanpy/cluster_reduce_dimension.xml b/tools/scanpy/cluster_reduce_dimension.xml index d8c7472563f..5e5a96c3b98 100644 --- a/tools/scanpy/cluster_reduce_dimension.xml +++ b/tools/scanpy/cluster_reduce_dimension.xml @@ -1,37 +1,44 @@ - - with scanpy + + and infer trajectories macros.xml - - + + + + + + + + + + + - + - + - + - + - - + + - - + ]]> + + umap-learn + leidenalg + louvain + scikit-learn + ]]> + +@CMD_ANNDATA_WRITE_OUTPUTS@ + ]]> + @@ -202,113 +234,123 @@ sc.tl.embedding_density( - - + - - - + + + - + - - + + - + + - - + + - + + + + + + + - - - - + + + - - - - - - + + + + + + + + + - + - + - + - + - + + - - - - - + + - - + + + + + + - - + + + - - + + - - + + + - + - + - + @@ -318,22 +360,16 @@ sc.tl.embedding_density( + + - - + - - - - - - -
- +
@@ -347,21 +383,23 @@ sc.tl.embedding_density( - + + + + + +
+ + - - + - - - -
- +
@@ -369,29 +407,26 @@ sc.tl.embedding_density( - + - + + + + + +
+ + - - + - - - - - - - - -
- +
@@ -400,28 +435,31 @@ sc.tl.embedding_density( - - - + + + + + + +
+ + - - + - -
- +
@@ -431,73 +469,48 @@ sc.tl.embedding_density( - - -
- - - - - - - - - - - - - - - -
- -
- + - - - - - - - + + + -
+ + - - + -
- +
- + + + + + +
+ + - - + - - - - -
- +
@@ -507,28 +520,25 @@ sc.tl.embedding_density( - - + + + + + +
+ + - - + - - - - - - - -
- +
@@ -544,22 +554,22 @@ sc.tl.embedding_density( - + - + +
+ + - - -
- +
@@ -568,42 +578,24 @@ sc.tl.embedding_density( - -
- - - - - - - - - -
- -
- + - - - - + + -
+ + - - + - -
- +
@@ -614,18 +606,48 @@ sc.tl.embedding_density( - + + + + + +
+ + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ + - - + -
- +
@@ -634,10 +656,16 @@ sc.tl.embedding_density( - + + + + + +
`_ + Cluster cells into subgroups (`tl.leiden`) ========================================== @@ -660,21 +689,13 @@ The Louvain algorithm has been proposed for single-cell analysis by Levine et al More details on the `tl.leiden scanpy documentation `_ + Computes PCA (principal component analysis) coordinates, loadings and variance decomposition, using `pp.pca` ============================================================================================================ -@CMD_pca_outputs@ - More details on the `pp.pca scanpy documentation `__ -Computes PCA (principal component analysis) coordinates, loadings and variance decomposition, using `tl.pca` -============================================================================================================ - -@CMD_pca_outputs@ - -More details on the `tl.pca scanpy documentation -`__ Diffusion Maps, using `tl.diffmap` ================================== @@ -698,6 +719,7 @@ as colum. It can be accessed using the inspect tool for AnnData More details on the `tl.diffmap scanpy documentation `__ + t-distributed stochastic neighborhood embedding (tSNE), using `tl.tsne` ======================================================================= @@ -710,6 +732,7 @@ It returns `X_tsne`, tSNE coordinates of data. More details on the `tl.tsne scanpy documentation `__ + Embed the neighborhood graph using UMAP, using `tl.umap` ======================================================== @@ -721,8 +744,8 @@ neighborhood graph. tSNE, by contrast, optimizes the distribution of nearest-neighbor distances in the embedding such that these best match the distribution of distances in the high-dimensional space. We use the implementation of `umap-learn `__ -(McInnes et al, 2018). For a few comparisons of UMAP with tSNE, see this `preprint -`__. +(McInnes et al, 2018). For a few comparisons of UMAP with tSNE, see this `paper +`__. The UMAP coordinates of data are added to the return AnnData in the multi-dimensional observations annotation (obsm). This data is accessible using the inspect tool for AnnData @@ -730,6 +753,7 @@ observations annotation (obsm). This data is accessible using the inspect tool f More details on the `tl.umap scanpy documentation `__ + Force-directed graph drawing, using `tl.draw_graph` =================================================== @@ -749,6 +773,7 @@ observations annotation (obsm). This data is accessible using the inspect tool f More details on the `tl.draw_graph scanpy documentation `__ + Infer progression of cells through geodesic distance along the graph (`tl.dpt`) =============================================================================== @@ -808,6 +833,18 @@ These datasets are stored in the unstructured annotation (uns) and can be access More details on the `tl.paga scanpy documentation `_ - ]]> + + +Calculates the density of cells in an embedding (per condition). (`tl.embedding_density`) +========================================================================================= + +Gaussian kernel density estimation is used to calculate the density of cells in an embedded space. This can be performed per category over a categorical cell annotation. + +Note that density values are scaled to be between 0 and 1. Thus, the density value at each cell is only comparable to densities in the same category. + +More details on the `tl.embedding_density scanpy documentation +`_ + ]]> +
diff --git a/tools/scanpy/filter.xml b/tools/scanpy/filter.xml index 1dffa8b9d6a..2624f584aac 100644 --- a/tools/scanpy/filter.xml +++ b/tools/scanpy/filter.xml @@ -1,18 +1,21 @@ - - with scanpy + + mark and subsample macros.xml - + + scrublet + scikit-misc + +#else if $method.method == "pp.scrublet" +sc.pp.scrublet( + adata, + #if $method.batch_key != '' + batch_key='$method.batch_key', + #end if + sim_doublet_ratio=$method.sim_doublet_ratio, + expected_doublet_rate=$method.expected_doublet_rate, + stdev_doublet_rate=$method.stdev_doublet_rate, + synthetic_doublet_umi_subsampling=$method.synthetic_doublet_umi_subsampling, + knn_dist_metric='$method.knn_dist_metric', + normalize_variance=$method.normalize_variance, + log_transform=$method.log_transform, + mean_center=$method.mean_center, + n_prin_comps=$method.n_prin_comps, + use_approx_neighbors=$method.use_approx_neighbors, + get_doublet_neighbor_parents=$method.get_doublet_neighbor_parents, + #if str($method.n_neighbors) != '' + n_neighbors=$method.n_neighbors, + #end if + #if str($method.threshold) != '' + threshold=$method.threshold, + #end if + random_state=$method.random_state) + +@CMD_ANNDATA_WRITE_OUTPUTS@ +#end if + ]]> + @@ -149,33 +223,34 @@ df.to_csv('marker.tsv', sep='\t', index=True) + - + - + - + - - + + - + - + @@ -188,7 +263,7 @@ df.to_csv('marker.tsv', sep='\t', index=True) - + @@ -196,24 +271,27 @@ df.to_csv('marker.tsv', sep='\t', index=True) - + - + - + - + + - - + + + + @@ -224,18 +302,29 @@ df.to_csv('marker.tsv', sep='\t', index=True) + + + + + + + + + + + - + - + @@ -251,15 +340,12 @@ df.to_csv('marker.tsv', sep='\t', index=True) - - - - + - - + + @@ -267,23 +353,46 @@ df.to_csv('marker.tsv', sep='\t', index=True) - + + + + + + + + + + + + + + + + + + + + + + - + + method['method'] != 'filter_marker' + method['method'] == 'filter_marker' + - - + @@ -291,112 +400,125 @@ df.to_csv('marker.tsv', sep='\t', index=True) +
+ +
-
- -
- + + + + +
+ + - - + - +
- +
+ + + - + + + + + + -
+ + - - + - +
- +
+ + + - + + + + + + -
- + + - - - -
- +
- - -
--> + + + + + + + + - - - - - - - - -
- +
@@ -409,22 +531,27 @@ df.to_csv('marker.tsv', sep='\t', index=True) - + + + + + +
+ + - - + -
- +
@@ -435,22 +562,30 @@ df.to_csv('marker.tsv', sep='\t', index=True) - + + + + + +
+ + - - + - + -
- +
+ + + @@ -458,22 +593,29 @@ df.to_csv('marker.tsv', sep='\t', index=True) - + + + + +
- - - + + + + - + -
- +
+ + + @@ -481,19 +623,22 @@ df.to_csv('marker.tsv', sep='\t', index=True) - + + + + +
+ + - - + - -
- +
@@ -501,35 +646,100 @@ df.to_csv('marker.tsv', sep='\t', index=True) + + + + + + + -
- - - + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + +
+ + + + - - + + +
- +
- + - + + + + + + +
+ + + + + + + + +
+ +
+ + + + + + + + + + + + -
`__ Filter marker genes (`filter_marker`) -====================================================================== +===================================== This option is specific for celltype marker gene detection. You can generate a celltype marker gene file (tsv) with **COSG** provided at Galaxy. @@ -603,6 +815,14 @@ More details on the `scanpy documentation `__ +Predict cell doublets using a nearest-neighbor classifier of observed transcriptomes and simulated doublets. (`pp.scrublet`) +============================================================================================================================ + +Works best if the input is a raw (unnormalized) counts matrix from a single sample or a collection of similar samples from the same experiment. This function is a wrapper around functions that pre-process using Scanpy and directly call functions of Scrublet(). + +More details on the `scanpy documentation +`__ + ]]>
diff --git a/tools/scanpy/inspect.xml b/tools/scanpy/inspect.xml index fe65373723c..2957ca6db43 100644 --- a/tools/scanpy/inspect.xml +++ b/tools/scanpy/inspect.xml @@ -1,102 +1,121 @@ - - with scanpy + macros.xml - - - + + + - + ]]> + - + - + - + - + + - - + + - - - - - - - + - + - + + scikit-learn + +print("stats after sqrt:", "min=", adata.X.min(), "max=", adata.X.max(), "mean=", adata.X.mean()) + +@CMD_ANNDATA_WRITE_OUTPUTS@ + ]]> + @@ -263,66 +309,66 @@ sc.pp.sqrt( - + - + - + - - + + - - + + + + - - - - + + - - - + + - + + + - - + + - - - + + + - - - + + + - + - + @@ -331,41 +377,44 @@ sc.pp.sqrt( - + - + - + - - + + - + + + + - + - + - + @@ -378,6 +427,7 @@ sc.pp.sqrt( + @@ -385,18 +435,20 @@ sc.pp.sqrt( + - - + + - - + + + @@ -409,26 +461,21 @@ sc.pp.sqrt( - - - - - + + - + + @@ -436,39 +483,42 @@ sc.pp.sqrt( - + + + + - - - + + - - + + + - + - + - + - + @@ -476,16 +526,31 @@ sc.pp.sqrt( - - - - --> - + + + + + + + + + + + + + - - + + + + + + + + + + + @@ -495,15 +560,40 @@ sc.pp.sqrt( + + - - + - - - + +
+ +
+ + + + + + + + + + + + + + +
+ + + + + + + +
@@ -514,23 +604,25 @@ sc.pp.sqrt( + + + + + + + - + + - - + - - - - -
- +
@@ -542,24 +634,24 @@ sc.pp.sqrt( - + - + +
+ + - - + - -
- +
@@ -571,40 +663,48 @@ sc.pp.sqrt( - + + + + +
+ + - - + - -
- +
- - - - - - - - + + + + + + + + + + + + + -
+ + - - + @@ -617,10 +717,9 @@ sc.pp.sqrt( -
- +
@@ -632,26 +731,26 @@ sc.pp.sqrt( - + + + + +
+ + - - + - - - - -
- +
@@ -664,43 +763,36 @@ sc.pp.sqrt( - + + + + +
+ + - - + - - - - - + - - - - - - - -
- +
- - + + - + @@ -709,22 +801,19 @@ sc.pp.sqrt( - + - +
+ + - - + - - - - - + @@ -732,26 +821,19 @@ sc.pp.sqrt( - - - - - - -
- +
- - + + @@ -764,66 +846,78 @@ sc.pp.sqrt( - + - + -
- + + - + - + - + - - - - +
+ +
- - - + - -
--> + + + + + + + + + + + + + - - +
- +
- + + + + +
+ + - - + -
- +
@@ -831,18 +925,21 @@ sc.pp.sqrt( - -
+ + + + + + + - - + -
- +
@@ -851,54 +948,41 @@ sc.pp.sqrt( - + + + + +
+ + - - +
- +
+ + - -
- - - - - - - - - - -
- -
- + - - - - - + -
`__ Logarithmize the data matrix (`pp.log1p`) ========================================= diff --git a/tools/scanpy/macros.xml b/tools/scanpy/macros.xml index 4dc0fa43b0b..137bbce8a90 100644 --- a/tools/scanpy/macros.xml +++ b/tools/scanpy/macros.xml @@ -1,17 +1,15 @@ - 1.9.6 - 4 - 21.09 + 1.10.2 + 0 + 21.09 scanpy - loompy - leidenalg - louvain - pandas - matplotlib - seaborn - magic-impute + anndata + numpy + pandas + scipy + statsmodels @@ -22,7 +20,7 @@ - + @@ -31,28 +29,13 @@ 10.1093/gigascience/giaa102 - - - - '$hidden_output' && -python '$script_file' >> '$hidden_output' && -ls . >> '$hidden_output' && -touch 'anndata_info.txt' && -cat 'anndata_info.txt' @CMD_prettify_stdout@ - ]]> - - - + + + - + @@ -62,58 +45,55 @@ import numpy as np - + - -
- +
- - + + + + advanced_common['show_log'] + + + + + - - - - + + + - + - + + - @@ -393,141 +373,6 @@ with open('anndata_info.txt','w', encoding='utf-8') as ainfo: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0: - #set $var_group_positions=[] - #set $var_group_labels=[] - #for $i, $s in enumerate($method.var_group_positions) - #silent $var_group_positions.append((int($s.start), int($s.end))) - #silent $var_group_labels.append(str($s.label)) - #end for - var_group_positions=$var_group_positions, - var_group_labels=$var_group_labels, - #end if - #if str($method.var_group_rotation) != '' - var_group_rotation=$method.var_group_rotation, - #end if - #if $method.figsize.test == 'yes' - figsize=($method.figsize.width, $method.figsize.height), - #end if - #if $method.layer - layer='$method.layer', - #end if - ]]> @@ -679,166 +524,491 @@ header=None - + - - + + - - + + + + - - + + - -
- - - - - - -
+ + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - + + + + + '$hidden_output' && +python '$script_file' >> '$hidden_output' && +ls . >> '$hidden_output' && +touch 'anndata_info.txt' && +cat 'anndata_info.txt' @CMD_PRETTIFY_STDOUT@ + ]]> + + + + + + + + + + - - - - - - - - + + - -
- - - - - - - - - - - - - -
+ density_norm='$method.violin_plot.density_norm', + ]]> + + + + + + + + + + + + - - - - + ]]> + + + + + - - - - + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0: + #set $var_group_positions=[] + #set $var_group_labels=[] + #for $i, $s in enumerate($method.var_group_positions) + #silent $var_group_positions.append((int($s.start), int($s.end))) + #silent $var_group_labels.append(str($s.label)) + #end for + var_group_positions=$var_group_positions, + var_group_labels=$var_group_labels, + #end if + #if str($method.var_group_rotation) != '': + var_group_rotation=$method.var_group_rotation, + #end if + @CMD_PARAMS_FIGSIZE@ + @CMD_PARAM_LAYER@ + ]]> + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + - - + + - - + + - 0 + 0: #set $components=[] #for $i, $s in enumerate($method.plot.components) #silent $components.append(str($s.axis1) + ',' + str($s.axis2)) @@ -847,23 +1017,56 @@ header=None #end if ]]> + + + + + + + + + + + + + + + + + + + + + - - + + - + + - - + @@ -871,120 +1074,48 @@ header=None - - - - - - + + + - - - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - - - - - - + - - - - - - - - - - - + +
- + - + + + + @@ -997,303 +1128,336 @@ header=None
- + + + + + + + + + + + + + + + + + + + + - + + - + - + - + - - - - - - - - - - + + - + - + - + - - - + + + + + - + - + - + - - - - - - - + + + + + + + - + - - - - - - - + + + + - - - - + + + + + + + - - - - + + + + + + + + + - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- + + + + + + + + + + + + - + + - - - - -
- - - - - - - - -
-
- - + + + + + + + + +
- +
- - - - - - -
- + + + + + +
+ + + + + + + + + + + + + + + + + + +
diff --git a/tools/scanpy/normalize.xml b/tools/scanpy/normalize.xml index 29caa1adaf9..d8c55063020 100644 --- a/tools/scanpy/normalize.xml +++ b/tools/scanpy/normalize.xml @@ -1,45 +1,40 @@ - - and impute with scanpy + + and impute macros.xml - + + magic-impute + +@CMD_ANNDATA_WRITE_OUTPUTS@ + ]]> + @@ -108,63 +113,50 @@ sc.external.pp.magic( - + - + - - + + - - - - - - - + + - - + + - - - - - - + - + - + - - - - + + + + + help="For extremely large datasets, using n_pca less than 20 allows neighborhoods to be calculated in roughly log(n_samples) time. If not set, no PCA is performed."/> - + - + @@ -173,41 +165,39 @@ sc.external.pp.magic( + + - - + - - - - -
- +
- - + + + + +
+ + - - -
- +
@@ -216,45 +206,50 @@ sc.external.pp.magic( - + + + + + + +
+ + - - + - - - - - -
- +
- + - + + + + +
+ + - - + - - +
- +
@@ -262,19 +257,25 @@ sc.external.pp.magic( - + + + + + + +
+ + - - + -
- +
@@ -282,13 +283,20 @@ sc.external.pp.magic( + + + + + + + -
+ + - - + @@ -296,7 +304,7 @@ sc.external.pp.magic(
- +
@@ -306,23 +314,26 @@ sc.external.pp.magic( - + + + + +
`__ +`__ Normalization and filtering as of Zheng et al. (2017), the Cell Ranger R Kit of 10x Genomics (`pp.recipe_zheng17`) @@ -369,7 +380,7 @@ Markov Affinity-based Graph Imputation of Cells (MAGIC) as of Van Dijk D et al. MAGIC is an algorithm for denoising and transcript recover of single cells applied to single-cell sequencing data. MAGIC builds a graph from the data and uses diffusion to smooth out noise and recover the data manifold. -The algorithm implemented here has changed primarily in two ways compared to the algorithm described in Van Dijk D et al. (2018). +The algorithm implemented here has changed primarily in two ways compared to the algorithm described in Van Dijk D et al. (2018). - Firstly, we use the adaptive kernel described in Moon et al, (2019) for improved stability. - Secondly, data diffusion is applied in the PCA space, rather than the data space, for speed and memory improvements. diff --git a/tools/scanpy/plot.xml b/tools/scanpy/plot.xml index 274e9bd3ff1..c8b9eef0683 100644 --- a/tools/scanpy/plot.xml +++ b/tools/scanpy/plot.xml @@ -1,10 +1,13 @@ - - with scanpy + macros.xml - + + matplotlib + seaborn + python-igraph + @@ -14,18 +17,18 @@ ]]> @@ -470,13 +510,14 @@ sc.pl.rank_genes_groups_stacked_violin( + - + @@ -486,57 +527,59 @@ sc.pl.rank_genes_groups_stacked_violin( - + + - + + - + - - + + - + - + - + - + - + - + - + - - + + @@ -545,11 +588,11 @@ sc.pl.rank_genes_groups_stacked_violin( - +
- + @@ -563,20 +606,25 @@ sc.pl.rank_genes_groups_stacked_violin( - + - + - + + + + + + + - - + @@ -584,56 +632,56 @@ sc.pl.rank_genes_groups_stacked_violin( - + - +
+ - + - - + - -
- + - - + + +
- + - + - + - + - +
+ - @@ -643,53 +691,71 @@ sc.pl.rank_genes_groups_stacked_violin( - + - + - - + +
- - - - - - - - + + +
- - + + - +
+ + + + + + + + + + + + + + + + + + + - + + + - + + + - + @@ -697,18 +763,22 @@ sc.pl.rank_genes_groups_stacked_violin( - + + + - + + + @@ -717,44 +787,50 @@ sc.pl.rank_genes_groups_stacked_violin( - + + + - + + + - + - + - + + + - + - + - + - - + @@ -763,43 +839,58 @@ sc.pl.rank_genes_groups_stacked_violin( - + + - - + + - + - + - + +
+ + + + + + + + + + + + + +
- - + + - + - - + + - + @@ -809,8 +900,8 @@ sc.pl.rank_genes_groups_stacked_violin( - - + + @@ -818,51 +909,62 @@ sc.pl.rank_genes_groups_stacked_violin( - - + + - + - + - - + +
- + + + + +
- - + - - + + - - + + + + + + + + + - - + + + - + - - + + @@ -894,9 +996,9 @@ sc.pl.rank_genes_groups_stacked_violin( + - - + @@ -906,30 +1008,25 @@ sc.pl.rank_genes_groups_stacked_violin( -
- - -
- +
- + - @@ -937,11 +1034,12 @@ sc.pl.rank_genes_groups_stacked_violin( - +
+ + - - + @@ -949,81 +1047,102 @@ sc.pl.rank_genes_groups_stacked_violin( - - - - -
- - -
- +
- + - + - - + - +
+ + - - + - - - + + + + + +
+ + + + + +
+
+
+ +
+ + + + + + + + + + + + + + +
+ + + + + + + - - - - - + + -
- -
- +
- + - + @@ -1033,61 +1152,58 @@ sc.pl.rank_genes_groups_stacked_violin( - +
+ + - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- -
- - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+ + + + + + + + + + + + + + + + +
+ + - - + @@ -1096,9 +1212,6 @@ sc.pl.rank_genes_groups_stacked_violin( - - - @@ -1110,27 +1223,22 @@ sc.pl.rank_genes_groups_stacked_violin( - - -
- -
- +
- + - + @@ -1138,309 +1246,271 @@ sc.pl.rank_genes_groups_stacked_violin( - - - +
+ + - - - - - - - - - - - - - - - -
- - - -
-
-
- -
- - - - - - - - - - - - + + + + + + + + + + + +
+ +
+
+
+ +
+ + + + + + + + + + + + +
+ + + + + + + + + + +
+ +
+
+
+ +
+ + + + + + + + + + +
+ + - - + - - - - + +
- - - - - - - -
- - - -
- +
- + - + - - - - - - + + + + + +
+ + + + + + + + + + +
+ +
+
+ +
+
+
+ +
+ + + + + + + + + + + + + + - + +
+ + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ + - - + - - - - + - - - - - - -
- - - - - - -
- - -
- - - - -
- +
- + + - + - - - - - - - - - + - -
- - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - +
+ + - - + - + + + - - - - - + + + - -
- - - -
+
- +
- + + - + - - - - + -
+ + - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - -
- - - + -
- - -
- +
- + @@ -1448,66 +1518,85 @@ sc.pl.rank_genes_groups_stacked_violin( - +
+ + - - + - - +
- +
- - + + - +
+ + - - + - - - +
- +
- - + + - + +
+ + + + + + + + +
+ +
+ + + + + + + + +
+ + - - + - -
@@ -1517,112 +1606,90 @@ sc.pl.rank_genes_groups_stacked_violin( - - - - - - -
-
- -
- +
- - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
+ + - - +
- +
- + - +
+ + - - + - -
- +
- - + - +
+ + - - + - -
- - - - - - -
- +
@@ -1634,46 +1701,29 @@ sc.pl.rank_genes_groups_stacked_violin( - - +
+ + - - + - - - - - -
- - - - - - - -
-
- -
- +
@@ -1687,50 +1737,33 @@ sc.pl.rank_genes_groups_stacked_violin( - - - - +
+ + - - + - - - - + -
- - - - - - - -
-
- -
- +
@@ -1739,7 +1772,6 @@ sc.pl.rank_genes_groups_stacked_violin( - @@ -1747,45 +1779,31 @@ sc.pl.rank_genes_groups_stacked_violin( - - - + - +
+ + - - + - -
- - - - - - - -
-
- -
- +
@@ -1798,49 +1816,34 @@ sc.pl.rank_genes_groups_stacked_violin( - - - + - +
+ + - - + - - -
- - - - - - - -
-
- -
- +
@@ -1854,48 +1857,47 @@ sc.pl.rank_genes_groups_stacked_violin( - - - - +
+ + - - + -
- +
- + - +
- - - + + + + + + - - + - - - -
- +
- - +
+ + - - + - - - - - - - - - - + + + - - + - - - - - - - - - - + - + +
--> + + - - + - - - - - +
- +
@@ -1998,14 +1979,14 @@ sc.pl.rank_genes_groups_stacked_violin( - - +
+ + - - + @@ -2013,270 +1994,178 @@ sc.pl.rank_genes_groups_stacked_violin( - - -
- - - - - - -
- +
- + - + - - - - - + + + + +
+ + - - + - - + - - - - - - - -
- - + + +
+ + + +
- +
- + - - - - - + + + + + + + + + - + + + - - + - - - - - - -
- - - -
- +
- + - - +
+ + - - + - - + - - - - -
- - - -
- +
- + - + - - - - - +
+ + - - + - - + - - - - -
- - - - - - -
- - -
- - - - - -
- +
- + - - - - - - - - - - - - + + + + - +
+ + - - + - - - - - - - - - + + + + - - -
- - - - - - - - -
- - - - - - - - - - + + + + - +
+ + - - + - - - - - -
- - -
@@ -2284,53 +2173,30 @@ sc.pl.rank_genes_groups_stacked_violin( - - + - - - - + + + - - - - - - - - - - - -
- - -
+
- - - - - - - - + - +
`__ +Generic: Tracks plot (`pl.tracksplot`) +====================================== + +In this type of plot each var_name is plotted as a filled line plot where the y values correspond to the var_name values and x is each of the cells. +Best results are obtained when using raw counts that are not log. + +More details on the `scanpy documentation +`__ + Generic: Violin plot (`pl.violin`) ================================== @@ -2438,6 +2313,15 @@ It produces Supp. Fig. 5c of Zheng et al. (2017) and MeanVarPlot() of Seurat. More details on the `scanpy documentation `__ +Preprocessing: Plot histogram of doublet scores for observed transcriptomes and simulated doublets (`pl.scrublet_score_distribution`) +===================================================================================================================================== + +The histogram for simulated doublets is useful for determining the correct doublet score threshold. +Scrublet must have been run previously with the input object. + +More details on the `scanpy documentation +`__ + PCA: Scatter plot in PCA coordinates (`pl.pca`) =============================================== @@ -2483,11 +2367,24 @@ Embeddings: Scatter plot in Diffusion Map basis (`pl.diffmap`) More details on the `scanpy documentation `__ -Branching trajectories and pseudotime, clustering: Plot groups and pseudotime (`pl.dpt_groups_pseudotime`) -=========================================================================================================== +Embeddings: Scatter plot in graph-drawing basis (`pl.draw_graph`) +================================================================= + +More details on the `scanpy documentation +`__ + +Embeddings: Plot the density of cells in an embedding (per condition) (`pl.embedding_density`) +============================================================================================== More details on the `scanpy documentation -`__ +`__ + +.. This function is commented out because it is not compatible with pandas version. If the issue is not resolved in the next update, this should be removed. +.. Branching trajectories and pseudotime, clustering: Plot groups and pseudotime (`pl.dpt_groups_pseudotime`) +.. =========================================================================================================== + +.. More details on the `scanpy documentation +.. `__ Branching trajectories and pseudotime, clustering: Heatmap of pseudotime series (`pl.dpt_timeseries`) ===================================================================================================== @@ -2533,11 +2430,11 @@ Marker genes: Plot ranking of genes as violin plot (`pl.rank_genes_groups_violin More details on the `scanpy documentation `__ -Marker genes: Plot ranking of genes as dotplot plot (`pl.rank_genes_groups_dotplot`) -==================================================================================== +Marker genes: Plot ranking of genes as stacked violin plot (`pl.rank_genes_groups_stacked_violin`) +================================================================================================== More details on the `scanpy documentation -`__ +`__ Marker genes: Plot ranking of genes as heatmap plot (`pl.rank_genes_groups_heatmap`) ==================================================================================== @@ -2545,17 +2442,19 @@ Marker genes: Plot ranking of genes as heatmap plot (`pl.rank_genes_groups_heatm More details on the `scanpy documentation `__ +Marker genes: Plot ranking of genes as dotplot plot (`pl.rank_genes_groups_dotplot`) +==================================================================================== + +More details on the `scanpy documentation +`__ + Marker genes: Plot ranking of genes as matrixplot plot (`pl.rank_genes_groups_matrixplot`) ========================================================================================== More details on the `scanpy documentation `__ -Marker genes: Plot ranking of genes as stacked violin plot (`pl.rank_genes_groups_stacked_violin`) -================================================================================================== - -More details on the `scanpy documentation -`__ - ]]> + ]]> + diff --git a/tools/scanpy/remove_confounders.xml b/tools/scanpy/remove_confounders.xml index 6c355c721f8..76bceab1d3a 100644 --- a/tools/scanpy/remove_confounders.xml +++ b/tools/scanpy/remove_confounders.xml @@ -1,67 +1,164 @@ - + with scanpy macros.xml - + + bbknn + harmonypy + scanorama + pynndescent + @@ -69,21 +166,29 @@ sc.pp.combat( - + + + + + + + + - + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -122,76 +298,228 @@ sc.pp.combat( + + - - + - +
- +
- + + + + + + + + -
- + + + + + + + + + + --> + + - - + -
- +
- + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + -
`__ -Correct batch effects by matching mutual nearest neighbors, using `pp.mnn_correct` -================================================================================== +.. This function is commented out because the conda package is not working. Please add this if there is user demand and the conda package is fixed. If not please remove in the next update. +.. Correct batch effects by matching mutual nearest neighbors, using `external.pp.mnn_correct` +.. =========================================================================================== -This uses the implementation of mnnpy. Depending on do_concatenate, it returns AnnData objects in the -original order containing corrected expression values or a concatenated matrix or AnnData object. +.. This uses the implementation of mnnpy. Depending on do_concatenate, it returns AnnData objects in the +.. original order containing corrected expression values or a concatenated matrix or AnnData object. -Be reminded that it is not advised to use the corrected data matrices for differential expression testing. +.. Be reminded that it is not advised to use the corrected data matrices for differential expression testing. -More details on the `scanpy documentation -`__ +.. More details on the `scanpy documentation +.. `__ Correct batch effects with ComBat function (`pp.combat`) @@ -203,6 +531,33 @@ More details on the `scanpy documentation `__ +Correct batch effects with bbknn function (`external.pp.bbknn`) +=============================================================== + +Batch balanced kNN alters the kNN procedure to identify each cell’s top neighbours in each batch separately instead of the entire cell pool with no accounting for batch. The nearest neighbours for each batch are then merged to create a final list of neighbours for the cell. Aligns batches in a quick and lightweight manner. + +More details on the `scanpy documentation +`__ + + +Correct batch effects with harmony function (`external.pp.harmony_integrate`) +============================================================================= + +Harmony is an algorithm for integrating single-cell data from multiple experiments. +As Harmony works by adjusting the principal components, this function should be run after performing PCA but before computing the neighbor graph. + +More details on the `scanpy documentation +`__ + + +Correct batch effects with scanprama function (`external.pp.scanorama_integrate`) +================================================================================= + +Scanprama is an algorithm for integrating single-cell data from multiple experiments stored in an AnnData object. This function should be run after performing PCA but before computing the neighbor graph. + +More details on the `scanpy documentation +`__ + ]]>
diff --git a/tools/scanpy/test-data/cosg.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_1.h5ad b/tools/scanpy/test-data/cosg.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_1.h5ad index cb1fab576b2..a0ff6c82bf4 100644 Binary files a/tools/scanpy/test-data/cosg.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_1.h5ad and b/tools/scanpy/test-data/cosg.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_1.h5ad differ diff --git a/tools/scanpy/test-data/external.pp.bbknn.krumsiek11.h5ad b/tools/scanpy/test-data/external.pp.bbknn.krumsiek11.h5ad new file mode 100644 index 00000000000..b0c3b29cff4 Binary files /dev/null and b/tools/scanpy/test-data/external.pp.bbknn.krumsiek11.h5ad differ diff --git a/tools/scanpy/test-data/external.pp.magic.all_genes.krumsiek11.h5ad b/tools/scanpy/test-data/external.pp.magic.all_genes.krumsiek11.h5ad deleted file mode 100644 index 074cce38f53..00000000000 Binary files a/tools/scanpy/test-data/external.pp.magic.all_genes.krumsiek11.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/external.pp.magic.pca_only.krumsiek11.h5ad b/tools/scanpy/test-data/external.pp.magic.pca_only.krumsiek11.h5ad deleted file mode 100644 index de53754bd12..00000000000 Binary files a/tools/scanpy/test-data/external.pp.magic.pca_only.krumsiek11.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pbmc68k_reduced.h5ad b/tools/scanpy/test-data/pbmc68k_reduced.h5ad index 38d15e1c5cd..11568b60943 100644 Binary files a/tools/scanpy/test-data/pbmc68k_reduced.h5ad and b/tools/scanpy/test-data/pbmc68k_reduced.h5ad differ diff --git a/tools/scanpy/test-data/pl.clustermap.krumsiek11.png b/tools/scanpy/test-data/pl.clustermap.krumsiek11.png index cb355b5ec7e..ae5a28a1355 100644 Binary files a/tools/scanpy/test-data/pl.clustermap.krumsiek11.png and b/tools/scanpy/test-data/pl.clustermap.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png b/tools/scanpy/test-data/pl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png index aaafda2a721..1bfe9655ae3 100644 Binary files a/tools/scanpy/test-data/pl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png and b/tools/scanpy/test-data/pl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png differ diff --git a/tools/scanpy/test-data/pl.dotplot.krumsiek11.png b/tools/scanpy/test-data/pl.dotplot.krumsiek11.png index 80912949f4c..57ae4f2f532 100644 Binary files a/tools/scanpy/test-data/pl.dotplot.krumsiek11.png and b/tools/scanpy/test-data/pl.dotplot.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.dpt_timeseries.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png b/tools/scanpy/test-data/pl.dpt_timeseries.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png index a01cbdf9c8c..e193161dba2 100644 Binary files a/tools/scanpy/test-data/pl.dpt_timeseries.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png and b/tools/scanpy/test-data/pl.dpt_timeseries.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png differ diff --git a/tools/scanpy/test-data/pl.draw_graph.png b/tools/scanpy/test-data/pl.draw_graph.png index 945b3d96049..36e794acf18 100644 Binary files a/tools/scanpy/test-data/pl.draw_graph.png and b/tools/scanpy/test-data/pl.draw_graph.png differ diff --git a/tools/scanpy/test-data/pl.embedding_density.pbmc68k_reduced.png b/tools/scanpy/test-data/pl.embedding_density.pbmc68k_reduced.png index 24df624e193..221c96d744f 100644 Binary files a/tools/scanpy/test-data/pl.embedding_density.pbmc68k_reduced.png and b/tools/scanpy/test-data/pl.embedding_density.pbmc68k_reduced.png differ diff --git a/tools/scanpy/test-data/pl.heatmap.krumsiek11.png b/tools/scanpy/test-data/pl.heatmap.krumsiek11.png index 1a7d034f442..d495f7bb209 100644 Binary files a/tools/scanpy/test-data/pl.heatmap.krumsiek11.png and b/tools/scanpy/test-data/pl.heatmap.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.highest_expr_genes.filter_genes_dispersion.krumsiek11-seurat.png b/tools/scanpy/test-data/pl.highest_expr_genes.filter_genes_dispersion.krumsiek11-seurat.png index 7eb19bdd1d3..cba50e2d84f 100644 Binary files a/tools/scanpy/test-data/pl.highest_expr_genes.filter_genes_dispersion.krumsiek11-seurat.png and b/tools/scanpy/test-data/pl.highest_expr_genes.filter_genes_dispersion.krumsiek11-seurat.png differ diff --git a/tools/scanpy/test-data/pl.highly_variable_genes.seurat.blobs.png b/tools/scanpy/test-data/pl.highly_variable_genes.seurat.blobs.png index 5afcb1ef3d0..0a33ceaf83d 100644 Binary files a/tools/scanpy/test-data/pl.highly_variable_genes.seurat.blobs.png and b/tools/scanpy/test-data/pl.highly_variable_genes.seurat.blobs.png differ diff --git a/tools/scanpy/test-data/pl.matrixplot.krumsiek11.png b/tools/scanpy/test-data/pl.matrixplot.krumsiek11.png index e5d75912d27..95c2690d44f 100644 Binary files a/tools/scanpy/test-data/pl.matrixplot.krumsiek11.png and b/tools/scanpy/test-data/pl.matrixplot.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.paga.paul15_gauss_braycurtis.png b/tools/scanpy/test-data/pl.paga.paul15_gauss_braycurtis.png index 0c7fe37c319..d8eba5fbad3 100644 Binary files a/tools/scanpy/test-data/pl.paga.paul15_gauss_braycurtis.png and b/tools/scanpy/test-data/pl.paga.paul15_gauss_braycurtis.png differ diff --git a/tools/scanpy/test-data/pl.paga_compare.paul15_gauss_braycurtis.png b/tools/scanpy/test-data/pl.paga_compare.paul15_gauss_braycurtis.png index 858afdec5c6..561242d6f63 100644 Binary files a/tools/scanpy/test-data/pl.paga_compare.paul15_gauss_braycurtis.png and b/tools/scanpy/test-data/pl.paga_compare.paul15_gauss_braycurtis.png differ diff --git a/tools/scanpy/test-data/pl.pca.pbmc68k_reduced.CD3D_CD79A_components_2d.pdf b/tools/scanpy/test-data/pl.pca.pbmc68k_reduced.CD3D_CD79A_components_2d.pdf index e88bbb34cfb..579226202e6 100644 Binary files a/tools/scanpy/test-data/pl.pca.pbmc68k_reduced.CD3D_CD79A_components_2d.pdf and b/tools/scanpy/test-data/pl.pca.pbmc68k_reduced.CD3D_CD79A_components_2d.pdf differ diff --git a/tools/scanpy/test-data/pl.pca_loadings.pp.pca.krumsiek11.png b/tools/scanpy/test-data/pl.pca_loadings.pp.pca.krumsiek11.png index 9ff0c1bf6d2..1be3ff9b75e 100644 Binary files a/tools/scanpy/test-data/pl.pca_loadings.pp.pca.krumsiek11.png and b/tools/scanpy/test-data/pl.pca_loadings.pp.pca.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.pca_overview.pp.pca.krumsiek11.png b/tools/scanpy/test-data/pl.pca_overview.pp.pca.krumsiek11.png index e8aea21b359..e8a9f64750b 100644 Binary files a/tools/scanpy/test-data/pl.pca_overview.pp.pca.krumsiek11.png and b/tools/scanpy/test-data/pl.pca_overview.pp.pca.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.pca_variance_ratio.pp.pca.krumsiek11.png b/tools/scanpy/test-data/pl.pca_variance_ratio.pp.pca.krumsiek11.png index 10a06ed4d9d..5bdf3e7bdb0 100644 Binary files a/tools/scanpy/test-data/pl.pca_variance_ratio.pp.pca.krumsiek11.png and b/tools/scanpy/test-data/pl.pca_variance_ratio.pp.pca.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_1.png b/tools/scanpy/test-data/pl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_1.png index 7e0af20d80e..8e10a632ef0 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_1.png and b/tools/scanpy/test-data/pl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_1.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_filtered_1.png b/tools/scanpy/test-data/pl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_filtered_1.png index 2c8e1089c41..d2993c06d1c 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_filtered_1.png and b/tools/scanpy/test-data/pl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_filtered_1.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups.rank_genes_groups.krumsiek11.png b/tools/scanpy/test-data/pl.rank_genes_groups.rank_genes_groups.krumsiek11.png index 461b00542e3..df7ff1d5799 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups.rank_genes_groups.krumsiek11.png and b/tools/scanpy/test-data/pl.rank_genes_groups.rank_genes_groups.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_dotplot.rank_genes_groups.krumsiek11.png b/tools/scanpy/test-data/pl.rank_genes_groups_dotplot.rank_genes_groups.krumsiek11.png index de1627e8ac8..a9931830303 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_dotplot.rank_genes_groups.krumsiek11.png and b/tools/scanpy/test-data/pl.rank_genes_groups_dotplot.rank_genes_groups.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_heatmap.rank_genes_groups.krumsiek11.png b/tools/scanpy/test-data/pl.rank_genes_groups_heatmap.rank_genes_groups.krumsiek11.png index 81baac35f5e..fe1ad855277 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_heatmap.rank_genes_groups.krumsiek11.png and b/tools/scanpy/test-data/pl.rank_genes_groups_heatmap.rank_genes_groups.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_matrixplot.rank_genes_groups.krumsiek11.png b/tools/scanpy/test-data/pl.rank_genes_groups_matrixplot.rank_genes_groups.krumsiek11.png index 3b541916bad..a69099020b5 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_matrixplot.rank_genes_groups.krumsiek11.png and b/tools/scanpy/test-data/pl.rank_genes_groups_matrixplot.rank_genes_groups.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_stacked_violin.rank_genes_groups.krumsiek11.png b/tools/scanpy/test-data/pl.rank_genes_groups_stacked_violin.rank_genes_groups.krumsiek11.png index c581cce512b..36d71d8ff00 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_stacked_violin.rank_genes_groups.krumsiek11.png and b/tools/scanpy/test-data/pl.rank_genes_groups_stacked_violin.rank_genes_groups.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_tracksplot.newton-cg.pbmc68k_highly_reduced_marker_filtered_1.png b/tools/scanpy/test-data/pl.rank_genes_groups_tracksplot.newton-cg.pbmc68k_highly_reduced_marker_filtered_1.png new file mode 100644 index 00000000000..b5df09e786e Binary files /dev/null and b/tools/scanpy/test-data/pl.rank_genes_groups_tracksplot.newton-cg.pbmc68k_highly_reduced_marker_filtered_1.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_violin.Ery.png b/tools/scanpy/test-data/pl.rank_genes_groups_violin.Ery.png index b65728fe117..7b870bf59ed 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_violin.Ery.png and b/tools/scanpy/test-data/pl.rank_genes_groups_violin.Ery.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_violin.Mk.png b/tools/scanpy/test-data/pl.rank_genes_groups_violin.Mk.png index db704dc2566..7b890a0c71d 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_violin.Mk.png and b/tools/scanpy/test-data/pl.rank_genes_groups_violin.Mk.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_violin.Mo.png b/tools/scanpy/test-data/pl.rank_genes_groups_violin.Mo.png index 9fe89735b79..62409c06589 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_violin.Mo.png and b/tools/scanpy/test-data/pl.rank_genes_groups_violin.Mo.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_violin.Neu.png b/tools/scanpy/test-data/pl.rank_genes_groups_violin.Neu.png index c51265ae9e2..9f1b4944027 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_violin.Neu.png and b/tools/scanpy/test-data/pl.rank_genes_groups_violin.Neu.png differ diff --git a/tools/scanpy/test-data/pl.rank_genes_groups_violin.progenitor.png b/tools/scanpy/test-data/pl.rank_genes_groups_violin.progenitor.png index b4274dea654..d04ba172c97 100644 Binary files a/tools/scanpy/test-data/pl.rank_genes_groups_violin.progenitor.png and b/tools/scanpy/test-data/pl.rank_genes_groups_violin.progenitor.png differ diff --git a/tools/scanpy/test-data/pl.scatter.krumsiek11.png b/tools/scanpy/test-data/pl.scatter.krumsiek11.png index 18adde30523..36e2bac81b2 100644 Binary files a/tools/scanpy/test-data/pl.scatter.krumsiek11.png and b/tools/scanpy/test-data/pl.scatter.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.scatter.pbmc68k_reduced.png b/tools/scanpy/test-data/pl.scatter.pbmc68k_reduced.png index 96241c4c4a8..94f91a5bd1c 100644 Binary files a/tools/scanpy/test-data/pl.scatter.pbmc68k_reduced.png and b/tools/scanpy/test-data/pl.scatter.pbmc68k_reduced.png differ diff --git a/tools/scanpy/test-data/pl.scatter.umap.pbmc68k_reduced.png b/tools/scanpy/test-data/pl.scatter.umap.pbmc68k_reduced.png index 38cbe030af5..0ce7f2a5574 100644 Binary files a/tools/scanpy/test-data/pl.scatter.umap.pbmc68k_reduced.png and b/tools/scanpy/test-data/pl.scatter.umap.pbmc68k_reduced.png differ diff --git a/tools/scanpy/test-data/pl.scrublet_score_distribution.png b/tools/scanpy/test-data/pl.scrublet_score_distribution.png new file mode 100644 index 00000000000..393c3c3d8fb Binary files /dev/null and b/tools/scanpy/test-data/pl.scrublet_score_distribution.png differ diff --git a/tools/scanpy/test-data/pl.stacked_violin.krumsiek11.png b/tools/scanpy/test-data/pl.stacked_violin.krumsiek11.png index 271b428928c..070d9f3a4d5 100644 Binary files a/tools/scanpy/test-data/pl.stacked_violin.krumsiek11.png and b/tools/scanpy/test-data/pl.stacked_violin.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.stacked_violin_pp.filter_genes_dispersion.krumsiek11-seurat.png b/tools/scanpy/test-data/pl.stacked_violin_pp.filter_genes_dispersion.krumsiek11-seurat.png new file mode 100644 index 00000000000..c244c9349d2 Binary files /dev/null and b/tools/scanpy/test-data/pl.stacked_violin_pp.filter_genes_dispersion.krumsiek11-seurat.png differ diff --git a/tools/scanpy/test-data/pl.tsne.krumsiek11.png b/tools/scanpy/test-data/pl.tsne.krumsiek11.png index 81c2ade889e..e58a30d8b1e 100644 Binary files a/tools/scanpy/test-data/pl.tsne.krumsiek11.png and b/tools/scanpy/test-data/pl.tsne.krumsiek11.png differ diff --git a/tools/scanpy/test-data/pl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.png b/tools/scanpy/test-data/pl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.png index d935144b1d5..e73f79ae9c4 100644 Binary files a/tools/scanpy/test-data/pl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.png and b/tools/scanpy/test-data/pl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.png differ diff --git a/tools/scanpy/test-data/pl.violin.pbmc68k_reduced_custom.png b/tools/scanpy/test-data/pl.violin.pbmc68k_reduced_custom.png index 996be8e38c7..cf7d76142ff 100644 Binary files a/tools/scanpy/test-data/pl.violin.pbmc68k_reduced_custom.png and b/tools/scanpy/test-data/pl.violin.pbmc68k_reduced_custom.png differ diff --git a/tools/scanpy/test-data/pp.calculate_qc_metrics.sparce_csr_matrix.h5ad b/tools/scanpy/test-data/pp.calculate_qc_metrics.sparce_csr_matrix.h5ad deleted file mode 100644 index 72ffbd66b44..00000000000 Binary files a/tools/scanpy/test-data/pp.calculate_qc_metrics.sparce_csr_matrix.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.downsample_counts.random-randint.h5ad b/tools/scanpy/test-data/pp.downsample_counts.random-randint.h5ad deleted file mode 100644 index a7b2121f5f0..00000000000 Binary files a/tools/scanpy/test-data/pp.downsample_counts.random-randint.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.filter_cells.krumsiek11-min_counts.h5ad b/tools/scanpy/test-data/pp.filter_cells.krumsiek11-min_counts.h5ad deleted file mode 100644 index 0c573119dcd..00000000000 Binary files a/tools/scanpy/test-data/pp.filter_cells.krumsiek11-min_counts.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.filter_genes.krumsiek11-min_counts.h5ad b/tools/scanpy/test-data/pp.filter_genes.krumsiek11-min_counts.h5ad deleted file mode 100644 index ad34a988683..00000000000 Binary files a/tools/scanpy/test-data/pp.filter_genes.krumsiek11-min_counts.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.filter_rank_genes_groups.h5ad b/tools/scanpy/test-data/pp.filter_rank_genes_groups.h5ad deleted file mode 100644 index 92ffcc5089c..00000000000 Binary files a/tools/scanpy/test-data/pp.filter_rank_genes_groups.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.highly_variable_genes.krumsiek11-cell_ranger.h5ad b/tools/scanpy/test-data/pp.highly_variable_genes.krumsiek11-cell_ranger.h5ad deleted file mode 100644 index 50bbc1e3b64..00000000000 Binary files a/tools/scanpy/test-data/pp.highly_variable_genes.krumsiek11-cell_ranger.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.log1p.krumsiek11.h5ad b/tools/scanpy/test-data/pp.log1p.krumsiek11.h5ad deleted file mode 100644 index a1a0074e85c..00000000000 Binary files a/tools/scanpy/test-data/pp.log1p.krumsiek11.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.normalize_total.krumsiek11.h5ad b/tools/scanpy/test-data/pp.normalize_total.krumsiek11.h5ad deleted file mode 100644 index d409d8c2806..00000000000 Binary files a/tools/scanpy/test-data/pp.normalize_total.krumsiek11.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.filter_cells.krumsiek11-max_genes.h5ad b/tools/scanpy/test-data/pp.pca.krumsiek11.batch.h5ad similarity index 58% rename from tools/scanpy/test-data/pp.filter_cells.krumsiek11-max_genes.h5ad rename to tools/scanpy/test-data/pp.pca.krumsiek11.batch.h5ad index 00ebd0a7974..4cd7a70adb7 100644 Binary files a/tools/scanpy/test-data/pp.filter_cells.krumsiek11-max_genes.h5ad and b/tools/scanpy/test-data/pp.pca.krumsiek11.batch.h5ad differ diff --git a/tools/scanpy/test-data/pp.pca.krumsiek11_chunk.h5ad b/tools/scanpy/test-data/pp.pca.krumsiek11_chunk.h5ad deleted file mode 100644 index 65d11391daa..00000000000 Binary files a/tools/scanpy/test-data/pp.pca.krumsiek11_chunk.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.recipe_seurat.recipe_zheng17.h5ad b/tools/scanpy/test-data/pp.recipe_seurat.recipe_zheng17.h5ad deleted file mode 100644 index b878dff879d..00000000000 Binary files a/tools/scanpy/test-data/pp.recipe_seurat.recipe_zheng17.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.recipe_weinreb17.paul15_subsample.updated.h5ad b/tools/scanpy/test-data/pp.recipe_weinreb17.paul15_subsample.updated.h5ad deleted file mode 100644 index 2f23d9bb88e..00000000000 Binary files a/tools/scanpy/test-data/pp.recipe_weinreb17.paul15_subsample.updated.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.recipe_zheng17.random-randint.h5ad b/tools/scanpy/test-data/pp.recipe_zheng17.random-randint.h5ad index 13013747917..c377b429122 100644 Binary files a/tools/scanpy/test-data/pp.recipe_zheng17.random-randint.h5ad and b/tools/scanpy/test-data/pp.recipe_zheng17.random-randint.h5ad differ diff --git a/tools/scanpy/test-data/pp.scale.krumsiek11.h5ad b/tools/scanpy/test-data/pp.scale.krumsiek11.h5ad deleted file mode 100644 index f6379a2bf13..00000000000 Binary files a/tools/scanpy/test-data/pp.scale.krumsiek11.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.scale_max_value.krumsiek11.h5ad b/tools/scanpy/test-data/pp.scale_max_value.krumsiek11.h5ad deleted file mode 100644 index f6379a2bf13..00000000000 Binary files a/tools/scanpy/test-data/pp.scale_max_value.krumsiek11.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/tl.score_genes_cell_cycle.krumsiek11.h5ad b/tools/scanpy/test-data/pp.scrublet.krumsiek11.h5ad similarity index 52% rename from tools/scanpy/test-data/tl.score_genes_cell_cycle.krumsiek11.h5ad rename to tools/scanpy/test-data/pp.scrublet.krumsiek11.h5ad index 7f73a3627ec..a1ac2398188 100644 Binary files a/tools/scanpy/test-data/tl.score_genes_cell_cycle.krumsiek11.h5ad and b/tools/scanpy/test-data/pp.scrublet.krumsiek11.h5ad differ diff --git a/tools/scanpy/test-data/pp.sqrt.krumsiek11.h5ad b/tools/scanpy/test-data/pp.sqrt.krumsiek11.h5ad deleted file mode 100644 index 4c5a7cad101..00000000000 Binary files a/tools/scanpy/test-data/pp.sqrt.krumsiek11.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.subsample.krumsiek11_fraction.h5ad b/tools/scanpy/test-data/pp.subsample.krumsiek11_fraction.h5ad deleted file mode 100644 index 9196e5b5ff7..00000000000 Binary files a/tools/scanpy/test-data/pp.subsample.krumsiek11_fraction.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/pp.subsample.krumsiek11_n_obs.h5ad b/tools/scanpy/test-data/pp.subsample.krumsiek11_n_obs.h5ad deleted file mode 100644 index 331b3e449c5..00000000000 Binary files a/tools/scanpy/test-data/pp.subsample.krumsiek11_n_obs.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/random-randint.h5ad b/tools/scanpy/test-data/random-randint.h5ad index 90f5dd38139..27e815e2036 100644 Binary files a/tools/scanpy/test-data/random-randint.h5ad and b/tools/scanpy/test-data/random-randint.h5ad differ diff --git a/tools/scanpy/test-data/sparce_csr_matrix.h5ad b/tools/scanpy/test-data/sparce_csr_matrix.h5ad index 42332ef6d62..5f5788d5381 100644 Binary files a/tools/scanpy/test-data/sparce_csr_matrix.h5ad and b/tools/scanpy/test-data/sparce_csr_matrix.h5ad differ diff --git a/tools/scanpy/test-data/tl.embedding_density.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad b/tools/scanpy/test-data/tl.embedding_density.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad deleted file mode 100644 index 8330ebdb376..00000000000 Binary files a/tools/scanpy/test-data/tl.embedding_density.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/tl.embedding_density.umap.pbmc68k_reduced.h5ad b/tools/scanpy/test-data/tl.embedding_density.umap.pbmc68k_reduced.h5ad index 4368d833abe..124b6f9166b 100644 Binary files a/tools/scanpy/test-data/tl.embedding_density.umap.pbmc68k_reduced.h5ad and b/tools/scanpy/test-data/tl.embedding_density.umap.pbmc68k_reduced.h5ad differ diff --git a/tools/scanpy/test-data/tl.leiden.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad b/tools/scanpy/test-data/tl.leiden.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad deleted file mode 100644 index 9b17133bd15..00000000000 Binary files a/tools/scanpy/test-data/tl.leiden.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/tl.louvain.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad b/tools/scanpy/test-data/tl.louvain.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad deleted file mode 100644 index ee425eefe7a..00000000000 Binary files a/tools/scanpy/test-data/tl.louvain.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/tl.paga.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad b/tools/scanpy/test-data/tl.paga.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad deleted file mode 100644 index d5cc448b8d7..00000000000 Binary files a/tools/scanpy/test-data/tl.paga.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/tl.rank_genes_groups.liblinear.krumsiek11.h5ad b/tools/scanpy/test-data/tl.rank_genes_groups.liblinear.krumsiek11.h5ad deleted file mode 100644 index 70de28282d2..00000000000 Binary files a/tools/scanpy/test-data/tl.rank_genes_groups.liblinear.krumsiek11.h5ad and /dev/null differ diff --git a/tools/scanpy/test-data/tl.rank_genes_groups.newton-cg.pbmc68k_reduced.h5ad b/tools/scanpy/test-data/tl.rank_genes_groups.newton-cg.pbmc68k_reduced.h5ad index 8e151d08d18..63c699b4f93 100644 Binary files a/tools/scanpy/test-data/tl.rank_genes_groups.newton-cg.pbmc68k_reduced.h5ad and b/tools/scanpy/test-data/tl.rank_genes_groups.newton-cg.pbmc68k_reduced.h5ad differ diff --git a/tools/scanpy/test-data/tl.score_genes.krumsiek11.h5ad b/tools/scanpy/test-data/tl.score_genes.krumsiek11.h5ad deleted file mode 100644 index 7ac8723043b..00000000000 Binary files a/tools/scanpy/test-data/tl.score_genes.krumsiek11.h5ad and /dev/null differ