Getting started
Coppafisher
Coppafisher is an open source data analysis Python package for COmbinatorial Padlock-Probe-Amplified Fluorescence In Situ Hybridization (coppafish) datasets. A series of 3D microscope images are arranged into tiles, rounds and channels. For each sequencing round, every wanted gene spot is fluoresced by a dye. By the end of all rounds, each gene has a unique, barcode-like sequence of dyes called the gene code. Coppafisher is a data analysis pipeline to assign genes to spots by their gene codes in 3D.
See installation on how to install our software, and usage to run coppafisher on your dataset. For details about coppafisher's methodology, see the method. Some vocabulary might be unfamiliar, please see the glossary for reference.

Installation
Prerequisites
- Windows or Linux. MacOS is not tested.
- Python 3.11 or 3.12.
- Git.
- 64GB of memory for tile sizes ~
64x2048x2048
pixels (recommended). - Nvidia GPU with Cuda 12.4 support (optional).
Environment
Install coppafisher software from within an environment. We will use a conda environment, so miniconda or anaconda is required.
First, build an environment and update pip (recommended)
conda create -n coppa python=3.12
conda activate coppa
python -m pip install --upgrade pip
coppa can be changed to any name.
Environment naming
Avoid putting the word coppafisher
into the environment name because this is the same name as the Python package,
which could cause bugs.
Install
Clone the latest coppafisher version locally
git clone --depth 1 https://github.com/paulshuker/coppafisher.git
Install a specific version
You can instead install specific coppafisher versions, like version 1.0.0
git clone --depth 1 --branch 1.0.0 https://github.com/paulshuker/coppafisher.git
Check the tags for version options.
install package dependencies
cd coppafisher
python -m pip install -r requirements.txt
install PyTorch with both CPU and Cuda 12.4 support by
python -m pip install -r requirements-torch.txt
Check the GPU is detected
If you have an Nvidia GPU with working drivers, you can check that it is detected in the python terminal
import torch
torch.cuda.is_available()
which should show true.
Finally, install coppafisher by
python -m pip install .
You can now safely delete the locally cloned coppafisher repository
cd ..
rm -rf coppafisher
Updating
Coppafisher will not automatically install updates. But, you will see a warning at the start of a pipeline if a new online version is available.
To update version, delete the old conda environment by
conda env remove -yn coppa
Now follow all installation instructions again.
Keep all output data (including the notebook) when updating coppafisher versions. If data saved to disk is now deprecated, coppafisher will automatically suggest a course of action when it is run again.