bcftools 提取vcf(snp/indel)文件子集
2024-08-23 20:07:55
做群体变异检测后,通常会有提取子集的操作,之前没有发现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文件中一行一个样品名
最新文章
- 移动Web利器transformjs入门
- BZOJ 题目整理
- LUA 利用#遍历表的问题
- Java GC工作原理以及Minor GC、Major GC、Full GC简单总结
- Android Studio快捷键每日一练(6)
- osg绘制一个球体
- [CareerCup] 17.3 Factorial Trailing Zeros 求阶乘末尾零的个数
- How does Web Analytics works under sharePoint 2010
- MVC中的_viewstart.cshtml(没有设置Layout却引用了布局)
- Rochester Memory Hardware Error Research Project
- ajax中网页传输(二)JSON——下拉列表显示练习
- 初始hibernate(一)
- adb 连接时 device offline
- 【解题报告】POJ-1108 Split Windows
- XAMPP的Apache服务器无法正常启动解决方案
- Android基于WIFI实现电脑和手机间数据传输的技术方案研究
- 第八章 Hibernate数据操作技巧
- 编写程序,将来自文件中的行保存在一个vector<;string>;,然后使用一个istringstream 从vector中读取数据,每次读一个单词
- 对int类型的数据,如何让获取长度
- 禁止网站显示文件目录列表的方法(htaccess)