CASowary is a command line machine learning tool written in Python 3.6.8 for predicting the efficacy of sgRNAs for CRISPR Cas13 and other transcript targeting systems.
argparse (version 1.1)
numpy (version 1.16.2)
os (3.6)
random (3.6)
sklearn (version 0.20.3)
TopHat aligner (version 2.1.1)
bedtools (version 2.26.0)
https://github.com/Janga-Lab/CASowary.git
Files included: Gene information (Gene_Information.txt), Reference transcriptome file (hg38_transcriptome.fasta), Cell line protein occupancy file (Hek293_Occupancy_Profile.xls, Hela_Occupancy_Profile.xls), Gene input file (Gene.csv), List of k-mers (Gini_K-mers.txt), and training data for the model (Training_Data_Gini.txt)
Note: Due to the size of the Gene_Information.txt and hg38_transcriptome.fasta they are no longer available on GitHub. You can download them at the following link: https://indiana-my.sharepoint.com/:f:/g/personal/amkrug_iu_edu/Et2HtXXEQLBDpFzbM_cbDc4B2yiQwJEK9YiJeEOOJYOPIA?e=PbUGCt
CASowary has two different scripts that must be run in a particular order:
a. CASowary_Preprocess - which takes a list of gene names as input to create a fasta file of all possible guides that tile all transcripts associated with that gene.
b. CASowary_Predict - which takes the aforementioned fasta file, the TopHat alignment file, and a protein occupancy peak file to create guide predictions.
CASowary_Preprocess can be run using the following command.
python CASowary_Preprocess.py Gene.csv -o Input_Guides.fasta
Intermediate steps:
The resulting Input_Guides.fasta from CASowary_Preprocess script, needs to be run through the TopHat aligner with the following parameters:
read-mismatches 3, read-edit-dist 3 (see example below).
tophat --read-mismatches 3 --read-edit-dist 3 -o Gene_Guides ./BT_hg38_transcriptome_0221/BT_hg38_transcriptome_0221 Input_Guides.fasta
Note: The reference transcriptiome file should be stored at the same working directory or link with the Gene_Information.txt file.
The results of the TopHat alignment (.bam) files, can be converted into bed file using bedtools 'bamtobed' command (see example below).
bedtools bamtobed -i accepted_hits.bam > accepted_hits.bed
The resulting bed file should also be sorted using the bedtools 'sort' command (see example below).
bedtools sort -i Target_Hits.bed > Target_Hits.sorted.bed
Finally, CASowary_Predict script can be run using the following command.
python CASowary_Predict.py Input_Guides.fasta -t Target_Hits.sorted.bed -p Hek293_Occupancy_Profile.xls -o Predictions.txt
Gene.csv is a csv file containing the input gene names of interest for CASowary_Preprocess
Input_Guides.fasta is the fasta file generated by CASowary_Preprocess.
Target_Hits.sorted.bed is the sorted bed file from the tophat alignement.
Hek293_Occupancy_Profile.xls is the peak file for protein occupied regions in Hek293 cell line.
Predictions.txt is a tab separated output file containing the guide name, transcript name, guide sequence, model predction, and the model's confidence in that prediction.