Skip to content

Commit a3f0852

Browse files
authored
Merge pull request #2 from fish-quant/develop
v0.1.0
2 parents fa68912 + 2e12dd9 commit a3f0852

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3822
-2467
lines changed

.codecov.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
comment: false
2+
3+
ignore:
4+
- "setup.py"
5+
- "scripts"
6+
- "data"
7+
8+
coverage:
9+
status:
10+
project:
11+
default:
12+
# Commits pushed to master should not make the overall project
13+
# coverage decrease by more than 1%:
14+
target: auto
15+
threshold: 1%
16+
patch:
17+
default:
18+
# Be tolerant on slight code coverage diff on PRs to limit
19+
# noisy red coverage status on github PRs.
20+
# Note The coverage stats are still uploaded
21+
# to codecov so that PR reviewers can see uncovered lines
22+
# in the github diff if they install the codecov browser
23+
# extension:
24+
# https://github.com/codecov/browser-extension
25+
target: auto
26+
threshold: 1%

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
.idea/
66

77
# folders
8-
playground/
8+
notebooks/
99
data/
10+
images/others/
1011

1112
# ### General python stuff ###
1213

.readthedocs.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# .readthedocs.yaml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Build documentation in the docs/ directory with Sphinx
9+
sphinx:
10+
builder: html
11+
configuration: docs/source/conf.py
12+
13+
# Optionally build your docs in additional formats such as PDF
14+
formats:
15+
- pdf
16+
17+
# Optionally set the version of Python and requirements required to build your docs
18+
python:
19+
version: 3.6
20+
install:
21+
- requirements: requirements_docs.txt
22+
- method: pip
23+
path: .

