CRISPRme predicts and prioritizes potential CRISPR off-target sites and — uniquely — accounts for individual and population genetic variants (SNVs and indels), flagging off-targets that exist only on certain haplotypes. It suits both population-wide and personal-genome analyses. ("Off-target nomination" just means producing a ranked, annotated list of candidate off-targets to validate.)
To search, you download a prebuilt index — a ready-made search database for a genome + PAM (no building required). Use the reference index for a basic scan, and a variant-aware index (e.g. 1000 Genomes-2021, or + HGDP) to catch off-targets created by human genetic variants — CRISPRme's main feature. The quickstart below downloads one for you.
Run CRISPRme on your own machine
CRISPRme is open source and actively maintained, and you can run the web interface locally on your own machine with the same functionality as before. The previous hosted application at crisprme.di.univr.it is no longer available, because institutional hosting at the University of Verona ended for this service. All features remain available to you.
The easiest way to get the same point-and-click experience is the Docker quickstart below — a few commands to a web interface running in your browser, with all the functionality of the previous hosted version. Prefer the command line for scripted or batch analyses? That works too.
Quickstart — the web interface (Docker or Singularity)
The simplest way to run CRISPRme is in a container. Use Docker on a laptop or desktop, or Singularity / Apptainer on an HPC cluster (no root and no daemon needed). Either way it is a few commands: no conda, no compiling, and no giant download. Pick your runtime below.
1 — Install Docker & get the CRISPRme+ image
Install Docker for macOS, Windows, or Linux, and give it enough memory (Docker Desktop → Settings → Resources): 16 GB for a first / reference-only run, but 32 GB (64 GB recommended) for a genome-wide variant-aware search. You also need ≈ 100 GB free disk for the variant-aware setup (far less — ~20 GB — for a reference-only setup). Then check it works and pull the CRISPRme+ image:
docker run --rm hello-world
# Pull CRISPRme+ (multi-arch: Apple Silicon + Intel/Linux).
# ':latest' always tracks the newest release (currently v2.7.1); pin ':v2.7.1' for reproducibility.
docker pull pinellolab/crisprme:latest
Already have an older image? Docker won't refresh a tag you
already have — run docker pull pinellolab/crisprme:latest again to
update, or an old image will error with download is not an allowed command.
2 — Download the data and a ready-made index (minutes, not hours)
mkdir -p ~/crisprme && cd ~/crisprme
# reference genome, annotations, PAMs and sample lists
docker run --rm -v "${PWD}:/DATA" -w /DATA pinellolab/crisprme:latest \
crisprme.py download --what all --path /DATA
# a ready-made SpCas9 NRG (NGG+NAG) reference index (skips a long index build)
docker run --rm -v "${PWD}:/DATA" -w /DATA pinellolab/crisprme:latest \
crisprme.py download --what index --index-name NRG_3_hg38 --path /DATA
# the recommended default variant-aware index (phased HGDP + 1000 Genomes, 4,091 samples)
docker run --rm -v "${PWD}:/DATA" -w /DATA pinellolab/crisprme:latest \
crisprme.py download --what index --index-name NRG_3_hg38+hg38_HGDP1kGP --path /DATA
3 — Launch the web interface
docker run --rm -v "${PWD}:/DATA" -w /DATA -p 8080:8080 -it \
pinellolab/crisprme:latest crisprme.py web-interface
Leave it running and open http://127.0.0.1:8080. Stop with Ctrl+C.
1 — Build the image (one time)
Most clusters already have Apptainer/Singularity. Convert the CRISPRme image
to a .sif file (no root needed):
apptainer pull crisprme.sif docker://pinellolab/crisprme:latest
On older systems the command is singularity instead of apptainer; they are interchangeable.
2 — Download the data and a ready-made index (minutes, not hours)
mkdir -p ~/crisprme && cd ~/crisprme
# reference genome, annotations, PAMs and sample lists
apptainer run --bind "${PWD}:/DATA" --pwd /DATA crisprme.sif \
crisprme.py download --what all --path /DATA
# a ready-made SpCas9 NRG (NGG+NAG) reference index (skips a long index build)
apptainer run --bind "${PWD}:/DATA" --pwd /DATA crisprme.sif \
crisprme.py download --what index --index-name NRG_3_hg38 --path /DATA
# the recommended default variant-aware index (phased HGDP + 1000 Genomes, 4,091 samples)
apptainer run --bind "${PWD}:/DATA" --pwd /DATA crisprme.sif \
crisprme.py download --what index --index-name NRG_3_hg38+hg38_HGDP1kGP --path /DATA
3 — Launch the web interface
apptainer run --bind "${PWD}:/DATA" --pwd /DATA crisprme.sif \
crisprme.py web-interface
Open http://127.0.0.1:8080 (or, on a cluster, the node's address). Apptainer shares the host network, so no port mapping is needed, but port 8080 must be free on the node.
Use apptainer run (not exec): run
activates the environment inside the image, so crisprme.py is on
the path.
Want variant-aware searches (CRISPRme's speciality)? Also download the
1000 Genomes variants with … crisprme.py download --what vcf --dataset 1000G --path /DATA
(same docker run/apptainer run wrapper as above). You can skip this for a first run.
In the browser: enter a guide sequence, pick the PAM and genome, set mismatches
and bulges, and click Submit. Off-targets are scored with
CFD and the CRISPR-Bulge machine-learning
model (Yaish & Orenstein, NAR 2024). Results are saved on your own
machine under ~/crisprme/Results/.
Nothing in the dropdowns? You skipped step 2 — run the
download commands first.
Need a different nuclease or PAM? Install its index the same way,
using a published name from the indexes/ folder of the
lucapinello/crisprme-data repo. If an index isn't published, the web
app will not build it on the fly — it tells you none is installed;
pre-build it once with crisprme.py build-index-only.
Full quickstart & troubleshooting → Web interface user guide →
Other ways to install (Conda/Mamba, or build everything from scratch)
Install with Conda / Mamba
Note: Bioconda installs the last stable CRISPRme release (pre-2.2.0), not CRISPRme+ (the 2.6.x line). Use the Docker quickstart above for CRISPRme+ (currently v2.7.1).
# Configure Bioconda channels (one-time)
mamba config --add channels bioconda
mamba config --add channels conda-forge
mamba config --set channel_priority strict
# Create and activate the environment, then verify
mamba create -n crisprme crisprme -y
mamba activate crisprme
crisprme.py --version
Then fetch data the fast way just like the container path
(crisprme.py download --what all --path "$PWD") and launch the
interface with crisprme.py web-interface.
Build the full reference database from the original sources
Instead of the fast download, you can download and configure everything
(hg38, 1000 Genomes, HGDP, annotations, PAMs) directly from the original
sources with the built-in setup. This is a large, multi-hour,
~410 GB one-time download; the fast download above is
recommended for most users.
# Docker
docker run -v ${PWD}:/DATA -w /DATA -i pinellolab/crisprme:latest \
crisprme.py setup --path /DATA
# ...or test on a single chromosome first
docker run -v ${PWD}:/DATA -w /DATA -i pinellolab/crisprme:latest \
crisprme.py setup --chrom chr22 --path /DATA
The web interface must be started from a working directory that contains the
CRISPRme folders (Genomes/, PAMs/,
Annotations/, …). The download and
setup commands create these for you.
Advanced Resources & Documentation
The quick-start guide above is sufficient to get the local web interface running. For detailed usage instructions, advanced configuration options, and complete workflow documentation, consult the guides below.
Web Interface User Guide
Learn how to configure analyses, monitor jobs (with optional email notification), explore results, generate variant-aware personal risk cards, and use all visualization and reporting features available through the graphical interface.
CLI Setup & Usage Guide
Complete documentation for installation, dataset management, command-line workflows, custom VCF integration, PAM definition, automation, and large-scale analyses.
Documentation
Citation
Cancellieri S, Zeng J, Lin LY, Tognon M, Nguyen MA, Lin J, Bombieri N, Maitland SA, Ciuculescu MF, Katta V, Tsai SQ, Armant M, Wolfe SA, Giugno R, Bauer DE, Pinello L. Human genetic diversity alters off-target outcomes of therapeutic gene editing. Nat Genet. 2023 Jan;55(1):34-43. doi: 10.1038/s41588-022-01257-y.
Questions & Support
For questions, help with commands, bug reports, or feature requests, please open an issue on GitHub. Using the issue tracker lets the whole community benefit from the discussion and helps us track and resolve problems.