水稻泛基因组matrix格式文件与VCF文件的转换,并计算SNP多态性Pi值
数据来源:https://www.nature.com/articles/s41588-018-0041-z#Sec18
Pan-genome analysis highlights the extent of genomic variation in cultivated and wild rice
之前我在网上没有找到如何将上述文章发表的matrix格式SNP文件如何转换为VCF文件的方法,就自己用R和linux写了一个很简陋的,还望诸位读者和我一起改进。
下载原始数据文件SNP.matrix
linux部分:
首先筛选自己需要的数据部分,不然文件太大了R里容易卡死。
R部分:
#作为VCF文件里ALT替代碱基的来源
#由于不知道真实的VCF文件里ALT项是如何表达多种SNP的,就只好选择第一个SNP碱基了,实际应根据SNP类型,后续转变为VCF格式的时候选择0/1或者0/2。我也不知道这0/1或者0/2对于最终结果有没有影响,知道的朋友还请留言哈。
各个亚种的代称在文章supplementary data 1里面,比如筛选aus亚种
关于R代码的优化可以参考https://www.cnblogs.com/purple5252/p/11189791.html
我尝试过优化这个判断,但是可能是由于覆写次数太多,运行效率还不如if else
转换为VCF
这时候得到的是没有描述行的VCF文件,需要手动写入描述
描述是我随便找的
linux部分计算Pi值
所学不精,还请大家多多指教