> ## Documentation Index
> Fetch the complete documentation index at: https://proto.evodesign.org/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CRISPRtracrRNA

> [CRISPRtracrRNA](https://github.com/BackofenLab/CRISPRtracrRNA) is a multi-evidence pipeline from the [Bioinformatics Group at the University of Freiburg](https://www.bioinf.uni-freiburg.de/) that detects [tracrRNA](https://en.wikipedia.org/wiki/Trans-activating_crRNA) candidates in nucleotide [CRISPR](https://en.wikipedia.org/wiki/CRISPR) loci. It combines covariance-model search, CRISPR array detection, Cas-effector cassette detection, anti-repeat similarity, RNA-RNA interaction prediction, and transcription-terminator detection into a single weighted ranking score per candidate.

<div class="page-hero">
  <img class="page-hero-banner" src="https://proto-bio.github.io/proto-assets/images/tool/crispr_tracr_rna/hero.png" alt="CRISPRtracrRNA" />
</div>

<p class="entity-disclaimer">This toolkit is open source. Any third-party models, product names, or trademarks referenced are the property of their respective owners, and Proto is not affiliated with them.</p>

<hr class="entity-rule" />

<input type="radio" name="tab-crispr-tracr-rna" id="none-crispr-tracr-rna" class="tab-radio-input" />

<input type="radio" name="tab-crispr-tracr-rna" id="github-crispr-tracr-rna" class="tab-radio-input" defaultChecked />

<input type="radio" name="tab-crispr-tracr-rna" id="paper-crispr-tracr-rna" class="tab-radio-input" />

<input type="radio" name="tab-crispr-tracr-rna" id="cite-crispr-tracr-rna" class="tab-radio-input" />

<input type="radio" name="tab-crispr-tracr-rna" id="source-crispr-tracr-rna" class="tab-radio-input" />

<input type="radio" name="tab-crispr-tracr-rna" id="notebook-crispr-tracr-rna" class="tab-radio-input" />

<input type="radio" name="tab-crispr-tracr-rna" id="proto-crispr-tracr-rna" class="tab-radio-input" />

<div class="tool-tab-bar">
  <span class="tool-tab-wrap"><label for="github-crispr-tracr-rna" class="tool-tab tab-open badge-github"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg> GitHub</label><label for="none-crispr-tracr-rna" class="tool-tab tab-close badge-github"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg> GitHub</label></span> <span class="tool-tab-wrap"><label for="paper-crispr-tracr-rna" class="tool-tab tab-open badge-paper"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" /><polyline points="14 2 14 8 20 8" /><line x1="16" y1="13" x2="8" y2="13" /><line x1="16" y1="17" x2="8" y2="17" /><polyline points="10 9 9 9 8 9" /></svg> Publication</label><label for="none-crispr-tracr-rna" class="tool-tab tab-close badge-paper"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" /><polyline points="14 2 14 8 20 8" /><line x1="16" y1="13" x2="8" y2="13" /><line x1="16" y1="17" x2="8" y2="17" /><polyline points="10 9 9 9 8 9" /></svg> Publication</label></span> <span class="tool-tab-wrap"><label for="cite-crispr-tracr-rna" class="tool-tab tab-open badge-cite"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z" /><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z" /></svg> Cite</label><label for="none-crispr-tracr-rna" class="tool-tab tab-close badge-cite"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z" /><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z" /></svg> Cite</label></span> <span class="tool-tab-wrap"><label for="source-crispr-tracr-rna" class="tool-tab tab-open badge-source"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Tool Source</label><label for="none-crispr-tracr-rna" class="tool-tab tab-close badge-source"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Tool Source</label></span> <span class="tool-tab-wrap"><label for="notebook-crispr-tracr-rna" class="tool-tab tab-open badge-notebook"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" /><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" /></svg> Open as Notebook</label><label for="none-crispr-tracr-rna" class="tool-tab tab-close badge-notebook"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" /><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" /></svg> Open as Notebook</label></span> <span class="tool-tab-wrap"><label for="proto-crispr-tracr-rna" class="tool-tab tab-open badge-proto"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" /></svg> Open on Proto</label><label for="none-crispr-tracr-rna" class="tool-tab tab-close badge-proto"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" /></svg> Open on Proto</label></span>
</div>

<a href="https://github.com/BackofenLab/CRISPRtracrRNA" target="_blank" class="tab-panel github-panel" data-tab="github-crispr-tracr-rna">
  <div class="gh-card-wrap">
    <img src="https://opengraph.githubassets.com/1/BackofenLab/CRISPRtracrRNA" class="gh-card-img img-fallback" alt="BackofenLab/CRISPRtracrRNA" />

    <div class="gh-card-fallback">
      <div class="gh-fallback-org"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg> BackofenLab/CRISPRtracrRNA</div>
    </div>
  </div>

  <span class="panel-goto-btn gh-goto-btn"><span><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg> View repo</span></span>
</a>

<a href="https://doi.org/10.1093/bioinformatics/btac466" target="_blank" class="tab-panel paper-panel" data-tab="paper-crispr-tracr-rna">
  <div class="paper-info">
    <div class="paper-title">CRISPRtracrRNA: robust approach for CRISPR tracrRNA detection</div>
    <div class="paper-meta">Alexander Mitrofanov, Marcus Ziemann, ... Rolf Backofen</div>
    <div class="paper-meta paper-venue">Bioinformatics (2022)</div>
  </div>

  <span class="panel-goto-btn pub-goto-btn"><span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" /><polyline points="14 2 14 8 20 8" /><line x1="16" y1="13" x2="8" y2="13" /><line x1="16" y1="17" x2="8" y2="17" /><polyline points="10 9 9 9 8 9" /></svg> Read paper</span></span>
</a>

<div class="tab-panel cite-panel" data-tab="cite-crispr-tracr-rna">
  <div class="cite-code-wrap">
    ```bibtex theme={null}
    @article{mitrofanov2022crisprtracrna,
      title={CRISPRtracrRNA: robust approach for CRISPR tracrRNA detection},
      author={Mitrofanov, Alexander and Ziemann, Marcus and Alkhnbashi, Omer S and Hess, Wolfgang R and Backofen, Rolf},
      journal={Bioinformatics},
      volume={38},
      number={Supplement\_2},
      pages={ii42--ii48},
      year={2022},
      publisher={Oxford University Press},
      doi={10.1093/bioinformatics/btac466}
    }
    ```
  </div>

  <span class="panel-goto-btn cite-copy-btn"><span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z" /><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z" /></svg> Copy citation</span></span>
</div>

<a href="https://github.com/evo-design/proto-tools/tree/47e34afa5ea240a3b406e323dc38aa5dc85f223e/proto_tools/tools/gene_annotation/crispr_tracr_rna" target="_blank" class="tab-panel source-panel" data-tab="source-crispr-tracr-rna">
  <div class="source-info">
    <img src="https://github.com/evo-design.png?size=40" class="source-avatar" width="36" height="36" />

    <span class="source-path">evo-design/proto-tools<span class="source-subpath">/proto\_tools/tools/gene\_annotation/crispr\_tracr\_rna</span></span>
  </div>

  <span class="panel-goto-btn source-goto-btn"><span><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg> View source</span></span>
</a>

<a href="https://github.com/evo-design/proto-tools/blob/47e34afa5ea240a3b406e323dc38aa5dc85f223e/proto_tools/tools/gene_annotation/crispr_tracr_rna/examples/example.ipynb" target="_blank" class="tab-panel notebook-panel" data-tab="notebook-crispr-tracr-rna">
  <div class="notebook-info">
    <span class="notebook-icon">
      <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" />

        <path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" />
      </svg>
    </span>

    <span class="notebook-label">Open Notebook</span>
  </div>

  <span class="panel-goto-btn notebook-goto-btn"><span><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" /><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" /></svg> Open notebook</span></span>
</a>

<div class="tab-panel proto-panel" data-tab="proto-crispr-tracr-rna">
  <div class="proto-info">
    <div class="proto-cloud">
      <svg class="proto-cloud-bg" viewBox="0 0 640 512" xmlns="http://www.w3.org/2000/svg">
        <path d="M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z" />
      </svg>

      <img noZoom src="https://mintcdn.com/bio-pro/KVh0EKV-IKblvXR8/assets/logo/evo-logo-light.svg?fit=max&auto=format&n=KVh0EKV-IKblvXR8&q=85&s=0cb66034ba45618505501aee6ea5f5c1" class="proto-panel-logo block dark:hidden" alt="Proto" width="198" height="151" data-path="assets/logo/evo-logo-light.svg" />

      <img noZoom src="https://mintcdn.com/bio-pro/KVh0EKV-IKblvXR8/assets/logo/evo-logo-dark.svg?fit=max&auto=format&n=KVh0EKV-IKblvXR8&q=85&s=2c9e23a14635e60384a434e220788f54" class="proto-panel-logo hidden dark:block" alt="Proto" width="198" height="151" data-path="assets/logo/evo-logo-dark.svg" />
    </div>
  </div>

  <div class="proto-actions">
    <a href="https://proto.evodesign.org/tools/crispr-tracr-rna" target="_blank" class="proto-action-btn"><span>CRISPRtracrRNA Prediction</span><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7" /><polyline points="7 7 17 7 17 17" /></svg></a>
  </div>
</div>

<div class="entity-contributors"><span class="entity-contributors-label">Toolkit contributors</span><span class="entity-contributors-people"><a class="entity-contributor" href="https://github.com/bviggiano" target="_blank" rel="noopener" title="bviggiano: 15 commits"><img noZoom class="entity-contributor-avatar" src="https://avatars.githubusercontent.com/u/21143637?v=4&s=64" alt="" loading="lazy" /><span class="entity-contributor-login">bviggiano</span></a><a class="entity-contributor" href="https://github.com/dguo8412" target="_blank" rel="noopener" title="dguo8412: 11 commits"><img noZoom class="entity-contributor-avatar" src="https://avatars.githubusercontent.com/u/46211285?v=4&s=64" alt="" loading="lazy" /><span class="entity-contributor-login">dguo8412</span></a><a class="entity-contributor" href="https://github.com/leba01" target="_blank" rel="noopener" title="leba01: 1 commit"><img noZoom class="entity-contributor-avatar" src="https://avatars.githubusercontent.com/u/124846286?v=4&s=64" alt="" loading="lazy" /><span class="entity-contributor-login">leba01</span></a></span></div>

| Function                 | Description                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ------------------------ | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `run_crispr_tracr_rna()` | Predict tracrRNA sequences from nucleotide CRISPR loci | <a href="#api-run-crispr-tracr-rna" class="func-table-btn func-api-btn"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20" /></svg> Docs</a> <a href="https://github.com/evo-design/proto-tools/blob/47e34afa5ea240a3b406e323dc38aa5dc85f223e/proto_tools/tools/gene_annotation/crispr_tracr_rna/crispr_tracr_rna.py#L432" target="_blank" class="func-table-btn func-source-btn"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Source</a> |

<Note>
  **License:** CRISPRtracrRNA's own code is licensed under MIT, and it federates over bundled data sources and components, each under its own license terms.

  Bundled dependencies, each under its own license:

  * [CRISPRcasIdentifier](https://github.com/BackofenLab/CRISPRcasIdentifier/blob/master/LICENSE.txt): GPL-3.0

  Review each source's terms before commercial use or redistribution.
</Note>

## Background

[CRISPRtracrRNA](https://github.com/BackofenLab/CRISPRtracrRNA) ([Mitrofanov et al., 2022](https://doi.org/10.1093/bioinformatics/btac466)) detects trans-activating CRISPR RNA (tracrRNA) sequences in nucleotide CRISPR loci. A tracrRNA is a small non-coding RNA that base-pairs with the precursor crRNA in the [Class 2](https://en.wikipedia.org/wiki/CRISPR) effector systems that depend on one, namely [Type II](https://en.wikipedia.org/wiki/Cas9) (Cas9) and the tracrRNA-bearing [Type V](https://en.wikipedia.org/wiki/Cas12a) subtypes such as Cas12b, Cas12c, and Cas12e, and the resulting RNA duplex licenses Cas-mediated cleavage of target DNA. It is also the second component fused into the [single-guide RNA](https://en.wikipedia.org/wiki/Guide_RNA) used in modern genome editing. Because tracrRNAs share little primary-sequence conservation across families, single-model approaches such as [Infernal](https://github.com/EddyRivasLab/infernal) covariance-model search alone miss divergent tracrRNAs in newly sequenced and metagenomic genomes.

Internally, the pipeline runs an array-detection step with [CRISPRidentify](https://github.com/BackofenLab/CRISPRidentify) (machine learning), a Cas-cassette step with [CRISPRcasIdentifier](https://github.com/BackofenLab/CRISPRcasIdentifier) (HMM and machine learning), a tracrRNA candidate scan with Infernal `cmsearch` against curated covariance models, an anti-repeat alignment step using fasta36, vmatch, Clustal Omega, and BLAST, an RNA-RNA interaction step with [IntaRNA](https://github.com/BackofenLab/IntaRNA), and a transcription-terminator step with erpin. A final ranking step combines the per-candidate features into a single weighted score, and a faster `model_run` mode performs only the covariance-model scan and skips the validation evidence and the ranking step.

### Learning Resources

* [BackofenLab/CRISPRtracrRNA](https://github.com/BackofenLab/CRISPRtracrRNA) (Bioinformatics Group Freiburg) - official repository with installation instructions, the canonical configuration surface, and the curated covariance models distributed with the tool.
* [EddyRivasLab/infernal](https://github.com/EddyRivasLab/infernal) (The Eddy/Rivas Laboratory, Harvard) - official repository and User's Guide for the covariance-model search engine and the `cmsearch` E-value statistics that score tracrRNA candidates.
* [BackofenLab/IntaRNA](https://github.com/BackofenLab/IntaRNA) (Bioinformatics Group Freiburg) - official repository for the RNA-RNA interaction predictor that scores the anti-repeat to repeat duplex.

## Tools

<a name="api-run-crispr-tracr-rna" />

<div class="tool-section-card">
  ### CRISPRtracrRNA Prediction (`crispr-tracr-rna`)

  Predicts tracrRNA candidates from one or more nucleotide sequences and returns, per input sequence, a list of `CrisprTracrRNAPrediction` rows sorted by ranking score. Each row carries the candidate position and sequence, CRISPR array context, anti-repeat similarity and coverage, predicted RNA-RNA interaction with the repeat, terminator location and score, distance to the nearest Cas-effector cassette, and a single weighted multi-evidence score.

  #### API Reference

  <div class="api-model-section api-input-section">
    <a href="https://github.com/evo-design/proto-tools/blob/47e34afa5ea240a3b406e323dc38aa5dc85f223e/proto_tools/tools/gene_annotation/crispr_tracr_rna/crispr_tracr_rna.py#L199" target="_blank" class="func-table-btn func-source-btn api-model-source"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Source</a>

    <Accordion title="Input: CrisprTracrRNAInput">
      <ParamField path="sequences" type="List[string]" required>
        Nucleotide sequence(s) to predict tracrRNA from. Each sequence should contain a CRISPR locus. Labeled positionally (`seq_0`, `seq_1`, ...); results are returned in input order.
      </ParamField>
    </Accordion>
  </div>

  <div class="api-model-section api-config-section">
    <a href="https://github.com/evo-design/proto-tools/blob/47e34afa5ea240a3b406e323dc38aa5dc85f223e/proto_tools/tools/gene_annotation/crispr_tracr_rna/crispr_tracr_rna.py#L301" target="_blank" class="func-table-btn func-source-btn api-model-source"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Source</a>

    <Accordion title="Config: CrisprTracrRNAConfig">
      <ParamField path="model_type" type="enum" default="II">
        CRISPR model type.

        Available options: `II`, `all`
      </ParamField>

      <ParamField path="run_type" type="enum" default="complete_run">
        Pipeline mode.

        Available options: `complete_run`, `model_run`
      </ParamField>

      <ParamField path="num_workers" type="integer">
        Parallel workers across input sequences (defaults to 1).
      </ParamField>

      <ParamField path="anti_repeat_similarity_threshold" type="number" default="0.7">
        Minimum anti-repeat ↔ repeat similarity (0-1).
      </ParamField>

      <ParamField path="anti_repeat_coverage_threshold" type="number" default="0.6">
        Minimum anti-repeat alignment coverage (0-1).
      </ParamField>

      <ParamField path="weight_crispr_array_score" type="number" default="0.5">
        Ranking weight for CRISPR array confidence.
      </ParamField>

      <ParamField path="weight_anti_repeat_sim" type="number" default="0.5">
        Ranking weight for anti-repeat similarity.
      </ParamField>

      <ParamField path="weight_anti_repeat_coverage" type="number" default="0.5">
        Ranking weight for anti-repeat coverage.
      </ParamField>

      <ParamField path="weight_anti_sim_coverage" type="number" default="0.5">
        Ranking weight for similarity x coverage.
      </ParamField>

      <ParamField path="weight_interaction_score" type="number" default="0.6">
        Ranking weight for IntaRNA interaction energy.
      </ParamField>

      <ParamField path="weight_model_hit_score" type="number" default="0.9">
        Ranking weight for the covariance-model tail hit.
      </ParamField>

      <ParamField path="weight_terminator_hit_score" type="number" default="0.9">
        Ranking weight for erpin terminator score.
      </ParamField>

      <ParamField path="weight_consistency_orientation" type="number" default="0.1">
        Ranking weight for orientation consistency.
      </ParamField>

      <ParamField path="weight_consistency_anti_repeat_tail" type="number" default="0.1">
        Ranking weight for anti-repeat ↔ tail consistency.
      </ParamField>

      <ParamField path="weight_consistency_tail_terminator" type="number" default="0.1">
        Ranking weight for tail ↔ terminator consistency.
      </ParamField>

      <ParamField path="perform_type_v_anti_repeat_analysis" type="boolean" default="False">
        Type V (Cas12) anti-repeat search.
      </ParamField>

      <ParamField path="verbose" type="integer" default="0">
        Verbosity level (0=quiet, 1=info, 2=debug, 3=raw subprocess stderr). `True` is coerced to `1` and `False` to `0`.
      </ParamField>

      <ParamField path="device" type="string" default="cpu">
        Device to run the tool on.
      </ParamField>

      <ParamField path="timeout" type="integer" default="3600">
        Maximum execution time in seconds. `None` waits indefinitely.
      </ParamField>

      <ParamField path="seed" type="integer">
        Random seed. When set, tools run reproducibly up to small GPU float noise (see `BaseToolOutput.approx_equal`), and the seed participates in cache keys. When None, cacheable seed-sensitive tools skip cache until seeded.
      </ParamField>
    </Accordion>
  </div>

  <div class="api-model-section api-output-section">
    <a href="https://github.com/evo-design/proto-tools/blob/47e34afa5ea240a3b406e323dc38aa5dc85f223e/proto_tools/tools/gene_annotation/crispr_tracr_rna/crispr_tracr_rna.py#L250" target="_blank" class="func-table-btn func-source-btn api-model-source"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6" /><polyline points="8 6 2 12 8 18" /></svg> Source</a>

    <Accordion title="Output: CrisprTracrRNAOutput">
      <ResponseField name="results" type="List[CrisprTracrRNASequenceResult]">
        One result per input sequence, each carrying all candidate hits upstream produced for that sequence (top-ranked first).

        <Expandable title="CrisprTracrRNASequenceResult">
          <ResponseField name="sequence_id" type="string" required>
            ID of the input sequence.
          </ResponseField>

          <ResponseField name="candidates" type="List[CrisprTracrRNAPrediction]">
            All candidate hits for this sequence, top-ranked first; empty when upstream found nothing.
          </ResponseField>
        </Expandable>
      </ResponseField>
    </Accordion>
  </div>

  #### Applications

  Use this to confirm and characterize Type II and Type V CRISPR-Cas loci, since a detected tracrRNA is the component that completes a functional Class 2 locus and distinguishes a Cas9 or Cas12 system from an unaccompanied CRISPR array. Pair it with [`minced`](https://bio-pro.mintlify.app/tools/gene-annotation/minced) on a confirmed array to recover the crRNA spacers, then design a single-guide RNA by fusing a spacer-bearing crRNA with the detected tracrRNA scaffold for genome-editing experiments. Run it across metagenomes and uncultured genomes to discover novel Cas9 or Cas12 systems whose tracrRNAs are too divergent to be caught by covariance-model search alone.

  #### Usage Tips

  * **Provide each CRISPR locus with at least 5 kb of flanking sequence on either side.** The multi-evidence pipeline needs adjacent context to locate the Cas cassette and the downstream transcription terminator. Loci submitted as narrow windows lose those evidence channels and fall back to a covariance-model-only score.
  * **`model_type` defaults to `"II"`, which only screens for Cas9 systems.** To also screen tracr-bearing Type V (Cas12b, Cas12c, Cas12e, ...) loci, set `model_type="all"` and `perform_type_v_anti_repeat_analysis=True`. The Type V path is off by default because it is slower and irrelevant when only Cas9 loci are of interest.
  * **Type I and Type III CRISPR systems do not use a tracrRNA.** A `complete_run` on such a locus returns array context and Cas annotations but empty tracrRNA fields, with the ranking score reflecting only the partial evidence.
  * **The ten `weight_*` ranking parameters interact.** Sweep them together against a held-out positive and negative set rather than tuning a single weight in isolation, and keep upstream's documented defaults when there is no specific objective to optimize for.
  * **`run_type="model_run"` is the high-throughput pre-filter, not the final answer.** It runs only the Infernal `cmsearch` step and returns candidates with E-values but none of the array, interaction, or terminator evidence, so re-run promising candidates through `complete_run` before drawing conclusions.
</div>

## Toolkit Notes

These apply to every CRISPRtracrRNA tool in this toolkit (`crispr-tracr-rna`).

* **Runs on CPU only.** The pipeline drives Infernal, IntaRNA, fasta36, vmatch, Clustal Omega, BLAST, and erpin, all CPU-based programs. There is no GPU acceleration to enable.
* **Initial install pulls model archives from Google Drive.** `complete_run` mode requires the CRISPRcasIdentifier ML and HMM archives, which the standalone install fetches once. Google Drive rate-limits anonymous fetches, so on a failed install retry after a minute or follow the upstream README to place the two archives in the CRISPRcasIdentifier directory by hand. After install the runtime needs no further network access.
* **`num_workers` parallelizes across input sequences, not within a sequence.** Each worker runs the full pipeline in its own working directory to avoid file-name collisions between concurrent jobs. The default of 1 is single-process; set it explicitly when batch-scanning many loci. The wrapper caps the effective worker count at `len(sequences)`, so over-provisioning is safe.

<Tip>
  **Example notebook:** See the [full working example](https://github.com/evo-design/proto-tools/blob/47e34afa5ea240a3b406e323dc38aa5dc85f223e/proto_tools/tools/gene_annotation/crispr_tracr_rna/examples/example.ipynb) for a copy-paste-ready walkthrough.
</Tip>

## Infrastructure Guides

The following guides cover how to run tools efficiently and at scale.

<CardGroup cols={2}>
  <Card title="Tool Persistence" icon="repeat" href="/docs/tools/guides/tool-persistence">Keep a tool's model warm across calls instead of reloading it every invocation.</Card>
  <Card title="Device Management" icon="cpu" href="/docs/tools/guides/device-management">How GPUs are allocated to tools and how to target specific devices.</Card>
  <Card title="Parallel Execution" icon="layers" href="/docs/tools/guides/parallel-execution">Fan a batch of inputs out across multiple GPUs.</Card>
</CardGroup>
