376

siRNA 设计:靶向选择与脱靶预测

siRNA 通过 RNAi 通路降解目标 mRNA。这篇讲清设计规则、脱靶预测与化学修饰的作用。

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;肝外递送仍是最大瓶颈。

延伸资源