前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vcf2maf—从VCF到MAF,解锁基因突变的秘密

vcf2maf—从VCF到MAF,解锁基因突变的秘密

作者头像
生信菜鸟团
发布2024-06-12 14:40:19
2520
发布2024-06-12 14:40:19
举报
文章被收录于专栏:生信菜鸟团生信菜鸟团

工欲善其事必先利其器

1vcf2maf

vcf2maf 是由 Cyriac Kandoth 主导开发的一款用于将 VCF (Variant Call Format) 文件转换为 MAF (Mutation Annotation Format) 文件的生信分析工具。广泛应用于癌症基因组研究中的变异数据处理,其具有以下特性:

  • 详尽的注释vcf2maf 利用 VEP (Variant Effect Predictor) 从多个数据库(如 Ensembl, COSMIC, dbSNP)中提取信息,为每个突变提供详细的生物学背景和功能影响注释。
  • 灵活的选择性注释:该工具允许用户针对不同的基因和转录本版本进行选择性注释,帮助研究人员集中分析最相关的基因异构体,从而优化分析结果的相关性和精确性。
  • 广泛的适用性vcf2maf 能够处理来自不同测序平台和分析流程的 VCF 文件,使其在不同的研究背景和技术条件下具有很高的适用性。

编程语言:Perl GItHub:https://github.com/mskcc/vcf2maf?tab=readme-ov-file

2VCF和MAF文件

VCF 文件

VCF(Variant Call Format)文件是一种标准的格式,用于存储基因组测序数据中的变异信息,如单核苷酸多态性(SNPs)、插入和缺失(indels)等。它广泛用于生物信息学和基因组研究,以描述特定位置上的已知变异和新发现的变异。

VCF文件包括一个头部(header)和数据部分。头部包含文件的元数据,描述了数据的格式和解释相关信息。数据部分则列出了具体的变异信息,分别为:

  • CHROM: 变异所在的染色体。
  • POS: 变异在染色体上的位置。
  • ID: 变异的ID,如果变异已知并被收录于如dbSNP等数据库,通常是一个rs编号;如果不是已知变异,则通常用.表示。
  • REF: 参考基因组中的等位基因(即未变异的状态)。
  • ALT: 变异的等位基因,即在该位置发生的变异类型(例如,对于SNP,可能是A、T、C或G之一;对于indel,可能是序列的插入或删除)。
  • QUAL: 变异检测的质量分数,通常是一个表示变异被测序数据支持程度的Phred质量分数。
  • FILTER: 过滤状态,显示变异是否通过了质量控制。例如,如果一个变异通过了所有质量检查,则此列为PASS;如果没有通过,此列将显示没有通过的测试的代码。
  • INFO: 提供关于变异的额外信息,不同的项目可以有不同的字段。例如,可以包括变异的影响(如同义、错义)、影响基因、功能区域、深度等。
  • FORMAT: 格式列,定义了样本数据中各个值的含义,如GT(基因型)、DP(深度)、AD(等位基因深度)等。
  • 样本数据: 对每个样本的具体信息,格式由FORMAT列定义。

MAF文件

MAF(Mutation Annotation Format)文件是一种用于描述癌症基因组变异信息的格式,广泛用于生物信息学和医学研究中。MAF文件不仅记录了具体的突变信息,还包括了关于这些突变的详细注释。它是由癌症基因组图谱(The Cancer Genome Atlas, TCGA)项目中使用和发展起来的标准格式。

