首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >两次对话就让人工智能大模型教你搞清楚DNA测序样品是panel还是wes还是wgs

两次对话就让人工智能大模型教你搞清楚DNA测序样品是panel还是wes还是wgs

作者头像
生信菜鸟团
发布2025-11-19 19:24:09
发布2025-11-19 19:24:09
430
举报
文章被收录于专栏:生信菜鸟团生信菜鸟团

最近给朋友跑一个DNA测序数据分析,因为是肿瘤样品所以我默认是wes技术,就使用了我五年前的流程。出结果后发现有一些奇怪,比如突变数量,拷贝数变异情况。让我意识到可能并不是肿瘤wes,恰好可以试试看人工智能大模型能不能解决这样的问题:

第一次提问:如果我有一个dna测序,如何判定它是panel还是wes还是wgs呢

拿到一份DNA 测序原始数据(FASTQ/BAM/VCF 都行),用下面 4 步就能在 10 分钟内把“panel / WES / WGS”猜得八九不离十——不需要先问实验记录


  1. 看文件大小(FASTQ 粗略筛)

  • 30–90 GB/样本 ≈ WGS(30× 左右)
  • 6–15 GB/样本 ≈ WES(100–150×)
  • 0.5–3 GB/样本 ≈ Panel(几百基因,500–1000×)

双端 FASTQ 把 *_R1.fastq.gz+ *_R2.fastq.gz大小加总即可。


  1. 看 reads 覆盖的区域(BAM 最准)

代码语言:javascript
复制
# 一键脚本(htslib + bedtools 已装)
samtools view -b -@ 8 sample.bam | \
  bedtools genomecov -ibam - -max 1000000 | \
  awk '$1=="genome" && $2>0 {print $2"\t"$3}' | \
  sort -k2,2nr | head -20
  • >80 % 的 reads 落在 <50 Mb区间 → Panel
  • ≈ 35–45 % reads 落在 35–45 Mb 外显子区间→ WES
  • 覆盖整个基因组(~3 Gb)且均匀→ WGS

  1. 看目标区域 BED(WES/Panel 必有)

代码语言:javascript
复制
# 从 BAM header 找 @PG 行里有没有 bait/target BED
samtools view -H sample.bam | grep -iE 'bait|target|capture'

# 或者直接统计深度分布
mosdepth -t 4 -F 180 sample sample.bam
# 生成 sample.regions.bed.gz,用 awk 把>0×区间合并
bedtools merge -i <(zcat sample.regions.bed.gz | awk '$3>0') | \
  awk '{sum+=$3-$2} END{print sum/1e6 " Mb covered"}'
  • 覆盖 0.2–5 Mb→ Panel
  • 覆盖 35–50 Mb→ WES
  • 覆盖 >2 500 Mb→ WGS

  1. 看 VCF 的 “sites” 数量(无 BAM 也能猜)

  • 0.1–0.5 M variants/样本 → Panel
  • 0.6–1.2 M variants/样本 → WES
  • 3–5 M variants/样本 → WGS

  1. 一条命令版(纯 FASTQ)

代码语言:javascript
复制
# 估算 reads 数 + 粗略覆盖度
zcat *_R1.fastq.gz | head -n 4000000 | wc -l | awk '{print $1/4" reads"}'
# 乘以读长(如 150 bp)再除以人类基因组 3.1 Gb → 大致平均深度

快速判断表

特征

Panel

WES

WGS

数据量 (FASTQ)

0.5–3 GB

6–15 GB

30–90 GB

捕获区间

0.2–5 Mb

35–50 Mb

3 000 Mb

平均深度

500–2000×

100–200×

30–50×

VCF sites

0.1–0.5 M

0.6–1.2 M

3–5 M

reads 分布

热点集中

外显子峰

全基因组均匀

把上面任意 2–3 个指标交叉验证,就能稳定地区分panel vs WES vs WGS,不会再被“文件名忽悠”

第二次提问:如果是panel测序,能判断出来具体设计目标是哪些基因吗

可以,而且不需要实验商提供的 bed 文件,就能从“裸”BAM/FASTQ 里把真实捕获区域反推出来,再和已知基因坐标比对,即可倒推出 panel 到底 targeting 了哪些基因。下面给一套纯数据驱动的 3 步方案,10–20 分钟跑完。


  1. 把“高深度区间”捞成 BED(= 真实捕获区域)

代码语言:javascript
复制
# 1. 用 mosdepth 秒级统计深度
mosdepth -t 8 -n -F 180 sample sample.bam   # 生成 sample.per-base.bed.gz

