Skip to content

Releases: chanzuckerberg/cellxgene

Release 0.13.0

27 Nov 00:10
9c09ee6
Compare
Choose a tag to compare
Release 0.13.0 Pre-release
Pre-release

Summary: 0.13.0 introduces a layout change, moving all continuous data histograms into a dedicated panel: the "right side bar". In addition, 0.13.0 includes significant improvements and bug fixes to the experimental "user annotation" feature.

Added:

  • Introduced a "right side bar" containing all continuous metadata and gene expression histograms.
  • [Experimental feature, may be incomplete or unstable] Significant improvements to the user annotation functionality, allowing users to annotate groups of cells with categorical metadata:
    • Command line options related to annotation renamed and reorganized -- see cellxgene launch --help for usage.
    • Added simple multi-user support for hosted instances of cellxgene, to avoid the possibility of users over-writing each others’ metadata.
    • Add a provenance header to the annotations output CSV file.
    • Many bug fixes, usability and stability improvements.

Changed:

  • Command line option --skip-qc/--run-qc (a toggle) changed to a flag named --skip-qc.
  • Command line help (via the --help option) improved.
  • Reorganized and improved cellxgene documentation, available at https://chanzuckerberg.github.io/cellxgene/.
  • Javascript and Python package dependencies updated.
  • Dockerfile now contains python-requests package (#1019).
  • Migrate from deprecated Pandas API (#1021).

Fixed:

  • Various layout issues resolved throughout app.

Release 0.12.0

08 Oct 19:55
e581dec
Compare
Choose a tag to compare
Release 0.12.0 Pre-release
Pre-release

Summary: this release adds three major features, in addition to a number of bug fixes and other features:

  • The location of the H5AD file may be specified as a URL, in addition to the currently supported file path
  • Anndata "backed" mode is supported via --backed command line option
  • A new experimental feature: the ability to create new categorical metadata for cells, aka cell annotations.

Added

  • cellxgene launch command now accepts a URL as well as file paths. Example: "cellxgene launch http://…" Supports HTTP, HTTPS, and with optional package installations, S3 and GS URLs. (#920)
  • New command line option, --backed, will load H5AD file in "backed" mode. This uses less memory, and loads faster. However, it will dramatically increase the time required to load expression histograms or compute differential expression. This feature is most useful to explore metadata and embeddings for very large datasets, or to load only the embedding and metadata on computers with limited memory. This mode is diabled by default.
  • New command line option, --about, provides a means to link out to more information about the dataset. The link provided on the command line will appear in the application info menu, and as a link in the dataset title (upper left, next to logo) (#907)
  • New command line option, --disable-diffexp, will cause on-demand differential expression (top N gene finding) to be disabled in the application. This is useful when exploring very large datasets, where the differential expression calculation is likely to be extremely slow or unusable due to memory exhaustion. Differential expression is enabled by default.
  • Hovering the cursor over a category name will highlight cells in the gene expression scatterplot (previously only highlighted cells in the embedding graph). (#900)
  • [Experimental feature, may be incomplete or unstable] Added capability to label cells with new metadata (categorical annotations). This feature is enabled with the "--experimental-label-file" command line option, which requires a CSV file name. User-created metadata will be saved to this file. We would love feedback on this feature - please submit via GitHub issues.

Changed

  • Pip install for prepare sub-command is now separate from default installation. If you wish to use prepare, install via pip install cellxgene[prepare]. See getting started guide for more info. (#887, #889)
  • Improved layout when strings are long. Will now break/truncate data set title, category name, etc. (#858, #909)
  • Improved the formatting for histogram axis labels, better handling of large numbers (#913)
  • Significant improvements to the embedding and gene expression plots, including reduction in CPU usage, zoom/pan constraints, a new rendering method designed to highlight meaningful data and improve overall usability/visibility (#893)
  • Miscellaneous improvements to documentation and README (#878, #857, #880)
  • Python and Javascript package updates, for both security and performance
  • Rename "layout" to "embedding" in the UI (#921)

Fixed

  • Category-specific mini histograms were computed incorrectly in some cases (#869)
  • Remove pinned matplotlib version, and resolve incompatibility by installing scanpy earlier in the dependency list (so it specifies the matplotlib dependency).
  • H5py dependency pinned to 2.9.0 to temporarily work around regression reading older anndata files (scanpy issue #832). This will be removed in a future release. (#916).
  • Fixed several bugs in gene adding (both in bulk and autosuggest).
    Improved performance for datasets with a very large number of continuous metadata fields.

Release 0.11.2

14 Aug 21:41
Compare
Choose a tag to compare
Release 0.11.2 Pre-release
Pre-release

Fixed

  • FIx matplotlib incompatibility error(#877)

Release 0.11.0

16 Jul 18:29
d16a69e
Compare
Choose a tag to compare
Release 0.11.0 Pre-release
Pre-release

Summary

This release implements a requested cellxgene feature: histograms on categorical values vis a vis continuous (see: #762, #616). Color by any continuous variable, like a gene, and see the breakdown of distributions by opening any categorical menu item. This answers questions such as “which clusters expressed which gene?” “What was the breakdown of total gene counts by tissue?” among others.

Added

Added mini histograms to categorical selection, displaying continuous metadata distribution (#827)
Added prepare example, updated demo dataset (#810, #803, #547, #529)
Documentation regarding hosted instances (#807)
Hover on label increases point size of associated cells in graph (#809 #833)

Changed

Updated roadmap (#825)
Menu bar code cleanup, logo (#804)

Fixed

Fixed broken URL in docs (#801, #802)
Fixed jest tests by removing async (#805)

Release 0.10.1

30 May 20:46
ca9a679
Compare
Choose a tag to compare
Release 0.10.1 Pre-release
Pre-release

Changed

  • Pinned python requirement 'tables==3.5.1' to work around installation failure in recently release of tables 3.5.2

Fixed

  • Improved main graph scaling and centering of embedding (#784)

Release 0.10.0

30 May 00:02
c625282
Compare
Choose a tag to compare
Release 0.10.0 Pre-release
Pre-release

Added

  • Switch between multiple embedding visualizations in the UI (eg, tsne, umap, etc). (#776, #766)
  • To add guardrails around very large datasets, CLI will generate a warning if a large sparse non-CSC dataset loaded. (#723)
  • If a specific port is chosen on the CLI (--port), the app will use it and fail if not able to do so. If no port is specified, the application will scan for an unused port number (#698, #761)
  • Add logo to UI (#782)

Changed

  • Python anndata version dependency updated to >= 0.6.20, resolving the incompatibility with the most recent SciPy release (see anndata issue #146 for details). Also removed the temporary work-around on scipy version requirements introduced in 0.9.3.
  • Updated most javascript package dependencies (#765)
  • Use anndata to read h5ad files in launch, rather than the ScanPy API wrapper around AnnData. Improves startup speed. (#763)
  • Layout of embedding visualization improved. All points will display upon load, and scaling behavior is improved when the window size changes. (#655, #768, #776, #789)
  • Pan/zoom scaling is now 1:1 (#722)
  • Various testing & CI framework improvements (#777, #772, #757)
  • CLI --debug option will generate an error if used with --port option. If you just want verbose error logging, try --verbose.

Fixed

  • Fixed several bugs relating to categorical metadata with large (>100) number of categories. (#764, #781, #721, #737)
  • Undo/redo bug fix (#787)
  • Correctly handle datasets which use a column name "name" in var or obs metadata. (#785)

Release 0.9.3

17 May 22:36
e2ad28a
Compare
Choose a tag to compare
Release 0.9.3 Pre-release
Pre-release

Fixed

  • Fixed ImportError: cannot import name 'IndexMixin' by excluding conflicting scipy version (#770)

Release 0.9.2

07 May 21:07
Compare
Choose a tag to compare
Release 0.9.2 Pre-release
Pre-release

Fixed

  • Correctly handle column slicing of csr data (#754)

Release 0.9.1

06 May 17:25
Compare
Choose a tag to compare
Release 0.9.1 Pre-release
Pre-release

Fixed

  • init.py file missing from new module (#748)

Release 0.9.0

04 May 15:44
1471d6b
Compare
Choose a tag to compare
Release 0.9.0 Pre-release
Pre-release

Added

  • “Clip” to percentile range for continuous data - (metadata and expression) outside of range will be excluded from histograms and grayed out on layout. This improves handling of zero-heavy distributions, or other cases where outliers need to be suppressed (#570, #672)
  • Prepare calculates and adds QC metrics as to continuous metadata (uses new ScanPy 'calculate_qc_metrics') (#697)

Changed

  • Documentation updates (#691, #706, #649, #702)
  • Color-by buttons toggle if clicked twice (#693)
  • ScanPy requirements updated to 1.3.7(#688)
  • Server-side refactoring in prep for PyQt & notebook support (#711)
  • Performance improvements accessing large sparse expression data (#719)

Fixed

  • Undo/redo improvements - histogram and graph selection now correctly interacts with undo/redo (#679, #663)
  • Selection of continuous data dimensions containing NaN values would select incorrect cells (#715)
  • Graph pan/zoom and selection now stay in sync (#622)
  • Graph selection paints correctly when window resized (#203)
  • Gene name type-ahead no longer clears text on blur (#573)
  • Would fail if simplejson was installed in python environment (#700)