Skip to content

ryandward/sgrna_design

 
 

Repository files navigation

sgRNA Design Protocols for CRISPRi Applications in Bacterial Systems

DOI

This protocol suite serves as a comprehensive automation framework for sgRNA design. The Python script build_sgrna_library.py is available for integration into complex pipelines by users with advanced proficiency.

This repository extends the work by John S. Hawkins and is accessible at John S. Hawkins Repository. Commands from the NCBI Entrez Direct Utilities are provided as helper steps.


Quick-start Guide

GitHub Repository Acquisition

Clone the sgrna_design GitHub repository and navigate to the directory.

This operation is performed once.

git clone https://github.com/ryandward/sgrna_design.git
cd sgrna_design

Environment Creation for sgRNA Design

Prepare a conda environment utilizing the sgrna_design.yml file.

This operation is performed once.

conda env create -f sgrna_design.yml

Conda Environment Activation

Prior to running any scripts, activate the conda environment to load dependencies.

Required for each new session.

conda activate sgrna_design

Genomic Data Retrieval from NCBI by Accession Number

Consult the NCBI Nucleotide Database to identify the accession number associated with the target chromosome. Update the ACC_NO environment variable accordingly. The example uses E. coli MG1655 chromosome "U00096.3".

Assign the accession number

ACC_NO="U00096.3"

Fetch GenBank chromosome and validate

efetch -db nuccore -format gb -style withparts -id $ACC_NO > ${ACC_NO}.gb && \
{ file ${ACC_NO}.gb | grep -iq ascii && echo "File contains data, continue." || echo "Empty file, retry this step."; }

Execute sgRNA Design Script

Execute the main Python script, generating a tab-separated variable file that is named based on the accession number, appended by "_sgrna".

./build_sgrna_library.py --input_genbank_genome_name ${ACC_NO}.gb --tsv_output_file ${ACC_NO}_sgrna.tsv

Best Practices from Original Branch:

Author: John S. Hawkins [really@gmail.com]

For bacteria, we suggest using guides that:

  • have a small, positive offset
  • are on the antisense strand ('anti' in the 'transdir' column)
  • have a SPECIFICITY score of 39

If a guide meeting these criteria is not available, lower specificity can be used, but you should check for near-matches elsewhere in the genome to see if they are likely to cause issues. Guides on the 'sense' strand are not recommended. They generally have a greatly reduced, and hard to predict, level of effect. If reduced effect is desired, we suggest the use of mismatch_crispri to achieve more reliable outcomes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%