Skip to main content

CRISPR/Cas Target online predictor

Project description

CCTop is a tool to determine suitable CRISPR/Cas9 target sites in a given query sequence(s) and predict its potential off-target sites. The online version of CCTop is available at http://crispr.cos.uni-heidelberg.de/

This is a command line version of CCTop that is designed mainly to allow search of large volume of sequences and higher flexibility.

If you use this tool for your scientific work, please cite it as: Stemmer, M., Thumberger, T., del Sol Keyer, M., Wittbrodt, J. and Mateo, J.L. CCTop: an intuitive, flexible and reliable CRISPR/Cas9 target prediction tool. PLOS ONE (2015). doi:10.1371/journal.pone.0124633

If you use the CRISPRater score to select your target sites, please cite as well this work: Labuhn, M., Adams, F. F., Ng, M., Knoess, S., Schambach, A., Charpentier, E. M., ... Heckl, D. Refined sgRNA efficacy prediction improves large- and small-scale CRISPR–Cas9 applications. Nucleic Acids Research (2017). doi: 10.1093/nar/gkx1268

Requirements

CCTop is implemented in Python and it requires a version 3.5 or above.

In addition we relay on the short read aligner Bowtie 1 to identify the off-target sites. Bowtie can be downloaded from this site http://bowtie-bio.sourceforge.net/index.shtml in binary format for the main platforms. You need to create an indexed version of the genome sequence of your target species. This can be done with the tool bowtie-build included in the Bowtie installation. For that you simply need a fasta file containing the genome sequence. To get the index you can do something like:

$ bowtie-build -r -f <your-fasta-file> <index-name>

The previous command will create the index files in the current folder.

To handle gene and exon annotations we use the python library bx-python. This library is only required if you want to associate off-target sites with the closest exon/gene, otherwise you don't need to install it.

The exon and gene files contain basically the coordinates of those elements in bed format, which are the first three columns of the file. The exon file can contain two more columns with the ID and name of the corresponding gene. You can generate easily such kind of files for you target organism using the script gff2bedFiles included in this package. As the name of this script suggests, you only need a GFF file with the annotation. Additionally, you can also use Ensembl Biomart, if your species is available there, to generate files complying with these requirements.

In case of difficulties with these files contact us and we can provide you the files you need or help to generate them on your own.

Install

Please, refer to the file INSTALL.md.

Usage

After a successful installation you should have the main CCTop executable, together with the scripts to generate the gene/exons files, ready to be used. You can run CCTop with the -h flag to get a detailed list of the available parameters. For instance:

$ cctop -h

At minimum it is necessary to specify the input (multi)fasta file (--input) and the Bowtie index (--index). In this case CCTop assumes that the Bowtie executable can be found in the PATH system variable, there are not gene and exon files to use and the rest of parameters will take default values. Notice that the index parameter to specify here refers to the name of the index, without any file extension, together with the path, if necessary.

A command for a typical run will look something like this:

$ cctop --input <query.fasta> --index <path/index-name> --output <output-folder>

The result of the run will be three files for each sequence in the input query file. These files will have extension .fasta, .bed and .xls, containing, respectively, the sequence of the target sites, their coordinates and their detailed information as in the online version of CCTop. The name of the output file(s) will be taken from the name of the sequences in the input fasta file.

Generating Exon/Gene files

For any species you have to work with it is very likely that there is an annotation file in GFF format. From any of these files you can generate the files that CCTop needs to annotate the off-target sites. The script gff2bedFiles expects as first argument the input file in GFF version 3 format. Files in this format can be usually found with their corresponding assemblies in the web sites NCBI or Ensembl. With the input file downloaded, it doesn't need to be uncompressed if it is in gz format, specify it as first argument to the script followed by the prefix you prefer for the output files.

$ gff2bedFiles <input-gff> <prefix>

The result will be two files named <prefix>_exons.bed.gz and <prefix>_genes.bed.gz. These files are compressed, to save space, and can be passed directly to CCTop.

Docker image

CCTop is also available as a Docker image at https://hub.docker.com/r/juanlmateo/cctop This image contains everything ready to use CCTop. Simply download the image with this command

docker pull juanlmateo/cctop:latest

With this image you can run the commands cctop and gff2bedFiles, but also you can run Bowtie to create the index of your target species.

Below you have an example that shows how to get CRISPR/Cas candidates for a sequence using the yeast as target species. This example shows all the steps, from creating the Bowtie index, the exon and gene files to the generation of the final output.

# downloading the genome of the target species in fasta forma
wget ftp://ftp.ensembl.org/pub/release-99/fasta/saccharomyces_cerevisiae/dna/Saccharomyces_cerevisiae.R64-1-1.dna.toplevel.fa.gz
# building the bowtie index from the fasta file
docker run -v `pwd`:/data/ cctop bowtie-build -r -f Saccharomyces_cerevisiae.R64-1-1.dna.toplevel.fa.gz saccharomyces_cerevisiae
# downloading the annotation of this assembly in GFF format
wget ftp://ftp.ensembl.org/pub/release-99/gff3/saccharomyces_cerevisiae/Saccharomyces_cerevisiae.R64-1-1.99.gff3.gz
# generating the exon and gene files
docker run -v `pwd`:/data/ cctop gff2bedFiles Saccharomyces_cerevisiae.R64-1-1.99.gff3.gz saccharomyces_cerevisiae
# defining the input sequence(s)
echo -e ">YDL194W\nATGGATCCTAATAGTAACAGTTCTAGCGAAACATTACGCCAAGAGAAACAGGGTTTCCTA" > test.fa
# running CCTop
docker run -v `pwd`:/data/ cctop cctop --input test.fa --index saccharomyces_cerevisiae --exons saccharomyces_cerevisiae_exons.bed.gz --genes saccharomyces_cerevisiae_genes.bed.gz

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

CCTop-1.0.1-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file CCTop-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: CCTop-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for CCTop-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8154987e30fb9cf00da0d14046784e1cbc6e00712658ee90daf8e8f2600bd28e
MD5 6ae9250a5eb69d294071cd753367eadf
BLAKE2b-256 c33b581d1897cb0412a0249487b20697d80e036437b7835383a916f8e955f946

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page