New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

fcsy

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fcsy

A package for processing FCS files

pipPyPI
Version
0.4.0
Maintainers
1

image image image image image

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.

Keywords

fcsy

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts