溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vcf格式文件基礎(chǔ)知識與編輯操作的方法是什么

發(fā)布時間:2022-03-19 14:10:54 來源:億速云 閱讀:2401 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“vcf格式文件基礎(chǔ)知識與編輯操作的方法是什么”,在日常操作中,相信很多人在vcf格式文件基礎(chǔ)知識與編輯操作的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”vcf格式文件基礎(chǔ)知識與編輯操作的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

1. VCF文件基礎(chǔ)知識介紹:

VCF文件介紹:
做過DNA重測序,群體遺傳進化,BSA,GWAS等項目的人都會遇到VCF文件,這個文件記錄了所有樣品基因組中所有位置變異(主要包括SNP和InDel)信息。后續(xù)幾乎所有的分析內(nèi)容都是基于此文件,比如進化樹分析、群體結(jié)構(gòu)分析、PCA分析、GWAS關(guān)聯(lián)分析等等。

因此了解VCF文件格式及其記錄結(jié)果的意義非常重要。VCF文件其實是文本文件,可以用Windows當中文本編輯器軟件打開,比如editplus等。由于VCF文件往往很大(通常超過1G),在Windows系統(tǒng)下直接打開會消耗大量內(nèi)存進而造成卡死的現(xiàn)象。如果想順利打開的話,這里建議使用pilotedit。

下面是一個典型VCF文件的部分示例(可左右拖動):

##fileformat=VCFv4.0
##fileDate=20090805
##source=myImputationProgramV3.1
##reference=1000GenomesPilot-NCBI36
##phasing=partial
##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data">
##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth">
##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency">
##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele">
##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129">
##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership">
##FILTER=<ID=q10,Description="Quality below 10">
##FILTER=<ID=s50,Description="Less than 50% of samples have data">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth">
##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality">
#CHROM POS     ID        REF ALT    QUAL FILTER INFO                              FORMAT      NA00001        NA00002        NA00003
20     14370   rs6054257 G      A       29   PASS   NS=3;DP=14;AF=0.5;DB;H2           GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,.
20     17330   .         T      A       3    q10    NS=3;DP=11;AF=0.017               GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3   0/0:41:3
20     1110696 rs6040355 A      G,T     67   PASS   NS=2;DP=10;AF=0.333,0.667;AA=T;DB GT:GQ:DP:HQ 1|2:21:6:23,27 2|1:2:0:18,2   2/2:35:4
20     1230237 .         T      .       47   PASS   NS=3;DP=13;AA=T                   GT:GQ:DP:HQ 0|0:54:7:56,60 0|0:48:4:51,51 0/0:61:2
20     1234567 microsat1 GTCT   G,GTACT 50   PASS   NS=3;DP=9;AA=G                    GT:GQ:DP    0/1:35:4       0/2:17:2       1/1:40:3
整體說明信息(Meta-information lines)

VCF文件的開頭是整體注釋信息,通常以##作為起始,其后一般接以FILTER,INFO,F(xiàn)ORMAT等字樣。

例如:以##FILTER開頭的行,表示注釋VCF文件當中第7列中縮寫詞的說明,比如q10為Quality below 10;##INFO開頭的行注釋VCF第8列中的縮寫字母說明,比如AF代表Allele Frequency也就是等位基因頻率;##FILTER開頭的行注釋VCF第9列中的縮寫字母說明;另外還有其他的一些信息,文件版本"fileformat=VCFv4.0"等等。

VCF各列意義說明

各列之間用tab空白隔開;前面9列為固定列,第10列開始為樣品信息列,可以無限多個;

  • #CHROM

  • POS

  • ID

  • REF

  • ALT

  • QUAL

  • FILTER

  • INFO

  • FORMAT

  • 后面的列都為樣品基因型信息列