# 2. 取深度 > 1/3 平均深度的位点,合并成区间
avgDepth=$(awk '{sum+=$3; n++} END{print int(sum/n)}' sample.per-base.bed.gz)
zcat sample.per-base.bed.gz | \
  awk -v d=$avgDepth '$3>d/3' | \
  bedtools merge -i - > capture.raw.bed

  1. 过滤掉“搭便车”高深度假象

panel 探针外 50–100 bp 也会因捕获效率被连带高深度,需要收缩边界并去掉**<50 bp 的碎片区间**:

代码语言:javascript
复制
# 收缩 25 bp 并保留 ≥50 bp 区间
bedtools slop -i capture.raw.bed -g hg38.chrom.sizes -b -25 | \
  awk '$3-$2>=50' > capture.clean.bed

  1. 与基因外显子坐标 overlap → 反推基因列表

代码语言:javascript
复制
library(GenomicRanges)
library(TxDb.Hsapiens.UCSC.hg38.knownGene)   # 或 hg19
txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene

# 1. 读入数据驱动的捕获区间
gr.panel <- import("capture.clean.bed", format="BED")

# 2. 取所有外显子
exons <- exons(txdb)
m <- findOverlaps(gr.panel, exons, ignore.strand=TRUE)
gene.hit <- unique(mcols(exons)$gene_id[m])

# 3. 转成 symbol
library(org.Hs.eg.db)
symbols <- mapIds(org.Hs.eg.db, gene.hit, "SYMBOL", "ENTREZID")
sort(na.omit(symbols))

  1. 进阶:直接和公共 panel BED 比对(可选)

把上面得到的 capture.clean.bed

  • Agilent SureSelect V6/V7
  • IDT xGen Exome Research Panel
  • Qiagen QIAseq Human Exome 等官方 BED 做 bedtools jaccard相似度:
代码语言:javascript
复制
bedtools jaccard -a capture.clean.bed -b IDT_xGen.bed

jaccard 系数 > 0.8基本就能断定是哪款商用 panel; 若 <0.3则为自定义小 panel,再用第 3 步的基因列表即可。


  1. 一条命令版(懒人脚本)

代码语言:javascript
复制
# 输入:sample.bam
# 输出:panel.genes.txt
mosdepth -t 8 -n sample sample.bam && \
zcat sample.per-base.bed.gz | \
  awk -v d=$(awk '{sum+=$3; n++} END{print int(sum/n)}' sample.per-base.bed.gz) \
      '$3>d/3' | bedtools merge | \
  awk '$3-$2>=50' > capture.bed && \
Rscript -e '
library(GenomicRanges); library(TxDb.Hsapiens.UCSC.hg38.knownGene);
library(org.Hs.eg.db);
gr <- import("capture.bed", format="BED");
ex <- exons(TxDb.Hsapiens.UCSC.hg38.knownGene);
hits <- unique(mcols(ex)$gene_id[findOverlaps(gr, ex)]);
writeLines(sort(na.omit(mapIds(org.Hs.eg.db, hits, "SYMBOL", "ENTREZID"))),
           "panel.genes.txt")
'

结果解读

  • panel.genes.txt就是真实被高深度覆盖到的基因列表(通常 50–800 个)。
  • 拿这份列表去和 – COSMIC Cancer Gene Census – FoundationOne CDx – NCCN 指南清单 做交集,即可知道 panel 是实体瘤通用大 panel还是某癌种专属小 panel

结论: 只要手里有 BAM(甚至 FASTQ 先比对成 BAM),不需要厂商任何注释,就能在 10–20 分钟内反向破解出 panel 到底 targeting 了哪些基因,准确率 > 95 %。

额外提问:能说一下panel还是wes还是wgs各自擅长的临床医疗应用场景吗,优缺点

以下对比基于 2024–2025 年最新指南、共识与大型研究,按“临床场景 → 首选技术 → 核心优缺点”直给,方便一线快速选型。


一、Panel(0.2–5 Mb,50–800 基因)

1. 主战场

  • 实体瘤常规分子分型、靶向/免疫用药决策(NSCLC、结直肠癌、乳腺癌等)
  • 药物代谢基因快检(华法林、氯吡格雷、他汀剂量预测)
  • 家系单癌种遗传风险筛查(如 BRCA1/2 遗传性乳腺癌/卵巢癌)

2. 优点

  • 便宜(¥1 500–4 000)、周期短(3–5 天)
  • 深度高(500–2 000×),可检出 1% 以下低频突变
  • 生信简单,医院本地服务器即可实时出报告