.travis.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
language: python
2+
3+
python:
4+
- "3.6"
5+
- "3.7"
6+
- "3.8"
7+
- "3.9"
8+
9+
install:
10+
- pip install -r requirements.txt
11+
- pip install -r requirements_dev.txt
12+
13+
script:
14+
- pytest --cov=./
15+
- codecov

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include images/*

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
init:
2+
pip install -r requirements.txt

README.md

Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,38 @@
11
# Sim-FISH
22

3-
[![License](https://img.shields.io/badge/license-BSD%203--Clause-green)](https://github.com/fish-quant/big-fish/blob/master/LICENSE)
4-
[![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/)
3+
[![PyPI version](https://badge.fury.io/py/sim-fish.svg)](https://badge.fury.io/py/sim-fish)
4+
[![Build Status](https://travis-ci.com/fish-quant/sim-fish.svg?branch=main)](https://travis-ci.com/fish-quant/sim-fish)
5+
[![Documentation Status](https://readthedocs.org/projects/sim-fish/badge/?version=stable)](https://sim-fish.readthedocs.io/en/latest/?badge=stable)
6+
[![codecov](https://codecov.io/gh/fish-quant/sim-fish/branch/main/graph/badge.svg)](https://codecov.io/gh/fish-quant/sim-fish)
7+
[![License](https://img.shields.io/badge/license-BSD%203--Clause-green)](https://github.com/fish-quant/sim-fish/blob/main/LICENSE)
8+
[![Python version](https://img.shields.io/pypi/pyversions/sim-fish.svg)](https://pypi.python.org/pypi/sim-fish/)
59

610
**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**.
711

12+
User can simulate images of spots and clusters with different level of noise...
13+
14+
| Spots | Clustered spots |
15+
| ------------- | ------------- |
16+
| ![](images/plot_spot.png "Spots") | ![](images/plot_cluster_zoom.png "Clustered spots") |
17+
18+
... or localization patterns within subcellular regions.
19+
20+
| Perinuclear pattern | Foci pattern |
21+
| ------------- | ------------- |
22+
| ![](images/perinuclear_1_300.png "Perinuclear pattern") | ![](images/foci_1_300.png "Foci pattern") |
823

924
## Installation
1025

1126
### Dependencies
1227

1328
Sim-FISH requires Python 3.6 or newer. Additionally, it has the following dependencies:
1429

15-
- numpy (== 1.16.0)
16-
- scipy (== 1.4.1)
17-
- scikit-learn (== 0.20.2)
18-
- scikit-image (== 0.14.2)
19-
- matplotlib (== 3.0.2)
20-
- pandas (== 0.24.0)
21-
- mrc (== 0.1.5)
22-
23-
Updated dependencies might break.
30+
- big-fish (>= 0.6.1)
31+
- joblib (>= 0.13.2)
32+
- numpy (>= 1.16.0)
33+
- scikit-image (>= 0.14.2)
34+
- matplotlib (>= 3.0.2)
35+
- pandas (>= 0.24.0)
2436

2537
### Virtual environment
2638

@@ -33,9 +45,13 @@ source activate simfish_env
3345

3446
We recommend two options to then install Sim-FISH in your virtual environment.
3547

36-
#### Download the package from PyPi (not available yet)
48+
#### Download the package from PyPi
3749

50+
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install Sim-FISH. In a terminal run the command:
3851

52+
```bash
53+
pip install sim-fish
54+
```
3955

4056
#### Clone package from Github
4157

@@ -49,30 +65,27 @@ pip install .
4965

5066
## Usage
5167

68+
Sim-FISH provides a toolbox to simulate smFISH images. A complete [documentation](https://sim-fish.readthedocs.io/en/stable/) is available online.
5269

70+
This package is part of the [FISH-Quant](https://fish-quant.github.io/) framework.
5371

5472
## Support
5573

5674
If you have any question relative to the repository, please open an [issue](https://github.com/fish-quant/sim-fish/issues). You can also contact [Arthur Imbert](mailto:arthur.imbert@mines-paristech.fr).
5775

5876
## Roadmap (suggestion)
5977

60-
Version 0.1.0:
61-
- I/O routines.
62-
- Random spot simulation in 2D and 3D.
63-
- Clustered spot simulation in 2D and 3D.
64-
- Allow benchmark and valuation pipeline.
65-
6678
Version 0.Y.0:
67-
- Noise simulation.
68-
- Localized spot simulation in 2D.
79+
- Improve background noise simulation.
80+
- Improve PSF simulation.
6981
- Cell and nucleus simulation in 2D.
70-
- Localized spot simulation in 3D.
7182
- Cell and nucleus simulation in 3D.
83+
- Allow benchmark and valuation pipeline.
84+
- Add simulation of colocalized spots
85+
- Add examples
7286

7387
Version 1.0.0:
7488
- Complete code coverage.
75-
- Add sphinx documentation.
7689

7790
## Development
7891

@@ -89,3 +102,23 @@ git checkout develop
89102
### Contributing
90103

91104
[Pull requests](https://github.com/fish-quant/sim-fish/pulls) are welcome. For major changes, please open an [issue](https://github.com/fish-quant/sim-fish/issues) first to discuss what you would like to change.
105+
106+
### Testing
107+
108+
Please make sure to update tests as appropriate if you open a pull request. You can install exacts dependencies and specific version of [pytest](https://docs.pytest.org/en/latest/) by running the following command:
109+
110+
```bash
111+
pip install -r requirements_dev.txt
112+
```
113+
114+
To perform unit tests, run :
115+
116+
```bash
117+
pytest simfish
118+
```
119+
120+
## Citation
121+
122+
If you exploit this package for your work, please cite:
123+
124+
> 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

build_package.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
3+
rm -r build/*
4+
rm -r dist/*
5+
6+
pip install --upgrade pip setuptools wheel twine
7+
8+
python setup.py sdist bdist_wheel
9+
twine upload dist/*

docs/Makefile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line, and also
5+
# from the environment for the first two.
6+
SPHINXOPTS ?=
7+
SPHINXBUILD ?= sphinx-build
8+
SOURCEDIR = source
9+
BUILDDIR = build
10+
11+
# Put it first so that "make" without argument is like "make help".
12+
help:
13+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14+
15+
.PHONY: help Makefile
16+
17+
# Catch-all target: route all unknown targets to Sphinx using the new
18+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19+
%: Makefile
20+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

docs/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Documentation for Sim-FISH
2+
3+
[![Documentation Status](https://readthedocs.org/projects/sim-fish/badge/?version=stable)](https://sim-fish.readthedocs.io/en/latest/?badge=stable)
4+
5+
This folder gathers the materials for the online [documentation](https://sim-fish.readthedocs.io/en/stable/).

0 commit comments

Comments
 (0)