SCARAB recruits metagenomic reads using single-cell amplified genomes as references.
Documentation and tutorials: Wiki
SCARAB is developed and tested on Linux only. A conda distribution is required (Mambaforge, Miniconda, or Anaconda).
Clone the repo:
git clone https://github.com/RyloByte/scarab.git
cd scarabCreate the conda environment and install SCARAB:
make install-scarabenv
conda activate scarab_cenv
make install-scarabOr without make:
conda env create -f environment.yml
conda activate scarab_cenv
pip install .Download the demo dataset: https://drive.google.com/file/d/1yUoPpoNRl6-CZHkRoUYDbikBJk4yC-3V/view?usp=sharing
unzip demo.zip
cd demo
scarab recruit -m k12.gold_assembly.fasta -l read_list.txt -o SCARAB_out -s SAGThe result is a new directory named SCARAB_out that contains all intermediate and final outputs.
Container images are published to Quay.io:
# Docker (needs sudo access)
sudo docker pull quay.io/hallamlab/scarab
sudo docker run -it --network=host --rm -v ./:/cwd quay.io/hallamlab/scarab:latest \
scarab recruit -m cwd/k12.gold_assembly.fasta -l cwd/docker_read_list.txt -o cwd/SCARAB_out -s cwd/SAG
# Apptainer
apptainer pull docker://quay.io/hallamlab/scarab
apptainer exec scarab_latest.sif scarab recruit -m k12.gold_assembly.fasta -l read_list.txt -o SCARAB_out -s SAGBuild locally:
make docker-build
make apptainer-buildLocal conda build from the working tree (no version bump required):
make conda-build-local
# Faster build (requires boa in the build-tools env)
make conda-mambabuild-local
# Use a different tools env if needed
# BUILD_ENV=build-tools make conda-mambabuild-local
# If you built from a tools env, point to its conda-bld
# CONDA_BLD_PATH="/home/ryan/mambaforge/envs/build-tools/conda-bld" make conda-test-env
# You can override channels if needed
# CONDA_CHANNELS="-c conda-forge -c bioconda" make conda-mambabuild-local
# Use a different tools env if needed
# BUILD_ENV=build-tools make conda-mambabuild-local
make conda-test-env
conda activate scarab_test
scarab infoRelease checklist (tagged source build):
# 1) Update version, tag, and push
# 2) Update conda-recipe/meta.yaml source URL + sha256
make conda-build-releaseUpload to Anaconda Cloud:
ANACONDA_USER=yourname make conda-uploadRelease automation (GitHub Actions):
# Run the release workflow manually from GitHub Actions
# or using the GitHub CLI
# gh workflow run release.yml -f version=0.0.2