Skip to main content

Interactive fluorescence and scattering calibration workflows for flow cytometry.

Project description

RosettaX

RosettaX logo

Meta

Python

Documentation Status

zenodo

Testing

Test Status

Test coverage

PyPI

PyPI version

PyPI downloads

Anaconda

Anaconda version

Anaconda downloads

RosettaX is an interactive calibration application for flow cytometry.

It provides local graphical workflows for fluorescence and scattering calibration, combining FCS data loading, histogram inspection, peak identification, calibration fitting, runtime profile management, and reusable calibration export in a single interface.

The goal of RosettaX is to make calibration workflows explicit, inspectable, repeatable, and easier to maintain across experiments. The application is designed as a practical bridge between experimental cytometry data, optical modeling, detector settings, calibration references, and downstream analysis.

Overview

Flow cytometry calibration is often distributed across several disconnected tools: instrument software, notebooks, scripts, spreadsheets, manually selected peaks, copied constants, and exported configuration files. This fragmentation makes calibration procedures difficult to audit, reproduce, compare, and reuse.

RosettaX brings these steps into a structured application. A calibration session can be configured, inspected, fitted, saved, and reused without separating the scientific model from the practical workflow. This is particularly useful when calibration results need to remain traceable across instruments, detector settings, reference materials, and analysis pipelines.

RosettaX currently focuses on two main calibration workflows:

  • fluorescence calibration

  • scattering calibration

The fluorescence workflow supports calibration from reference intensity data. The scattering workflow connects measured cytometry signals with optical parameters such as particle size, refractive index, detector configuration, and scattering intensity.

Features

RosettaX currently provides:

  • fluorescence calibration workflows

  • scattering calibration workflows

  • FCS data loading

  • interactive histogram inspection

  • peak identification and peak finding

  • calibration fitting

  • reusable calibration export

  • runtime profile management

  • detector and optical parameter presets

  • support for default and custom parameter configurations

  • local graphical application behavior suitable for repeated calibration work

Why RosettaX

RosettaX is intended to reduce the amount of manual and implicit work involved in flow cytometry calibration.

Typical calibration workflows often require users to move between acquisition software, custom scripts, spreadsheets, and manually recorded parameters. This can make it difficult to know exactly which data, peaks, settings, assumptions, and fitted models produced a given calibration result.

RosettaX addresses this by keeping the workflow organized around explicit steps:

  • load the relevant cytometry data

  • select or define the calibration context

  • inspect the signal distributions

  • identify the calibration peaks

  • fit the calibration relation

  • review the result

  • export a reusable calibration file

This makes the calibration process easier to document, compare, repeat, and adapt to new experiments.

Typical Workflow

A typical RosettaX session follows these steps:

  1. launch the local application

  2. load or select a runtime profile

  3. import the relevant FCS data

  4. choose the fluorescence or scattering calibration workflow

  5. configure the detector, optical, and calibration parameters

  6. inspect histograms and identify calibration peaks

  7. fit the calibration model

  8. review the calibration result

  9. save the calibration for later reuse

The exact procedure depends on the selected workflow, but the application is organized so that each step remains visible and traceable.

Scientific Scope

RosettaX is intended for research and development workflows involving flow cytometry calibration. It focuses on calibration analysis and calibration file generation rather than instrument control.

The application is especially relevant when experimental cytometry data, reference materials, optical parameters, detector settings, and reusable analysis profiles need to be managed together in a structured workflow.

For scattering calibration, RosettaX is designed to connect measured cytometry signals with optical modeling concepts, including particle size, refractive index, collection geometry, detector configuration, and scattering intensity. This makes it suitable for workflows where optical interpretation and instrument calibration need to remain linked.

Data Handling

RosettaX runs locally.

The application does not upload FCS files, calibration profiles, calibration results, or generated configuration files to a remote service. Data remain on the machine running the software unless the user explicitly moves, uploads, or shares them outside the application.

Project Status

RosettaX is currently in alpha development.

The application is usable for development, testing, and iterative calibration workflow design. However, the public API, internal organization, and graphical workflows may still change. New users should expect active development and occasional breaking changes.

Current development priorities include:

  • improving workflow robustness

  • expanding automated tests

  • improving documentation

  • adding reproducible examples

  • strengthening calibration validation

  • refining the graphical interface

  • improving packaging and release workflows

Installation

PyPI

pip install RosettaX

Anaconda

conda install -c martinpdes rosettax

From Source

git clone https://github.com/MartinPdeS/RosettaX.git
cd RosettaX
pip install -e .

Usage

After installation, launch RosettaX with:

rosettax

This starts the local graphical calibration application.

Common CLI options:

rosettax --host 0.0.0.0 --port 8050
rosettax --no-browser
rosettax --fcs-file-path /path/to/sample.fcs
rosettax --version

The application opens a browser based interface served from the local machine. It is intended for local calibration workflows and does not require a remote server.

Documentation

The documentation is available here:

RosettaX documentation

The documentation is expected to evolve with the application. At this stage, the README provides the high level overview, while the full documentation contains more detailed usage information.

Development

Install the project in editable mode with development dependencies:

pip install -e ".[dev,testing,documentation]"

Run the test suite with:

pytest

Run tests with coverage using:

pytest --cov=RosettaX

The repository includes configuration for testing, coverage, documentation, and continuous integration. These tools are intended to support reproducible development as the project matures.

Contributing

Contributions are welcome.

Useful contributions include:

  • bug reports

  • workflow suggestions

  • documentation improvements

  • test cases

  • calibration examples

  • user interface improvements

  • support for additional calibration workflows

For substantial changes, please open an issue first so that the intended direction can be discussed before implementation.

Citation

If you use RosettaX in scientific work, please cite the repository and the archived Zenodo release:

Martin Poinsinet de Sivry-Houle. (2026). MartinPdeS/RosettaX: Pre-release (v0.0.10). Zenodo. https://doi.org/10.5281/zenodo.19846630

A formal citation file may be added in a future release.

Contact

RosettaX is developed by Martin Poinsinet de Sivry Houle.

For collaboration, questions, or feedback:

martin.poinsinet.de.sivry@gmail.com

License

RosettaX is distributed under the GNU Affero General Public License v3.0 or later.

See the repository LICENSE file for the full license text.

Commercial licensing, support, validation, or custom deployment agreements may be discussed with the author.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rosettax-0.0.11.tar.gz (18.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rosettax-0.0.11-py3-none-any.whl (17.0 MB view details)

Uploaded Python 3

File details

Details for the file rosettax-0.0.11.tar.gz.

File metadata

  • Download URL: rosettax-0.0.11.tar.gz
  • Upload date:
  • Size: 18.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for rosettax-0.0.11.tar.gz
Algorithm Hash digest
SHA256 b2c9a172ebdc412706641f5960bb29b9d17f51ace61e69647b42037670683b53
MD5 d1ee2e46d36ac93dae0436d2ebe55057
BLAKE2b-256 4f4f5836222ae2e9bc3fbe15e1e602ab7781fbef72f2f72670375f55df38bd04

See more details on using hashes here.

File details

Details for the file rosettax-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: rosettax-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 17.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for rosettax-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 048b48cc93a2aa2a09d4873a6516f900faf956ea6a7091449fc858157aaf32e0
MD5 31a8866a40fa51d3e916af5998e0de70
BLAKE2b-256 85a0b88f920aa3e5c71255e4366d5b4183e5cc2740f652fd2e8c10def876d4ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page