Skip to content

Releases: whitews/FlowIO

1.4.0

09 May 01:32
Compare
Choose a tag to compare
  • Adds support for Python 3.13, drops 3.7 & 3.8
  • Added tutorial Jupyter notebook
  • Added FlowData.as_array() method for retrieving events as a 2-D NumPy array with optional preprocessing event data for gain, log scaling, and time scaling (Adds NumPy dependency)
  • Renamed FlowData arg filename_or_handle to fcs_file
  • Added the following FlowData attributes:
    • version: FCS version of the imported file
    • data_type: type of data in DATA segment (ASCII, integer, floating point)
    • pnn_labels: list of names for parameters (required)
    • pns_labels: list of optional names for parameters
    • pnr_values: list of channel range values (required)
    • fluoro_indices: list of indices of fluorescent channels
    • scatter_indices: list of indices of scatter channels
    • time_index: index of the time channel
    • null_channels: list of channel indices not intended for analysis (omitted from fluoro_indices, scatter_indices, and time_index)
  • Make fcs_keywords module public
  • Reduce memory footprint when creating FCS files from events with type array (thanks to @christianrickert for PR #32)
  • Support pathlib.Path when creating FlowData instances (thanks to @Zethson)
  • Support empty "timestep" keyword values (thanks to @ikonsta for PR #33)

1.3.0

29 Mar 17:39
Compare
Choose a tag to compare
  • Adds official support for Python 3.11 & 3.12
  • Allow creation of FCS files without any events (thanks to @tristan-ranff for PR #26)
  • MAINTENANCE: moved to a 'src' based directory structure using pyproject.toml
  • DOCUMENTATION: moved to RTD doc theme

1.2.1

17 May 15:54
Compare
Choose a tag to compare
  • BUGFIX: fixes parsing of FCS files with integer data type where bitmasking is needed to properly retrieve event values greater than the PnR value (thanks to @JcGKitten for PR #24)
  • BUGFIX: fixes issue where file wasn't closed before raising error for multi-dataset FCS files

1.2.0

05 May 22:18
Compare
Choose a tag to compare
  • Support added for FCS files with multiple data sets (via '$NEXTDATA' tag). Special thanks to Max (@JcGKitten) for implementing this feature (#23)!

1.1.1

26 Jan 15:58
Compare
Choose a tag to compare
  • BUGFIX: Fixed an issue where FCS files were not being closed when an error occurred while parsing the file.
  • All errors / exceptions raised in FlowData class are now inherited from the FlowIO generic class FlowIOException

1.1.0

25 Jan 03:42
Compare
Choose a tag to compare
  • Reduce time to create new FCS files
  • Support additional parameter related FCS keywords when creating new FCS files
  • Error raised when creating FCS files with non-float data type
  • API: Custom exceptions / errors are now thrown. These can be imported via the module flowio.exceptions
  • API: FlowData constructor added ignore_offset_discrepancy option to ignore discrepancy between the HEADER and TEXT values for the DATA byte offset location
  • API: FlowData constructor added use_header_offsets option to use the HEADER section for the data offset locations
  • BUGFIX: Remove invalid $PnE output for float data type (create_fcs still only supports exporting as float)

Special thanks to @zbjornson for PRs #16, #17, #18, #21

1.0.1

23 May 16:35
Compare
Choose a tag to compare

BUGFIX: Fixes incorrect data offset for some exported FCS files (issue #14)

1.0.0

24 Mar 00:33
Compare
Choose a tag to compare
  • Major reworking of create_fcs function to support writing files with log scale or gain metadata
  • FCS keyword list available via fcs_keywords module
  • Version now accessible via flowio.version
  • BUGFIX: fix incorrect byte offsets in create_fcs when metadata contained 2-byte UTF-8 characters
  • API: FlowData.write_fcs no longer takes separate extra & extra_non_standard args, unified to new metadata arg
  • API: create_fcs arguments simplified, cyt, date, extra, extra_non_standard are merged into new metadata arg

0.9.14

08 Mar 16:13
Compare
Choose a tag to compare

BUGFIX: Fixes issue where data offsets were not set correctly when exporting large FCS files (issue #12). Thanks to @andreas-wilm for PR #13.
BUGFIX: Export of FCS files would fail in rare cases where the text section byte length would be off due to the length increasing by one digit (leading to incorrect DATA section offset).
API: FlowData attribute cur_offset is no longer public (is only used internally in the constructor)

0.9.13

28 Jan 15:12
Compare
Choose a tag to compare

Added optional argument only_text to FlowData constructor to only read the "text" segment of FCS files without loading event data. This allows faster parsing of a large number of files to inspect metadata, and also uses less memory.

Thanks to @JcGKitten for the feature request & implementation (pull request #11)