The walkthrough is based on Jupyter notebooks. The rest of the requirements are basically the ones required by the ImageJ tutorials plus the Integrative Modeling Platform and the python implementation of the Constrained K-means algorithm are listed in the environment.yml file.
The notebook has been tested under Ubuntu 18.04.4 and should work on most 64 bits linux systems
The easiest to install them in an isolated environment in to use Miniconda. A way to install it could be:
wget --quiet --no-check-certificate https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh \
-O ~/miniconda.sh && \
/bin/bash ~/miniconda.sh -b && \
~/miniconda2/bin/conda init && \
rm ~/miniconda.sh
Then open follow this steps:
- Clone this repository.
- Open a console and
cd
to your cloned working copy. conda init
to initialize condaconda env create -f environment.yml
to create a conda environment with the dependencies the notebook need.conda activate scijava
to activate the environment.jupyter notebook
to launch Jupyter Notebook in a web browser.- In the browser, open the
OligoFISSEQ pipeline.ipynb
.
In the notebook there will be an example of the analysis workflow of one image produced by OligoFISSEQ. All the files needed are contained in this repository
create_hyperstack_from_rounds.ijm
ImageJ script to compile each round of OligoFISSEQ into hyperstacks composed by 5 channels, a series of z-slices and one frame per round. If an image where all the punctas are labelled, like in toto image, is available it is included as a new additional frame. The hyperstacks are aligned using Fiji plugin “Correct 3D Drift” (Parslow, Cardona, and Bryson-Richardson 2014). Images of DAPI stained nuclei are used to perform threshold segmentation and extract each individual cell from the initial image as a separate region of interest (roi).
detect_barcode_patches.py
ImageJ jython script to detect barcodes in the hyperstacks created in the preprocessing. For each hyperstack this script produces:
- A tiff file with the maximum intensity projection over all rounds over all channels
- A tiff file where pixels yielding a full barcode are colored by barcode
- A tiff file where each slice contains the signal of each barcode individually
- A tsv file with information of every detected patch with full and subsampled barcoding
trace_OligoFISSEQ.py
Python script to trace chromosomes for the 36plex datasets using the tsv file with the detected barcodes. The output of this script is:
- A tsv file with the positions of the traced loci
trace_OligoFISSEQ_chrX.py
Python script to trace chromosomes for the chrX-46plex datasets using the tsv file with the detected barcodes. The output of this script is:
- A tsv file with the positions of the traced loci