{"id":28461809,"url":"https://github.com/pinellolab/crisprapido","last_synced_at":"2025-07-03T14:32:44.494Z","repository":{"id":279656641,"uuid":"932289312","full_name":"pinellolab/crisprapido","owner":"pinellolab","description":"use WFA2 to scan for CRISPR guide targets","archived":false,"fork":false,"pushed_at":"2025-05-02T21:07:52.000Z","size":441,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-07T04:07:29.051Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pinellolab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-13T17:13:31.000Z","updated_at":"2025-02-27T13:53:29.000Z","dependencies_parsed_at":"2025-02-26T18:37:40.461Z","dependency_job_id":null,"html_url":"https://github.com/pinellolab/crisprapido","commit_stats":null,"previous_names":["pinellolab/crisprapido"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pinellolab/crisprapido","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinellolab%2Fcrisprapido","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinellolab%2Fcrisprapido/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinellolab%2Fcrisprapido/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinellolab%2Fcrisprapido/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pinellolab","download_url":"https://codeload.github.com/pinellolab/crisprapido/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinellolab%2Fcrisprapido/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263342266,"owners_count":23451981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-07T04:07:28.781Z","updated_at":"2025-07-03T14:32:44.486Z","avatar_url":"https://github.com/pinellolab.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CRISPRapido\n\n![CRISPRapido Logo](crisprapido.png)\n\n\nCRISPRapido is a reference-free tool for comprehensive detection of CRISPR off-target sites using complete genome assemblies. Unlike traditional approaches that rely on reference genomes and variant files, CRISPRapido directly analyzes haplotype-resolved assemblies to identify potential off-targets arising from any form of genetic variation. By leveraging the efficient Wavefront Alignment (WFA) algorithm and parallel processing, CRISPRapido enables fast scanning of whole genomes while considering both mismatches and DNA/RNA bulges. The tool is particularly valuable for therapeutic applications, where comprehensive off-target analysis is critical for safety assessment. CRISPRapido can process both complete assemblies and raw sequencing data, providing flexibility for different analysis scenarios while maintaining high computational efficiency through its robust Rust implementation.\n\n## Features\n\n- Fast parallel scanning of genomic sequences\n- Support for both gzipped and plain FASTA files\n- Configurable mismatch and bulge tolerances\n- Automatic reverse complement scanning\n- PAF-format output compatible with downstream analysis tools\n- Multi-threaded processing for improved performance\n\n## Installation\n\nYou need to build `WFA2-lib` first, which is a submodule of this repository. To do so, run:\n\n```bash\ngit clone --recursive https://github.com/pinellolab/crisprapido.git\ncd crisprapido/WFA2-lib\nmake clean all\ncd ..\n```\n\nThen, you can install CRISPRapido using Cargo:\n\n```shell\n# Point to your pre-built WFA2-lib directory\nexport WFA2LIB_PATH=\"./WFA2-lib\"\n\n# Install CRISPRapido\ncargo install --git https://github.com/pinellolab/crisprapido.git\n```\n\n### For GUIX's users\n\n```bash\ngit clone --recursive https://github.com/pinellolab/crisprapido.git\ncd crisprapido/WFA2-lib\nguix shell -C -D -f guix.scm\nexport CC=gcc; make clean all\nexit\ncd ..\nenv -i bash -c 'WFA2LIB_PATH=\"./WFA2-lib\" PATH=/usr/local/bin:/usr/bin:/bin ~/.cargo/bin/cargo install --path .'\n```\n\n## Usage\n\n```bash\ncrisprapido -r \u003creference.fa\u003e -g \u003cguide_sequence\u003e [OPTIONS]\n```\n\n### Required Arguments\n\n- `-r, --reference \u003cFILE\u003e`: Input reference FASTA file (supports .fa and .fa.gz)\n- `-g, --guide \u003cSEQUENCE\u003e`: Guide RNA sequence (without PAM)\n\n### Optional Arguments\n\n- `-m, --max-mismatches \u003cNUM\u003e`: Maximum number of mismatches allowed (default: 4)\n- `-b, --max-bulges \u003cNUM\u003e`: Maximum number of bulges allowed (default: 1)\n- `-z, --max-bulge-size \u003cNUM\u003e`: Maximum size of each bulge in bp (default: 2)\n- `-w, --window-size \u003cNUM\u003e`: Size of sequence window to scan (default: 4x guide length)\n- `-t, --threads \u003cNUM\u003e`: Number of threads to use (default: number of logical CPUs)\n- `--no-filter`: Disable all filtering (report every alignment)\n\n## Output Format\n\nCRISPRapido outputs results in the Pairwise Alignment Format (PAF), which is widely used for representing genomic alignments. Each line represents a potential off-target site with the following tab-separated fields:\n\n| Column | Field | Description |\n|--------|-------|-------------|\n| 1 | Query name | \"Guide\" (the guide RNA sequence) |\n| 2 | Query length | Length of the guide RNA |\n| 3 | Query start | 0-based start position in the guide sequence |\n| 4 | Query end | 0-based end position in the guide sequence |\n| 5 | Strand | '+' (forward) or '-' (reverse complement) |\n| 6 | Target name | Reference sequence name (e.g., chromosome) |\n| 7 | Target length | Length of the target reference sequence |\n| 8 | Target start | 0-based start position in reference |\n| 9 | Target end | 0-based end position in reference |\n| 10 | Matches | Number of matching bases |\n| 11 | Block length | Total alignment block length |\n| 12 | Mapping quality | Always 255 for CRISPRapido |\n\nAdditionally, CRISPRapido includes these custom tags:\n\n| Tag | Description |\n|-----|-------------|\n| `as:i` | Alignment score (lower is better) |\n| `nm:i` | Number of mismatches |\n| `ng:i` | Number of gaps (indels) |\n| `bs:i` | Biggest gap size in bases |\n| `cg:Z` | CIGAR string representing alignment details |\n\n### Example Output\n\n```\nGuide   20      0       20      +       chr1    248956422       10050   10070   19      21      255     as:i:6  nm:i:1  ng:i:0  bs:i:0  cg:Z:19=1X\n```\n\nThis indicates:\n- A 20bp guide RNA aligned to chromosome 1\n- Position 10050-10070 on the forward strand\n- 19 bases match with 1 mismatch (nm:i:1)\n- No gaps (ng:i:0)\n- Alignment score of 6 (as:i:6)\n- CIGAR string shows 19 matches followed by 1 mismatch\n\n### PAF Format Specification\n\nFor more details on the PAF format, see the [official specification](https://github.com/lh3/miniasm/blob/master/PAF.md) from the developers of miniasm.\n\n## Example\n\n```bash\ncrisprapido -r genome.fa -g ATCGATCGATCG -m 3 -b 1 -z 2\n```\n\n## Testing\n\nRun the test suite:\n\n```bash\n# Point to your pre-built WFA2-lib directory\nexport WFA2LIB_PATH=\"./WFA2-lib\"\n\ncargo test\n```\n\nEnable debug output during development:\n\n```bash\ncargo run --features debug\n```\n\n## License\n\nSee LICENSE file\n\n## Citation\n\nStay tuned!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinellolab%2Fcrisprapido","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpinellolab%2Fcrisprapido","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinellolab%2Fcrisprapido/lists"}