Installation
CRISPRware has two parts: a Python environment, and the crispr-ots off-target scanner (a
standalone Rust binary). Install the env once, then put crispr-ots on your PATH, either a prebuilt
binary or one you build.
1. Python environment
git clone https://github.com/ericmalekos/crisprware && cd crisprware
conda env create -f environment.yml # `conda` -> `micromamba` if you prefer
conda activate crisprware
pip install .
2. The crispr-ots scanner
Prebuilt binary
Download the build for your platform from the
Releases page, extract it, and put it on your
PATH:
# example: Linux x86-64
curl -L -o crispr-ots.tar.gz \
https://github.com/ericmalekos/crisprware/releases/latest/download/crispr-ots-x86_64-unknown-linux-gnu.tar.gz
tar xzf crispr-ots.tar.gz
install -m 755 crispr-ots ~/.local/bin/ # any directory on your PATH
crispr-ots --version
Targets published per release: x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl (fully static,
no glibc dependency, for old distros), aarch64-apple-darwin (Apple Silicon), x86_64-pc-windows-msvc.
Intel Macs aren’t prebuilt; build from source (below) or use the Docker image.
Build it yourself
With a Rust toolchain:
cd crispr-ots
cargo install --path crates/crispr-cli # -> ~/.cargo/bin/crispr-ots
# or build in place: cargo build --release -p crispr-cli (-> crispr-ots/target/release/crispr-ots)
The build defaults to a portable x86-64 baseline that runs on any x86-64 CPU. For a faster binary on modern hardware, opt in:
RUSTFLAGS="-C target-cpu=x86-64-v3" cargo install --path crates/crispr-cli # Haswell 2013+
# or -C target-cpu=native to tune for the build machine
Warning
A x86-64-v3 binary raises SIGILL on pre-2013 CPUs (and building with v3 on such a host fails too).
Use the baseline default on older hardware, e.g. cluster login nodes.
Verify
crisprware -h # Python CLI
crispr-ots --version # scanner on PATH
Docker
docker pull ericmalekos/crisprware:latest
docker run crisprware -h
Memory
index_genome and score_guides can be memory-heavy on large genomes. score_guides --chunk_size N
processes N guides at a time (default 100000), lower it to cut memory, raise it for speed. Guidescan2
also offers prebuilt indices for some species at https://guidescan.com/downloads, avoiding a local
index_genome build.