ClinVar临床变异数据库
一句话概述:ClinVar是NCBI维护的公共数据库,汇集了基因变异与人类健康之间关系的信息,是临床遗传学变异解读的核心参考数据库,每个变异都有明确的致病性分类。
核心知识点速查表
| 概念 | 说明 |
|---|
| ClinVar | 临床变异数据库(白话:基因变异的"病历档案库") |
| 致病性分类 | Pathogenic/Likely pathogenic/VUS/Likely benign/Benign |
| VUS | Variant of Uncertain Significance,临床意义不明的变异 |
| ACMG指南 | 美国医学遗传学学会的变异分类标准 |
| RCV | ClinVar的参考变异记录号 |
| SCV | 各提交者提交的变异记录号 |
| 星级评审 | 0-4星评估证据级别 |
一、ACMG变异分类标准
| 分类 | 含义 | 临床行动 |
|---|
| Pathogenic(致病) | 确定致病 | 可用于临床诊断 |
| Likely pathogenic(可能致病) | 很可能致病(>90%概率) | 可用于临床,需谨慎 |
| VUS(意义不明) | 证据不足 | 不用于临床决策 |
| Likely benign(可能良性) | 很可能无害 | 通常不报告 |
| Benign(良性) | 确定无害 | 不报告 |
星级评审系统
| 星级 | 含义 |
|---|
| ★★★★ | 专家组审核,证据最充分 |
| ★★★ | 多个提交者一致认定 |
| ★★ | 至少2个提交者有评估标准 |
| ★ | 单个提交者 |
| 无星 | 无评估标准 |
二、ClinVar数据获取
2.1 网页查询
# === ClinVar网页查询 ===
# 访问: https://www.ncbi.nlm.nih.gov/clinvar/
# 搜索方式:
# 1. 基因名搜索: BRCA1
# 2. 变异搜索: NM_007294.4:c.5266dupC
# 3. 条件搜索: BRCA1[gene] AND pathogenic[clnsig]
# 4. 基因组坐标: chr17:43094692 (GRCh38)
2.2 FTP批量下载
# === 从NCBI FTP下载ClinVar数据 ===
# VCF格式(最常用于变异注释)
wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz
wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz.tbi
# XML格式(最完整的信息)
wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/xml/ClinVarFullRelease_00-latest.xml.gz
# 制表符分隔格式(便于分析)
wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/tab_delimited/variant_summary.txt.gz
gunzip variant_summary.txt.gz
2.3 Entrez API查询
# === Python通过Entrez API查询ClinVar ===
from Bio import Entrez
import xml.etree.ElementTree as ET
Entrez.email = "your_email@example.com" # 设置邮箱(NCBI要求)
# 搜索特定基因的致病变异
handle = Entrez.esearch(
db="clinvar", # 数据库
term="BRCA1[gene] AND pathogenic[clnsig]", # 查询条件
retmax=100 # 最大返回数
)
result = Entrez.read(handle)
ids = result["IdList"] # 获取变异ID列表
print(f"找到 {len(ids)} 个致病变异")
# 获取详细信息
handle = Entrez.efetch(
db="clinvar",
id=ids[:5], # 获取前5个
rettype="vcv", # VCV格式
retmode="xml" # XML格式
)
data = handle.read()
print(data[:2000]) # 打印前2000字符
三、ClinVar在变异注释中的应用
3.1 使用ANNOVAR注释
# === ANNOVAR整合ClinVar注释 ===
# 下载ClinVar注释数据库
annotate_variation.pl \
-buildver hg38 \ # 参考基因组版本
-downdb \ # 下载模式
-webfrom annovar \ # 从ANNOVAR服务器下载
clinvar_20240917 \ # ClinVar版本
humandb/ # 数据库目录
# 注释VCF文件
table_annovar.pl \
input.avinput \ # 输入变异文件
humandb/ \ # 数据库目录
-buildver hg38 \ # 基因组版本
-protocol refGene,clinvar_20240917 \ # 注释协议
-operation g,f \ # 操作类型(g=基因, f=过滤)
-out annotated # 输出前缀
3.2 使用VEP注释
# === Ensembl VEP整合ClinVar ===
vep \
--input_file input.vcf \ # 输入VCF
--output_file annotated.vcf \ # 输出文件
--format vcf \ # 输入格式
--vcf \ # 输出VCF格式
--cache \ # 使用缓存
--assembly GRCh38 \ # 基因组版本
--custom clinvar.vcf.gz,ClinVar,vcf,exact,0,CLNSIG,CLNDN \ # ClinVar自定义注释
--fork 4 # 并行数
3.3 使用SnpSift过滤ClinVar变异
# === SnpSift过滤ClinVar注释的VCF ===
# 提取致病变异
SnpSift filter \
"(exists CLNSIG) && (CLNSIG has 'Pathogenic')" \ # 过滤致病变异
annotated.vcf > pathogenic_variants.vcf # 输出
# 按星级过滤
SnpSift filter \
"(CLNREVSTAT has 'reviewed_by_expert_panel')" \ # 专家组审核
annotated.vcf > expert_reviewed.vcf
四、ClinVar数据分析
# === Python分析ClinVar数据 ===
import pandas as pd
# 读取variant_summary
df = pd.read_csv("variant_summary.txt", sep="\t",
low_memory=False) # 读取数据
# 基本统计
print(f"总变异数: {len(df)}")
print(f"\n致病性分类统计:")
print(df['ClinicalSignificance'].value_counts().head(10))
# 按基因统计致病变异
pathogenic = df[df['ClinicalSignificance'].str.contains('Pathogenic', na=False)]
gene_counts = pathogenic['GeneSymbol'].value_counts().head(20)
print(f"\n致病变异最多的前20个基因:")
print(gene_counts)
# 按疾病统计
disease_counts = pathogenic['PhenotypeList'].value_counts().head(20)
print(f"\n最常见的疾病关联:")
print(disease_counts)
# === R语言查询ClinVar(使用rentrez) ===
library(rentrez)
# 搜索ClinVar
search <- entrez_search(
db = "clinvar",
term = "BRCA1[gene] AND pathogenic[clnsig] AND missense[vartype]",
retmax = 50
)
print(paste("找到", search$count, "个变异"))
# 获取摘要
summaries <- entrez_summary(db="clinvar", id=search$ids[1:5])
五、面试高频考点
Q1: ClinVar的致病性分类依据什么标准?
- 基于ACMG/AMP 2015指南的5级分类
- 综合考虑:群体频率、功能实验、共分离、计算预测、文献报道
- 关键判断标准:
- 致病:PVS1(无功能变异)+PS1(相同氨基酸改变已知致病)+...
- 良性:BA1(人群频率>5%)+BS1+...
- 白话:就像法院判案,需要多种证据综合判断
Q2: VUS(意义不明变异)怎么处理?
- 不能用于临床诊断
- 可以:①等待更多证据 ②做功能实验验证 ③查其他数据库交叉验证
- 随着数据积累,部分VUS会被重新分类
- 临床报告中需说明VUS的存在但不作为诊断依据
Q3: ClinVar和COSMIC的区别?
| ClinVar | COSMIC |
|---|
| 变异类型 | 胚系变异(遗传的) | 体细胞变异(后天获得的) |
| 应用场景 | 遗传病诊断 | 癌症研究 |
| 分类体系 | 致病性5级分类 | 驱动/乘客突变 |
| 数据来源 | 临床实验室提交 | 肿瘤测序研究 |
常见报错与解决
| 问题 | 原因 | 解决方案 |
|---|
| 基因组版本不匹配 | GRCh37 vs GRCh38 | 用liftOver转换坐标 |
| 变异ID找不到 | ClinVar版本更新 | 下载最新版ClinVar |
| 致病性分类冲突 | 不同提交者意见不同 | 看星级评审和证据总结 |
| 下载文件太大 | variant_summary约2GB | 用grep预过滤再处理 |
速查表
# === ClinVar速查 ===
# 官网: https://www.ncbi.nlm.nih.gov/clinvar/
# FTP: https://ftp.ncbi.nlm.nih.gov/pub/clinvar/
# 搜索语法: GENE[gene] AND pathogenic[clnsig]
# 数据文件:
# clinvar.vcf.gz - VCF格式(注释用)
# variant_summary.txt.gz - 制表符格式(分析用)
# 致病性: Pathogenic > Likely pathogenic > VUS > Likely benign > Benign
# 星级: ★★★★(专家组) > ★★★(一致) > ★★(有标准) > ★(单提交)
# 常用注释工具: ANNOVAR, VEP, SnpEff/SnpSift, InterVar