A package for processing FCS files
Project description
fcsy: Python package for processing FCS
fcsy is developed based on Data File Standard for Flow Cytometry Version FCS 3.1
Installation
$ pip install fcsy
for working with s3:
$ pip install fcsy[s3]
Usage
Write and read fcs based on Dataframe
>>> import pandas as pd
>>> from fcsy import DataFrame
>>> data = [[1.0,2.0,3.0],[4.0,5.0,6.0]]
>>> columns = pd.MultiIndex.from_tuples(list(zip('abc', 'ABC')), names=["short", "long"])
>>> df = DataFrame(data, columns=columns)
>>> df
short a b c
long A B C
0 1.0 2.0 3.0
1 4.0 5.0 6.0
>>> df.to_fcs('sample.fcs')
>>> df = DataFrame.from_fcs('sample.fcs', channel_type='multi')
>>> df
short a b c
long A B C
0 1.0 2.0 3.0
1 4.0 5.0 6.0
Work with fcs metadata
Read fcs channels
>>> from fcsy import read_channels
>>> read_channels('sample.fcs', channel_type='multi')
MultiIndex([('a', 'A'),
('b', 'B'),
('c', 'C')],
names=['short', 'long'])
Rename channels
>>> from fcsy import rename_channels, read_channels
>>> rename_channels('sample.fcs', {'a': 'a_1', 'b': 'b_1'}, channel_type='short')
>>> read_channels('sample.fcs', channel_type='multi')
MultiIndex([('a_1', 'A'),
('b_1', 'B'),
( 'c', 'C')],
names=['short', 'long'])
>>> rename_channels('sample.fcs', {'A': 'A_1', 'C': 'C_1'}, channel_type='long')
>>> read_channels('sample.fcs', channel_type='multi')
MultiIndex([('a_1', 'A_1'),
('b_1', 'B'),
( 'c', 'C_1')],
names=['short', 'long'])
Read events number
>>> from fcsy import read_events_num
>>> read_events_num('sample.fcs')
2
Work with files on aws s3
All apis support s3 url with the format: s3://{bucket}/{key}.
Write and read
>>> df.to_fcs('s3://sample-bucket/sample.fcs')
>>> df.from_fcs('s3://sample-bucket/sample.fcs', channel_type='multi')
short a b c
long A B C
0 1.0 2.0 3.0
1 4.0 5.0 6.0
Read channels
>>> read_channels('s3://sample-bucket/sample.fcs', channel_type='multi')
MultiIndex([('a', 'A'),
('b', 'B'),
('c', 'C')],
names=['short', 'long'])
Read events number
>>> read_events_num('s3://sample-bucket/sample.fcs')
2
Documentation
The documentation is available on https://fcsy.readthedocs.io/
License
- Free software: MIT license
History
Consult the Releases page for fixes and enhancements of each version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fcsy-0.10.0.tar.gz.
File metadata
- Download URL: fcsy-0.10.0.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4604002c44acc793cb2ef9842cb85698366c57c1a507d5acc7a196a728a9607e
|
|
| MD5 |
0296228cb5bb369505199f23036eabbe
|
|
| BLAKE2b-256 |
579fa2dd7d248d3703d8ec1b07da541de5173510b22c4fe053974d37e4d320e0
|
File details
Details for the file fcsy-0.10.0-py2.py3-none-any.whl.
File metadata
- Download URL: fcsy-0.10.0-py2.py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5af3803071d35a32f6875878e0a6cb96bb8a33b61bac21569683b7e687f7f390
|
|
| MD5 |
4075f4523195b2ca9f29646221de1108
|
|
| BLAKE2b-256 |
09b4922a1c851f41b1ed011b5a4a63e5690012395409b7f845d20ed8be65fe04
|