bcftools 提取vcf(snp/indel)文件子集
做群体变异检测后,通常会有提取子集的操作,之前没有发现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文件中一行一个样品名
bcftools 提取vcf(snp/indel)文件子集的更多相关文章
- 通过dll或def文件提取lib导入库文件
很多时候第三方库或其他项目提供的库多数会以动态库的形式提供dll以及相应的lib导入库.头文件,不过也有的只是提供dll和头文件,或者也提供了def模块定义(用于导出函数)文件,此时若使用将不得不调用 ...
- webpack4对第三方库css,项目全局css和vue内联css文件提取到单独的文件(二十二)
在讲解提取css之前,我们先看下项目的架构如下结构: ### 目录结构如下: demo1 # 工程名 | |--- dist # 打包后生成的目录文件 | |--- node_modules # 所有 ...
- Cocos2d-x游戏导出android工程,提取cocos的so文件
Cocos2d-x游戏导出android工程,提取cocos的so文件 原本cocos游戏的android工程编译时,需要将cocos的库文件进行编译,这些文件大部分是cpp文件, 使用ndk ...
- Linux shell 中提取zip或jar文件中的某个文件
Linux shell 中提取zip或jar文件中的某个文件 假如有个压缩包 abc.jar, 里面文件如下 (可以用unzip -l abc.jar 查看): data/1.txt data/2.t ...
- 利用MAC OS X 自带的磁盘工具提取光盘镜像ISO文件
虽说渐渐地Mac笔记本基本告别内置光驱时代了,随着网络的普及,使用到光驱的机会也渐少,但有时又难免需要光驱,比如二货出版社的随书光盘等…我们可以通过USB外置光驱将光盘内容提取为ISO文件保存到电脑里 ...
- 如何使用Keka for Mac提取受密码保护的文件?用Keka提取文件的格式
如何使用Keka for Mac提取受密码保护的文件?keka Mac是很多人喜欢的压缩解压工具,以小巧,使用简单,界面简洁受到很多Mac用户的喜欢,你还可以使用它提取文件,下面我们就来介绍一下关于用 ...
- webpack 提取css成单独文件
webpack 提取css成单独文件 // 用来拼接绝对路径的方法 const {resolve} = require('path') const HtmlWebpackPlugin = requir ...
- 使用bcftools提取指定样本的vcf文件(extract specified samples in vcf format)
1.下载安装bcftools. 2.准备样本ID文件,这里命名为samplelistname.txt,一个样本一行,如下所示: sample1 sample2 sample3 3.输入命令: bcft ...
- 5、提取snp indel 位点
le final.snp.list | perl -lane '{$a+=1;print "$a\t$F[0]\t$F[1]\t$F[1]"}' | less >snp_si ...
随机推荐
- JAVA实现表达式求导运算的分析总结
1第一次作业 1.1题目描述 对形如4*x+x^2+x的多项式求导. 1.2类图 1.3度量分析 在完成第一次作业时,我的写法没有特别的"面向对象".唯一封装起来的是Node,代表 ...
- dinic板子
loj上偷学长的( 注意几点: id初值赋1才能让正向弧反向弧对应起来 很多题要拆点,一定保证空间 dfs里rest=0的终止条件不能放在for循环里 #include<cstdio> # ...
- 关于下载pyton第三方库的细节
1.下载Python第三方库有时候国外的网站网速很不好,需要选择国内的镜像网站去下载 阿里云 http://mirrors.aliyun.com/pypi/simple 中国科技大学 https: ...
- Linux内核漏洞精准检测如何做?SCA工具不能只在软件层面
摘要:二进制SCA工具要想更好的辅助安全人员实现安全审计.降低漏洞检测的误报率,必须向更细颗粒度的检测维度发展,而不仅仅停留在开源软件的层面,同时对漏洞库的要求也需要向细颗粒度的精准信息提出的挑战. ...
- Flink计算pv和uv的通用方法
PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次. UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客.00:00-24:00 ...
- Django 实现分页功能(django 2.2.7 python 3.7.5 )
Django 自带名为 Paginator 的分页工具, 方便我们实现分页功能.本文就讲解如何使用 Paginator 实现分页功能. 一. Paginator Paginator 类的作用是将我们需 ...
- Docker 18.03导入导出
docker中分容器和镜像,简单可以理解为容器是运行中的实例,镜像是运行实例所需的静态文件. 导入导出既可以对容器做操作,也可以对镜像做操作.区别在于镜像可以随时导出,容器必须要停止之后才可以导出,否 ...
- Pod 健康检查和服务可用性检查
Kubernetes 对 Pod 的健康状态可以通过两类探针来检查:LivenessProbe 和 ReadinessProbe,kubelet 定期执行这两类探针来针对容器的健康状况. Livene ...
- 🏆【JVM深层系列】「云原生时代的Java虚拟机」针对于GraalVM的技术知识脉络的重塑和探究
GraalVM 背景 新.旧编程语言的兴起躁动,说明必然有其需求动力所在,譬如互联网之于JavaScript.人工智能之于Python,微服务风潮之于Golang等等.大家都清楚不太可能有哪门语言能在 ...
- Spring Cloud Gateway实战之二:更多路由配置方式
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...