Skip to main content

Small Fish is a python application for the analysis of smFish images. It provides a ready to use graphical interface to combine famous python packages for cell analysis without any need for coding.

Project description

Small Fish - A User-Friendly Graphical Interface for smFISH Image Quantification

License: BSD-2-Clause GitHub stars Python 3.12+

Small Fish is a python application for smFish image analysis. It provides a ready to use graphical interface to synthetize state-of-the-art scientific packages into an automated workflow. Small Fish is designed to simplify images quantification and analysis for people without coding skills.

Cell segmentation is peformed in 2D and 3D throught cellpose 4.0+(published work) : https://github.com/MouseLand/cellpose; compatible with your own cellpose models.

Spot detection is performed via big-fish a python implementation of FishQuant (published work) : https://github.com/fish-quant/big-fish.

Fish signal

Fish signal

The workflow is fully explained in the wiki ! Make sure to check it out.

What can you do with small fish ?

✅ Single molecule quantification
✅ Transcriptomics
✅ Foci quantification
✅ Transcription sites quantification
✅ Nuclear signal quantification
✅ Signal to noise analysis
✅ Cell segmentation
✅ Multichannel colocalisation

Fish signal

Raw 3D fish signal with dapi

Segmentation

2D segmentation

Detection_signal

3D Spot detection

detection

Cluster detection

Analysis can be performed either fully interactively throught a Napari interface or performed automatically through a batch processing allowing for reproducible quantifications.

Installation

General setup

If you don't have a python installation yet I would recommend the miniconda distribution; but any distribution should work.

It is higly recommanded to create a specific conda or virtual environnement to install small fish.

As of version 2.1.0 Small Fish runs on python 3.12.

If you are using conda or miniconda

conda create -n small_fish python=3.12
conda activate small_fish

If you are using venv, after installing the official python 3.12, python-venv and python-tk .

python3.12 -m venv python_env/small_fish
source python_env/small_fish/bin/activate

Then download and install the small_fish package with :

pip install small_fish_gui

Docker Set-up

A docker image is also available on Dockerhub.

If you can use the free version, I recommend using the docker desktop version and let it guide you. Otherwise you can install the command line version of Docker and run the following :

docker pull floric333/small_fish:latest
docker run -it --rm \
    --env="DISPLAY=$DISPLAY" \
    --env="QT_X11_NO_MITSHM=1" \
    --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    floric333/small_fish:latest

Setting up GPU

As of Small Fish 2.0.1 it is highly recommanded to set up GPU with cellpose since its new model, CellposeSAM, is very heavy computationally even more when attempting 3D segmentation.
First of all, try to run small fish gpu without additional commands depending on your configuration it could work straight out of the box. If encoutering any issue try first the following :

Note: For MacOS users check first if your GPU is not already set up by launching a segmentation as the drivers might set up automatically upon installation.

pip install --index-url https://download.pytorch.org/whl/cu124 torch torchvision torchaudio

If running into additional problems please look at cellpose documentation.

Run Small fish

First activate your python environnement :

conda activate small_fish

Then launch Small fish :

python -m small_fish_gui

You are all set! Try it yourself or check the get started section in the wiki.

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

small_fish_gui-2.2.0.tar.gz (34.7 MB view details)

Uploaded Source

Built Distribution

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

small_fish_gui-2.2.0-py3-none-any.whl (162.8 kB view details)

Uploaded Python 3

File details

Details for the file small_fish_gui-2.2.0.tar.gz.

File metadata

  • Download URL: small_fish_gui-2.2.0.tar.gz
  • Upload date:
  • Size: 34.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for small_fish_gui-2.2.0.tar.gz
Algorithm Hash digest
SHA256 30fed7bfdc160d92da772ff70eeaae84b616336e00d2405ba3e9876148d94999
MD5 eab24906b5a4cf569ae9a07fb2bf201e
BLAKE2b-256 28b1a3c94f638f95a405f9e3f93edf9f6662d91850c9a9b030ab6d40e4367063

See more details on using hashes here.

File details

Details for the file small_fish_gui-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: small_fish_gui-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 162.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for small_fish_gui-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a66f271973d4ff085b327d7c9ba3cfdd1316d4c9a6f409b7518630773bf7c194
MD5 ad7ccb50a486b4909482299d4f84086f
BLAKE2b-256 721bbb3b39ca91d34bb75c533e2e81b04bd289b94e6a494402f8020a37f827e2

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