Skip to main content

Comparing Cas Activities by Target Superimposition (CATS)

PyPI version Python versions License: MIT DOI

CATS is a bioinformatic tool designed to automate the detection of overlapping PAM sequences and identify allele-specific targets resulting from pathogenic mutations. It offers both a command-line interface (CLI) and a graphical user interface (GUI) to cater to different usage preferences. For further details, see the associated publication: CATS: A Bioinformatic Tool for Automated Cas9 Nucleases activity comparison in clinically relevant contexts.

Table of Contents

  1. Installation
  2. Usage
  3. Contributing
  4. License
  5. Citation

Installation

CLI installation

CATS is published on PyPI. Install it with pip:

pip install crispr-cats

This installs the CATS and CATS-converter commands. To also install the GUI (CATS-gui command), include the [gui] extra:

pip install 'crispr-cats[gui]'

GUI installation

Install the GUI extra and launch the graphical interface with:

pip install 'crispr-cats[gui]'
CATS-gui

Pre-built standalone bundles are also available on the releases page.

NOTE for macOS users (standalone bundle only):

After downloading and unzipping the CATS folder, you may need to run the following command in your terminal to ensure the application runs correctly:

xattr -dr com.apple.quarantine <dir>/CATS/

or

find <dir>/CATS/ -exec xattr -d com.apple.quarantine {} \;

Replace <dir> with the full path to the directory containing the unzipped CATS folder.

Only run this command once, after you have downloaded and unzipped the folder and before launching the GUI.

Usage

Once installed, you can either use the CLI or launch the GUI.

CLI Usage

To launch the CATS CLI and show the help message with all the possible flags and parameters, run:

CATS --help

which will show this message:

usage: CATS [-h] --fasta FASTA_FILE --seq1 SEQ1 [--seq2 SEQ2] --output OUTPUT [--window-size WINDOW_SIZE] [--num-bases NUM_BASES] [--gtf GTF_FILE] [--pathogenicity] [--single-nucleotide-variant] [--gene-list GENE_LIST]          [--variant-window VARIANT_WINDOW]

Parse a FASTA file and find sequences containing one (or two) specified sequences of interest.

options:
  -h, --help            show this help message and exit
  --fasta FASTA_FILE, -f FASTA_FILE
                        Path to the FASTA file or use 'human', 'mouse', 'human_pc' or 'mouse_pc' keyword to access corresponding transcripts.
  --seq1 SEQ1, -1 SEQ1  First sequence of interest.
  --seq2 SEQ2, -2 SEQ2  (Optional) Second sequence of interest. If omitted, only seq1 will be searched.
  --output OUTPUT, -o OUTPUT
                        Output file name. Possible extensions: 'csv', 'tsv', 'bed'.
  --window-size WINDOW_SIZE, -w WINDOW_SIZE
                        Size of the window around the sequences (for double-sequence mode). Default is 5.
  --num-bases NUM_BASES, -n NUM_BASES
                        Number of preceding and subsequent bases for each output sequence. Default is 25.
  --gtf GTF_FILE, -g GTF_FILE
                        Path to the GTF file for annotation.
  --pathogenicity, -p   Retrieve only sequences containing potentially pathogenic variants (ClinVar).
  --single-nucleotide-variant, -snv
                        Retrieve only sequences associated with SNVs from ClinVar. Implies --pathogenicity.
  --gene-list GENE_LIST, -gl GENE_LIST
                        Path to a txt file containing a list of gene names to be analyzed, OR a semicolon-separated list of gene names (e.g. 'HBB;HTT').
  --variant-window VARIANT_WINDOW, -vw VARIANT_WINDOW
                        Maximum distance between the mutation and the found PAM sequence. Implies --pathogenicity.

CATS-converter

The CATS-converter command-line tool allows you to convert files between bed and csv formats, without needing to rerun the main CATS workflow.

CATS-converter <path/to/file.(csv|bed)>

GUI Usage

Run CATS-gui from your terminal (or launch the executable from the standalone bundle). Once launched, the following window will appear:

A detailed documentation can be found in the fourth and last tab (Docs).

For further reference, consult the publication: CATS: A Bioinformatic Tool for Automated Cas9 Nucleases activity comparison in clinically relevant contexts.

Contributing

Pull requests, bug reports, and feature ideas are welcome: feel free to open a PR!

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citation

Please cite our work if you use CATS in your research:

@article{Rocchi2025CATS,
  author = {Rocchi, Ettore and Magnani, Federico and Castellani, Gastone and Carusillo, Antonio and Tarozzi, Martina},
  title = {{CATS}: A Bioinformatic Tool for Automated Cas9 Nucleases Activity Comparison in Clinically Relevant Contexts},
  journal = {Frontiers in Genome Editing},
  volume = {7},
  number = {Tools and Mechanisms},
  pages = {1571023},
  year = {2025},
  doi = {10.3389/fgeed.2025.1571023},
  url = {https://doi.org/10.3389/fgeed.2025.1571023}
}

Release files for crispr-cats 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crispr-cats 0.1.0
File Size Uploaded
crispr_cats-0.1.0.tar.gz 416.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for crispr-cats 0.1.0
File Interpreter ABI Platform
crispr_cats-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 832.5 kB

Release files / crispr_cats-0.1.0.tar.gz

Download URL crispr_cats-0.1.0.tar.gz
Size 416.2 kB
Tags Source
SHA-256 checksum
How to use checksums
efc72815c9d6d10c832a27b4819e424b445fd14797f39f820534a7fe4b7f165e
BLAKE2b-256 checksum
How to use checksums
237f77f019287fa6c93a6340088a55d9eb4e6c9e6b4a9fbc355e6916361bbbba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / crispr_cats-0.1.0-py3-none-any.whl

Download URL crispr_cats-0.1.0-py3-none-any.whl
Size 416.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b8c975082cbd3f02053eda0078b325cfb9a6fbb167412ba199992671b014235
BLAKE2b-256 checksum
How to use checksums
00ab5daf46856d4822baf72cdae3e5e468d4f174b5939be82b99ae916d58755b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page