关于 clinvar-database
此技能介绍如何搜索和处理 ClinVar 数据;ClinVar 是 NCBI 收录人类遗传变异解读及支持证据的档案。内容涵盖 E-utilities 查询、批量下载、临床意义审查和变异注释流程。
主要功能
- 01按基因、疾病或临床意义搜索
- 02通过 E-utilities 获取记录
- 03下载 XML、VCF 和表格数据
- 04审查分类及星级评审状态
- 05使用 ClinVar 数据注释变异调用
适用场景
- 01查找高可信度的致病变异
- 02为 VCF 添加临床分类注释
- 03研究与某种疾病相关的变异
- 04构建本地 ClinVar 数据集
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jackspace/ claudeskillz --skill clinvar-database安装后在 Claude Code 中输入/clinvar-database确认已加载。
附带文件SKILL.json
详细介绍
ClinVar 数据库
概述
ClinVar 是 NCBI 免费开放的档案库,收录了人类遗传变异与表型之间关系的报告及支持证据。该数据库汇总了基因组变异及其与人类健康的关系信息,并提供用于临床遗传学和研究的标准化变异分类。
何时使用此技能
在以下情形中应使用此技能:
- 按基因、疾病或临床意义搜索变异
- 解读临床意义分类(致病、良性、意义未明变异)
- 通过 E-utilities API 以编程方式访问 ClinVar 数据
- 从 FTP 下载和处理批量数据
- 了解审查状态和星级评分
- 解决存在冲突的变异解读
- 为变异调用集添加临床意义注释
核心功能
1. 搜索和查询 ClinVar
Web 界面查询
通过 https://www.ncbi.nlm.nih.gov/clinvar/ 使用 ClinVar Web 界面搜索
常见搜索模式:
- 按基因:
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。完整的 API 文档请参阅 references/api_reference.md,其中包括:
- esearch - 搜索符合条件的变异
- esummary - 获取变异摘要
- efetch - 下载完整的 XML 记录
- elink - 查找 NCBI 其他数据库中的相关记录
使用 curl 的快速示例:
# Search for pathogenic BRCA1 variants
curl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=clinvar&term=BRCA1[gene]+AND+pathogenic[CLNSIG]&retmode=json"
最佳实践:
- 自动化前先在 Web 界面中测试查询
- 使用 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 - 局限性:不包含大于 10 kb 的变异和复杂结构变异
制表符分隔文件(用于快速分析):
tab_delimited/variant_summary.txt.gz- 所有变异的摘要tab_delimited/var_citations.txt.gz- PubMed 引文tab_delimited/cross_references.txt.gz- 数据库交叉引用
下载示例:
# Download latest monthly XML release
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/xml/clinvar_variation/ClinVarVariationRelease_00-latest.xml.gz
# Download VCF for GRCh38
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')
# Extract clinical significance, review status, etc.
elem.clear() # Free memory
使用 VCF 文件
使用 bcftools 或 Python 对变异调用进行注释,或按临床意义筛选。
使用 bcftools:
# Filter pathogenic variants
bcftools view -i 'INFO/CLNSIG~"Pathogenic"' clinvar.vcf.gz
# Extract specific genes
bcftools view -i 'INFO/GENEINFO~"BRCA"' clinvar.vcf.gz
# Annotate your VCF with ClinVar
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
# Load variant summary
df = pd.read_csv('variant_summary.txt.gz', sep='\t', compression='gzip')
# Filter pathogenic variants in specific gene
pathogenic_brca = df[
(df['GeneSymbol'] == 'BRCA1') &
(df['ClinicalSignificance'].str.contains('Pathogenic', na=False))
]
# Count variants by clinical significance
sig_counts = df['ClinicalSignificance'].value_counts()
使用命令行工具:
# Extract pathogenic variants for specific gene
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 提交变异解读。
提交方式:
- Web 提交门户:https://submit.ncbi.nlm.nih.gov/subs/clinvar/
- API 提交(需要服务账户):参见
references/api_reference.md - 通过 Excel 模板批量提交
要求:
- NCBI 组织账户
- 判定标准(建议使用 ACMG/AMP 指南)
- 支持分类的证据
联系 [email protected] 设置提交账户。
工作流示例
示例 1:识别基因中的高置信度致病变异
目标: 查找 CFTR 基因中经过专家组审查的致病变异。
步骤:
- 使用 Web 界面或 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 文件不包含大型变异——VCF 格式中不包括大于 10kb 的变异
- API 有速率限制——不使用密钥时为 3 req/sec,使用 API 密钥时为 10 req/sec
- 文件大小——完整 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 或数据提交的问题,请联系:[email protected]