CellOrganizer for Singularity

About CellOrganizer for Singularity

Singularity enables users to have full control of their environment. Singularity containers can be used to package entire scientific workflows, software and libraries, and even data.

CellOrganizer for Singularity is an image with compiled binaries from CellOrganizer functions

  • img2slml, the top-level function to train generative models of cells, and

  • slml2img, the top-level function to generate simulated instances from a trained generative model.

  • slml2info, the top-level function to generate a report from information extracted from a single generative model.

  • slml2report, the top-level function to generate a report from comparing generative models.

  • slml2slml, the top-level function to combine models into a single model file.

Installing CellOrganizer for Singularity

About Singularity

Singularity performs operating-system-level virtualization. To learn about Singularity and how to use it, click here

Setup

The following instructions describe

  • How to install Singularity, the virtualization engine that will run the container

  • How to download the latest Cellorganizer image

  • How to start a shell container from the Singularity image

  • How to run some of the demos included in the container

Source Code

The source code to build the Singularity image can be found at here.

For convenience, the Singularity image can be found at CellOrganizer.

Installing Singularity

Before downloading the image, you need to install Singularity. Installing Singularity is beyond the scope of this document.

To follow the official instructions to install Singularity, click here.

Download the repository and build the image using Singularity

Open terminal and enter the commands:

git clone https://github.com/icaoberg/singularity-cellorganizer
cd singularity-cellorganizer
bash ./script.sh .

Download the most recent image using Singularity command line (Recommended)

Open terminal and enter the command:

singularity pull shub://murphygroup/singularity-cellorganizer

Pulling the image from Singularity Hub should produce output similar to

Once the download is complete, you can confirm the image was downloaded by listing the singularity images of the repository:

ls murphygroup-singularity-cellorganizer-master-latest.simg

Demos

There are several demos included within the CellOrganizer software bundle. These demos are intended to illustrate CellOrganizer’s functionality, and should be used to familiarize the user with the input/output format of various top-level functions such as img2slml and slml2img. Certains demos have been deprecated and will be removed in future versions of CellOrganizer.

Demo

Training

Synthesis

Other

Deprecated

demo2D00

True

demo2D01

True

demo2D02

True

demo2D03

True

X

demo2D04

True

demo2D05

True

demo2D06

True

demo2D07

True

demo2D08

True

demo2D09

True

demo3D00

True

demo3D01

True

demo3D04

True

demo3D05

True

demo3D06

True

X

demo3D07

True

demo3D08

True

demo3D09

True

demo3D10

True

demo3D11

True

demo3D12

True

demo3D15

True

demo3D17

True

demo3D19

(True)

Report

demo3D20

(True)

Plot

demo3D25

True

demo3D29

(True)

Info

demo3D34

True

demo3D35

(True)

Info

demo3D42

True

demo3D44

True

demo3D47

Model

demo3D48

True

demo3D50

True

demo3D51

(True)

Plot

demo3D52

True

demo3D53

True

demo3D55

(True)

Plot

Running CellOrganizer for Singularity

List all applications in the cellorganizer-singularity image

To list the CellOrganizer functions included in the image, open Terminal and enter the command:

singularity apps  singularity-cellorganizer/murphygroup-singularity-cellorganizer-master-latest.simg

This will display these functions

  • img2slml

  • slml2img

  • slml2info

  • slml2report

  • slml2slml

Run a demo that invokes img2slml

An example of a demo that trains a generative model from a series of .tif image files is demo2D01. To run this demo, change your current directory to ~/singularity-cellorganizer/demos/2D/demo2D01 by entering:

cd demos/2D/demo2D01

You should find the shell script demo2D01.sh. To run the demo enter the command:

singularity run -a img2slml ../../../murphygroup-singularity-cellorganizer-master-latest.simg demo2D01.sh

The ‘-a’ flag allows us to specify the function binary that we will use in the script. This demo will save a folder param containing .mat files as well as a .mat file lamp2.mat to the same directory (~/singularity-cellorganizer/demos/2D/demo2D01). These .mat files contain information characterizing the trained generative model.

Running the demo in the container should produce results similar to

Run a demo that invokes slml2img

An example of a demo that produces simulated images from a trained generative model is demo2D02. To run this demo, change your current directory to /home/singularity-cellorganizer/demos/2D/demo2D02 by entering from your home directory:

cd demos/2D/demo2D02

You should find the shell script demo2D02.sh. To run the demo, enter the command:

singularity run -a slml2img ../../../murphygroup-singularity-cellorganizer-master-latest.simg demo2D02.sh

This demo will save a folder img containing these simulated images to the same directory.

Run custom script that invokes img2slml

An example running custom function parameters for img2slml stored within a .txt file. Within this directory (i.e. /path/to/input.txt), you can run the command:

singularity run -a img2slml ~/singularity-cellorganizer/murphygroup-singularity-cellorganizer-master-latest.simg img2slml input.txt