Skip to content

Commit

Permalink
Finishing quick start example
Browse files Browse the repository at this point in the history
  • Loading branch information
eric-czech committed Jan 7, 2019
1 parent ba73d8b commit 7b2b3c6
Show file tree
Hide file tree
Showing 4 changed files with 890 additions and 554 deletions.
22 changes: 20 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ datasets with a focus on those generated from multiplexed staining protocols. T
For more information, see: [Cytokit: A single-cell analysis toolkit for high dimensional fluorescent microscopy imaging](https://www.biorxiv.org/content/early/2018/11/04/460980)


### Installation and Requirements
### Quick Start

Installing and configuring Cytokit currently involves little more than installing [nvidia-docker](https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)) and building or downloading the Cytokit container image (not on Docker Hub yet), but this inherently limits support to Linux operating systems for GPU-acceleration. Additional limitations include:
Installing and configuring Cytokit currently involves little more than installing [nvidia-docker](https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
and building or downloading the Cytokit container image, but this inherently limits support to Linux operating
systems for GPU-acceleration. Additional limitations include:

- There is currently no CPU-only docker image
- Generating and running pipelines requires working knowledge of JupyterLab and a little tolerance for yaml/json files as well as command lines
Expand All @@ -20,6 +22,22 @@ Installing and configuring Cytokit currently involves little more than installin
- 3 dimensional images are supported but cell segmentation and related outputs are currently 2 dimensional
- General system requirements include at least 24G RAM and 8G of GPU memory (per GPU)

Once nvidia-docker is installed, the container can be launched and used as follows:

```bash
nvidia-docker pull hammerlab/cytokit:latest

# Run the container with an attached volume to contain raw images and results
nvidia-docker run --rm -ti -p 8888:8888 -p 8787:8787 -p 8050:8050 \
-v $LOCAL_IMAGE_DATA_DIR:/lab/data \
hammerlab/cytokit
```

This will launch JupyterLab on port 8888. After navigating to localhost:8888 and entering the access token
printed on the command line following ```nvidia-docker run```, you can then run an example notebook
like [cellular_marker_profiling_example](python/notebooks/examples/marker_profiling_example.ipynb), which can be found
at ```/lab/repos/cytokit/python/notebooks/examples``` in the JupyterLab file navigator.

### Example

One of the goals of Cytokit is to make it as easy as possible to reproduce complicated workflows on big image datasets and to that end, the majority of the logic that drives how Cytokit functions is determined by json/yaml configurations.
Expand Down
7 changes: 4 additions & 3 deletions docker/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
# Docker Instructions


Running the production container:
Build and run the production container:

```bash
# Building a development container
nvidia-docker pull hammerlab/cytokit:latest

# Run and open ports for jupyter, tensorboard, dask, and dash
nvidia-docker run --rm -ti -p 8888:8888 -p 6006:6006 -p 8787:8787 -p 8050:8050 \
-v $CYTOKIT_DATA_DIR:/lab/data \
eczech/cytokit
```

Running the development container:

Build and run the development container:

```bash

Expand All @@ -23,7 +25,6 @@ nvidia-docker build -t cytokit-dev -f Dockerfile.dev .
export CYTOKIT_DATA_DIR=/data/disk1/
export CYTOKIT_REPO_DIR=/home/eczech/repos/cytokit

# Run and open ports for jupyter, tensorboard, dask, and dash
nvidia-docker run --rm -ti -p 8888:8888 -p 6006:6006 -p 8787:8787 -p 8050:8050 \
-v $CYTOKIT_DATA_DIR:/lab/data \
-v $CYTOKIT_REPO_DIR:/lab/repos/cytokit \
Expand Down
Loading

0 comments on commit 7b2b3c6

Please sign in to comment.