/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.
Claude Code
$ npx -y skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-engineering-prime-editing-design --agent claude-code
Codex
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-engineering-prime-editing-design -a codex -y
Cursor
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-engineering-prime-editing-design -a cursor -y
Gemini CLI
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-engineering-prime-editing-design -a gemini-cli -y
GitHub Copilot
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-engineering-prime-editing-design -a github-copilot -y
OpenCode
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-engineering-prime-editing-design -a opencode -y
Windsurf
$ npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-engineering-prime-editing-design -a windsurf -y
SKILL.md
bio-genome-engineering-prime-editing-design.SKILL.mdname: bio-genome-engineering-prime-editing-design
description: 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.
tool_type: python
primary_tool: PrimeDesign
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
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
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
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_staRead more
name: bio-genome-engineering-prime-editing-design description: 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. tool_type: python primary_tool: PrimeDesign
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
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
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
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_staOther skills on openclaw-medical-skills.
adaptyv
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental…
adhd-daily-planner
Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time…
aeon
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting,…
agent-browser
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data,…
More skills from other plugins.
paddleocr-doc-parsing
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
13c-metabolic-flux
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…
Questions about bio-genome-engineering-prime-editing-design.
- Which coding agents can use bio-genome-engineering-prime-editing-design?
- bio-genome-engineering-prime-editing-design installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