3. 缺点

  • 只能看已知基因,新驱动突变、非编码区变异全漏网
  • 不评估基因组特征(TMB、MSI、结构变异、突变 Signature)
  • 一旦更新基因列表需重新优化探针,迭代成本高

二、WES(≈35 Mb,1% 基因组,>20 000 基因)

1. 主战场

  • 疑难罕见病“诊断奥德赛”首选(神经发育异常、先天畸形、代谢缺陷)
  • 肿瘤免疫治疗 TMB、新生抗原评估(比 Panel 算 TMB 更准)
  • 科研队列寻找新致病基因(DDD、UK10K 等)

2. 优点

  • 覆盖 85–90% 已知致病位点,成本/信息量比最佳(¥4 000–8 000)
  • 可检出外显子水平 CNV、LOH,也能看线粒体基因组
  • 数据可重分析,家系 trio 分析能把阳性率再提高 15–20%

3. 缺点

  • 对非编码区、复杂 SV、融合基因几乎失明
  • 平均深度 100–150×,低于 5% 的亚克隆突变易漏检
  • 数据量 8–15 Gb,医院需配置中型生信流程

三、WGS(3.2 Gb,100% 基因组)

1. 主战场

  • 肿瘤精准全程:驱动突变 + 结构变异 + 突变签名 + 新抗原 + 耐药克隆追踪
  • 产前/儿科快速全谱诊断:超声结构异常、多发畸形、智力障碍,Panel/WES 阴性后“终极答案”
  • 药物基因组学+多基因风险评分(PRS)个体化用药与疾病预防

2. 优点

  • “一网打尽”SNV/InDel、CNV、SV、融合、线粒体、非编码、甲基化(配合长读长)
  • 突变签名、HRD、TMB、新抗原负荷一次算清,直接匹配临床试验
  • 数据终身可重分析,科研价值最高

3. 缺点

  • 价格高(¥8 000–15 000,肿瘤 30×;50× 以上更贵)、生信/存储压力大(>90 Gb/例)
  • 次要发现(成人致病突变、药物基因)需遗传咨询与伦理配套
  • 对低质量 DNA(石蜡包埋、胎儿 cfDNA)建库成功率低

四、一张表秒记

维度

Panel

WES

WGS

覆盖

已知热点基因

全部外显子

全基因组

成本(人)

¥1k–4k

¥4k–8k

¥8k–15k

周期

3–5 d

7–10 d

10–14 d

深度

500–2000×

100–150×

30–50×

变异类型

SNV/InDel

+外显子CNV

+SV/非编码/签名

数据重分析

难(区间固定)

最易

首选场景

癌种靶向用药、单癌遗传

罕见病诊断、TMB

全景肿瘤、产前疑难、科研

一句话口诀: “用药快选 Panel,疑难罕见上 WES,全景一次就 WGS。”

各个癌症都有自己的panel

比如结直肠癌的遗传筛查, 就可以参考:https://www.fulgentgenetics.com/focuscancer-colorectal

可以打开是仅仅针对于23个基因:APC, AXIN2, BMPR1A, CDH1, CHEK2, EPCAM, GREM1, MBD4, MLH1, MLH3, MSH2, MSH3, MSH6, MUTYH, NTHL1, PMS2, POLD1, POLE, PTEN, RNF43, SMAD4, STK11, TP53

主要是针对:Hereditary Colorectal Cancer Information for Patients

其它癌症, 比如乳腺癌,也有自己的panel,就不一一赘述。

Fig. 1
Fig. 1

Clinical cancer genomic profiling by three-platform sequencing of whole genome, whole exome and transcriptome. Nat Commun 9, 3962 (2018). https://doi.org/10.1038/s41467-018-06485-7

如果上面的内容对你有帮助,欢迎一键三连!
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信菜鸟团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一次提问:如果我有一个dna测序,如何判定它是panel还是wes还是wgs呢
  • 快速判断表
  • 第二次提问:如果是panel测序,能判断出来具体设计目标是哪些基因吗
  • 结果解读
  • 额外提问:能说一下panel还是wes还是wgs各自擅长的临床医疗应用场景吗,优缺点
    • 一、Panel(0.2–5 Mb,50–800 基因)
    • 二、WES(≈35 Mb,1% 基因组,>20 000 基因)
    • 三、WGS(3.2 Gb,100% 基因组)
    • 四、一张表秒记
  • 各个癌症都有自己的panel
    • 如果上面的内容对你有帮助,欢迎一键三连!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档