gatk 实现对vcf文件的合并
001、测试数据
[root@PC1 test]# ls ## 测试数据 seg1_1.vcf seg1_2.vcf seg1_3.vcf [root@PC1 test]# ll -h total 1.2G -rw-r--r--. 1 root root 392M Dec 1 18:14 seg1_1.vcf -rw-r--r--. 1 root root 410M Dec 1 18:15 seg1_2.vcf -rw-r--r--. 1 root root 386M Dec 1 18:14 seg1_3.vcf
002、对vcf文件进行合并
gatk MergeVcfs -I seg1_1.vcf -I seg1_2.vcf -I seg1_3.vcf -O xxx.vcf ## 合并命令
合并结果如下:
[root@PC1 test]# ls seg1_1.vcf seg1_2.vcf seg1_3.vcf xxx.vcf xxx.vcf.idx [root@PC1 test]# ll -h total 2.4G -rw-r--r--. 1 root root 392M Dec 1 18:14 seg1_1.vcf -rw-r--r--. 1 root root 410M Dec 1 18:15 seg1_2.vcf -rw-r--r--. 1 root root 386M Dec 1 18:14 seg1_3.vcf -rw-r--r--. 1 root root 1.2G Dec 1 19:16 xxx.vcf -rw-r--r--. 1 root root 6.2K Dec 1 19:16 xxx.vcf.idx
003、将需要合并的vcf文件生成列表
[root@PC1 test]# ls seg1_1.vcf seg1_2.vcf seg1_3.vcf vcf.list [root@PC1 test]# cat vcf.list ## 待合并的vcf列表文件 seg1_1.vcf seg1_2.vcf seg1_3.vcf [root@PC1 test]# java -jar /home/software/picard/picard.jar MergeVcfs I=vcf.list O=xxx.vcf ## 合并命令
004、合并结果
[root@PC1 test]# ls seg1_1.vcf seg1_2.vcf seg1_3.vcf vcf.list xxx.vcf xxx.vcf.idx [root@PC1 test]# ll -h total 2.4G -rw-r--r--. 1 root root 392M Dec 1 18:14 seg1_1.vcf -rw-r--r--. 1 root root 410M Dec 1 18:15 seg1_2.vcf -rw-r--r--. 1 root root 386M Dec 1 18:14 seg1_3.vcf -rw-r--r--. 1 root root 33 Dec 1 19:24 vcf.list -rw-r--r--. 1 root root 1.2G Dec 1 19:24 xxx.vcf -rw-r--r--. 1 root root 6.2K Dec 1 19:24 xxx.vcf.idx