Sim-FISH is a python package to simulate smFISH images. The package allows the user simulate and localize spots, cells and nuclei. The ultimate goal is to provide toy images to experiment, train and evaluate smFISH statistical analysis.
User can simulate images of spots and clusters with different level of noise...
Spots | Clustered spots |
---|---|
![]() |
![]() |
... or localization patterns within subcellular regions.
Perinuclear pattern | Foci pattern |
---|---|
![]() |
![]() |
Sim-FISH requires Python 3.6 or newer. Additionally, it has the following dependencies:
- big-fish (>= 0.6.1)
- joblib (>= 0.13.2)
- numpy (>= 1.16.0)
- scikit-image (>= 0.14.2)
- matplotlib (>= 3.0.2)
- pandas (>= 0.24.0)
To avoid dependency conflicts, we recommend the the use of a dedicated virtual or conda environment. In a terminal run the command:
conda create -n simfish_env python=3.6
source activate simfish_env
We recommend two options to then install Sim-FISH in your virtual environment.
Use the package manager pip to install Sim-FISH. In a terminal run the command:
pip install sim-fish
Clone the project's Github repository and install it manually with the following commands:
git clone git@github.com:fish-quant/sim-fish.git
cd sim-fish
pip install .
Sim-FISH provides a toolbox to simulate smFISH images. A complete documentation is available online.
This package is part of the FISH-Quant framework.
If you have any question relative to the repository, please open an issue. You can also contact Arthur Imbert.
Version 0.Y.0:
- Improve background noise simulation.
- Improve PSF simulation.
- Cell and nucleus simulation in 2D.
- Cell and nucleus simulation in 3D.
- Allow benchmark and valuation pipeline.
- Add simulation of colocalized spots
- Add examples
Version 1.0.0:
- Complete code coverage.
You can access the latest sources with the commands:
git clone git@github.com:fish-quant/sim-fish.git
cd sim-fish
git checkout develop
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate if you open a pull request. You can install exacts dependencies and specific version of pytest by running the following command:
pip install -r requirements_dev.txt
To perform unit tests, run :
pytest simfish
If you exploit this package for your work, please cite:
Arthur Imbert, Wei Ouyang, Adham Safieddine, Emeline Coleno, Christophe Zimmer, Edouard Bertrand, Thomas Walter, Florian Mueller. FISH-quant v2: a scalable and modular analysis tool for smFISH image analysis. bioRxiv (2021) https://doi.org/10.1101/2021.07.20.453024