MAF文件的主要列及其内容包括

  1. Hugo_Symbol: 人类基因命名委员会(HGNC)为每个基因分配的唯一符号。
  2. Entrez_Gene_Id: NCBI的Entrez Gene数据库中的基因ID。
  3. Center: 进行突变鉴定的研究中心或机构。
  4. NCBI_Build: 基因组构建的版本(如GRCh37, GRCh38)。
  5. Chromosome: 突变发生在哪个染色体上。
  6. Start_Position: 突变开始的基因组位置。
  7. End_Position: 突变结束的基因组位置。
  8. Strand: DNA的链,正(+)或负(-)。
  9. Variant_Classification: 突变的分类(如错义突变、无义突变、同义突变等)。
  10. Variant_Type: 突变的类型(如SNP, DEL, INS等)。
  11. Reference_Allele: 参考基因组中的等位基因。
  12. Tumor_Seq_Allele1: 肿瘤样本中的第一个序列等位基因。
  13. Tumor_Seq_Allele2: 肿瘤样本中的第二个序列等位基因。
  14. dbSNP_RS: 突变相关的dbSNP参考序列ID。
  15. dbSNP_Val_Status: 突变在dbSNP数据库中的验证状态。
  16. Tumor_Sample_Barcode: 肿瘤样本的唯一条码。
  17. Matched_Norm_Sample_Barcode: 与肿瘤样本匹配的正常样本的唯一条码。
  18. Match_Norm_Seq_Allele1: 匹配正常样本中的第一个序列等位基因。
  19. Match_Norm_Seq_Allele2: 匹配正常样本中的第二个序列等位基因。

额外的注释信息

  1. HGVSc: 人类基因变异命名的cDNA层面的描述。
  2. HGVSp: 蛋白质层面的描述。
  3. Exon_Number: 变异发生在哪个外显子。
  4. t_depth, t_ref_count, t_alt_count: 肿瘤样本中的总深度、参考等位基因计数和突变等位基因计数。
  5. n_depth, n_ref_count, n_alt_count: 匹配正常样本中的总深度、参考等位基因计数和突变等位基因计数。
  6. all_effects: 包含所有可能效应的详细列表,通常由VEP等工具生成。
  7. Allele, Gene, Feature, Feature_type, Consequence: 描述等位基因、基因ID、特征ID、特征类型和具体生物学后果。

3如何安装

conda 安装

推荐使用Conda安装,可以放在同一个小环境,方便管理

代码语言:javascript
复制
## conda create -n wes
conda activate wes
conda install -y vcf2maf

##同时需要搭配vep使用,如果没有安装也需要提前安装一下
conda install ensembl-vep

VEP之前也有介绍过,详见:

Github下载

源码安装也很简单,下载解压即可使用。

代码语言:javascript
复制
wget -c https://github.com/mskcc/vcf2maf/archive/refs/tags/v1.6.22.tar.gz
tar -xf v1.6.22.tar.gz

4功能简述

一个将 VCF文件转换为 MAF(突变注释格式)文件的工具。在进行癌症基因组研究时非常有用,以便对突变进行详细注释并与其他癌症基因组数据整合。

  • vcf2maf.pl —— 将 VCF 文件转换为 MAF 文件。
  • maf2maf.pl ——用于重新注释 MAF文件中的变异信息,它通过 maf2vcf 将 MAF 文件转换为 VCF 文件,然后使用 vcf2maf 对每个 VCF 进行重新注释,以生成新的合并后的 MAF 文件

5最小化使用

代码语言:javascript
复制
perl vcf2maf.pl --input-vcf INPUT.vcf --output-maf OUTPUT.maf --tumor-id TUMOR_ID --normal-id NORMAL_ID

--input-vcf #指定输入文件,必须是vcf格式
--input-vcf #指定输出maf文件的路径
--tumor-id #在 MAF 文件中报告的肿瘤样本条码,默认值为 "TUMOR"
--normal-id #在 MAF 文件中报告的匹配正常样本条码,默认值为 "NORMAL"
--vcf-tumor-id #VCF 文件基因型列中使用的肿瘤样本 ID,与 `--tumor-id` 参数相同
--vcf-normal-id #VCF 文件基因型列中使用的匹配正常样本 ID,与 `--normal-id` 参数相同
--ref-fasta #指定参考 FASTA 文件的路径
--species #指定物种的 Ensembl 名称,例如对于小鼠是 `mus_musculus`,默认为 `homo_sapiens`(人类)
--ncbi-build # 指定变异 MAF 的 NCBI 参考组装版本,例如对于小鼠是 `GRCm38`,默认为 `GRCh37`
--cache-version # 使用 VEP 的离线缓存版本,例如 75、91、112 等,默认使用安装的版本
--inhibit-vep # 跳过运行 VEP,但如果在 VCF 中发现 VEP 注释,则提取这些注释
--vep-path #自定义调用vep路径
--vep-data #自定义vep cache 路径。默认 ~/.vep