具體說明如下
  1. CHROM  記錄染色體編號

  2. POS 記錄染色體位置信息

  3. ID  SNP/INDEL的dbSNP編號通常以rs開頭,一般只有人類基因組才有dbSNP編號

  4. REF 參考基因組堿基類型,必須是A,C,G,T,N且都大寫。

  5. ALT 變異堿基類型,必須是A,C,G,T,N,. 且都大寫,多個用逗號分割。"."表示這個地方?jīng)]有reads覆蓋為缺失。

  6. QUAL 變異信息的檢測質(zhì)量值,越高越可靠。

  7. FILTER  標記過濾結(jié)果的列,通常我們把VCF文件中的變異信息進行質(zhì)控,過濾掉低質(zhì)量的變異位點,如果該位點通過過濾標準那么我們可以在該列標記為"PASS",說明該列質(zhì)量值高。標記完之后我們就可以用其他工具,把標記為"PASS"的列給篩選出來,這樣方便后續(xù)分析。如果沒有應(yīng)用缺失值"."代替。

  8. INFO 為附加信息列,一般以=;形式添加額外的注釋信息列,常見的如DP=18 表示該位點測序深度為18X;AF=0.1表示等位基因頻率為0.1;

  9. FORMAT 為后面10列信息的說明列,通常以":"隔開各個縮寫詞。不同的變異檢測軟件可能會有差異,以下用GATK的檢測結(jié)果為例:

  10. 10列(包含)以后為樣品基因型列,各信息以":"分隔與FORMAT列一一對應(yīng);

  • GT 表示genotype,通常用”/” or “|”分隔兩個數(shù)字,“|”phase過也就是雜合的兩個等位基因知道哪個等位基因來自哪條染色體;0代表參考基因組的堿基類型;1代表ALT堿基類型的第一個堿基(多個堿基用","分隔),2代表ALT第二個堿基,以此類推;比如 REF列為:A, ALT列為G,T;那么0/1基因型為AG 雜合,1/1基因型為GG純合SNP;1/2代表GT基因型;./.表示缺失;

  • AD 兩種堿基各自支持的堿基數(shù)量,用","分開兩個數(shù)據(jù),分別代表兩個等位基因的深度;

  • DP 該樣品該變異位點的測序深度總和,也就是AD兩個數(shù)字的和;

  • PL 歸一化后各基因型的可能性,通常有三個數(shù)字用','隔開,順序?qū)?yīng)AA,AB,BB基因型,A代表REF,B代表ALT(也就是0/0, 0/1, and 1/1),由于是歸一化之后,數(shù)值越小代表基因型越可靠;那么最小的數(shù)字對應(yīng)的基因型判讀為該樣品的最可能的基因型;

  • GQ 針對PL的判讀得到的基因型的質(zhì)量值,此值越大基因型質(zhì)量值越好。由于PL歸一化之后通常最小的數(shù)字為0;那么基因型的質(zhì)量值取PL中第二小的數(shù)字,如果第二小的數(shù)字大于99,我們只取99,因為在GATK中再大的值是沒有意義的,第二小的數(shù)大于99的話一般說明基因型的判讀是很可靠的,只有當?shù)诙〉臄?shù)小于99的時候,才有必要懷疑基因型的可靠性。

介紹到這里,大家應(yīng)該對VCF文件有了一個初步理解,如有其他問題請下方留言。

2. VCF文件處理工具介紹:

篩選特定條件下的SNP/Indel信息是比較常見的個性化分析需求,不過VCF文件通常比較大,不建議在Windows當中處理。那么我們怎么篩選處理VCF文件呢?這里介紹一個Linux中非常好用的vcf處理工具,vcftools http://vcftools.sourceforge.net/man_latest.html。這是他的幫助鏈接; 功能非常豐富;vcftools是一款處理vcf文件的工具,體積小、運行速度快,可以按位點信息、堿基位置等信息篩選特定條件下的變異信息,也可以比較兩個vcf文件之間變異信息的差異,還可以對VCF文件拆分,格式轉(zhuǎn)換,質(zhì)量過濾篩選等等功能;強烈推薦使用;這里介紹一下我在工作中用過的一些命令選項。

過濾變異類型

vcf文件中可能會同時包含snp以及indel兩種變異類型,vcftools可以很快的將兩者進行分離。

使用方法:

