siRNA(小干扰 RNA)是长度约 21 个碱基对的双链 RNA,通过 RNA 干扰(RNAi)通路发挥作用。它与 ASO 的机制不同,设计规则也不同。
作用机制
- 1. 装载:双链 siRNA 被装载进 RISC(RNA 诱导沉默复合物);
- 2. 链选择:其中一条链(引导链 / antisense)被保留,另一条(过客链 / sense)被降解;
- 3. 靶向:引导链引导 RISC 结合互补的 mRNA;
- 4. 切割:Ago2 蛋白在配对区域中央切割 mRNA。
链选择的偏好性是设计的核心:RISC 倾向保留 5′ 端热力学稳定性较低的那条链。设计时要让引导链的 5′ 端 A/U 富集、过客链的 5′ 端 G/C 富集,确保正确的链被装载——否则过客链被装载会导致完全不同的脱靶效应。
设计规则
from Bio.Seq import Seq
import numpy as np
def design_sirna(mrna_seq, length=19):
"""生成 siRNA 候选并按经验规则打分"""
seq = str(mrna_seq).upper().replace("T", "U")
candidates = []
for i in range(len(seq) - length + 1):
sense = seq[i:i+length]
antisense = str(Seq(sense).reverse_complement())
score = 0
checks = {}
# 规则 1: GC 含量 30~52%
gc = (sense.count("G") + sense.count("C")) / length
checks["gc"] = 0.30 <= gc <= 0.52
score += 2 if checks["gc"] else 0
# 规则 2: 引导链 5' 端应为 A 或 U(利于正确链选择)
checks["guide_5p_au"] = antisense[0] in "AU"
score += 3 if checks["guide_5p_au"] else 0
# 规则 3: 过客链 5' 端应为 G 或 C
checks["passenger_5p_gc"] = sense[0] in "GC"
score += 2 if checks["passenger_5p_gc"] else 0
# 规则 4: 无 4 个以上连续相同碱基
checks["no_repeat"] = not any(b*4 in sense for b in "ACGU")
score += 1 if checks["no_repeat"] else 0
# 规则 5: 3' 端(位置 13-19)A/U 富集
au_3p = sum(1 for b in sense[12:] if b in "AU") / len(sense[12:])
checks["au_3p"] = au_3p >= 0.5
score += 1 if checks["au_3p"] else 0
# 规则 6: 避免内部发夹结构
checks["no_hairpin"] = True # 需用 ViennaRNA 检查
candidates.append({
"position": i, "sense": sense, "antisense": antisense,
"gc": gc, "score": score, "checks": checks,
})
return sorted(candidates, key=lambda x: -x["score"])
脱靶:siRNA 特有的严重问题
siRNA 的脱靶主要来自「种子区效应」,这是它与 ASO 最重要的差别:
- 种子区(seed region)是引导链的 2~8 位核苷酸;
- 只要种子区互补,就可能像 microRNA 一样引起翻译抑制或 mRNA 降解——即使其余部分完全不匹配;
- 一个 7-mer 种子序列在转录组中可能有数百个匹配位点;
- 这意味着脱靶效应几乎不可避免,只能控制而非消除。
def analyze_seed_offtargets(antisense, transcriptome_3utr):
"""分析种子区在 3'UTR 中的匹配(miRNA 样脱靶主要发生在 3'UTR)"""
seed = antisense[1:8] # 2-8 位
seed_match = str(Seq(seed).reverse_complement()).replace("U", "T")
hits = []
for gene, utr in transcriptome_3utr.items():
n = utr.count(seed_match)
if n > 0:
hits.append({"gene": gene, "n_sites": n})
return sorted(hits, key=lambda x: -x["n_sites"])
# 控制种子区脱靶的手段:
# 1) 选择种子区匹配数较少的候选
# 2) 化学修饰种子区(如 2'-O-甲基修饰引导链 2 位)
# 可显著降低 miRNA 样脱靶
# 3) 降低给药剂量
# 4) 用多个不同序列的 siRNA 验证表型
# —— 若表型一致,更可能是靶点效应而非脱靶
第 4 条是实验设计的黄金规则:用 2~3 个序列完全不同但靶向同一基因的 siRNA,若都产生相同表型,才能相对确信是靶点效应。
化学修饰
| 修饰 | 作用 |
|---|---|
| 2′-O-甲基 / 2′-F | 提高稳定性;2′ 修饰模式还影响免疫刺激 |
| 硫代磷酸(末端) | 抗外切酶 |
| 3′ 端 dTdT 悬突 | 经典设计,提高 RISC 装载效率 |
| GalNAc 偶联 | 肝细胞靶向,是已上市 siRNA 药物的主流递送方式 |
| 种子区修饰 | 降低 miRNA 样脱靶 |
| 硫代磷酸骨架 | 提高稳定性但可能增加毒性 |
完全化学修饰 + GalNAc 偶联是目前肝靶向 siRNA 的标准配置:稳定性足够高,可以皮下注射,作用持续数月。
siRNA vs ASO:怎么选
| 维度 | siRNA | ASO(见 375《反义寡核苷酸 ASO》) |
|---|---|---|
| 机制 | RISC / Ago2 切割 | RNase H 降解或空间位阻 |
| 效力 | 通常更强(催化性) | 较弱 |
| 作用时长 | 更持久(数月) | 较短 |
| 脱靶 | 种子区效应严重 | 序列相似性脱靶 |
| 细胞核靶点 | 不适用(RISC 主要在胞质) | 可以(核内 RNase H) |
| 剪接调控 | 不能 | 可以 |
| 递送 | 需要载体或 GalNAc | 裸 ASO 有一定摄取 |
| 靶向非编码 RNA | 部分可以 | 更灵活 |
关键区分:需要调控剪接、靶向核内 RNA,只能用 ASO;追求最强效力与最长作用时间,siRNA 更有优势。
递送:最大的限制
siRNA 带大量负电荷、分子量约 14 kDa,无法自行穿过细胞膜。递送方案(见 378《LNP 递送系统》):
- GalNAc 偶联:肝细胞,已充分验证;
- 脂质纳米颗粒(LNP):主要也是到肝脏;
- 肝外递送仍是最大瓶颈:中枢神经系统、肌肉、肿瘤等组织的高效递送尚未解决,这也是核酸药物适应症集中在肝脏的根本原因。
关键要点
- 链选择偏好是设计核心:引导链 5′ 端要 A/U 富集,确保正确的链被装载;
- 种子区脱靶几乎不可避免,只能控制——用多个不同序列验证表型是必须的;
- 完全化学修饰 + GalNAc 是肝靶向的标准配置,可实现数月作用时长;
- 需要剪接调控或核内靶点时只能用 ASO;肝外递送仍是最大瓶颈。
延伸资源
- ASO 对照:375《反义寡核苷酸 ASO》;mRNA:377《mRNA 序列优化》;递送:378《LNP 递送系统》。