A docker image for single-cell analysis. It's on docker-hub and GitHub. This repository is an update of singlecell_jupyter.
See Changelog
(The tools that cannot be installed due to unresolved errors are crossed out.)
-
Pipeline: Seurat (and Seurat wrappers), scater, scran,
scranPY,Scanpy, scvi-tools (previous scVI), monet, Pagoda2, kallisto-bustools, rapids_singlecell -
Quality check: DropletQC
-
Doublet finding: Scrublet, DoubletFinder
-
Batch correction and data integration: Harmony, scmap, scBio, SingleCellNet
-
Clustering: SC3, metacell, SCCAF, Constclust, bigSCale2, scTriangulate, miloR
-
Cell-type annotation: RCA, garnett, scCatch, SingleR, CellTypist, ikarus
-
Trajectory (pseudo-time) analysis: Monocle3, slingshot, Palantir, FROWMAP
-
RNA velocity: velocyto, scVelo, CellRank, Dynamo, MultiVelo, UniTVelo,
cell2fate -
Trajectory alignment: cellAlign, Genes2Genes
-
Spatial transcriptome: STELLAR
-
Cell-cycle prediction: tricycle
-
Gene network: WGCNA, SCENIC (pySCENIC), CellOracle, EEISP,
RENGE -
Cell-cell interaction: CellPhoneDB, SingleCellSignalR, scTensor, cell2cell, CellChat, Scriabin
-
Multi-modal analysis: LIGER, scAI, MOFA2, scMoMaT, Mowgli, MARIO, SATURN, Moscot, SCOT
-
Bulk deconvolution: SCDC, MuSiC, BayesPrism, InstaPrism, AutoGeneS
-
Gene perturbation prediction: GEARS
-
Others: Sleepwalk, singleCellHaystack, SignatuR, ComplexHeatmap
-
scATAC-seq: Cicero, chromVAR, ArchR, Signac, cisTopic, EpiScanpy, SCENT
-
Database (genome): BSgenome.Hsapiens.UCSC.hg19, BSgenome.Hsapiens.UCSC.hg38, BSgenome.Mmusculus.UCSC.mm10, BSgenome.Scerevisiae.UCSC.sacCer3, BSgenome.Dmelanogaster.UCSC.dm6
-
Database (gene): EnsDb.Hsapiens.v75, EnsDb.Hsapiens.v79, EnsDb.Hsapiens.v86, EnsDb.Mmusculus.v79
-
Database (motif): JASPAR2016, JASPAR2018, JASPAR2020,
JASPAR2022 -
SeuratData: ifnb_3.1.0, panc8_3.0.2, pbmcsca_3.0.0, pbmc3k_3.1.4, celegans.embryo_0.1.0, cbmc_3.1.4, hcabm40k_3.0.0, thp1.eccite_3.1.5, stxBrain_0.1.1, stxKidney_0.1.0, bmcite_0.3.0, pbmcMultiome_0.1.2, ssHippo_3.1.4
For Docker:
You can pull (download) the ShortCake docker image with this command:
docker pull rnakato/shortcake:<version>
Note: The size of the ShortCake docker image is large (about 100GB). It requires a large amount of space on the docker cache directory.
Then you can run ShortCake with the command:
# Container login
docker run [--gpus all] --rm -it rnakato/shortcake /bin/bash
# Execute jupyter notebook (see 'mnt/' directory in the notebook )
docker run [--gpus all] --rm -p 8888:8888 -v (your directory):/work/mnt rnakato/shortcake jupyternotebook.sh
The --gpus all
option is needed if you use a GPU (e.g., scvi-tools).
You can build the singularity file (.sif) of ShortCake with this command:
singularity build -F shortcake.sif docker://rnakato/shortcake
Instead, you can download the singularity image of ShortCake from our Dropbox (We use singularity version 3.8.5).
Then you can run ShortCake with the command:
# Execute jupyter notebook (Python and R)
singularity exec [--nv] shortcake.sif jupyternotebook.sh
# Execute R directory
singularity exec [--nv] shortcake.sif R
The --nv
option is needed if you use a GPU (e.g., scvi-tools).
We recommend using Jupyter notebook to use ShortCake:
singularity exec shortcake.sif jupyternotebook.sh
To isolate the environment, ShortCake prepares virtual environments for several tools. Specify the appropriate kernel to use them.
In addition, the R command and all R tools are usable in the R
kernel.
ShortCake also provides the Rstudio environment:
singularity exec shortcake.sif rstudio
Of course, you can also use ShortCake with command line tools. For example:
singularity exec shortcake.sif velocyto run10x -m repeat_msk.gtf <10Xdir> <gtf>
If you want to use a virtual Python environment from the command line, use run_env.sh
to activate it:
singularity exec shortcake.sif run_env.sh <environment> <command>
# Example to activate "celloracle" environment
singularity exec shortcake.sif run_env.sh celloracle python -c "import celloracle"
First, clone and move to the repository
git clone https://github.com/rnakato/ShortCake
cd ShortCake
- Since the Dockerfile installs many packages from GitHub, first get a GitHub token from your own repository and add it to
Docker_R/docker-compose.Seurat.yml
,Docker_R/docker-compose.R.yml
, andDocker_Python/docker-compose.yml
. - Before building, download the SeuratData dataset using
wget.sh
in theDocker_R/SeuratData
directory.
Then build packages:
# build R packages
cd Docker_R
docker compose -f docker-compose.R_Seurat.yml build
docker-compose -f docker-compose.R.yml build
# Move to 'Python' directory
cd ../Docker_Python/
# Then build Python packages
docker-compose -f docker-compose.celloracle.yml build
docker-compose -f docker-compose.yml build # for ShortCake
docker-compose -f docker-compose.ver2.yml build # for ShortCake_ver2