This algorithm searches through an input genomic sequence file (FASTA/FNA) and finds all unique and repeated guide-RNA (gRNA) sequences for a given Cas endonuclease. It outputs two files:
- CSPR file containing a list of all unique gRNAs
- SQL DB file containing all repeated gRNAs
- Open terminal
- Run the following command:
sudo apt-get install sqlite3
- Download sqlite3 source code
- Open terminal
- CD to sqlite3 source code folder
- Build using the following command:
gcc -c sqlite3.c
- The build command should generate a .o file that will be used with compiling SeqFinder.
- Copy the .o file to the SeqFinder source code folder
- Download sqlite3 source code
- Open "Developer Command Prompt for VS 2017"
- CD to sqlite3 source code folder
- Build the library files by running the following command:
lib /DEF:sqlite3.def /OUT:sqlite3.lib /MACHINE:x64
- Download SeqFinder source code for Linux (in Repository)
- Open terminal
- CD to Seq-Finder source code folder
- Run Command to compile SeqFinder:
g++ -std=c++11 *.cpp -pthread -l sqlite3 -o SeqFinder
Mac and Linux (if you manually built sqlite3 .o file, make sure sqlite3 .o file is in same folder as SeqFinder source code):
- Download SeqFinder source code for Mac or Linux (in Repository)
- Open terminal
- CD to SeqFinder source code folder
- Run command to compile SeqFinder:
g++ -std=c++11 *.cpp -pthread sqlite3.o -o SeqFinder
- Download SeqFinder source for Windows (in Repository)
- Open Visual Studio 2017
- Create a New Project
- Import the SeqFinder source code files
- Go to Project->Properties and do the following:
- Set Configuration to "All Configurations"
- Set Platform to "All Platforms"
- In Configuration Properties->VC++ Directories add
C:\Path\To\sqlite3;
to "Include Directories" - In Configuration Properties->VC++ Directories add
C:\Path\To\sqlite;
to "Include Libraries" - In C/C++->General add
C:\Path\To\sqlite3;
to "Additional Include Directories" and "Additional #using Directories" - In Linker->General add
C:\Path\To\sqlite;
to "Additional Library Directories" - In Linker->Input add
C:\Path\To\sqlite\sqlite3.lib;
in "Additonaly Dependencies - Make sure when you add these paths that there are ';' seperating all paths/object in the line.
- For debugging, make sure Debug and x64 are selected before running
- If debugging, make sure you set the debugging command arguments. See "How to run SeqFinder" below.
- For compiling, make sure Release and x64 are selected before running
-
CD to the directory containing the SeqFinder executable
- The command line arguments for SeqFinder are as follows: `endonuclease pam multi_threading_bool 5_prime_pam_bool generate_repeats_file_bool 5_prime_length seed_length 3_prime_length org_code output_folder_path CASPERinfo_file_path input_file_path org_name notes on_target_data
-
Example command:
./SeqFinder spCas9 NGG TRUE FALSE TRUE 4 16 0 org_code output_folder CASPERinfo input.fasta org_name notes DATA:CRISPRSCAN