name: clinvar-database description: “查询NCBI ClinVar以获取变体临床意义。通过基因/位置搜索,解释致病性分类,通过E-utilities API或FTP访问,注释VCF文件,用于基因组医学。”
ClinVar 数据库
概述
ClinVar 是 NCBI 的自由访问档案,存储人类遗传变体与表型之间关系的报告,附带支持证据。数据库汇总了基因组变异及其与人类健康关系的信息,提供用于临床遗传学和研究的标准变体分类。
何时使用此技能
此技能应在以下情况下使用:
- 通过基因、条件或临床意义搜索变体
- 解释临床意义分类(致病性、良性、意义未明)
- 通过 E-utilities API 程序化访问 ClinVar 数据
- 从 FTP 下载和处理批量数据
- 理解审查状态和星级评分
- 解决冲突的变体解释
- 用临床意义注释变体调用集
核心能力
1. 搜索和查询 ClinVar
网络界面查询
在 https://www.ncbi.nlm.nih.gov/clinvar/ 使用网络界面搜索 ClinVar
常见搜索模式:
- 按基因:
BRCA1[gene] - 按临床意义:
pathogenic[CLNSIG] - 按条件:
breast cancer[disorder] - 按变体:
NM_000059.3:c.1310_1313del[variant name] - 按染色体:
13[chr] - 组合:
BRCA1[gene] AND pathogenic[CLNSIG]
通过 E-utilities 程序化访问
使用 NCBI 的 E-utilities API 程序化访问 ClinVar。参考 references/api_reference.md 获取全面的 API 文档,包括:
- esearch - 搜索匹配条件的变体
- esummary - 检索变体摘要
- efetch - 下载完整 XML 记录
- elink - 在其他 NCBI 数据库中查找相关记录
使用 curl 的快速示例:
# 搜索致病性 BRCA1 变体
curl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=clinvar&term=BRCA1[gene]+AND+pathogenic[CLNSIG]&retmode=json"
最佳实践:
- 自动化前在网络界面测试查询
- 使用 API 密钥将速率限制从 3 次/秒提高到 10 次/秒
- 对速率限制错误实施指数退避
- 使用 Biopython 时设置
Entrez.email
2. 解释临床意义
理解分类
ClinVar 使用标准术语进行变体分类。参考 references/clinical_significance.md 获取详细的解释指南。
关键种系分类术语(ACMG/AMP):
- 致病性 (P) - 变体导致疾病(约 99% 概率)
- 可能致病性 (LP) - 变体很可能导致疾病(约 90% 概率)
- 意义未明 (VUS) - 证据不足无法分类
- 可能良性 (LB) - 变体很可能不导致疾病
- 良性 (B) - 变体不导致疾病
审查状态(星级评分):
- ★★★★ 实践指南 - 最高置信度
- ★★★ 专家小组审查(如 ClinGen) - 高置信度
- ★★ 多个提交者,无冲突 - 中等置信度
- ★ 单一提交者带标准 - 标准权重
- ☆ 无断言标准 - 低置信度
关键考虑:
- 始终检查审查状态 - 优先选择 ★★★ 或 ★★★★ 评分
- 冲突解释需要手动评估
- 分类可能随新证据出现而改变
- VUS(意义未明)变体缺乏足够的临床使用证据
3. 从 FTP 下载批量数据
访问 ClinVar FTP 站点
从 ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/ 下载完整数据集
参考 references/data_formats.md 获取文件格式和处理的全面文档。
更新计划:
- 月度发布:每月第一个星期四(完整数据集,存档)
- 每周更新:每星期一(增量更新)
可用格式
XML 文件(最全面):
- VCV(变异)文件:
xml/clinvar_variation/- 变体中心聚合 - RCV(记录)文件:
xml/RCV/- 变体-条件对 - 包含完整提交细节、证据和元数据
VCF 文件(用于基因组管道):
- GRCh37:
vcf_GRCh37/clinvar.vcf.gz - GRCh38:
vcf_GRCh38/clinvar.vcf.gz - 限制:排除 >10kb 变体和复杂结构变体
制表符分隔文件(用于快速分析):
tab_delimited/variant_summary.txt.gz- 所有变体摘要tab_delimited/var_citations.txt.gz- PubMed 引文tab_delimited/cross_references.txt.gz- 数据库交叉引用
示例下载:
# 下载最新月度 XML 发布
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/xml/clinvar_variation/ClinVarVariationRelease_00-latest.xml.gz
# 下载 GRCh38 的 VCF
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz
4. 处理和解析 ClinVar 数据
处理 XML 文件
处理 XML 文件以提取变体细节、分类和证据。
使用 xml.etree 的 Python 示例:
import gzip
import xml.etree.ElementTree as ET
with gzip.open('ClinVarVariationRelease.xml.gz', 'rt') as f:
for event, elem in ET.iterparse(f, events=('end',)):
if elem.tag == 'VariationArchive':
variation_id = elem.attrib.get('VariationID')
# 提取临床意义、审查状态等
elem.clear() # 释放内存
处理 VCF 文件
使用 bcftools 或 Python 注释变体调用或按临床意义过滤。
使用 bcftools:
# 过滤致病性变体
bcftools view -i 'INFO/CLNSIG~"Pathogenic"' clinvar.vcf.gz
# 提取特定基因
bcftools view -i 'INFO/GENEINFO~"BRCA"' clinvar.vcf.gz
# 用 ClinVar 注释您的 VCF
bcftools annotate -a clinvar.vcf.gz -c INFO your_variants.vcf
使用 Python 中的 PyVCF:
import vcf
vcf_reader = vcf.Reader(filename='clinvar.vcf.gz')
for record in vcf_reader:
clnsig = record.INFO.get('CLNSIG', [])
if 'Pathogenic' in clnsig:
gene = record.INFO.get('GENEINFO', [''])[0]
print(f"{record.CHROM}:{record.POS} {gene} - {clnsig}")
处理制表符分隔文件
使用 pandas 或命令行工具进行快速过滤和分析。
使用 pandas:
import pandas as pd
# 加载变体摘要
df = pd.read_csv('variant_summary.txt.gz', sep='\t', compression='gzip')
# 过滤特定基因中的致病性变体
pathogenic_brca = df[
(df['GeneSymbol'] == 'BRCA1') &
(df['ClinicalSignificance'].str.contains('Pathogenic', na=False))
]
# 按临床意义计数变体
sig_counts = df['ClinicalSignificance'].value_counts()
使用命令行工具:
# 提取特定基因的致病性变体
zcat variant_summary.txt.gz | \
awk -F'\t' '$7=="TP53" && $13~"Pathogenic"' | \
cut -f1,5,7,13,14
5. 处理冲突解释
当多个提交者对同一变体提供不同分类时,ClinVar 报告“致病性解释冲突”。
解决策略:
- 检查审查状态(星级评分) - 更高评分权重更大
- 检查每个提交者的证据和断言标准
- 考虑提交日期 - 新提交可能反映更新证据
- 查看人群频率数据(如 gnomAD)以获取上下文
- 有可用时参考专家小组分类(★★★)
- 临床使用时,始终咨询遗传学专业人士
排除冲突的搜索查询:
TP53[gene] AND pathogenic[CLNSIG] NOT conflicting[RVSTAT]
6. 跟踪分类更新
变体分类可能随时间变化,随新证据出现。
分类变化的原因:
- 新功能研究或临床数据
- 更新的人群频率信息
- 修订的 ACMG/AMP 指南
- 来自额外家庭的分离数据
最佳实践:
- 记录 ClinVar 版本和访问日期以确保可重复性
- 定期重新检查关键变体的分类
- 订阅 ClinVar 邮件列表以获取重大更新
- 使用月度存档发布获取稳定数据集
7. 向 ClinVar 提交数据
组织可以向 ClinVar 提交变体解释。
提交方法:
- 网络提交门户:https://submit.ncbi.nlm.nih.gov/subs/clinvar/
- API 提交(需要服务账户):参见
references/api_reference.md - 通过 Excel 模板批量提交
要求:
- 带 NCBI 的组织账户
- 断言标准(最好使用 ACMG/AMP 指南)
- 分类的支持证据
联系方式:clinvar@ncbi.nlm.nih.gov 用于提交账户设置。
工作流程示例
示例 1:识别基因中的高置信度致病性变体
目标: 查找 CFTR 基因中带有专家小组审查的致病性变体。
步骤:
- 使用网络界面或 E-utilities 搜索:
CFTR[gene] AND pathogenic[CLNSIG] AND (reviewed by expert panel[RVSTAT] OR practice guideline[RVSTAT]) - 审查结果,注意审查状态(应为 ★★★ 或 ★★★★)
- 导出变体列表或通过 efetch 检索完整记录
- 如适用,交叉引用临床表现
示例 2:用 ClinVar 分类注释 VCF
目标: 向变体调用添加临床意义注释。
步骤:
- 下载适当的 ClinVar VCF(匹配基因组构建:GRCh37 或 GRCh38):
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz.tbi - 使用 bcftools 注释:
bcftools annotate -a clinvar.vcf.gz \ -c INFO/CLNSIG,INFO/CLNDN,INFO/CLNREVSTAT \ -o annotated_variants.vcf \ your_variants.vcf - 过滤注释后的 VCF 以获取致病性变体:
bcftools view -i 'INFO/CLNSIG~"Pathogenic"' annotated_variants.vcf
示例 3:分析特定疾病的变体
目标: 研究所有与遗传性乳腺癌相关的变体。
步骤:
- 按条件搜索:
hereditary breast cancer[disorder] OR "Breast-ovarian cancer, familial"[disorder] - 将结果下载为 CSV 或通过 E-utilities 检索
- 按审查状态过滤以优先考虑高置信度变体
- 分析跨基因的分布(BRCA1、BRCA2、PALB2 等)
- 单独检查冲突解释的变体
示例 4:批量下载和数据库构建
目标: 为分析管道构建本地 ClinVar 数据库。
步骤:
- 下载月度发布以确保可重复性:
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/xml/clinvar_variation/ClinVarVariationRelease_YYYY-MM.xml.gz - 解析 XML 并加载到数据库(PostgreSQL、MySQL、MongoDB)
- 按基因、位置、临床意义、审查状态索引
- 实现更新版本跟踪
- 从 FTP 站点安排月度更新
重要限制和考虑
数据质量
- 并非所有提交权重相等 - 检查审查状态(星级评分)
- 存在冲突解释 - 需要手动评估
- 历史提交可能过时 - 新数据可能更准确
- VUS 分类不是临床诊断 - 意味着证据不足
范围限制
- 不用于直接临床诊断 - 始终涉及遗传学专业人士
- 人群特定 - 变体频率随血统变化
- 覆盖不完整 - 并非所有基因或变体都经过充分研究
- 版本依赖 - 跨分析协调基因组构建(GRCh37/GRCh38)
技术限制
- VCF 文件排除大变体 - 变体 >10kb 不在 VCF 格式中
- API 速率限制 - 无密钥时 3 次/秒,有 API 密钥时 10 次/秒
- 文件大小 - 完整 XML 发布是多 GB 压缩文件
- 无实时更新 - 网站每周更新,FTP 月度/每周更新
资源
参考文档
此技能包括全面的参考文档:
-
references/api_reference.md- 完整的 E-utilities API 文档,包括 esearch、esummary、efetch 和 elink 的示例;包括速率限制、身份验证和 Python/Biopython 代码示例 -
references/clinical_significance.md- 解释临床意义分类、审查状态星级评分、冲突解决和变体解释最佳实践的详细指南 -
references/data_formats.md- XML、VCF 和制表符分隔文件格式的文档;FTP 目录结构、处理示例和格式选择指导
外部资源
- ClinVar 主页:https://www.ncbi.nlm.nih.gov/clinvar/
- ClinVar 文档:https://www.ncbi.nlm.nih.gov/clinvar/docs/
- E-utilities 文档:https://www.ncbi.nlm.nih.gov/books/NBK25501/
- ACMG 变体解释指南:Richards 等,2015(PMID:25741868)
- ClinGen 专家小组:https://clinicalgenome.org/
联系
有关 ClinVar 或数据提交的问题:clinvar@ncbi.nlm.nih.gov