Round and Round
New features:
- Experimental support for exporting FlowJo 10 workspace files (limited to single sample groups)
- Added support for FlowJo 10 biex transform
- Added inverse transform methods for most transformations
- implement
ignore_transforms
option for parsing FJ10 workspaces - Sample.apply_transform supports customized transforms per channel via dictionary
- Create Sample instances from Pandas DataFrame w/MultiIndex columns
- Sample: store original events unprocessed
API changes:
- Sample: added attributes
scatter_indices
&time_index
- Sample:
apply_transform
method now has option to include scatter channels - GatingStrategy:
get_gate_ids
now returns a list of tuples containing the gate ID & list of ancestors (gate path) - GatingStrategy: new method
get_root_gates
for ... - GatingStrategy: simplify GatingStrategy methods for retrieving gates,
- GatingStrategy: added new convenience method get_child_gates
- Session: new method
get_group_comp_matrices
- Session: all method arguments referencing a sample group name are now consistent ('group_name')
- Session: new method to get all gate IDs & paths for a sample
- Session: new method
get_group_transforms
for retrieving group transformations - Session: new method
export_wsp
for exporting a sample group's gating strategy as a FlowJo 10 workspace - Session: new methods for retrieving Sample specific comp matrices & transforms for a group
- Session: new method for retrieving gated events for a Sample
- Compensation utility functions moved to FlowUtils
- make sample utils functions public
- expose calculate_extent function for flowkit-extras
Bug fixes:
- Clearer error message when requesting sub-sampled events from
get_channel_data
when Sample has not been sub-sampled - Fixed issue where gain was incorrectly applied to time channel data
- Allow re-use of gates on different branches at any level
- Applying re-used gates requires the Gate instance to know the full path
- Fixed plot_scatter for cases where the event arrays are empty
- Session.get_group_samples() now only returns loaded samples
Documentation:
- Added more docstrings for Sample, Session, Transform methods
- Updated tutorial notebooks
- Added notebook for calculating mean fluorescence intensity (MFI) per channel for gated populations
Dependencies:
- Support for Python 3.8
- Removed MulticoreTSNE dependency
- Removed sklearn dependency
- Most transform implementations moved to FlowUtils