From 85acb6c8949d43d08a26437dceab4fa5db79e246 Mon Sep 17 00:00:00 2001 From: falexwolf Date: Tue, 14 May 2019 14:12:39 +0200 Subject: [PATCH] version 1.4.3 --- docs/_static/css/custom.css | 4 ++ docs/release_notes.rst | 77 +++++++++++++++---------------------- 2 files changed, 36 insertions(+), 45 deletions(-) diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css index c7d2577ec5..1464c36d78 100644 --- a/docs/_static/css/custom.css +++ b/docs/_static/css/custom.css @@ -14,6 +14,10 @@ font-size:70%; } +.pr { + font-size:70%; +} + .rst-content dl:not(.docutils) tt.xref, .rst-content dl:not(.docutils) code.xref { font-weight: bold; /* restore bold for hyperref literals */ } diff --git a/docs/release_notes.rst b/docs/release_notes.rst index 5e1fedf5b7..7b97889302 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -6,50 +6,37 @@ .. role:: smaller .. role:: noteversion -On Master :small:`May 7, 2019` ------------------------------- -- :func:`~scanpy.pp.calculate_qc_metrics` is now single threaded by default for datasets under 300,000 cells -- allowing cached compilation. See :pr:`615` :smaller:`thanks to I Virshup` - -Version 1.4.2 :small:`May 6, 2019` ----------------------------------- +Post v1.4 :small:`May 13, 2019` +------------------------------- New functionality: - -- :func:`~scanpy.pp.combat` ComBat function now supports additional covariates which may include adjustment variables or biological condition, see :pr:`618` :smaller:`thanks to G Eraslan` -- :func:`~scanpy.pp.highly_variable_genes` now has a `batch_key` option which performs HVG selection in each batch separately to avoid selecting genes that vary strongly across batches, see :pr:`622` :smaller:`thanks to G Eraslan` - -Code design: - -- :func:`~scanpy.pp.neighbors` and :func:`~scanpy.tl.umap` got rid of UMAP legacy code and introduced UMAP as a dependency, see :pr:`576` :smaller:`thanks to S Rybakov` +- :func:`~scanpy.pp.combat` supports additional covariates which may include adjustment variables or biological condition :pr:`618` :noteversion:`1.4.2` :smaller:`thanks to G Eraslan` +- :func:`~scanpy.pp.highly_variable_genes` has a `batch_key` option which performs HVG selection in each batch separately to avoid selecting genes that vary strongly across batches :pr:`622` :noteversion:`1.4.2` :smaller:`thanks to G Eraslan` +- Scanpy has a command line interface again. Invoking it with `scanpy somecommand [args]` calls `scanpy-somecommand [args]`, except for builtin commands (currently `scanpy settings`) :pr:`604` :smaller:`thanks to P Angerer` +- :func:`~scanpy.datasets.ebi_expression_atlas` allows convenient download of EBI expression atlas :noteversion:`1.4.1` :smaller:`thanks to I Virshup` +- :func:`~scanpy.tl.marker_gene_overlap` computes overlaps of marker genes :noteversion:`1.4.1` :smaller:`thanks to M Luecken` +- :func:`~scanpy.tl.filter_rank_genes_groups` filters out genes based on fold change and fraction of cells expressing genes :noteversion:`1.4.1` :smaller:`thanks to F Ramirez` +- :func:`~scanpy.pp.normalize_total` replaces :func:`~scanpy.pp.normalize_per_cell`, is more efficient and provides a parameter to only normalize using a fraction of expressed genes :noteversion:`1.4.1` :smaller:`thanks to S Rybakov` +- :func:`~scanpy.pp.downsample_counts` has been sped up, changed default value of `replace` parameter to `False` :pr:`474` :noteversion:`1.4.1` :smaller:`thanks to I Virshup` +- :func:`~scanpy.pl.embedding_density` allows plots of cell densities on embeddings :pr:`543` :noteversion:`1.4.1` :smaller:`thanks to M Luecken` +- :func:`~scanpy.external.palantir` interfaces Palantir [Setty18]_ :pr:`493` :noteversion:`1.4.1` :smaller:`thanks to A Mousa` Bug fixes: -- :func:`~scanpy.tl.rank_genes_groups` t-test implementation doesn't return NaN when variance is 0, also changed to scipy's implementation, see :pr:`621` :smaller:`thanks to I Virshup` -- :func:`~scanpy.tl.umap` with `init_pos='paga'` detects correct `dtype` -- :func:`~scanpy.tl.louvain` and :func:`~scanpy.tl.leiden` auto-generate `key_added=louvain_R` upon passing `restrict_to`, which was temporarily changed in `v1.4.1`. - +- :func:`~scanpy.tl.rank_genes_groups` t-test implementation doesn't return NaN when variance is 0, also changed to scipy's implementation :pr:`621` :noteversion:`1.4.2` :smaller:`thanks to I Virshup` +- :func:`~scanpy.tl.umap` with `init_pos='paga'` detects correct `dtype` :noteversion:`1.4.2` :smaller:`thanks to A Wolf` +- :func:`~scanpy.pp.neighbors` correctly infers `n_neighbors` again from `params`, which was temporarily broken in `v1.4.2` :noteversion:`1.4.3` :smaller:`thanks to I Virshup` +- :func:`~scanpy.tl.louvain` and :func:`~scanpy.tl.leiden` auto-generate `key_added=louvain_R` upon passing `restrict_to`, which was temporarily changed in `v1.4.1` :noteversion:`1.4.2` :smaller:`thanks to A Wolf` -Version 1.4.1 :small:`April 27, 2019` -------------------------------------- - -New functionality: - -- Scanpy has a command line interface again. Invoking it like ``scanpy somecommand [args]`` simply calls ``scanpy-somecommand [args]``, except for builting commands (currently just ``scanpy settings``). :pr:`604`. -- :func:`~scanpy.datasets.ebi_expression_atlas` allows convenient download of EBI expression atlas :smaller:`thanks to I Virshup` -- :func:`~scanpy.tl.marker_gene_overlap` computes overlaps of marker genes :smaller:`thanks to M Luecken` -- :func:`~scanpy.tl.filter_rank_genes_groups` filters out genes based on fold change and fraction of cells expressing genes :smaller:`thanks to F Ramirez` -- :func:`~scanpy.pp.normalize_total` replaces :func:`~scanpy.pp.normalize_per_cell`, is more efficient and provides a parameter to only normalize using a fraction of expressed genes :smaller:`thanks to S Rybakov` -- :func:`~scanpy.pp.downsample_counts` has been sped up, changed default value of `replace` parameter to `False`, see :pr:`474` :smaller:`thanks to I Virshup` -- :func:`~scanpy.pl.embedding_density` allows plots of cell densities on embeddings, see :pr:`543` :smaller:`thanks to M Luecken` -- :func:`~scanpy.external.palantir` interfaces Palantir [Setty18]_, see :pr:`493` :smaller:`thanks to A Mousa` - -Minor updates: +Code design: -- `.layers` support of scatter plots :smaller:`thanks to F Ramirez` -- fix double-logarithmization in compute of log fold change in :func:`~scanpy.tl.rank_genes_groups` :smaller:`thanks to A Muñoz-Rojas` -- fix return sections of docs :smaller:`thanks to P Angerer` +- :func:`~scanpy.pp.neighbors` and :func:`~scanpy.tl.umap` got rid of UMAP legacy code and introduced UMAP as a dependency :pr:`576` :noteversion:`1.4.2` :smaller:`thanks to S Rybakov` +- :func:`~scanpy.pp.calculate_qc_metrics` is single threaded by default for datasets under 300,000 cells -- allowing cached compilation :pr:`615` :noteversion:`1.4.3` :smaller:`thanks to I Virshup` +- `.layers` support of scatter plots :noteversion:`1.4.1` :smaller:`thanks to F Ramirez` +- fix double-logarithmization in compute of log fold change in :func:`~scanpy.tl.rank_genes_groups` :noteversion:`1.4.1` :smaller:`thanks to A Muñoz-Rojas` +- fix return sections of docs :noteversion:`1.4.1` :smaller:`thanks to P Angerer` Version 1.4 :small:`February 5, 2019` @@ -57,7 +44,7 @@ Version 1.4 :small:`February 5, 2019` Major updates: -- one can now `import scanpy as sc` instead of `import scanpy.api as sc`, see :mod:`scanpy` :noteversion:`1.3.7` +- one can `import scanpy as sc` instead of `import scanpy.api as sc`, see :mod:`scanpy` :noteversion:`1.3.7` - a new plotting gallery for :doc:`visualizing-marker-genes` :noteversion:`1.3.6` :smaller:`thanks to F Ramirez` - tutorials are integrated on ReadTheDocs, :doc:`pbmc3k` and :doc:`paga-paul15` :noteversion:`1.3.6` - a fully distributed preprocessing backend :noteversion:`1.3.3` :smaller:`thanks to T White and the Laserson Lab` @@ -93,7 +80,7 @@ Plotting of marker genes and quality control, see this `section `__ :smaller:`thanks to F Ramirez` - :func:`~scanpy.api.pl.heatmap` for pretty heatmaps, see :pr:`175` :smaller:`thanks to F Ramirez` -- :func:`~scanpy.api.pl.violin` now produces very compact overview figures with many panels, see `here `__ :smaller:`thanks to F Ramirez` +- :func:`~scanpy.api.pl.violin` produces very compact overview figures with many panels, see `here `__ :smaller:`thanks to F Ramirez` - :func:`~scanpy.api.pl.highest_expr_genes` for quality control, see :pr:`169`; plot genes with highest mean fraction of cells, similar to `plotQC` of *Scater* [McCarthy17]_ :smaller:`thanks to F Ramirez` There is a `section `__ on imputation: @@ -112,7 +99,7 @@ Version 1.1 :small:`May 31, 2018` --------------------------------- - :func:`~scanpy.api.set_figure_params` by default passes `vector_friendly=True` and allows you to produce reasonablly sized pdfs by rasterizing large scatter plots -- :func:`~scanpy.api.tl.draw_graph` now defaults to the ForceAtlas2 layout [Jacomy14]_ [Chippada18]_, which is often more visually appealing and whose computation is much faster :smaller:`thanks to S Wollock` +- :func:`~scanpy.api.tl.draw_graph` defaults to the ForceAtlas2 layout [Jacomy14]_ [Chippada18]_, which is often more visually appealing and whose computation is much faster :smaller:`thanks to S Wollock` - :func:`~scanpy.api.pl.scatter` also plots along variables axis :smaller:`thanks to MD Luecken` - :func:`~scanpy.api.pp.pca` and :func:`~scanpy.api.pp.log1p` support chunk processing :smaller:`thanks to S Rybakov` - :func:`~scanpy.api.pp.regress_out` is back to multiprocessing :smaller:`thanks to F Ramirez` @@ -143,7 +130,7 @@ Upgrading to 1.0 isn't fully backwards compatible in the following changes: - the graph-based tools :func:`~scanpy.api.tl.louvain` :func:`~scanpy.api.tl.dpt` :func:`~scanpy.api.tl.draw_graph` :func:`~scanpy.api.tl.umap` :func:`~scanpy.api.tl.diffmap` - :func:`~scanpy.api.tl.paga` now require prior computation of the graph: + :func:`~scanpy.api.tl.paga` require prior computation of the graph: ``sc.pp.neighbors(adata, n_neighbors=5); sc.tl.louvain(adata)`` instead of previously ``sc.tl.louvain(adata, n_neighbors=5)`` - install `numba` via ``conda install numba``, which replaces cython @@ -166,7 +153,7 @@ Further changes are: - UMAP [McInnes18]_ can serve as a first visualization of the data just as tSNE, in contrast to tSNE, UMAP directly embeds the single-cell graph and is faster; - UMAP is now also used for measuring connectivities and computing neighbors, + UMAP is also used for measuring connectivities and computing neighbors, see :func:`~scanpy.api.pp.neighbors` - graph abstraction: AGA is renamed to PAGA: :func:`~scanpy.api.tl.paga`; now, it only measures connectivities between partitions of the single-cell graph, @@ -175,18 +162,18 @@ Further changes are: connectivity measure has been improved - logistic regression for finding marker genes :func:`~scanpy.api.tl.rank_genes_groups` with parameter `method='logreg'` -- :func:`~scanpy.api.tl.louvain` now provides a better implementation for +- :func:`~scanpy.api.tl.louvain` provides a better implementation for reclustering via `restrict_to` - scanpy no longer modifies rcParams upon import, call `settings.set_figure_params` to set the 'scanpy style' - default cache directory is ``./cache/``, set `settings.cachedir` to change - this; nested directories in this are now avoided + this; nested directories in this are avoided - show edges in scatter plots based on graph visualization :func:`~scanpy.api.tl.draw_graph` and :func:`~scanpy.api.umap` by passing `edges=True` - :func:`~scanpy.api.pp.downsample_counts` for downsampling counts :smaller:`thanks to MD Luecken` -- default 'louvain_groups' are now called 'louvain' -- 'X_diffmap' now contains the zero component, plotting remains unchanged +- default 'louvain_groups' are called 'louvain' +- 'X_diffmap' contains the zero component, plotting remains unchanged Version 0.4.4 :small:`February 26, 2018` @@ -243,7 +230,7 @@ Initial release of `partition-based graph abstraction (PAGA)