Skip to content

C-elegans-VNC/VNC-Dist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAM-Plus VNC-Quant Cite Paper Colavita & Perkins Lab

VNC-Dist

VNC-Quant logo SAM-Plus logo

Semi-auto pipeline for Ventral Nerve Cord neuronal positioning analysis in C.elegans

  • This repository features a Python backend and a Streamlit Docker app that implement SAM-Plus for worm segmentation and VNC-Quant for quantifying neuron positions. It calculates the normalized relative distances of SAB, DA, DD, and DB neurons along the AP axis of VNC, using SABVL (0%) and the rectum (100%) as reference points.

  • VNC-Dist pipeline(Ventral Nerve Cord Distances)(v1.0), an open-source user-friendly GUI-based software toolbox designed to overcome the limitations of subjective motoneuron positioning analysis in microscopy.

  • To learn more about it, read the paper in Plos One.

  • For insights into the significance of this pipeline for studying neuronal positioning in the VNC of C. elegans, please refer to the following paper from our lab:

Shah, Pavak K., et al. "PCP and SAX-3/Robo pathways cooperate to regulate convergent extension-based nerve cord assembly in C. elegans." Developmental cell 41.2 (2017): 195-203.

  • VNC-Dist could be adapted to analyze cell positioning in C.elegans at other developmental stages, quantifying ventral, dorsal, and midline cell positioning along the AP axis. By using parametric spline fitting with numerical analysis for continuous curve length calculation, and deep learning for worm outline extraction, the method yields robust and precise quantification across diverse worm shape and cell positioning scenarios.

Overview

The following figure outlines the design of the VNC-Dist pipeline. First, CZI images are compressed and merged, and neuron coordinates are extracted using Fiji/ImageJ. These data are then processed in two steps: (a) SAM-Plus and (b) VNC-Quant.

VNC-Dist workflow

CITATION

If you use VNC-Dist, please cite the paper:

Saharkhiz, Saber, et al. "VNC-Dist: A machine learning-based semi-automated pipeline for quantification of neuronal position in the C. elegans ventral nerve cord." PloS one 20.8 (2025): e0331188.

Installation and Usage

This pipeline supports Python 3.9–3.12 and can be easily installed to run SAM-Plus and VNC-Quant.

  • Docker-based Execution (Recommended): Docker Logo

Execute the pipeline using Docker images by installing Docker on your system (available for Windows, Mac, or Linux).

VNC-Quant GUI

for Windows, Mac, or Linux:

  1. Download this web-based GUI from Docker Hub: (fully functional offline)
docker pull ssaha078/vnc_quant_gui:latest
  1. Launch the GUI from your command prompt:
docker run -d -p 8501:8501 ssaha078/vnc_quant_gui:latest
  1. Open your web browser and navigate to:(port: 8501)
http://localhost:8501

SAM-Plus GUI

for Windows:

  1. Download & Unzip:

https://zenodo.org/records/15232152

  1. Navigate into the unzipped folder from your command prompt:
cd /path/to/your/SAM-Plus_GUI
  1. Build the web-based GUI:
docker build -t sam-plus-vnc .
  1. Launch the GUI:
docker run -d -p 8502:8501 sam_plus_vnc:latest
  1. Open your web browser and navigate to:(port: 8502)
http://localhost:8502

for Linux:

  1. Download this web-based GUI from Docker Hub: (fully functional offline)
docker pull ssaha078/sam_plus_vnc:latest
  1. Launch the GUI from your command prompt:
docker run -d -p 8502:8501 ssaha078/sam_plus_vnc:latest
  1. Open your web browser and navigate to:(port: 8502)
http://localhost:8502


Verifying it works:

docker ps 

Your containers appear in the list as ssaha078/vnc_quant_gui:latest (VNC-Quant) and sam_plus_vnc:latest (SAM-Plus), each with its container ID.

To stop the running container:

docker stop [CONTAINER ID]

Notes

SAM-Plus mandates a dedicated GPU (e.g., NVIDIA GeForce RTX).

TOH logo uOttawaMed logo

About

Ventral Nerve Cord neuronal positioning analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published