在绘制structure堆叠图之前,你常会遇到这样一些问题。测序后得到SNP文件(vcf格式)有很多,如何把众多的vcf格式的文件合并为一个?合并后的文件如何进行进行格式转换为bed格式用于绘制strcture图?下面介绍如何批量合并以及格式转换方法。(确保已经安装bcftools,vcftools,plink)
1.将bcftools,vcftools,plink分别移动到环境变量中
echo $PATH //可以查看当前path下有什么,下图中目录下的都被作为环境变量进行加载了。
选择其中一个路径/Users/bcl/tools,把工具bcftools,vcftools,plink放入该文件夹。
cp -r /Users/bcl/Desktop/structure/bcftools-1.9/bcftools /Users/bcl/tools
cp -r /Users/bcl/Desktop/structure/vcftools_0.1.13/bin/vcftools /Users/bcl/tools
cp -r /Users/bcl/Desktop/structure/plink_mac_20190617/plink /Users/bcl/tools
2.如何把众多的vcf格式的文件合并为一个vcf格式
压缩与索引并合并代码如下:
cd /Users/bcl/Desktop/structure/test //cd到你存放vcf格式文件的文件夹中。
for i in *.vcf
do
bcftools view ${i} -Oz -o ${i}.gz //vcf格式压缩为vcf.gz格式
bcftools index ${i}.gz //为vcf.gz建立索引
done
bcftools merge *.vcf.gz -o merge.vcf //将所有的vcf.gz文件合并为一个。
3.如何vcf格式转换为可以使用的bed格式
(1)将vcf格式转换为ped和map格式
代码如下:
vcftools --vcf merge.vcf --plink --out merge //merge.vcf为你所要转格式的文件,merge为你最终形成的文件名。
(2)利用plink使得ped,map文件生成bed文件。
plink --file merge --out merge //file后的为ped,map格式文件名(不含扩展名),out后为生成bed格式文件的文件名(不含扩展名)