Installation
Requirements
- Java 11 or higher
- Nextflow
- Conda/miniconda
- Docker
Java
Nextflow will need java 11 or higher to be installed. The recommanded way to install java is through SDKMAN. Please use the command below:
Install SDKMAN:
curl -s https://get.sdkman.io | bashOpen a new terminal and install Java
sdk install java 17.0.10-temCheck java installation and comfirm it’s version
java -versionNextflow
Nextflow binary was already included in the StarScope directory. User also could download binary from nextflow’s github release page.
By default, starscope will invoke the nextflow executable stored in the same directory, user
could add both of the two executables to $PATH (e.g. ~/.local/bin)
## starscope executable
ln -s starscope/starscope ~/.local/bin/starscope
## nextflow
ln -s starscope/nextflow ~/.local/bin/nextflowConfirm that nextflow runs properly with the command below (require network access to github):
NXF_VER=23.10.1 nextflow run helloThe output will be:
N E X T F L O W ~ version 22.04.5
Launching `https://github.com/nextflow-io/hello` [distraught_ride] DSL2 - revision: 4eab81bd42 [master]
executor > local (4)
[92/5fbfca] process > sayHello (4) [100%] 4 of 4 ✔
Bonjour world!
Hello world!
Ciao world!
Hola world!Conda/miniconda
Install Conda
We usually use miniforge’s conda distro, user also could install via conda official installer, or use mamba directly, which is much faster.
Miniforge:
wget -c https://github.com/conda-forge/miniforge/releases/download/24.3.0-0/Mambaforge-24.3.0-0-Linux-x86_64.sh
bash Mambaforge-24.3.0-0-Linux-x86_64.shOfficial minicoda:
wget -c wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.shMicromamba, user may need to put micromamba binary into $PATH
# Linux Intel (x86_64):
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromambaCreate Environment
One could create conda environment with the yaml file in the workflow directory.
## scRNA-seq/VDJ environment
mamba env create -f starscope/scRNA-seq/scRNAseq_env.yml
## scATAC-seq environment
mamba env create -f starscope/scATAC-seq/scATAC_env.ymlOr extract environment from archive distributed by ThunderBio with conda-pack
# Unpack environment into directory `starscope_env`
$ mkdir -p starscope_env
$ tar -xzf starscope_env.tar.gz -C starscope_env
# Activate the environment. This adds `starscope_env/bin` to your path
$ source starscope_env/bin/activate
# Cleanup prefixes from in the active environment.
# Note that this command can also be run without activating the environment
# as long as some version of Python is already installed on the machine.
(starscope_env) $ conda-unpack
# deactivete env
$ source starscope_env/bin/deactivateDocker
Using docker is much easier to integrate the workflow to large infrastructure like cloud platforms or HPC, thus is recommended. To install:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.shTo use docker command without sudo, add your account to docker group:
sudo usermod -aG docker $(whoami)Then log out and login again for the changes to take effect.
Please pull the pre-built image with:
## scATAC-seq image
docker pull registry-intl.cn-hangzhou.aliyuncs.com/thunderbio/starscope_scatac_env:latest
## scRNA-seq/VDJ image
docker pull registry-intl.cn-hangzhou.aliyuncs.com/thunderbio/starscope_scrnaseq_env:latest