mcpField
C
clinvar-database

clinvar-database

github.com/jackspace数据与数据库1635 次安装12 周前更新
代码仓库

关于 clinvar-database

此技能介绍如何搜索和处理 ClinVar 数据;ClinVar 是 NCBI 收录人类遗传变异解读及支持证据的档案。内容涵盖 E-utilities 查询、批量下载、临床意义审查和变异注释流程。

主要功能

  1. 01按基因、疾病或临床意义搜索
  2. 02通过 E-utilities 获取记录
  3. 03下载 XML、VCF 和表格数据
  4. 04审查分类及星级评审状态
  5. 05使用 ClinVar 数据注释变异调用

适用场景

  1. 01查找高可信度的致病变异
  2. 02为 VCF 添加临床分类注释
  3. 03研究与某种疾病相关的变异
  4. 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 会报告“致病性解读存在冲突”。

解决策略:

  1. 查看审查状态(星级评级)——评级越高,参考权重越大
  2. 检查每位提交者提供的证据和判定标准
  3. 考虑提交日期——较新的提交可能反映了更新的证据
  4. 结合人群频率数据(例如 gnomAD)进行判断
  5. 如有专家组分类(★★★),请予以参考
  6. 用于临床时,务必遵从遗传学专业人员的意见

排除冲突记录的搜索查询:

TP53[gene] AND pathogenic[CLNSIG] NOT conflicting[RVSTAT]
6. 跟踪分类更新

随着新证据出现,变异分类可能会随时间变化。

分类发生变化的原因:

  • 新的功能研究或临床数据
  • 更新的人群频率信息
  • 修订后的 ACMG/AMP 指南
  • 来自更多家系的共分离数据

最佳实践:

  • 记录 ClinVar 版本和访问日期,以确保可复现性
  • 定期重新检查关键变异的分类
  • 订阅 ClinVar 邮件列表,获取重大更新
  • 使用每月归档版本,以获得稳定的数据集
7. 向 ClinVar 提交数据

组织可以向 ClinVar 提交变异解读。

提交方式:

要求:

  • NCBI 组织账户
  • 判定标准(建议使用 ACMG/AMP 指南)
  • 支持分类的证据

联系 [email protected] 设置提交账户。

工作流示例

示例 1:识别基因中的高置信度致病变异

目标: 查找 CFTR 基因中经过专家组审查的致病变异。

步骤:

  1. 使用 Web 界面或 E-utilities 搜索:
    CFTR[gene] AND pathogenic[CLNSIG] AND (reviewed by expert panel[RVSTAT] OR practice guideline[RVSTAT])
    
  2. 查看结果并留意审查状态(应为 ★★★ 或 ★★★★)
  3. 导出变异列表,或通过 efetch 获取完整记录
  4. 如适用,与临床表现交叉比对
示例 2:使用 ClinVar 分类注释 VCF

目标: 为变异调用添加临床意义注释。

步骤:

  1. 下载合适的 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
    
  2. 使用 bcftools 进行注释:
    bcftools annotate -a clinvar.vcf.gz \
      -c INFO/CLNSIG,INFO/CLNDN,INFO/CLNREVSTAT \
      -o annotated_variants.vcf \
      your_variants.vcf
    
  3. 筛选已注释的 VCF,获取致病变异:
    bcftools view -i 'INFO/CLNSIG~"Pathogenic"' annotated_variants.vcf
    
示例 3:分析特定疾病的变异

目标: 研究所有与遗传性乳腺癌相关的变异。

步骤:

  1. 按疾病搜索:
    hereditary breast cancer[disorder] OR "Breast-ovarian cancer, familial"[disorder]
    
  2. 将结果下载为 CSV,或通过 E-utilities 获取
  3. 按评审状态筛选,优先处理可信度较高的变异
  4. 分析各基因中的变异分布(BRCA1、BRCA2、PALB2 等)
  5. 单独检查解读结果相互冲突的变异
示例 4:批量下载并构建数据库

目标: 构建本地 ClinVar 数据库,用于分析流程。

步骤:

  1. 下载每月发布版本,确保结果可复现:
    wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/xml/clinvar_variation/ClinVarVariationRelease_YYYY-MM.xml.gz
    
  2. 解析 XML 并载入数据库(PostgreSQL、MySQL、MongoDB)
  3. 按基因、位置、临床意义和评审状态建立索引
  4. 实现更新版本跟踪
  5. 安排每月从 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 或数据提交的问题,请联系:[email protected]

评论

支持 Markdown