Flowkit

Latest version: v1.2.1

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

1.0.0

Version 1.0.0 is a major milestone for the FlowKit project. This release adds support for custom sample gates in FlowJo 10 workspaces. As a major release, this version has significant API changes. Please read the release notes below and review the documentation for all the API changes.


New features:
* New dedicated Workspace class for importing FlowJo 10 workspaces. This class is essentially a read-only class for easily importing & extracting gating information from .wsp files.
* Importing .wsp files now supports 'eventsInside' flag for FlowJo gates (see 135)
* Session & GatingStrategy classes now support custom gates by specifying a `sample_id` when adding a gate to the gate tree.
* Session & GatingStrategy classes now support removing gates from the gate tree via a new `remove_gate` method. The method includes an option to retain downstream (descendant) gates.
* Sample class adds method `get_index_sorted_locations` for FACs Diva index sorted files (see 112)
* Sample class adds `id` attribute, allowing identification of samples created from NumPy arrays or pandas DataFrames.
* Sample class supports sorting (samples will be sorted by `id` attribute)
* Sample class constructor supports new arguments for controlling behavior in cases where there is a discrepancy in the data offset location (see 136)
* Sample method `plot_scatter` adds `highlight_indices` option for highlighting events using a Boolean array.
* Transform classes now support comparison for determining if 2 transforms are equivalent (i.e. have the same parameters).

Removed features:

* Removed `calculate_compensation_from_beads`, the function was moved to the flowkit_extras package (see 123)
* Session class no longer imports FlowJo 10 workspaces, this functionality now lives in the dedicated Workspace class
* Session class no longer uses sample groups, simplifying the API. Sample groups were needed for FlowJo workspaces.

API changes:

* New `exceptions` module containing custom FlowKit exceptions and warnings. This module also imports FlowIO exceptions so users can import all of them from one source.
* Session method `get_group_samples` was removed. `group_name` option removed from all Session methods.
* Session and GatingStrategy method `get_child_gates` was removed. A new method `get_child_gate_ids` was added. Gate instances are only available via `get_gate`.
* Session and GatingStrategy method `get_parent_gate` was removed. A new method `get_parent_gate_id` was added. Gate instances are only available via `get_gate`.
* GatingStrategy now has a `is_custom_gate` method for determining whether a Gate ID, Sample ID combination has a custom gate or the template gate.
* Session & Sample `plot_scatter` methods now take an optional `bin_width` argument to control the smoothness of the color density
* Gate classes no longer take the `parent_gate_name` argument. Gate relationships are handled completely by the GatingStrategy class.
* Gate classes have a new `get_dimension_ids` for retrieving Dimension IDs.
* Vertex class was removed. PolygonGate vertices are now just tuples of floats.

Bug fixes:
* Fix sample export of `orig` data for FCS files with data type int
* Fixed case where adding gates directly under QuadrantGate was possible. Adding a child gate to a QuadrantGate directly is not allowed, they must be added a one of the Quadrant instances.
* Fix parsing of FlowJo workspaces where a sample has no gate data.
* Fixed color density in scatter plots to correct missing 1st bin & poor coloring for data sets with outliers (see 139)

Documentation:
* Docstring for Sample method `subsample_events` corrected to reflect that the method does not return anything (see 129)
* Top-level functions & exceptions were added to the documentation
* All tutorial & advanced notebooks were updated for compatibility with the new API.

Dependencies:
* FlowIO requirement updated to 1.1.1
* Removed statsmodels dependency (see 123)
* Other dependency minimum versions updated for Python 3.7 - 3.10 support (See requirements.txt for details)

0.9.3

* Fixes import issue where XMLSchemaParseError is raised if FlowKit is installed in paths containing special characters (see 106, 122)

0.9.2

* Fixes parsing of ellipse gates in FlowJo 10 workspace files (see 120)

0.9.1

Dependencies:

* FlowIO requirement updated to v1.0.1 (fixes issue exporting some FCS files)

API changes:

* new GatingStrategy method find_matching_gate_paths to find gate paths given a gate name
* new Session method find_matching_gate_paths & get_child_gate_ids

Bug fixes:

* Corrected error types (several instances of ValueError changed to TypeError)
* BUGFIX: Fixed issue where adding new gates to a Session where a WSP was imported would cause an error (issue 110)

Documentation:

* Several docstrings updated and fixed for ReadTheDocs
* Example notebooks moved to docs folder & added to ReadTheDocs

0.9.0

New features:
* Support for Python 3.10 (drops support for Python 3.6)
* All C extensions moved to FlowUtils (and FlowUtils now provides pre-built wheels - should avoid the need for a compiler for most users)
* New function `extract_wsp_sample_data` to parse FlowJo 10 wsp & extract Sample metadata (keywords) to a Python dictionary
* New GatingStrategy method `get_max_depth` to get max depth of gate tree
* New Session method `summary` for a quick summary of what the session contains
* Sample class now supports exporting new FCS files with metadata (89)

API changes:
* Sample attribute `channel_lin_log` removed, lin / log metadata now available as "pne" column in Sample.channels attribute
* Sample class: `export` method has new kwarg `include_metadata` for including all key/value pairs in self.metadata in the output FCS file

Bug fixes:
* Fixed typo in FCS_STANDARD_KEYWORDS for 'date' keyword
* Fixed parsing of FlowJo workspaces where sample groups have "gate-less" samples (91)
* Replace special quote characters that caused a UnicodeDecodeError on some Windows installs (97)

Dependencies:
* FlowIO requirement updated to 1.0.0
* FlowUtils requirement updated to 1.0.0 (with pre-built binaries for most platforms)
* NumPy minimum requirement of 1.20 when using pre-built FlowUtils binaries (required for NumPy C API compatibility)
* Fix deprecation warnings from Pandas 1.4 (squeeze kwarg removed from `read_csv`)

Acknowledgements:
* Special thanks to sbenz for help testing this release on arm64 Macs (Apple Silicon)

0.8.2

* Sample Class
* Error is raised when retrieving compensated or transformed events prior to applying a compensation matrix or a transform (used to issue just a warning)
* plot_scatter_matrix argument order changed to be more consistent with other plot methods
* Session Class
* Analyzing multiple samples using multiprocessing now uses a more conservative estimate of memory to avoid running out of system memory
* BUGFIX: Fixed failure to properly parse FlowJo workspaces containing an ellipse gate.
* Documentation was updated to include a table of contents with links to methods for the complex classes: Sample, GatingStrategy, GatingResults, & Session

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.