简单测试

输入vcf文件未注释
代码语言:javascript
复制
perl ~/software/vcf2maf-1.6.22/vcf2maf.pl \
--input-vcf ../vcf/homo_test.filter.vcf \
--output-maf homo_test.vep.maf \
--vep-path /home/data/t020560/miniconda3/envs/wes/bin/ \
--vep-data ~/vep_data/homo \ #cache目录,目录下是homo_sapiens文件夹
--ref-fasta ../hg38/hg38.fa --ncbi-build GRCh38 --cache-version=111

运行示列

结果查看

简单查看一行信息

代码语言:javascript
复制
##vcf文件
$cat ~/vcf/homo_test.filter.vcf |grep 69270
chr1    69270   .       A       G       1155.73 Filter  AC=6;AF=1.00;AN=6;DP=42;ExcessHet=3.0103;FS=0.000;MLEAC=6;MLEAF=1.00;MQ=27.65;QD=28.19;SOR=7.476        GT:AD:DP:GQ:PL  1/1:0,15:15:45:428,45,0   1/1:0,11:11:32:287,32,0 1/1:0,15:15:45:454,45,0

## MAF文件
$cat homo_test.vep.maf |sed -n '2,3p'
Hugo_Symbol     Entrez_Gene_Id  Center  NCBI_Build      Chromosome      Start_Position  End_Position    Strand  Variant_Classification  Variant_Type    Reference_Allele        Tumor_Seq_Allele1 Tumor_Seq_Allele2       dbSNP_RS        dbSNP_Val_Status        Tumor_Sample_Barcode    Matched_Norm_Sample_Barcode     Match_Norm_Seq_Allele1  Match_Norm_Seq_Allele2    Tumor_Validation_Allele1        Tumor_Validation_Allele2        Match_Norm_Validation_Allele1   Match_Norm_Validation_Allele2   Verification_Status     Validation_StatusMutation_Status  Sequencing_Phase        Sequence_Source Validation_Method       Score   BAM_File        Sequencer       Tumor_Sample_UUID       Matched_Norm_Sample_UUID        HGVSc     HGVSp   HGVSp_Short     Transcript_ID   Exon_Number     t_depth t_ref_count     t_alt_count     n_depth n_ref_count     n_alt_count     all_effects     Allele  Gene    Feature   Feature_type    Consequence     cDNA_position   CDS_position    Protein_position        Amino_acids     Codons  Existing_variation      ALLELE_NUM      DISTANCE        STRAND_VEP        SYMBOL  SYMBOL_SOURCE   HGNC_ID BIOTYPE CANONICAL       CCDS    ENSP    SWISSPROT       TREMBL  UNIPARC RefSeq  SIFT    PolyPhen        EXON    INTRON  DOMAINS AFAFR_AF  AMR_AF  ASN_AF  EAS_AF  EUR_AF  SAS_AF  AA_AF   EA_AF   CLIN_SIG        SOMATIC PUBMED  MOTIF_NAME      MOTIF_POS       HIGH_INF_POS    MOTIF_SCORE_CHANGE      IMPACT  PICK      VARIANT_CLASS   TSL     HGVS_OFFSET     PHENO   MINIMISED       GENE_PHENO      FILTER  flanking_bps    vcf_id  vcf_qual        gnomADe_AF      gnomADe_AFR_AF  gnomADe_AMR_AF    gnomADe_ASJ_AF  gnomADe_EAS_AF  gnomADe_FIN_AF  gnomADe_NFE_AF  gnomADe_OTH_AF  gnomADe_SAS_AF  vcf_pos
OR4F5   79501   .       GRCh38  chr1    69270   69270   +       Silent  SNP     A       A       G       rs201219564             TUMOR   NORMAL  A       A                        c.243A>G p.Ser81=        p.S81=  ENST00000641515 3/3                                                     OR4F5,synonymous_variant,p.Ser81=,ENST00000641515,NM_001005484.2;,regulatory_region_variant,,ENSR00000918279,;    G       ENSG00000186092 ENST00000641515 Transcript      synonymous_variant      303/2618        243/981 81/326  S       tcA/tcG rs201219564,COSV58736820  1               1       OR4F5   HGNC    HGNC:14825      protein_coding  YES     CCDS30547.2     ENSP00000493376         A0A2U3U0J3.21   UPI000D1938F0   NM_001005484.2                    3/3                                                                                                     0,1                                             LOW       1       SNV                     0,1                     Filter;common_variant   CAC     .       1155.73 0.838   0.3591  0.7932  0.8482  0.9984  0.8821  0.9146  0.868   0.9005    69270