過濾掉indel,只保留snp,用到的命令選項:--remove-indels。  

執(zhí)行以下命令:

vcftools --remove-indels --recode --recode-INFO-all --vcf raw.vcf --stdout >raw.snp.vcf

過濾掉snp,只保留indel,用到的命令選項:--keep-only-indels。  

執(zhí)行以下命令:

vcftools --keep-only-indels  --recode --recode-INFO-all --vcf raw.vcf --stdout >raw.indel.vcf

這樣,就可以分別得到只包含snp和indel的vcf文件。

篩選指定位置變異位點

vcftools還可以挑選出基因組上某些區(qū)域的變異信息。

使用方法:

vcftools --vcf Variants.snp.unknown_multianno.vcf --chr A03 --from-bp 577700 --to-bp 607700 --out out_prefix --recode --recode-INFO-all

這里解釋一下各個參數(shù):

--vcf:后面跟的是vcf文件      

--chr:后面跟篩選區(qū)域所在的染色體      

--form-bp:后跟篩選區(qū)域的起始位置      

--to-bp:后跟篩選區(qū)域的終止位置      

--out:輸出文件的前綴      

--recode:沒有此參數(shù)則不會輸出

過濾指定缺失率的變異位點

vcf 文件中很多snp在某些樣品中是缺失的,也就是基因型為 "./." 。如果缺失率較高,這種snp位點在很多分析中是不能用的,需要去掉。這里用到的選項是 --max-missing。

使用方法:

vcftools  --vcf snp.vcf  --recode --recode-INFO-all --stdout  --max-missing 1 > snp.new.vcf

--max-missing 后跟的值為 0-1 ,1代表不允許缺失,0代表允許全部缺失。

計算snp缺失率

vcftools中有兩個參數(shù)可以計算vcf文件中snp的缺失率。 

 分別是:  

--missing-indv:生成一個文件,報告每個樣品的缺失情況,該文件的后綴為“.imiss”。  

--missing-site:生成一個文件,報告每個snp位點的缺失情況,該文件的后綴為“.lmiss”。

使用方法:

vcftools --vcf  snp.vcf.   --missing-site

運行以上命令后會在當前目錄生成一個 out.lmiss 文件,其格式如下:

CHR     POS     N_DATA  N_GENOTYPE_FILTERED     N_MISS  F_MISS
chr01   194921  988     0       368     0.37247
chr01   384714  988     0       204     0.206478
chr01   384719  988     0       202     0.204453
chr01   518438  988     0       488     0.493927
chr01   518473  988     0       452     0.45749
chr01   518579  988     0       418     0.423077
chr01   518635  988     0       428     0.433198
chr01   680786  988     0       346     0.350202
chr01   680834  988     0       412     0.417004

前兩列為snp所在位置,第三列為等位基因總數(shù),第5列為缺失的總數(shù),最后一列為缺失率。

vcftools --vcf  snp.vcf.   --missing-indv

運行以上命令后會在當前目錄生成一個 out.imiss 文件,其格式如下:

INDV    N_DATA  N_GENOTYPES_FILTERED    N_MISS  F_MISS
1       8747    0       3632    0.415228
10      8747    0       1264    0.144507
102     8747    0       2016    0.230479
105     8747    0       6322    0.722762
106     8747    0       2365    0.270378
107     8747    0       4376    0.500286
108     8747    0       5682    0.649594
109     8747    0       1877    0.214588
11      8747    0       1039    0.118784

第一列為樣品名稱,第二列為總的snp數(shù),第4列為缺失的總數(shù),最后一列為缺失率。

隨機抽取指定個樣品

vcftools可以隨機抽取指定個樣品的vcf文件,用到的選項為  --max-indv  ,指定要從vcf文件中隨機抽取指定個樣品。

使用方法:

隨機抽取5個樣品,執(zhí)行以下代碼:

vcftools --vcf snp.vcf --max-indv 5 --remove-indels --recode --out outfilename

到此,關(guān)于“vcf格式文件基礎(chǔ)知識與編輯操作的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

vcf
AI