# Sirna Design

> 自动化 siRNA 药物设计流水线（16 步）——siDirect 设计、热力学/可及性、miRNA seed、脱靶 BLAST、基因组坐标、gnomAD 变异、家族保守性、多物种脱靶、21 参数评分、对标已上市药（Inclisiran/Plozasiran 等）。Use when the user asks to design siRNA, run siRNA design pipeline, analyze siRNA off-targets, knock down a gene with siRNA, compare candidates with approved siRNA drugs, or mentions siDirect / siRNA 设计 / 脱靶 / Inclisiran. Works standalone via CLI on Windows/macOS/Linux.

- Skill: `kelinchen/sirna-design` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add kelinchen/sirna-design`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kelinchen/sirna-design/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: kelinchen (https://skillmd.com/u/kelinchen)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/kelinchen/sirna-design

---


# siRNA Design（自动化设计流水线）

## 这是什么

一套 **16 步全自动 siRNA 设计流水线**（Python）：从靶基因出发，输出候选 siRNA + 安全性检查（脱靶/变异/家族/多物种）+ 与已上市药物对标。

- 参数与规则**运行前锁定**（pre-registered）：算法、阈值、评分框架全部固定，见 `references/sop.md`
- 计算只做筛选，候选最终需湿实验验证

## 前置条件

- Python 3.9+
- 依赖安装：`pip install -r requirements.txt`（viennarna、openpyxl）
- **使用前请先开启 VPN / 代理**（BLAST 步骤需访问 NCBI，国内网络尤其）
- 网络：需访问 NCBI / siDirect / Ensembl / gnomAD / UniProt / ChEMBL
  - BLAST 步骤会自动选择可用通道（含本地代理自动探测），通常无需配置（详见 `references/troubleshooting.md`）

## 快速开始（一条命令跑完 16 步）

```bash
python scripts/pipeline_sirna.py <基因名> <转录本ID> <CDS起始> <目标关键词> [选项]
```

示例：

```bash
# 最小用法
python scripts/pipeline_sirna.py APOC3 ENST00000227667 48 "apolipoprotein C3" -workdir ./out

# 含家族分析 + 对标药物
python scripts/pipeline_sirna.py PCSK9 ENST00000261751 291 "proprotein convertase" -family "Q8NBP7" -drug "inclisiran" -workdir ./out
```

| 选项 | 说明 |
|:---|:---|
| `-workdir <目录>` | 输出目录（默认 `./sirna_work`） |
| `-prefix <名>` | 输出前缀（默认 = 基因名） |
| `-family <UniProt,...>` | 家族成员（Step 12；靶 UniProt 自动推导） |
| `-drug <名>` | 对标药物（Step 15-16） |
| `-species <a,b>` | 多物种（默认 小鼠/大鼠/猕猴） |

> **运行前先与用户确认输出目录**（`-workdir`，默认 `./sirna_work`）——由 agent 询问用户；脚本保持非交互，便于自动化与批量调用。

## 16 步与脚本对照（可单独运行）

| Step | 脚本 | 作用 | 单独运行 |
|:---|:---|:---|:---|
| 1 | `step01_fetch_sequence.py` | NCBI 获取 RefSeq mRNA | `python scripts/step01_fetch_sequence.py <基因> <out.fasta>` |
| 2 | `step02_sidirect_design.py` | siDirect 设计（API，含 Step 3 提取 / Step 7 specificity） | `python scripts/step02_sidirect_design.py <fasta> <out.csv> [-loose] [-spe mm_refseq230]` |
| 4 | `step04_thermo.py` | seed Tm / duplex MFE | `python scripts/step04_thermo.py <candidates.csv> <out.csv>` |
| 5 | `step05_accessibility.py` | 可及性评分 | `python scripts/step05_accessibility.py <candidates.csv> <mrna.fasta> <out.csv>` |
| 6 | `step06_mirna_seed.py` | miRNA seed 检查 | `python scripts/step06_mirna_seed.py <candidates.csv> assets/mirgenedb_hsa_mature.fa <out.csv>` |
| 7 | `step07_specificity.py` | 脱靶确认：解析 siDirect 网页导出的 Excel（手动路线；文件由用户提供） | `python scripts/step07_specificity.py <xlsx>` |
| 8 | `step08_offtarget_hits.py` + `step08_offtarget_score.py` | BLAST XML -> 脱靶表 -> 评分 | 见流水线（或 `step08_offtarget_score.py csv <hits.csv> <out.csv>`） |
| 9 | `step09_genome_coords.py` | cDNA -> 基因组坐标（Ensembl） | `python scripts/step09_genome_coords.py <ENST> <区域> [out.csv]` |
| 10 | `step10_snp.py` | gnomAD 变异查询 | `python scripts/step10_snp.py <chr> <start> <stop> <out.csv>` |
| 11 | `step11_variant.py` | 变异靶向检查 | `python scripts/step11_variant.py <cand_genome.csv> <gnomAD.csv> <out.csv>` |
| 12 | `step12_family.py` | 家族保守性 | `python scripts/step12_family.py <UniProt> <成员,...> <aa起> <aa止> [out.csv]` |
| 13 | `step13_multispecies.py` | 多物种 BLAST（也用于 Step 8 人 BLAST） | `python scripts/step13_multispecies.py <guide DNA> <前缀> ["物种"]` |
| 14 | `step14_score.py` | 21 参数综合评分 | `python scripts/step14_score.py <candidates.csv> <out.csv> [cds_start] [变异CSV]` |
| 15 | `step15_chembl.py` + `step15_patent.py` | 药物序列（ChEMBL / NCBI 专利） | `python scripts/step15_chembl.py <药物名> <out.csv>` |
| 16 | `step16_compare.py` | 对标药物靶区 | `python scripts/step16_compare.py <mrna.fasta> <药物guide> [cds_start] [cds_end]` |

## 关键参数（pre-registered）

| 参数 | 值 | 依据 |
|:---|:---|:---|
| siDirect 算法 | Ui-Tei + Reynolds + Amarzguioui | 多证据交叉 |
| siDirect seed Tm | 21.5 C | Ui-Tei 2008 |
| GC 范围 | 30-70%（筛选）；36-52%（评分） | 宽筛 + Reynolds |
| 脱靶阈值 | 0mm <= 1；1mm <= 10；2mm <= 50 | siRNAforge |
| 综合评分 | 21 参数（序列 0-17 + 安全性 0-2 = 19） | Fakhr 2016 + 扩展 |

完整参数、决策规则、湿实验清单见 `references/sop.md`。

## 输出

默认输出到 `<workdir>/`，命名 `<前缀>_<步骤名>.csv|.fasta|.xml`：

- `*_step02_candidates.csv`：候选（position/靶序列/guide/passenger/算法/特异）
- `*_step04_thermo.csv`、`*_step05_accessibility.csv`、`*_step06_mirna_seed.csv`
- `*_step09_coords.csv`、`*_step10_variants_*.csv`、`*_step11_variant_check.csv`
- `*_step14_scored.csv`：综合评分排序（最终候选表）
- `*_step15_chembl.csv` / `*_step15_patent.csv`：对标药物序列

CSV 均为 UTF-8-SIG（Excel 可直接打开）。

## 故障排除

- 网络/代理/速率限制/常见错误：`references/troubleshooting.md`
- 完整 SOP：`references/sop.md`

