1. 程式人生 > >利用SHAPEIT將vcf文件進行基因型(genotype)定相(phasing):查看兩個突變是否來源於同一條鏈(染色體或父本或母本)

利用SHAPEIT將vcf文件進行基因型(genotype)定相(phasing):查看兩個突變是否來源於同一條鏈(染色體或父本或母本)

soft jar GC maps tst PE mes center mat

首先,下載SHAPEIT.

按照裏面的步驟安裝完後,將vcf文件進行基因型定相,分四步走。

第一步,將vcf文件轉化為plink二進制文件(.bed, .bim, .fam)。

這一步需要用到GATK裏的GenomeAnalysisTK工具,見如下命令:

java -Xmx8g -jar GenomeAnalysisTK.jar -T VariantsToBinaryPed  -R GRCh37.fa -V file.vcf --metaData sampleID.fam -mgq 0 -bed file.bed -bim file.bim  -fam file.fam 

 註:這裏的metaData,輸入的fam文件跟plink的fam格式一樣,如果你沒有fam文件,則需要自己手動生成,第一列和第一列可以都為樣本的ID;

FAM files

The fields in a FAM file are

  • Family ID
  • Sample ID
  • Paternal ID
  • Maternal ID
  • Sex (1=male; 2=female; other=unknown)
  • Affection (0=unknown; 1=unaffected; 2=affected)
Example of a FAM file of the binary PLINK format:
FAM1 NA06985 0 0 1 1
FAM1 NA06991 0 0 1 1
0 NA06993 0 0 1 1
0 NA06994 0 0 1 1
0 NA07000 0 0 2 1
0 NA07019 0 0 1 1
0 NA07022 0 0 2 1
0 NA07029 0 0 1 1
FAM2 NA07056 0 0 0 2
FAM2 NA07345 0 0 1 1

######號外,在這一步的時候,如果出現報錯信息:ERROR MESSAGE: No metadata provided for sample XXXXXX,很有可能是fam文件在作怪,需要對fam文件進行樣本排序,使其的順序跟vcf文件保持一致;

第二步,去除高缺失率的基因型和樣本

plink --noweb --bfile file --keep-allele-order --me 1 1 --set-me-missing --make-bed --out file.nomendel

plink --noweb --bfile file.nomendel --keep-allele-order --geno 0.05 --make-bed --out file.nomendel.filter

  

 ####對數據進行高缺失率去除是很有必要的,如果跳過這一步,直接定相的話,會出現:“ERROR: XXX fully missing individuals (=100%)” 報錯 

第三步,對基因型進行定位,需要下載遺傳圖譜(genetic map)

shapeit --duohmm -W 5 --thread 1 --input-bed file.nomendel.filter.bed file.nomendel.filter.bim file.nomendel.filter.fam --input-map genetic_map_b37.txt -O hapData

第四步,將定相的文件生成vcf格式:

shapeit -convert --input-haps hapData --output-vcf hapData.vcf

  至此,vcf中沒有定相的變異會由“0/0 0/1 1/0 1/1 ”變為“0|0 0|1 1|0 1|1”

  

利用SHAPEIT將vcf文件進行基因型(genotype)定相(phasing):查看兩個突變是否來源於同一條鏈(染色體或父本或母本)