做群体变异检测后,通常会有提取子集的操作,之前没有发现bcftools有这个功能,都是自己写脚本操作,数据量一上来,速度真的是让人无语凝噎。这里记录下提取子vcf文件的用法,软件版本:bcftools-1.5

一、根据个体提取子集

根据样品名提取vcf文件,准备要保留的个体名文件 keep.list,一行一个个体(参考第三步)。

无痛处理,速度超快,命令如下:

1 bcftools view  -S keep.list test.vcf >sub_indv.vcf

二、根据染色体位置提取子集

注意:这里vcf要使用gbzip压缩并且构建索引才行,而且vcf文件位置顺序不能乱(别问我怎么知道的);

准备好染色体及位置文件chr_pos.list,文件内容示例如下:

chr1    27639
chr1 60383
chr2 60469
chr3 60516
chr4 60534

#或者直接给区间也行
chr1  1  1000
chr1  2000  4500

后续命令如下,速度快,内存消耗还小:

1 bgzip test.vcf
2 tabix -p vcf test.vcf.gz
3 bcftools view -R chr_pos.list test.vcf.gz >new.pos.vcf

三、直接提取测序个体样品名

1 bcftools query -l test.vcf  >ind.list
1 head -100 test.vcf |grep "#C"|cut -f10-|xargs -n 1 >ind.list # 不调用软件这样也行

ind.list文件中一行一个样品名

最新文章

  1. 移动Web利器transformjs入门
  2. BZOJ 题目整理
  3. LUA 利用#遍历表的问题
  4. Java GC工作原理以及Minor GC、Major GC、Full GC简单总结
  5. Android Studio快捷键每日一练(6)
  6. osg绘制一个球体
  7. [CareerCup] 17.3 Factorial Trailing Zeros 求阶乘末尾零的个数
  8. How does Web Analytics works under sharePoint 2010
  9. MVC中的_viewstart.cshtml(没有设置Layout却引用了布局)
  10. Rochester Memory Hardware Error Research Project
  11. ajax中网页传输(二)JSON——下拉列表显示练习
  12. 初始hibernate(一)
  13. adb 连接时 device offline
  14. 【解题报告】POJ-1108 Split Windows
  15. XAMPP的Apache服务器无法正常启动解决方案
  16. Android基于WIFI实现电脑和手机间数据传输的技术方案研究
  17. 第八章 Hibernate数据操作技巧
  18. 编写程序,将来自文件中的行保存在一个vector<string>,然后使用一个istringstream 从vector中读取数据,每次读一个单词
  19. 对int类型的数据,如何让获取长度
  20. 禁止网站显示文件目录列表的方法(htaccess)

热门文章

  1. 81. 搜索旋转排序数组 II
  2. .Net2.0连接PG数据注意事项
  3. NodeJs安装与环境配置
  4. BUAA-OO-最后单元总结
  5. 设置nginx进程可打开最大的文件数
  6. 热身训练2 Another Meaning
  7. 疯狂Java基础Day2
  8. MyBatis源码分析(四):SQL执行过程分析
  9. vcs(UST)Undefined System Task Call
  10. 学会python永不加班系列之操作excel