Name | FlowCyPy JSON |
Version |
0.3.12
JSON |
| download |
home_page | None |
Summary | A package for flow-cytometry simulations. |
upload_time | 2024-12-19 11:23:37 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT License Copyright (c) 2020 Martin de Sivry Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
refracive index
optics
microbeads
mie scattering
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
|logo|
FlowCyPy: Flow Cytometer Simulation Tool
========================================
.. list-table::
:widths: 10 25 25 25
:header-rows: 0
* - Meta
- |python|
- |docs|
-
* - Testing
- |ci/cd|
- |coverage|
-
* - PyPi
- |PyPi|
- |PyPi_download|
-
* - Anaconda
- |anaconda|
- |anaconda_download|
- |anaconda_date|
Overview
--------
**FlowCyPy** is a cutting-edge Python library designed to simulate flow cytometer experiments. By generating realistic Forward Scatter (FSC) and Side Scatter (SSC) signals, FlowCyPy enables detailed modeling of flow cytometry setups, making it ideal for researchers and engineers working with extracellular vesicles (EVs) or other scatterers.
Key Features
------------
- **Particle Event Simulation**: Create detailed FSC/SSC signals with customizable particle size and refractive index distributions.
- **Noise and Signal Modeling**: Incorporate realistic noise sources (thermal, shot, dark current) and baseline shifts.
- **Detector Configurations**: Simulate real-world detector behaviors, including saturation and responsivity.
- **Fluorescence Modeling**: Simulate fluorescence signals for labeled particles (e.g., EV surface markers).
- **Visualization Tools**: Generate advanced plots, including density maps and signal traces.
For full documentation and examples, visit the `FlowCyPy Documentation <https://martinpdes.github.io/FlowCyPy/>`_.
Installation
------------
Install FlowCyPy via `pip` or `conda``:
.. code-block:: bash
pip install FlowCyPy
conda install FlowCyPy --channels MartinPdeS
**Requirements**: Python 3.10 or higher with dependencies:
`numpy`, `scipy`, `pint`, `tabulate`, `seaborn`, `MPSPlots`, `PyMieSim`, `pydantic>=2.6.3`
Quick Start
-----------
Simulate a simple flow cytometer experiment:
.. code-block:: python
from FlowCyPy import FlowCytometer, Scatterer, FlowCell
from FlowCyPy.units import particle, liter, nanometer, RIU
# Define the flow cell
flow_cell = FlowCell(
flow_speed=1.0, flow_area=10e-6, run_time=0.01
)
# Define scatterer properties
scatterer = Scatterer(medium_refractive_index=1.33 * RIU)
scatterer.add_population(
name='EVs',
concentration=1e9 * particle / liter,
size=distribution.Normal(mean=100 * nanometer, std_dev=20 * nanometer),
refractive_index=distribution.Normal(mean=1.45 * RIU, std_dev=0.01 * RIU)
)
scatterer.initialize(flow_cell=flow_cell)
# Simulate the cytometer signals
cytometer = FlowCytometer(
scatterer=scatterer,
source=source,
detectors=[detector_fsc, detector_ssc]
)
cytometer.simulate_pulse()
cytometer.plot()
Explore more examples in the `FlowCyPy Examples <https://martinpdes.github.io/FlowCyPy/gallery/index.html>`_.
Development and Contribution
-----------------------------
Clone the Repository
~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
git clone https://github.com/MartinPdeS/FlowCyPy.git
cd FlowCyPy
Install Locally
~~~~~~~~~~~~~~~
Install in editable mode with testing and documentation dependencies:
.. code-block:: bash
pip install -e .[testing,documentation]
Run Tests
~~~~~~~~~
Use `pytest` to validate functionality:
.. code-block:: bash
pytest
Build Documentation
~~~~~~~~~~~~~~~~~~~
Build the documentation locally:
.. code-block:: bash
cd docs
make html
Find the documentation in `docs/_build/html`.
Additional Resources
--------------------
- **Documentation**: Full guide and API reference at `FlowCyPy Documentation <https://martinpdes.github.io/FlowCyPy/>`_
- **Examples**: Explore use cases in the `Examples Section <https://martinpdes.github.io/FlowCyPy/gallery/index.html>`_
Contributions
-------------
Contributions are welcome! If you have suggestions, issues, or would like to collaborate, visit the `GitHub repository <https://github.com/MartinPdeS/FlowCyPy>`_.
Contact
-------
For inquiries or collaboration, contact `Martin Poinsinet de Sivry-Houle <mailto:martin.poinsinet.de.sivry@gmail.com>`_.
.. |logo| image:: https://github.com/MartinPdeS/FlowCyPy/raw/master/docs/images/logo.png
:align: middle
:alt: FlowCyPy Logo
.. |python| image:: https://img.shields.io/pypi/pyversions/flowcypy.svg
:alt: Python
:target: https://www.python.org/
.. |docs| image:: https://github.com/martinpdes/flowcypy/actions/workflows/deploy_documentation.yml/badge.svg
:target: https://martinpdes.github.io/FlowCyPy/
:alt: Documentation Status
.. |PyPi| image:: https://badge.fury.io/py/FlowCyPy.svg
:alt: PyPi version
:target: https://badge.fury.io/py/FlowCyPy
.. |PyPi_download| image:: https://img.shields.io/pypi/dm/FlowCyPy?style=plastic&label=PyPi%20downloads&labelColor=hex&color=hex
:alt: PyPI - Downloads
:target: https://pypistats.org/packages/flowcypy
.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/FlowCyPy/python-coverage-comment-action-data/badge.svg
:alt: Unittest coverage
:target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/FlowCyPy/blob/python-coverage-comment-action-data/htmlcov/index.html
.. |ci/cd| image:: https://github.com/martinpdes/flowcypy/actions/workflows/deploy_coverage.yml/badge.svg
:alt: Unittest Status
.. |anaconda| image:: https://anaconda.org/martinpdes/flowcypy/badges/version.svg
:alt: Anaconda version
:target: https://anaconda.org/martinpdes/flowcypy
.. |anaconda_download| image:: https://anaconda.org/martinpdes/flowcypy/badges/downloads.svg
:alt: Anaconda downloads
:target: https://anaconda.org/martinpdes/flowcypy
.. |anaconda_date| image:: https://anaconda.org/martinpdes/flowcypy/badges/latest_release_relative_date.svg
:alt: Latest release date
:target: https://anaconda.org/martinpdes/flowcypy
Raw data
{
"_id": null,
"home_page": null,
"name": "FlowCyPy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "refracive index, optics, microbeads, Mie scattering",
"author": null,
"author_email": "Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/52/d8/e3d25af6e2ae3f01f079ef3d4623994a1dfdcd42b2f71c5d8afaeb2f51bc/flowcypy-0.3.12.tar.gz",
"platform": null,
"description": "|logo|\n\nFlowCyPy: Flow Cytometer Simulation Tool\n========================================\n\n.. list-table::\n :widths: 10 25 25 25\n :header-rows: 0\n\n * - Meta\n - |python|\n - |docs|\n -\n * - Testing\n - |ci/cd|\n - |coverage|\n -\n * - PyPi\n - |PyPi|\n - |PyPi_download|\n -\n * - Anaconda\n - |anaconda|\n - |anaconda_download|\n - |anaconda_date|\n\nOverview\n--------\n\n**FlowCyPy** is a cutting-edge Python library designed to simulate flow cytometer experiments. By generating realistic Forward Scatter (FSC) and Side Scatter (SSC) signals, FlowCyPy enables detailed modeling of flow cytometry setups, making it ideal for researchers and engineers working with extracellular vesicles (EVs) or other scatterers.\n\nKey Features\n------------\n\n- **Particle Event Simulation**: Create detailed FSC/SSC signals with customizable particle size and refractive index distributions.\n- **Noise and Signal Modeling**: Incorporate realistic noise sources (thermal, shot, dark current) and baseline shifts.\n- **Detector Configurations**: Simulate real-world detector behaviors, including saturation and responsivity.\n- **Fluorescence Modeling**: Simulate fluorescence signals for labeled particles (e.g., EV surface markers).\n- **Visualization Tools**: Generate advanced plots, including density maps and signal traces.\n\nFor full documentation and examples, visit the `FlowCyPy Documentation <https://martinpdes.github.io/FlowCyPy/>`_.\n\nInstallation\n------------\n\nInstall FlowCyPy via `pip` or `conda``:\n\n.. code-block:: bash\n\n pip install FlowCyPy\n conda install FlowCyPy --channels MartinPdeS\n\n**Requirements**: Python 3.10 or higher with dependencies:\n`numpy`, `scipy`, `pint`, `tabulate`, `seaborn`, `MPSPlots`, `PyMieSim`, `pydantic>=2.6.3`\n\nQuick Start\n-----------\n\nSimulate a simple flow cytometer experiment:\n\n.. code-block:: python\n\n from FlowCyPy import FlowCytometer, Scatterer, FlowCell\n from FlowCyPy.units import particle, liter, nanometer, RIU\n\n # Define the flow cell\n flow_cell = FlowCell(\n flow_speed=1.0, flow_area=10e-6, run_time=0.01\n )\n\n # Define scatterer properties\n scatterer = Scatterer(medium_refractive_index=1.33 * RIU)\n scatterer.add_population(\n name='EVs',\n concentration=1e9 * particle / liter,\n size=distribution.Normal(mean=100 * nanometer, std_dev=20 * nanometer),\n refractive_index=distribution.Normal(mean=1.45 * RIU, std_dev=0.01 * RIU)\n )\n scatterer.initialize(flow_cell=flow_cell)\n\n # Simulate the cytometer signals\n cytometer = FlowCytometer(\n scatterer=scatterer,\n source=source,\n detectors=[detector_fsc, detector_ssc]\n )\n cytometer.simulate_pulse()\n cytometer.plot()\n\nExplore more examples in the `FlowCyPy Examples <https://martinpdes.github.io/FlowCyPy/gallery/index.html>`_.\n\nDevelopment and Contribution\n-----------------------------\n\nClone the Repository\n~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: bash\n\n git clone https://github.com/MartinPdeS/FlowCyPy.git\n cd FlowCyPy\n\nInstall Locally\n~~~~~~~~~~~~~~~\n\nInstall in editable mode with testing and documentation dependencies:\n\n.. code-block:: bash\n\n pip install -e .[testing,documentation]\n\nRun Tests\n~~~~~~~~~\n\nUse `pytest` to validate functionality:\n\n.. code-block:: bash\n\n pytest\n\nBuild Documentation\n~~~~~~~~~~~~~~~~~~~\n\nBuild the documentation locally:\n\n.. code-block:: bash\n\n cd docs\n make html\n\nFind the documentation in `docs/_build/html`.\n\nAdditional Resources\n--------------------\n\n- **Documentation**: Full guide and API reference at `FlowCyPy Documentation <https://martinpdes.github.io/FlowCyPy/>`_\n- **Examples**: Explore use cases in the `Examples Section <https://martinpdes.github.io/FlowCyPy/gallery/index.html>`_\n\nContributions\n-------------\n\nContributions are welcome! If you have suggestions, issues, or would like to collaborate, visit the `GitHub repository <https://github.com/MartinPdeS/FlowCyPy>`_.\n\nContact\n-------\n\nFor inquiries or collaboration, contact `Martin Poinsinet de Sivry-Houle <mailto:martin.poinsinet.de.sivry@gmail.com>`_.\n\n.. |logo| image:: https://github.com/MartinPdeS/FlowCyPy/raw/master/docs/images/logo.png\n :align: middle\n :alt: FlowCyPy Logo\n\n.. |python| image:: https://img.shields.io/pypi/pyversions/flowcypy.svg\n :alt: Python\n :target: https://www.python.org/\n\n.. |docs| image:: https://github.com/martinpdes/flowcypy/actions/workflows/deploy_documentation.yml/badge.svg\n :target: https://martinpdes.github.io/FlowCyPy/\n :alt: Documentation Status\n\n.. |PyPi| image:: https://badge.fury.io/py/FlowCyPy.svg\n :alt: PyPi version\n :target: https://badge.fury.io/py/FlowCyPy\n\n.. |PyPi_download| image:: https://img.shields.io/pypi/dm/FlowCyPy?style=plastic&label=PyPi%20downloads&labelColor=hex&color=hex\n :alt: PyPI - Downloads\n :target: https://pypistats.org/packages/flowcypy\n\n.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/FlowCyPy/python-coverage-comment-action-data/badge.svg\n :alt: Unittest coverage\n :target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/FlowCyPy/blob/python-coverage-comment-action-data/htmlcov/index.html\n\n.. |ci/cd| image:: https://github.com/martinpdes/flowcypy/actions/workflows/deploy_coverage.yml/badge.svg\n :alt: Unittest Status\n\n.. |anaconda| image:: https://anaconda.org/martinpdes/flowcypy/badges/version.svg\n :alt: Anaconda version\n :target: https://anaconda.org/martinpdes/flowcypy\n\n.. |anaconda_download| image:: https://anaconda.org/martinpdes/flowcypy/badges/downloads.svg\n :alt: Anaconda downloads\n :target: https://anaconda.org/martinpdes/flowcypy\n\n.. |anaconda_date| image:: https://anaconda.org/martinpdes/flowcypy/badges/latest_release_relative_date.svg\n :alt: Latest release date\n :target: https://anaconda.org/martinpdes/flowcypy\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2020 Martin de Sivry Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
"summary": "A package for flow-cytometry simulations.",
"version": "0.3.12",
"project_urls": {
"Documentation": "https://martinpdes.github.io/FlowCyPy/",
"Homepage": "https://github.com/MartinPdeS/FlowCyPy",
"Repository": "https://github.com/MartinPdeS/FlowCyPy.git"
},
"split_keywords": [
"refracive index",
" optics",
" microbeads",
" mie scattering"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a07297946957d450d49bb920753f94977824de311cda06ba154aa79c8a2a9081",
"md5": "a37f7e71b82654aa2756a00cf2cd920a",
"sha256": "468921624666a1bc618916f79b54d919a493fb176e0ac81429de5629eea98010"
},
"downloads": -1,
"filename": "FlowCyPy-0.3.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a37f7e71b82654aa2756a00cf2cd920a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 67146,
"upload_time": "2024-12-19T11:23:34",
"upload_time_iso_8601": "2024-12-19T11:23:34.374048Z",
"url": "https://files.pythonhosted.org/packages/a0/72/97946957d450d49bb920753f94977824de311cda06ba154aa79c8a2a9081/FlowCyPy-0.3.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "52d8e3d25af6e2ae3f01f079ef3d4623994a1dfdcd42b2f71c5d8afaeb2f51bc",
"md5": "5c851db8327897ecb75b6e5fff05ce40",
"sha256": "8363f2080f6766c4ef718952de892061a02f3bd853b3f451a69f3ad793bff635"
},
"downloads": -1,
"filename": "flowcypy-0.3.12.tar.gz",
"has_sig": false,
"md5_digest": "5c851db8327897ecb75b6e5fff05ce40",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 1845912,
"upload_time": "2024-12-19T11:23:37",
"upload_time_iso_8601": "2024-12-19T11:23:37.790559Z",
"url": "https://files.pythonhosted.org/packages/52/d8/e3d25af6e2ae3f01f079ef3d4623994a1dfdcd42b2f71c5d8afaeb2f51bc/flowcypy-0.3.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-19 11:23:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MartinPdeS",
"github_project": "FlowCyPy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "flowcypy"
}