Basic PipelinesThese pipelines are made for simple cellular and tissue image assays, and include some basic measurements. | |
| |
| |
| |
|
Free open-source software for measuring and analyzing cell images. List of images for processing in CellProfiler. Since metadata is not necessary for every assay, setting this module is optional. Module allows you to extract and associatemetadata with your images. The metadata can be extracted from the image file itself, from a part of the file name or location, and/or from a text file you provide.
Specialized pipelinesIn addition to cellular object and feature identification, these pipelines include some of the more specialized modules in CellProfiler for image pre-processing or measurement. | |
| |
| |
| |
| |
| |
| |
| |
Pipelines using theWormToolboxThese pipelines have been developed for high-throughput screens on C. elegans and extract measurements on a per-worm basis.TheWormToolbox page has further details on this workflow, as well as video tutorials, pipelines and image data in addition to those described below. (from C Wählbyet al.Methods, 2014) TheBBBC also hasC. elegans sample images and information, as well as assay 'ground truth' of various kinds. | |
| |
| |
| |
|
Basic Simulation of SMLM Image and Automated Cluster Analysis by Cellprofiler. We created a basic simulation image of two adjacent single molecule clusters that simulate SMLM data e.g., PALM or STORM of the active zone bruchpilot protein clusters at synapse of neuromuscular junctions (NMJs) of Drosophila 3, 9.
More Advanced PipelinesThese pipelines are more complex in terms in image processing, feature identification and the desired measurements. | |
| |
| |
| |
| |
| |
File UtilitiesThese pipelines show examples of file display and format manipulation. | |
| |
| |
|
PublishedPipelines
Pipelines which have appeared in published papers are providedhere. Please keep in mind that the listed pipelines are specific to the published assay and that no images are provided.
CellProfiler is an image processing package to generate morphometric measurements.
Software Category: bio
Software Category: bio
For detailed information, visit the CellProfilerwebsite.
The current installation of CellProfilerincorporates the most popular packages. To find the available versions and learn how to load them, run:
The output of the command shows the available CellProfilermodule versions.
For detailed information about a particular CellProfilermodule, including how to load the module, run the
module spider
command with the module’s full version label. For example:Cellprofiler Colocalization
Module | Version | Module Load Command |
---|---|---|
cellprofiler | 2.2.0 | module load singularity/2.6.1 cellprofiler/2.2.0 |
cellprofiler | 3.0.0 | module load singularity/2.6.1 cellprofiler/3.0.0 |
cellprofiler | 3.1.8 | module load singularity/2.6.1 cellprofiler/3.1.8 |
cellprofiler | 2.2.0 | module load singularity/3.5.2 cellprofiler/2.2.0 |
cellprofiler | 3.1.8 | module load singularity/3.5.2 cellprofiler/3.1.8 |
The latest version of CellProfiler is available as a Singularity container. Containers encapsulate applications, in this case CellProfiler, and all their required libraries isolated from the application and libraries provided by the system. The basic concepts of software containers, and Singularity container in particular, are explained here. We recommend using the latest CellProfiler container version whenever possible. Please contact us for help with this package.
CellProfiler can be run interactively with a graphical user interface (GUI) or non-interactively without any user interface. The interactive GUI mode is used to define image analysis pipelines; the non-interactive mode is used for image batch processing based on previosuly configured image analysis pipelines.
The CellProfiler container image file is provided in a shared user space. For best performance it is recommended that users copy this container to their individual /scratch storage location. This has to be done only once and the following steps describe this process.
Cellprofiler Python
In a Rivanna terminal window execute these commands:
Option A: FastX
- On you local workstation, start a new Rivanna FastX session as described in our FastX documentation.
- In the FastX window menu, go to Applications > Favorites > Terminal
- In the terminal window type in this command.
Cellprofiler
- Continue with instructions under Starting the interactive CellProfiler job.
Option B: ssh terminal
- In a terminal window on your local workstation execute the following command:
- Continue with instructions under Starting the interactive CellProfiler job.
Starting the interactive CellProfiler job
To start an interactive job (ijob) and launch the CellProfiler graphical user interface from within the container, run the following commands in the terminal window (running on one of the Rivanna login nodes):
If you have a large number of images that all need to be processed in the same manner, you can use Rivanna’s compute nodes for efficient non-interactive batch image processing. The details of CellProfiler’s batch processing strategy are explained here.
Setup
- Move image files to be processed to a directory accessible on Rivanna (ideally /scratch).
- Use an interactive CellProfiler session to define a CellProfiler image analysis pipeline file (.cppipe) that defines how those particular images are to be processed, see Interactive Jobs with Graphical User Interface for Image Pipeline Configuration.
- In the interactive CellProfiler session, add the
CreateBatchFiles
module to the end of your pipeline and clickAnalyze Images
. This will create the fileBatch_data.h5
which defines the entire image processing step including paths to the images.
Cellprofiler Tracer
Note: The pipeline batch file created in step 3 contains hardcoded paths to the to-be-processed image files. So steps 2 and 3 need to be repeated when you want to process images in a different directory.
Cellprofiler Tutorial
Create and submit the SLURM job script
A general premise in the batch processing workflow is that processing of images can occur independently from each other in a parallel fashion. The easiest way to implement parallel image processing with CellProfiler is to create a job array where each job in the array (referred to as job array task) processes a unique subset of the total image set.
Let us assume that we have a directory with 100 image files to process in
/scratch/$USER/images
and that we completed steps 1-3 as described above. The following two steps create the SLURM job script and submit it to the cluster:- Create/edit SLURM job script
/scratch/mstk/cp_jobs/cellprofiler.slurm
(see below). This scriptdefines a job array with 100 tasks, each task processing a single image,loads thecellprofiler container module
and runs theCellProfiler.py
script inside the container, andpasses the/scratch/$USER/pipelines/Batch_data.h5
file with the image processing definition to the CellProfiler instance - Run these commands to submit the job and execute the preconfigured image analysis pipeline.:
The SLURM job script
cellprofiler.slurm
:- The directive
#SBATCH --array=100
defines the size of the job array, i.e. the creation of 100 job tasks, each running a single CellProfiler instance. - The directive
#SBATCH --cpus-per-task=1
specifies that each job task, i.e. each CellProfiler instance, runs on a single cpu core since CellProfiler does not support multi-threading. SLURM_ARRAY_TASK_ID
is a variable set by SLURM when the job is running. For each job array task this variable is set to a unique value between 1 and 100 (job array size). We use it to define for each job array task which image needs to be processed.