基本信息

  • Hugo_Symbol: 基因符号,例如 OR4F5
  • Entrez_Gene_Id: Entrez基因ID,例如 79501
  • Center: 报告该变异的一个或多个基因组测序中心的名称,此处为空(.)。
  • NCBI_Build: 参考基因组版本,此例中为 GRCh38
  • Chromosome: 变异发生的染色体,例如 chr1
  • Start_Position: 变异开始位置,例如 69270
  • End_Position: 变异结束位置,同为 69270
  • Strand: DNA链方向,此处为正链(+)。变异信息
  • Variant_Classification: 变异分类,此例中为 Silent(同义突变)。
  • Variant_Type: 变异类型,此例为 SNP(单核苷酸多态性)。
  • Reference_Allele: 参考等位基因,此处为 A
  • Tumor_Seq_Allele1: 肿瘤样本的第一个序列等位基因,此处为 A
  • Tumor_Seq_Allele2: 肿瘤样本的第二个序列等位基因,此处为 G

样本信息

  • Tumor_Sample_Barcode: 肿瘤样本条码,此处为 TUMOR
  • Matched_Norm_Sample_Barcode: 匹配的正常样本条码,此处为 NORMAL
  • Match_Norm_Seq_Allele1 和 Match_Norm_Seq_Allele2: 正常样本的序列等位基因,均为 A

其余后面的列为突变的详细注释信息,不再一样列举

已注释的vcf文件

如果你的vcf文件已经由VEP注释过,可以跳过VEP注释,仅转换格式

代码语言:javascript
复制
perl ~/software/vcf2maf-1.6.22/vcf2maf.pl \
--input-vcf ~/vep/vep_out/homo_test_vepout.vcf \
--output-maf homo_test_inhibit.vep.maf \
--inhibit-vep \ #跳过VEP注释
--ref-fasta ../hg38/hg38.fa

可能遇到的报错

1、需指定参考fasta文件

代码语言:javascript
复制
perl ~/software/vcf2maf-1.6.22/vcf2maf.pl --input-vcf ../vcf/homo_test.filter.vcf --output-maf homo_test.vep.maf

需添加--ref-fasta 参数指定参考fasta文件

2、conda 安装的vep 运行报错 Zlib版本低

代码语言:javascript
复制
perl ~/software/vcf2maf-1.6.22/vcf2maf.pl --input-vcf ../vcf/homo_test.filter.vcf --output-maf homo_test.vep.maf --vep-path /home/data/t020560/miniconda3/envs/wes/bin/ --vep-data ~/vep_data --ref-fasta ../hg38/hg38.fa --ncbi-build GRCh38

报错信息

代码语言:javascript
复制
conda update -c conda-forge perl-compress-raw-zlib

升级Zlib,再次运行不再报错

3、vep cache缓存版本问题

cache目录

报错信息

已下载的缓存版本是vep 111 ,而默认调用的是112,所以可以使用--cache-version 自定义一下版本。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1vcf2maf
  • 2VCF和MAF文件
    • VCF 文件
      • MAF文件
      • 3如何安装
        • conda 安装
          • Github下载
          • 4功能简述
          • 5最小化使用
            • 简单测试
              • 输入vcf文件未注释
            • 结果查看
              • 已注释的vcf文件
            • 可能遇到的报错
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档