VCF轉換PLINK格式的3種方法是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
plink是目前使用的最為廣泛的關聯分析軟件,其定義的ped/map文件系統,及其對應的二進制bed/bim/fam已經成為關聯分析的標準文件格式。在進行關聯分析之前,我們首先要做的就是將其他格式的文件轉換為plink對應的文件格式。
VCF格式作為存儲分型結果的一種標準格式,在實際分析中也廣泛應用。本文總結了將vcf文件轉換為plink對應文件格式的3種方式,詳細展示如下
在gatk3中,提供了一個名為VariantsToBinaryPed的功能,可以將VCF格式轉換為plink對應的二進制bed文件,基本用法如下
java -jar GenomeAnalysisTK.jar \
-T VariantsToBinaryPed \
-R reference.fasta \
-V input.vcf \
-m input.fam \
-bed output.bed \
-bim output.bim \
-fam output.fam要求三個輸入文件,-R參數指定參考基因組的fasta文件,-V參數指定VCF文件,-m參數稱之為metadata, 保存了樣本對應的家系信息,支持兩種文件格式,第一種示意如下

對應ped文件的前六列內容,如果樣本雙親信息不明確,則用unknown表示,簡寫成UNKN, 表型信息沒有的話用-9表示。第二種示意如下

由于VCF文件中只保存了樣本的分型結果,所以家系信息通過一個額外的文件來補充。更多詳情請參考以下文檔
https://software.broadinstitute.org/gatk/documentation/tooldocs/3.8-0/org_broadinstitute_gatk_tools_walkers_variantutils_VariantsToBinaryPed.php
vcftools是操作vcf文件的一款常用工具,支持將vcf文件轉換成plink對應的ped/map格式,基本用法如下
vcftools --vcf input.vcf --plink --out output
沒有額外的家系信息,在輸出結果中,family id和sample id是重復的,其他列全部為0,示意如下

plink1.9版本支持直接讀取vcf/gen等多種文件格式,所以使用該版本時其實不需要專門進行格式轉換,軟件默認會將不同的格式轉換為二進制bed文件格式。這里只是展示下其格式轉換的用法,基本用法如下
plink --vcf input.vcf --recode --out output --double-id
默認轉換為二進制的bed格式,對于分析更加適用,這里添加--recode參數將輸出結果調整為ped格式,可以更好的查看其轉換的規則。
plink默認用下劃線對樣本名進行分隔,分隔的兩個字段分別作為ped文件中的family id和sample id, 如果vcf中的樣本名含有多個下劃線,無法正確進行劃分,軟件會報錯,此時可以修改--id-delim參數,該參數設定了分隔符,默認是下劃線,可以設置成其他字符,以達到正確區分的目的。
除此之外,還有一種解決方案,通過參數指定family_id的設定方式,有兩種參數,第一種如上述示例中的--double_id, 將family id和sample id保持相同,輸出的ped文件的前六列示意如下

第二種參數用法如下所示
plink --vcf input.vcf --recode --out output --const-fid family_id
通過--const-fid將family id設置成一個常量,默認值是0,上述示例輸出的ped文件的前六列示意如下

雙親,性別默認用0填充,表型默認用-9填充。
看完上述內容,你們掌握VCF轉換PLINK格式的3種方法是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。