Skip to content

JaneliaSciComp/exllsm-circuit-reconstruction

Repository files navigation

ExLLSM Circuit Reconstruction Pipeline

Cite with Zenodo Nextflow Run with Docker Run with Singularity

This is a pipeline, described in this research article, intended for analyzing expansion lattice light-sheet microscopy (ExLLSM) data, consisting of several independent workflows, and integration with VVD Viewer.

Quick Start

The only software requirements for running this pipeline are Nextflow (version 20.10.0 or greater) and Singularity (version 3.5 or greater). If you are running in an HPC cluster, ask your system administrator to install Singularity on all the cluster nodes.

To install Nextflow:

curl -s https://get.nextflow.io | bash 

Alternatively, you can install it as a conda package:

conda create --name exm -c bioconda nextflow

To install Singularity on CentOS Linux:

sudo yum install singularity

Clone the expansion microscopy pipeline repository with the following command:

git clone https://github.com/JaneliaSciComp/expansion-microscopy-pipeline.git

Before running the pipeline for the first time, run setup to pull in external dependencies:

./setup.sh

You can now launch a pipeline, e.g.:

./stitch_pipeline.nf [arguments]

Pipeline Overview

This pipeline is containerized and portable across the various platforms supported by Nextflow. So far it has been tested on a standalone Linux workstation and the LSF cluster at Janelia Research Campus. If you run it successfully on any other platform, please let us know so that we can update this documentation.

The pipeline includes the following workflows:

  • Stitching - distributed stitching pipeline including flatfield correction and deconvolution
  • Image Processing - file conversion, Fiji macros for cropping, cross-talk subtraction, thresholding, and more
  • Neuron Segmentation - workflows for neuron segmentation
  • Synapse Prediction - workflows to detect and quantify synaptic sites within and connections between neurons

Pipeline Execution

Run the pipeline locally

To run the pipeline locally, you can use the standard profile:

./main.nf [arguments]

Run the pipeline on IBM Platform LSF

To run this pipeline in distributed mode on a cluster, all input and output paths must be mounted and accessible on all the cluster nodes.

Edit nextflow.config to create a profile for your local environment. A profile for the Janelia Compute Cluster is provided and can be used like this:

./main.nf -profile lsf --lsf_opts "-P project_code" [arguments]

Usage examples are available in the examples directory.

User Manual

Further detailed documentation is available here:

Related Repos

These other repositories contain code bases developed in conjuction with this pipeline. They are cloned during the Docker container build step.

Open Source License

This software is made available under Janelia's Open Source Software policy which uses the BSD 3-Clause License.