Skip to content

1.1.0

Compare
Choose a tag to compare
@whitews whitews released this 05 Apr 05:20
· 7 commits to master since this release

Hey FlowKit community! Lots of changes in this release, including support for Python 3.11 & 3.12. The major updates: we've moved to a src based structure using pyproject.toml and finally converted all plotting functions to Bokeh (dropping matplotlib and Seaborn as requirements). Read the notes below for all the changes.

Special thanks to @hbhargava7 and @laserson for their contributions to this release!

New features:

  • New utility function read_multi_dataset_fcs for reading FCS files with multiple data sets (returns a list of Sample instances).
  • Workspace class now has an option to load FCS files from the URI parameter embedded in the WSP file (Many thanks to @hbhargava7 for PR #168).
  • Sample.plot_scatter_matrix now displays histograms along the diagonal (Thanks @laserson for the suggestion in #169).
  • Exporting FlowJo 10 workspaces now supports the WSPBiexTransform.
  • Sample.plot_scatter adds event_mask option to filter the plotted events.
  • Sample.plot_contours & Sample.plot_channel methods now use Bokeh.
  • Custom heatmap color palette was improved (it's subtle but has better visual contrast between density levels).

API changes:

  • Sample.plot_histogram method adds data_min, data_max, and x_range kwargs for filtering data ranges and controlling the view range.
  • Removed argument ignore_transforms in parse_wsp utility function.
  • Transforms from a GatingML document are no longer imported as undocumented "GML" sub-classes, instead using the documented Transform sub-classes.
  • Added kwarg gate_path to plot_scatter method in both Session & Workspace.
  • sample_id argument now required for GatingStrategy.is_custom_gate method.
  • Rename plot_scatter argument highlight_indices to highlight_mask (since it takes a Boolean array and not a list of indices).
  • plot_scatter argument dim_ids split to x_label & y_label for specifying axis labels.
  • plot_gate argument dim_ids split to x_label & y_label for specifying axis labels.

Bug fixes:

  • Fixed KeyError in Workspace.summary method when a sample has no gates (see #155).
  • Fixed WSP export of "range" RectangleGate instances (see #157).
  • Fix ValueError thrown when compensating a Sample specifying null channels via null_channel_list (see #175).
  • Fix Session.plot_scatter method where mixed compensations are specified for x & y channels (rare).

Documentation:

  • Switched to ReadTheDocs theme for documentation.
  • Clarify docstrings for null channel usage (see Sample & Matrix constructor docs).
  • All notebooks validated and updated for the new release.

Dependencies:

  • Dropped support for Python 3.7, added support for Python 3.11 & 3.12.
  • FlowIO updated to >=1.3.0,<1.4
  • FlowUtils updated to >=1.1.0,<1.2
  • Matplotlib & Seaborn removed as dependencies. All plotting now uses the Bokeh library (>=3.1).
  • Pandas updated to >=2.0
  • Added new dependency contourpy (the library matplotlib uses).
  • Other dependency minimum versions updated for Python 3.8 - 3.12 support (See requirements.txt for details).