病原微生物引物探针检索(qPCR/RT-qPCR)
本 Skill 的技术标识为 primer-probe-from-literature。
0. 定位与红线
本 Skill 不设计引物,只做三件事:检索 → 逐字核验 → 带证据输出。
- 绝不生成、补全、推测任何碱基序列。核验不到原文的序列一律不出。
- 每条序列必须定位到具体文献/标准的具体位置(图、表、Methods、补充材料、标准章节号)。
- 每条结果标注来源等级(A/B/C)。A/B 未命中时降级到 C,并显式警示。
- 探针修饰基团原文未注明则写“原文未注明”,不得默认填入 FAM/BHQ1。
- 输出报告可直接用于合成下单,用户可自行核对后提交。
1. 输入解析
收到请求后确认以下槽位,缺则一次性问全:
| 槽位 | 必填 | 说明 |
|---|---|---|
| 靶标病原体 | 是 | 学名 + 俗名 |
| 靶基因/区域 | 否 | 未给则按 §2.4 建议常用靶标 |
| 宿主类别 | 是 | 人 / 动物 / 植物 / 环境 |
| 检测平台 | 是 | 默认 qPCR / RT-qPCR |
| 探针类型 | 否 | 默认不限 |
| 样本基质 | 否 | 影响抑制剂与内参选择 |
| 备选条数 | 否 | 默认 3–5 条 |
2. 检索工作流
2.1 步骤一:A 级来源优先
使用 Web Search 检索对应权威来源池。完整索引见 references/standards-index.md。命中即采,未命中进 §2.2。
2.2 步骤二:B 级来源检索(高复用经典引物)
使用 Web Search 检索 PubMed / PMC / Google Scholar。判定 B 级同时满足:
- 有独立复现证据:≥ 5 篇独立研究直接采用同一序列(是使用,不是引述)。复现证据列 2–3 篇代表作即可。
- 原始文献可获得全文或补充材料,序列可逐字核验。
注意:综述的高被引 ≠ 引物被复用。必须区分“文献被引”与“引物被复用”,后者才是 B 级判据。
2.3 步骤三:C 级兜底
A、B 均无命中时启用:
- 单篇文献报道、未见复现;
- 或原文无法获取全文、无法逐字核验,但有明确出处线索。
C 级整段必须加警示:
> ⚠️ 以下为 C 级结果,仅单篇文献报道 / 未获全文核验,未经独立复现,使用前请自行实验验证。
2.4 靶基因建议库
- 人病原体:病毒保守区(RdRp、N、E)、细菌看家基因 + 毒力基因、真菌 ITS / 28S、寄生虫线粒体基因
- 动物病原体:同上 + WOAH 指定靶区
- 植物病原体:ITS、TEF1、β-tubulin、COI、16S、病原特异性效应基因
仅做建议,最终以检索到的权威方案为准。
3. 逐字核验(不可跳过)
对每条候选:
- 定位原文:拿到全文 / 补充材料 / 标准原文;
- 字符串级比对:调用
scripts/verify_sequence.py,候选序列与原文序列逐字符一致(含方向、修饰标注、简并碱基); - 核验失败处理:
- 原文可获取但序列对不上 → 丢弃;
- 原文无法获取全文 → 标 C 级,注明“未获全文核验”;
- 序列仅出现在二手引用 → 追到原始文献再核验,追不到则丢弃。
4. 参考基因组本地验证(必做)
对每条通过逐字核验的候选,调用 scripts/check_primers_eutils.py 执行在线验证。该脚本通过 NCBI E-utilities 下载目标病原体的参考基因组/参考序列(FASTA),再做本地正、反链逐字比对,确认引物/探针在靶标基因组中的精确命中。
> 设计依据(实测结论):NCBI BLAST 直连(Blast.cgi)对短引物(<20 nt)有限制,短序列 blastn 常出现无命中或高 E 值、难以可靠判定。改用「E-utilities 下载参考序列 → 本地正反链逐字比对」后,命中判定更严格、更可靠(比对是精确字符串匹配,不含 BLAST 的启发式与 E 值阈值)。因此本 Skill 以 E-utilities 本地比对为主验证手段,BLAST 仅作降级/补充。
4.1 脚本能力
scripts/check_primers_eutils.py 支持两种定位参考序列的方式:
-
方式一:按 Accession 直接下载
已知靶基因/靶区的 NCBI Accession(如lipL32的1698408007、16S 的2734842991),用efetch拉取该条 FASTA,做正反链逐字比对。 -
方式二:按物种名检索后下载
用esearch按[Organism]检索,efetch拉取参考基因组/代表序列,再比对。
4.2 脚本参数
python scripts/check_primers_eutils.py \
--forward "ACGT..." \
--reverse "ACGT..." \
--accession "1698408007" \
--output "result.json"
参数说明:
| 参数 | 必填 | 说明 |
|---|---|---|
--forward |
是 | 正向引物序列(5′→3′) |
--reverse |
否 | 反向引物序列(5′→3′);可与 --probe 同时给出 |
--probe |
否 | 探针序列(5′→3′) |
--accession |
否 | 参考序列 Accession(整数,如 1698408007);缺省时需给 --organism 自动检索 |
--organism |
否 | 目标物种学名,用于 esearch 检索参考序列 |
--database |
否 | E-utilities 数据库,默认 nuccore |
--output |
否 | 结果输出路径,默认 stdout |
4.3 脚本输出字段
脚本返回 JSON,包含:
query_type:accession或organismreference_accession:命中的参考序列 Accession 号reference_title:参考序列标题forward_hit:正向引物是否命中(true/false)reverse_hit:反向引物是否命中(含自动取反向互补后的正链/负链判定)probe_hit:探针是否命中(若提供)hit_strand:各序列命中的链(+/-)mismatches:若存在错配,报告错配位置与差异碱基status:SPECIFIC/NON_SPECIFIC/NO_HIT/ERROR
判定规则:正、反引物均能在参考序列的预期链上精确命中(逐字符一致)→ SPECIFIC;仅一方命中或存在错配 → NON_SPECIFIC;均未命中 → NO_HIT。
4.4 验证失败处理
NON_SPECIFIC:在输出中如实标注哪条未命中或错配位置,标记“⚠️ 特异性需注意”。NO_HIT:标注“参考序列中未找到精确匹配,可能引物序列有误、Accession 不匹配、或该靶区不在此参考序列上”。ERROR(网络/API 受限或 Accession 无结果):标注“E-utilities 未执行,需手动在 NCBI 验证”,并给出可直接使用的efetchURL:
https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id={accession}&rettype=fasta&retmode=text
4.5 BLAST 降级路径(仅在 E-utilities 不可用时的补充)
当 E-utilities 无法获得参考序列、且确需物种层面特异性提示时,可退回到 NCBI Primer-BLAST 手动页面:
https://www.ncbi.nlm.nih.gov/tools/primer-blast/index.cgi?LINK_LOC=BlastHome&PRIMER5_START=0&PRIMER5_END=0&PRIMER3_START=0&PRIMER3_END=0&PRIMER_LEFT_INPUT={forward}&PRIMER_RIGHT_INPUT={reverse}&ORGANISM={organism}
注意:短引物 BLAST 结果仅供参考,不替代 §4 的参考序列本地精确比对。
5. 输出格式
对每个靶标输出 3–5 条候选。每条按 references/output-template.md 的字段填写。多条候选并列后附横向对比。
关键字段速查:
- 来源等级 + 来源类型 + 文献/标准编号 + 原始出处定位
- 复用证据(2–3 篇代表作 DOI/PMID)
- F / R / Probe 序列(5′→3′)
- 探针修饰:原文注明则写,未注明写“原文未注明”
- 扩增子长度、Tm(注明算法或“原文未注明”)
- 原文反应条件:原文未提供则写“原文未提供,需自行优化”
- 参考基因组本地验证结果(目标命中 / 命中链 / 错配 / 参考 Accession)
- 合成建议(纯化方式、规模、特殊修饰)
- 备注
5.1 Word 报告交付(必做)
除对话内结构化输出外,必须生成一份可下载的 Word(.docx)报告作为交付产物,在结果中直接呈现给用户。要求:
- 文档结构:标题(靶标病原体 + 检测平台)→ 检索范围与方法说明 → 逐条候选明细(按
references/output-template.md的单条模板)→ 横向对比表 → 合成下单清单(可直接交合成公司)→ 来源与核验说明。 - 每条候选的序列用等宽字体(如 Consolas / Courier New)呈现,避免字母混淆;5′→3′ 方向与修饰基团必须齐全。
- C 级结果在文档中同样保留 §2.3 的整段警示。
- 用 tencent-docx 流水线(或等价 Word 生成方式)产出 .docx,命名规范:
{靶标病原体}_引物探针检索报告.docx(病原体名用英文/学名缩写,避免特殊字符)。 - 报告与对话内 Markdown 内容必须一致,不得出现对话里没有的序列或数据。
6. 找不到 A/B 级时的行为
- 明确告知:“在 A/B 级来源中未找到 XX 靶标的引物探针。”
- 列出检索范围(数据库、标准库、检索式)。
- 若启用 C 级兜底,整段加 §2.3 的警示。
- 绝不因找不到而降低核验标准或生成序列。
7. 输出后自检清单
- [ ] 每条序列都能定位到具体原文位置
- [ ] 每条都有来源等级标注
- [ ] C 级结果已显式警示
- [ ] 探针修饰未注明项已写“原文未注明”
- [ ] 参考基因组本地验证已执行或已标注未执行原因
- [ ] 合成建议已给
- [ ] 反应条件原文未提供时已写“需自行优化”
- [ ] 未出现任何自行生成/补全的碱基
- [ ] 已生成 Word(.docx)报告并在结果中呈现,内容与对话输出一致
8. 边界声明
- 本 Skill 依赖 Web Search 和 NCBI E-utilities。若网络或 API 受限,将大量落入 C 级或报告“未找到”,这是设计预期。
- 参考基因组本地验证为精确字符串比对,结论严格,但仅覆盖所下载参考序列的范围;物种层面交叉特异性需结合参考序列选择综合判断。
- 本 Skill 不做湿实验验证;in-silico 结果不替代实验。
- 本 Skill 不提供临床诊断结论,仅供实验设计与合成参考。