CRISPR-HAWK is a comprehensive and scalable tool for designing guide RNAs (gRNAs) and assessing genetic variants impact on on-target sites in CRISPR-Cas systems. Available as an offline tool with a user-friendly command-line interface, CRISPR-HAWK integrates large-scale human genetic variation datasets—such as the 1000 Genomes Project, the Human Genome Diversity Project (HGDP), and gnomAD—with orthogonal genomic annotations to systematically prioritize gRNAs targeting regions of interest. CRISPR-HAWK is Cas system-independent, supporting a wide range of nucleases including Cas9, SaCas9, Cpf1 (Cas12a), and others. It offers users full flexibility to define custom PAM sequences and guide lengths, enabling compatibility with emerging CRISPR technologies and tailored experimental requirements. The tool accounts for both single-nucleotide variants (SNVs) and small insertions and deletions (indels), and it is capable of handling individual- and population-specific haplotypes. This makes CRISPR-HAWK particularly suitable for both personalized and population-wide gRNA design. CRISPR-HAWK automates the entire workflow—from variant-aware preprocessing to gRNA discovery—delivering comprehensive outputs including ranked tables, annotated sequences, and high-quality figures. Its modular design ensures easy integration with existing pipelines and tools, such as CRISPRme or CRISPRitz, for subsequent off-target prediction and analysis of prioritized gRNAs.
0 System Requirements
1 Installation
1.1 Install CRISPR-HAWK from Mamba/Conda
1.1.1 Install Conda or Mamba
1.1.2 Install CRISPR-HAWK
1.2 Install CRISPR-HAWK from Docker
1.3 Install CRISPR-HAWK from PyPI
1.4 Install CRISPR-HAWK from Source Code
1.5 Install External Software Dependencies
1.5.1 Install CRISPRitz (for Off-target Estimation)
2 Usage
2.1 General Syntax
2.2 Search
2.3 Convert gnomAD VCF
2.4 Prepare Data for CRISPRme
3 Test
3.1 Quick Test After Installation
3.2 Run Full Test Suite with PyTest
3.3 Troubleshooting
3.4 Reporting Issues
4 Citation
5 Contacts
6 License
To ensure optimal performance, CRISPR-HAWK requires the following system specifications:
-
Operating System:
macOS or any modern Linux distribution (e.g., Ubuntu, CentOS) -
Required Disk Space:
3.5 GB -
Minimum RAM:
16 GB — sufficient for standard use cases and small to medium-sized datasets -
Recommended RAM for Large-Scale Analyses:
32 GB or more — recommended for memory-intensive tasks such as:-
Scanning regions larger than 1 Mb
-
Processing large-scale variant datasets (e.g., gnomAD data)
-
📝 Note: For optimal performance and stability, especially when dealing with large-scale variant datasets, ensure that your system meets or exceeds the recommended specifications.
This section provides step-by-step instructions to install CRISPR-HAWK and external dependencies. Choose the method that best suits your environment and preferences:
-
Install CRISPR-HAWK from Mamba/conda (recommended)
Best for users seeking an isolated and reproducible environment with minimal manual dependency handling. -
Install CRISPR-HAWK from Docker
Ideal for users who prefer containerized deployments or want to avoid configuring the environment manually. -
Install CRISPR-HAWK from PyPI
Quick option for Python users already working within a virtual environment. May require manual handling of some dependencies. -
Install CRISPR-HAWK from source code
Suitable for developers or contributors who want full control over the codebase or plan to customize CRISPR-HAWK.
📝 Note: We recommend using the Mamba/Conda or Docker installation methods for most users, as they ensure the highest compatibility and stability across systems.
Before installing CRISPR-HAWK, ensure that either Conda or Mamba is installed on your system. Based on recommendations from the Bioconda community and performance testing during CRISPR-HAWK development, we recommend using Mamba over Conda. Mamba is a fast, efficient drop-in replacement for Conda, built with a high-performance dependency solver in C++.
Installation Steps
1. Install Conda or Mamba
-
To install Conda, follow the official instructions:
Conda Installation Guide -
To install Mamba, follow the official instructions:
Mamba Installation Guide
2. Configure Bioconda Channels Once Mamba (or Conda) is installed, configure your environment with the appropriate channels used by CRISPR-HAWK:
mamba config --add channels bioconda
mamba config --add channels defaults
mamba config --add channels conda-forge
mamba config --set channel_priority strict💡 Tip: If you are using Conda instead of Mamba, simply replace
mambawithcondain the commands above.
By completing these steps your system will be correctly configured to install CRISPR-HAWK and all required dependencies via Bioconda.
Apple Silicon (M1/M2/M3) Support
If you're using a Mac with Apple Silicon, follow these additional steps to ensure compatibility with Bioconda packages (which are primarily built for Intel)
💡 Tip: Not sure if your Mac uses Apple Silicon (M1, M2, or M3)? You can check by visiting Apple’s official support page: Identify your Mac model and chip
System-wide (Recommended)
Make sure Rosetta is installed:
softwareupdate --install-rosettaConfigure Mamba (or Conda) to prefer Intel (x86_64) builds:
mamba config --add subdirs osx-64This will allow Bioconda to fetch compatible packages globally across all environments.
Environment-specific (Alternative)
You can also enable Intel compatibility in a specific environment only:
CONDA_SUBDIR=osx-64 mamba create -n crisprhawk-env -c bioconda crisprhawk
⚠️ If you use this method, remember to prepend CONDA_SUBDIR=osx-64 to every future conda install command within this environment — or set the variable globally in your shell profile.
TBA
TBA
You can install the latest stable release of CRISPR-HAWK directly from PyPI using pip:
pip install crisprhawk💡 Tip: To ensure a clean environment and avoid dependency conflicts, we recommend installing CRISPR-HAWK within a virtual environment (or using
mamba/conda).
Upgrading to the Latest Version
To upgrade CRISPR-HAWK to the newest release on PyPI, run:
pip install -U crisprhawk💡 Tip: If you encounter permission issues, use the
--userflag or ensure you are operating inside a virtual environment.
Installing CRISPR-HAWK from source is ideal for developers, contributors, or users who wish to inspect or customize the codebase.
This method assumes you already have Python 3.8 installed and accessible from your system’s environment.
Prerequisites
-
Python 3.8 (strictly required)
-
git -
A virtual environment (optional but recommended)
Installation Steps
1. Clone the Repository
git clone https://github.com/pinellolab/CRISPR-HAWK.git
cd CRISPR-HAWK2. (Optional) Create and Activate a Virtual Environment
mamba create -n crisprhawk-env python=3.8 -y
mamba activate crisprhawk-env3. Install CRISPR-HAWK and Its Dependencies
pip install . # regular installation
pip install -e . # development-mode installationThe . tells pip to install the current directory as a package, including all dependencies specified in setup.py or pyproject.toml.
Quick Test
Once installation is complete, verify that the command-line interface is working:
crisprhawk -hIf the help message is displayed correctly, CRISPR-HAWK is successfully installed and callable from any directory in your system.
CRISPR-HAWK relies on a few external tools for certain optional features, such as genome-wide off-target nomination. These dependencies are not bundled with the core CRISPR-HAWK installation and must be installed separately if you wish to enable advanced features.
📝 Note: External tools are currently only supported on Linux-based systems. Windows and macOS users can still run the core pipeline (variant-aware gRNA search, scoring, annotation), but off-target estimation will not be available.
💡 Tip: Installing these tools requires Mamba or Conda to be available on your system. If you haven't installed Mamba yet, refer to the instructions in Section 1.1.1.
CRISPRitz is an efficient tool for nominating CRISPR-Cas off-target sites across large genomes accounting for mismatches and DNA/RNA bulges. CRISPR-HAWK uses it to enable fast, high-throughput off-target estimation in the reference genome for the identified candidate gRNAs.
📝 Note: CRISPRitz is required only if you plan to use the
--estimate-offtargetsfeature in thecrisprhawk searchcommand.
Installation Steps:
- Create a dedicated environment for CRISPRitz:
mamba create -n crispritz-crisprhawk python=3.8 -y- Install CRISPRitz (latest version):
mamba install -n crispritz-crisprhawk crispritz=2.6.6 -y💬 Why use a separate environment?
This prevents potential conflicts between CRISPR-HAWK's and CRISPRitz’s dependencies, and ensures better reproducibility.
Test your installation
You can confirm that CRISPRitz is correctly installed and functional by running:
mamba run -n crispritz-crisprhawk crispritz.pyIf everything is working, the CRISPRitz help menu should appear, displaying available options and usage instructions.
CRISPR-HAWK provides multiple functionalities designed to support variant- and haplotype-aware CRISPR guide design, gRNA efficiency evaluation, and integration with downstream analysis pipelines. Each command serves a distinct role in the workflow.
crisprhawk <command> [options]To view available commands:
crisprhawk --helpTo check version:
crisprhawk --versionThe crisprhawk search command is the core functionality of CRISPR-HAWK, designed to identify and annotate candidate gRNAs in both reference and variant genomes.
It integrates variant-aware search, functional annotation, and predictive scoring to help you prioritize the most robust and context-aware guides for CRISPR editing.
The search includes:
- Support for any Cas system (Cas9, Cpf1, SaCas9, etc.)
- Compatibility with custom PAM sequences and guide lengths
- Variant-aware design from individual or population-level VCF files (SNVs and indels)
- Scoring using Azimuth, RS3, CFDon, Elevation-on, and DeepCpf1
- Functional and gene annotation using user-specified BED files
- Optional estimation and reporting of off-targets
- Output in detailed and structured reports (TSV, haplotype tables, off-target tables)
Usage:
crisprhawk search -f <fasta-dir> -r <bedfile> -v <vcf-dir> -p <pam> -g <guide-length> -o <output-dir>📝 Note: All FASTA files in
<fasta-dir>must be one per chromosome (e.g., chr1.fa, chr2.fa, etc.).
| Option | Description |
|---|---|
-f, --fasta <FASTA-DIR> |
Directory containing chromosome-separated FASTA files for the reference genome. All files will be used as reference input. |
-r, --regions <BED-FILE> |
BED file defining the target regions where candidate gRNAs will be searched (e.g., promoters, exons, enhancers). |
-v, --vcf <VCF-DIR> |
(Optional but recommended) Directory containing per-chromosome VCF files for variant-aware guide design. If omitted, the tool performs reference-only analysis. |
-p, --pam <PAM> |
PAM sequence used to define valid gRNA targets (e.g., NGG for SpCas9, TTTV for Cpf1). |
-g, --guide-len <LENGTH> |
Length of the guide RNA (excluding PAM), e.g., 20 for SpCas9. |
| Option | Description |
|---|---|
-i, --fasta-idx <FAI> |
Optional FASTA index file (.fai). If not provided, it will be computed automatically. |
--right |
By default, guides are extracted upstream of the PAM. Use this flag to extract them downstream (right side), useful for Cpf1 or other reverse-PAM systems. |
--no-filter |
By default, only VCF variants with FILTER == PASS are considered. Use this flag to include all variants, regardless of filter status. |
--annotation <BED1 BED2 ...> |
Provide one or more BED files with custom genomic features (e.g., enhancers, DHS, regulatory elements). Must include a 4th column with annotation name. |
--annotation-colnames <name1 name2 ...> |
Custom column names for the annotations from the --annotation files. Must match the number and order of BED files. |
--gene-annotation <GENE-BED1 GENE-BED2 ...> |
One or more gene annotation BED files (9-column format). Must follow GENCODE-style structure, with gene name in the 9th column and gene feature (e.g., exon, UTR) in the 7th. |
--gene-annotation-colnames <name1 name2 ...> |
Custom column names for gene annotations, matching the files in --gene-annotation. |
--haplotype-table |
When enabled, a TSV file reporting haplotype-aware variants and their associated guide matches will be produced. |
--compute-elevation-score |
Compute Elevation and Elevation-On scores to evaluate guide efficiency. Requires that the combined length of the guide and PAM is exactly 23 bp, and that the guide is upstream of the PAM. (Default: disabled) |
--candidate-guides <STR (format CHR:POS:STRAND)> |
One or more genomic coordinates of candidate guides to analyze in detail with {TOOLNAME}. Each guide must be provided in the chromosome:position:strand format (e.g., chr1:123456:+). For each candidate guide, a dedicated subreport will be generated showing the guide and its alternative gRNAs side-by-side. If graphical reports are enabled, additional plots will visualize the impact of genetic variants on on-target efficiency using CFD and Elevation scores where applicable (Default: no candidate guides) |
--graphical-reports |
Generate graphical reports to summarize findings. Includes a pie chart showing the distribution of guide types (reference, spacer+PAM alternative, spacer alternative, PAM alternative) and delta plots illustrating the impact of genetic diversity on guide efficiency and on-target activity. (Default: disabled) |
-t, --threads <INT> |
Number of threads to use for parallel processing. Use -t 0 to utilize all available cores. (Default: 1) |
-o, --outdir <DIR> |
Output directory to store results, reports, and intermediate files. If not specified, defaults to the current working directory. |
--verbosity <LEVEL> |
Controls the verbosity of logs. Options: 0 = Silent, 1 = Normal, 2 = Verbose, 3 = Debug. (Default: 1) |
--debug |
Enables debug mode, showing full stack traces and internal logs for troubleshooting. |
Example:
crisprhawk search \
-f hg38.fa \
-r targets.bed \
-v 1000G/ \
-p NGG \
-g 20 \
-o results/ \
--annotation regulatory_regions.bed \
--gene-annotation gencode.bed \
--haplotype-table \
-t 8This will:
- Search 20 bp gRNAs with an NGG PAM in
targets.bed - Consider population variants from VCFs in
1000G/ - Annotate guides using custom regulatory and gene annotations
- Run in parallel using 8 threads
🐧 Linux-note: Off-target estimation is only available on Linux-based operating systems and assumes you have successfully followed the installation instructions in the Install CRISPRitz section.
CRISPR-HAWK supports genome-wide off-target nomination through integration with CRISPRitz, enabling the identification of potential unintended gRNA binding sites across the reference genome.
📝 Note: Off-target nomination in CRISPR-HAWK is limited to the reference genome only, for performance and scalability reasons. If you need to estimate off-targets while accounting for genetic variants (e.g., SNVs, indels, population haplotypes), we recommend using CRISPRme — a specialized, variant-aware off-target analysis tool.
When enabled, the off-target module allows:
-
Comprehensive search of potential off-targets in the reference genome
-
Support for mismatches and DNA/RNA bulges
-
Output of structured off-target reports for guide prioritization
Enabling Off-Target Search
To run off-target estimation, you must enable --estimate-offtargets and provide a pre-built genome index compatible with CRISPRitz.
| Option | Description |
|---|---|
--estimate-offtargets |
Activates the off-target search pipeline for all candidate guides using CRISPRitz. |
--crispritz-index <DIR> |
Directory containing the CRISPRitz genome index. Must match the FASTA files provided with --fasta. |
--mm <INT> |
Max number of mismatches allowed in off-target search. (Default: 4) |
--bdna <INT> |
Max number of DNA bulges allowed. (Default: 0) |
--brna <INT> |
Max number of RNA bulges allowed. (Default: 0) |
--offtargets-annotation <BED1 BED2 ...> |
Provide one or more BED files with custom genomic features (e.g., enhancers, DHS, regulatory elements) to annotate offtargets. Must include a 4th column with annotation name. |
--offtargets-annotation-colnames <name1 name2 ...> |
Custom column names for the offtargets annotations from the --offtargets-annotation files. Must match the number and order of BED files. |
Example:
crisprhawk search \
-f genome_fasta/ \
-r targets.bed \
-v 1000G/ \
-p NGG \
-g 20 \
-o results/ \
--estimate-offtargets \
--crispritz-index genome_library/NGG_2_hg38/ \
--mm 6 \
--bdna 1 \
--brna 1 \
-t 8This will:
-
Design guides from
targets.bed, using 1000G variants -
Estimate genome-wide off-target sites (up to 6 mismatches, 1 bulge each)
-
Save off-targets in a detailed TSV file per guide
-
Use 8 threads for faster processing
Build a CRISPRitz Genome Index
To use CRISPRitz for off-target estimation, you must first generate an indexed version of your reference genome. The index-genome command in CRISPRitz precomputes a genome-wide searchable index for a specific PAM and guide configuration — similar to building a BWA index. This index is essential for fast and efficient off-target search, especially when allowing bulges (RNA or DNA) and scanning across large genomes or thousands of guide RNAs.
💡 Tip: CRISPRitz indexes can be reused multiple times and do not need to be generated before each run
Required Inputs
-
Output name of the genome index
This is the name of the directory that will store the generated index (e.g.,hg38_index/). -
Directory containing genome FASTA files
The genome must be split by chromosome — i.e., one file per chromosome (e.g.,chr1.fa,chr2.fa, ...). -
PAM configuration file
A text file containing:-
The full gRNA+PAM string with
Ns representing the guide length
(e.g.,NNNNNNNNNNNNNNNNNNNNGG) -
A space-separated number indicating the PAM length
(e.g.,3for NGG where the PAM is 3 bp)
-
Example file content (pamNGG.txt):
NNNNNNNNNNNNNNNNNNNNGG 3
-
Maximum number of bulges to index (
-bMax)
This sets the maximum number of DNA and RNA bulges that can be used in future off-target searches using this index. -
Number of threads (
-th, optional) Number of threads for parallelization during indexing.
Output
A new directory (named after the first argument, e.g., hg38_index/) containing:
-
Indexed
.binfiles (one per chromosome) -
These include all candidate target sites for the selected PAM, including padding required to enable bulge-aware search.
Example Usage
crispritz.py index-genome hg19_ref hg19_ref/ pam/pamNGG.txt -bMax 2 -th 4| Parameter | Description |
|---|---|
hg19_ref |
Name of the output directory that will store the indexed genome. |
hg19_ref/ |
Folder containing FASTA files (one per chromosome). |
pam/pamNGG.txt |
Path to the PAM specification file (see format above). |
-bMax 2 |
Index will support searches with up to 2 RNA bulges and 2 DNA bulges. |
-th 4 |
Use 4 threads during index creation (optional, increases performance). |
💡 Tip: Need more help generating a CRISPRitz index?
Refer to the CRISPRitz documentation on indexing for complete details, tips, and supported genome formats.
The crisprhawk convert-gnomad-vcf command is a utility designed to convert gnomAD VCF files (version ≥ 3.1) into a format compatible with CRISPR-HAWK. This step is essential when working with large-scale population datasets (e.g., gnomAD v3.1, v4.1), ensuring proper variant normalization, filtering, and indexing.
This module:
-
Supports both
.vcf.bgzand.vcf.gzformats -
Extracts and preserves sample-level genotypes for population-aware haplotype modeling
-
Can optionally handle joint allele frequency files from gnomAD v4.1 (joint genome/exome releases)
-
Supports parallel processing for large-scale datasets
Usage:
crisprhawk convert-gnomad-vcf -d <vcf-dir> -o <output-dir>📝 Note: All
.vcf.bgz(or.vcf.gz) files in<vcf-dir>will be processed. Ensure tabix indices (.tbi) are present in the same folder.
| Option | Description |
|---|---|
-d, --vcf-dir <DIR> |
Directory containing per-chromosome gnomAD VCF files (compressed as .vcf.bgz or .vcf.gz). |
-o, --outdir <DIR> |
Output directory for the converted VCF files. If not provided, defaults to the current working directory. |
| Option | Description |
|---|---|
--joint |
Enable this flag when using gnomAD v4.1 joint genome/exome files. Ensures correct parsing of allele frequencies. |
--keep |
Include all variants, regardless of the VCF FILTER field. By default, only FILTER=PASS variants are retained. |
--suffix <SUFFIX> |
Optional suffix to append to the output VCF filenames (e.g., _converted). Useful for traceability. |
-t, --threads <INT> |
Number of threads to use. Set -t 0 to use all available CPU cores. (Default: 1) |
--verbosity <LEVEL> |
Logging verbosity. Options: 0 = Silent, 1 = Normal, 2 = Verbose, 3 = Debug (Default: 1) |
--debug |
Enable debug mode and print full error tracebacks. |
Example
crisprhawk convert-gnomad-vcf \
-d gnomad_v4.1/ \
-o converted_vcfs/ \
--suffix _crisprhawk \
-t 4This command will:
-
Convert all
.vcf.bgzfiles ingnomad_v4.1/ -
Retain only variants with
FILTER=PASS -
Append
_crisprhawkto each output filename -
Run using 4 threads
📝 Note: Make sure your input files are correctly indexed (
.tbi) and are chromosome-specific. CRISPR-HAWK expects one VCF per chromosome.
The crisprhawk prepare-data-crisprme command transforms a CRISPR-HAWK report into guide files compatible with CRISPRme, enabling downstream variant- and haplotype-aware off-target prediction using CRISPRme's framework.
This module:
-
Extracts gRNA sequences from a CRISPR-HAWK report
-
Creates per-guide FASTA files required by CRISPRme
-
Optionally generates a PAM specification file compatible with the selected CRISPR system
Usage:
crisprhawk prepare-data-crisprme --report <crisprhawk-report> -o <output-dir>| Option | Description |
|---|---|
--report <CRISPRHAWK-REPORT> |
Path to a CRISPR-HAWK report file containing guide sequences. |
-o, --outdir <DIR> |
Output directory for the CRISPRme-compatible guide files. Defaults to current working directory. |
| Option | Description |
|---|---|
--create-pam-file |
If set, also generates a PAM file in CRISPRme format in the same output directory. |
--debug |
Enable debug mode and print full error tracebacks. |
Output Structure
The command will generate:
-
One FASTA file per gRNA (named using the guide label or sequence)
-
Optionally, a
pam.txtfile for CRISPRme if--create-pam-fileis specified
These files can be directly used as input to CRISPRme's --guide and --pam options.
Example
crisprhawk prepare-data-crisprme \
--report results/crisprhawk_report.tsv \
-o crisprme_inputs/ \
--create-pam-fileThis command will:
-
Parse all guides listed in the
crisprhawk_report.tsvreport -
Write per-guide FASTA files to the
crisprme_inputs/folder -
Generate a PAM file (
pam.txt) compatible with CRISPRme
💡 Tip: This is especially useful when transitioning from on-target selection in CRISPR-HAWK to off-target analysis in CRISPRme.
Once installed CRISPR‑HAWK, you can verify that everything is working as expected. Below are instructions for running the full test suite with pytest, as well as a quick smoke test to ensure basic functionality.
If you just want a quick check that CRISPR‑HAWK is installed correctly and its CLI is working, try the following:
crisprhawk --helpYou should see the usage message with available commands. If this works, then:
crisprhawk search -hThis should display help text for the search command and show all its options.
If both commands complete without error, your installation is likely successful.
Make sure you’ve installed the development dependencies first (pytest, etc.). Then from the root of the repository, run:
pytestThis will run all tests in the tests/ directory. If everything passes, CRISPR‑HAWK is behaving correctly end‑to‑end.
You can also run more specific tests:
pytest tests/test_utils.py
pytest tests/test_utils.py::test_some_specific_function-
Import errors or missing modules when running
pytest
Ensure the package is correctly installed. We recommend installing in editable mode during development:pip install -e .[dev]
Also check that the
src/directory is properly referenced in your project structure. -
Command not found (
crisprhawk)
Make sure your virtual environment is activated (if used), or that thebin/path wherecrisprhawkis installed is in your system's$PATH. -
Unexpected behavior or crashes
Run the command with increased verbosity or debug mode:crisprhawk <command> <args> --verbosity 3 --debug
This will print internal logs and full stack traces to help identify the issue.
If you encounter a problem that isn't resolved by the above suggestions:
-
Check existing issues
Visit the GitHub Issues page to see if the problem has already been reported or discussed. -
Open a new issue
If your problem is not listed, please open a new issue and include the following:-
Description of the problem or unexpected behavior
-
Steps to reproduce the error (including input data or command-line arguments, if applicable)
-
Platform details:
- OS (e.g. Ubuntu 22.04, macOS 13)
- Python version
- CRISPR-HAWK version (or commit hash if using a development version)
-
Full error message and traceback, if available (please use a code block for readability)
-
Optionally, include the output of:
crisprhawk --version pip list
-
-
Contact
If the issue involves sensitive data or requires direct contact, please email the maintainer(s) listed in the repository.
💬 Got suggestions or issues? We’d love to hear from you — your input helps us build a better CRISPR‑HAWK. Thank you!
If you use CRISPR-HAWK in your research, please cite:
Kumbara A, Tognon M, Carone G, Fontanesi A, Bombieri N, Giugno R, Pinello L. CRISPR-HAWK: Haplotype- and Variant-aware guide design toolkit for CRISPR-Cas. bioRxiv [Preprint]. 2025 Dec 27:2025.12.27.696698. doi: 10.64898/2025.12.27.696698. PMID: 41497669; PMCID: PMC12767513.
-
Manuel Tognon
manuel.tognon@univr.it -
Rosalba Giugno
rosalba.giugno@univr.it -
Luca Pinello
lpinello@mgh.harvard.edu
CRISPR-HAWK is licensed under the AGPL-3.0 license, which permits its use for academic research purposes only.
For any commercial or for-profit use, please contact the authors.
