bio-genome-engineering-prime-editing-design
Design pegRNAs for prime editing using PrimeDesign algorithms. Generate spacer, PBS, and RT template sequences for precise genomic modifications without double-strand breaks. Use when designing prime editing experiments for precise insertions, deletions, or point mutations.
Best use case
bio-genome-engineering-prime-editing-design is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Design pegRNAs for prime editing using PrimeDesign algorithms. Generate spacer, PBS, and RT template sequences for precise genomic modifications without double-strand breaks. Use when designing prime editing experiments for precise insertions, deletions, or point mutations.
Teams using bio-genome-engineering-prime-editing-design should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/bio-genome-engineering-prime-editing-design/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How bio-genome-engineering-prime-editing-design Compares
| Feature / Agent | bio-genome-engineering-prime-editing-design | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Design pegRNAs for prime editing using PrimeDesign algorithms. Generate spacer, PBS, and RT template sequences for precise genomic modifications without double-strand breaks. Use when designing prime editing experiments for precise insertions, deletions, or point mutations.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## Version Compatibility
Reference examples tested with: BioPython 1.83+
Before using code patterns, verify installed versions match. If versions differ:
- Python: `pip show <package>` then `help(module.function)` to check signatures
If code throws ImportError, AttributeError, or TypeError, introspect the installed
package and adapt the example to match the actual API rather than retrying.
# Prime Editing Design
**"Design a prime editing guide for my point mutation"** → Generate pegRNA sequences (spacer, scaffold, RT template, PBS) for precise genomic modifications without double-strand breaks, optimizing PBS length and RT template for editing efficiency.
- Python: PrimeDesign algorithms with `Bio.Seq` for sequence handling
## pegRNA Structure
```
pegRNA components:
1. Spacer (20nt) - guides Cas9 to target site
2. Scaffold - Cas9 binding sequence
3. RT template - encodes the desired edit
4. PBS (primer binding site) - anneals to nicked strand
Spacer (20nt) Scaffold RT template PBS
5'─[NNNNNNNNNNNNNNNNNNNN]─[scaffold]─[edit]─────[PBS]─3'
```
## Design pegRNA for Point Mutation
```python
from Bio.Seq import Seq
def design_pegrna_substitution(target_seq, edit_pos, new_base, pbs_length=13, rt_length=15):
'''Design pegRNA for a point mutation
Args:
target_seq: ~100bp sequence centered on edit site
edit_pos: Position of nucleotide to change (0-indexed in target_seq)
new_base: New nucleotide (A, C, G, or T)
pbs_length: Primer binding site length (13-17nt optimal)
Shorter = less stable, Longer = more secondary structure
rt_length: RT template length including edit (10-20nt for substitutions)
Returns:
dict with pegRNA components
'''
target_seq = target_seq.upper()
# Find nick site (3bp upstream of PAM, which is 3bp after edit for +strand)
# For substitution, nick should be close to edit site
nick_pos = edit_pos + 3 # Adjust based on PAM location
# Spacer: 20nt upstream of PAM
spacer_start = nick_pos - 17 # Nick is 3bp upstream of PAM
spacer = target_seq[spacer_start:spacer_start + 20]
# PBS: Reverse complement of sequence just upstream of nick
pbs_region = target_seq[nick_pos - pbs_length:nick_pos]
pbs = str(Seq(pbs_region).reverse_complement())
# RT template: Contains the edit
# Sequence from nick site, with edit incorporated
rt_region = list(target_seq[nick_pos:nick_pos + rt_length])
# Incorporate the edit
edit_offset = edit_pos - nick_pos
if 0 <= edit_offset < len(rt_region):
rt_region[edit_offset] = new_base
rt_template = str(Seq(''.join(rt_region)).reverse_complement())
return {
'spacer': spacer,
'pbs': pbs,
'rt_template': rt_template,
'pbs_length': pbs_length,
'rt_length': rt_length,
'edit_type': 'substitution'
}
```
## PBS Length Optimization
```python
def optimize_pbs_length(nick_region, min_len=10, max_len=17):
'''Find optimal PBS length
PBS considerations:
- Too short (<10nt): Unstable annealing, low editing efficiency
- Too long (>17nt): Secondary structure, reduced efficiency
- Optimal: 13-17nt with 40-60% GC content
Returns list of PBS options with predicted stability
'''
options = []
for length in range(min_len, max_len + 1):
pbs_region = nick_region[-length:]
pbs = str(Seq(pbs_region).reverse_complement())
gc = sum(1 for nt in pbs if nt in 'GC') / length
# Estimate melting temperature (simplified)
# Tm = 2*(A+T) + 4*(G+C) for short oligos
at = sum(1 for nt in pbs if nt in 'AT')
gc_count = length - at
tm = 2 * at + 4 * gc_count
# Score based on optimal parameters
score = 1.0
if gc < 0.4 or gc > 0.6:
score -= 0.2
if tm < 45 or tm > 65:
score -= 0.2
if length < 13:
score -= 0.1
options.append({
'length': length,
'sequence': pbs,
'gc_content': gc,
'melting_temp': tm,
'score': score
})
return sorted(options, key=lambda x: x['score'], reverse=True)
```
## RT Template Design
```python
def design_rt_template(edit_type, target_seq, nick_pos, **edit_params):
'''Design RT template for different edit types
Edit types and typical RT lengths:
- Substitution: 10-20nt (edit near 5' end of RT)
- Small insertion (<20bp): RT length = 10 + insertion length
- Small deletion (<20bp): RT length = 15-25nt flanking deletion
- Large insertion: May require multiple pegRNAs (twinPE)
'''
if edit_type == 'substitution':
new_base = edit_params['new_base']
edit_offset = edit_params['edit_pos'] - nick_pos
rt_len = max(15, edit_offset + 5)
rt_region = list(target_seq[nick_pos:nick_pos + rt_len])
if 0 <= edit_offset < len(rt_region):
rt_region[edit_offset] = new_base
return str(Seq(''.join(rt_region)).reverse_complement())
elif edit_type == 'insertion':
insert_seq = edit_params['insert_seq']
insert_pos = edit_params['insert_pos'] - nick_pos
# Build RT with insertion
rt_5prime = target_seq[nick_pos:nick_pos + insert_pos]
rt_3prime = target_seq[nick_pos + insert_pos:nick_pos + insert_pos + 10]
rt_region = rt_5prime + insert_seq + rt_3prime
return str(Seq(rt_region).reverse_complement())
elif edit_type == 'deletion':
del_start = edit_params['del_start'] - nick_pos
del_end = edit_params['del_end'] - nick_pos
# Skip deleted region in RT
rt_5prime = target_seq[nick_pos:nick_pos + del_start]
rt_3prime = target_seq[nick_pos + del_end:nick_pos + del_end + 15]
rt_region = rt_5prime + rt_3prime
return str(Seq(rt_region).reverse_complement())
```
## PE3 Nicking Guide Design
**Goal:** Design a second nicking guide for the PE3 prime editing strategy to improve editing efficiency by nicking the non-edited strand.
**Approach:** Search for PAM sites 40-100bp from the pegRNA nick site on the opposite strand, score candidates by proximity to the optimal 50-80bp distance, and return ranked options.
```python
def design_pe3_nick_guide(target_seq, pegrna_nick_pos, edit_pos):
'''Design second nicking guide for PE3 strategy
PE3 uses a second nick on the non-edited strand to improve efficiency.
Nick distance considerations:
- Too close (<40bp): Increases indel frequency
- Optimal (40-100bp): Balances efficiency and precision
- Too far (>100bp): Reduced benefit
The second nick should be on the opposite strand.
'''
# Search for PAM sites 40-100bp from pegRNA nick
candidates = []
for offset in range(40, 101):
# Check downstream
pos = pegrna_nick_pos + offset
if pos + 23 <= len(target_seq):
if target_seq[pos + 21:pos + 23] == 'GG':
spacer = target_seq[pos:pos + 20]
candidates.append({
'spacer': spacer,
'position': pos,
'distance': offset,
'strand': '+',
'relative': 'downstream'
})
# Check upstream (reverse complement)
pos = pegrna_nick_pos - offset
if pos >= 20:
rc_check = str(Seq(target_seq[pos - 3:pos + 20]).reverse_complement())
if rc_check[:2] == 'CC': # GG on reverse strand
spacer = str(Seq(target_seq[pos:pos + 20]).reverse_complement())
candidates.append({
'spacer': spacer,
'position': pos,
'distance': offset,
'strand': '-',
'relative': 'upstream'
})
# Prefer nicks 50-80bp away
for c in candidates:
c['score'] = 1.0 - abs(c['distance'] - 65) / 100
return sorted(candidates, key=lambda x: x['score'], reverse=True)
```
## Complete pegRNA Assembly
```python
# Standard scaffold sequence for SpCas9
CAS9_SCAFFOLD = 'GTTTTAGAGCTAGAAATAGCAAGTTAAAATAAGGCTAGTCCGTTATCAACTTGAAAAAGTGGCACCGAGTCGGTGC'
def assemble_pegrna(spacer, scaffold, rt_template, pbs):
'''Assemble full pegRNA sequence for ordering
Components in 5' to 3' order:
1. Spacer (20nt)
2. Scaffold (~76nt for SpCas9)
3. RT template (variable)
4. PBS (13-17nt)
For U6 promoter expression, add G at 5' end if spacer doesn't start with G
'''
# Add 5' G if needed for U6 transcription
if not spacer.startswith('G'):
spacer = 'G' + spacer[1:] # Replace first nt or add G
pegrna = spacer + scaffold + rt_template + pbs
return {
'full_sequence': pegrna,
'length': len(pegrna),
'spacer': spacer,
'rt_template': rt_template,
'pbs': pbs
}
```
## Related Skills
- genome-engineering/grna-design - Standard guide design for comparison
- genome-engineering/base-editing-design - Alternative for C/G to T/A changes
- variant-calling/variant-annotation - Identify pathogenic variants to correctRelated Skills
tooluniverse-protein-therapeutic-design
Design novel protein therapeutics (binders, enzymes, scaffolds) using AI-guided de novo design. Uses RFdiffusion for backbone generation, ProteinMPNN for sequence design, ESMFold/AlphaFold2 for validation. Use when asked to design protein binders, therapeutic proteins, or engineer protein function.
tooluniverse-clinical-trial-design
Strategic clinical trial design feasibility assessment using ToolUniverse. Evaluates patient population sizing, biomarker prevalence, endpoint selection, comparator analysis, safety monitoring, and regulatory pathways. Creates comprehensive feasibility reports with evidence grading, enrollment projections, and trial design recommendations. Use when planning Phase 1/2 trials, assessing trial feasibility, or designing biomarker-driven studies.
tooluniverse-antibody-engineering
Comprehensive antibody engineering and optimization for therapeutic development. Covers humanization, affinity maturation, developability assessment, and immunogenicity prediction. Use when asked to optimize antibodies, humanize sequences, or engineer therapeutic antibodies from lead to clinical candidate.
protein-design-workflow
End-to-end guidance for protein design pipelines. Use this skill when: (1) Starting a new protein design project, (2) Need step-by-step workflow guidance, (3) Understanding the full design pipeline, (4) Planning compute resources and timelines, (5) Integrating multiple design tools. For tool selection, use binder-design. For QC thresholds, use protein-qc.
glycoengineering
Analyze and engineer protein glycosylation. Scan sequences for N-glycosylation sequons (N-X-S/T), predict O-glycosylation hotspots, and access curated glycoengineering tools (NetOGlyc, GlycoShield, GlycoWorkbench). For glycoprotein engineering, therapeutic antibody optimization, and vaccine design.
genome-compare
Compare your genome to George Church (PGP-1) and estimate ancestry composition via IBS and EM admixture
bio-genome-engineering-off-target-prediction
Predict CRISPR off-target sites using Cas-OFFinder and CFD scoring algorithms. Identify potential unintended cleavage sites genome-wide and assess guide specificity. Use when evaluating guide RNA specificity or selecting guides with minimal off-target risk.
bio-genome-engineering-hdr-template-design
Design homology-directed repair donor templates for CRISPR knock-ins using primer3-py. Create ssODN, dsDNA, or plasmid templates with optimized homology arms. Use when designing donor templates for precise insertions, tagging, or allele replacement.
bio-genome-engineering-grna-design
Design guide RNAs for CRISPR-Cas9/Cas12a experiments using CRISPRscan and local scoring algorithms. Score guides for on-target activity using Rule Set 2 and Azimuth models. Use when designing sgRNAs for gene knockout, activation, or repression experiments.
bio-genome-engineering-base-editing-design
Design guides for cytosine and adenine base editing using editing window optimization and BE-Hive outcome prediction. Select optimal positions for C-to-T or A-to-G conversions without double-strand breaks. Use when designing base editor experiments for precise nucleotide changes.
bio-crispr-screens-library-design
CRISPR library design for genetic screens. Covers sgRNA selection, library composition, control design, and oligo ordering. Use when designing custom sgRNA libraries for knockout, activation, or interference screens.
bio-crispr-screens-crispresso-editing
CRISPResso2 for analyzing CRISPR gene editing outcomes. Quantifies indels, HDR efficiency, and generates comprehensive editing reports. Use when analyzing amplicon sequencing data from CRISPR editing experiments to assess editing efficiency.