文章目录

  • 前期了解
  • 文件分割(样本少可以不做)
  • 数据注释
  • 文件整合(样本少可以不做)
  • 注释的过滤

前期了解

VCF是测序文件的一种格式,详细记录测序样本的SNP信息,有很多介绍vcf文件内容的,在这里就不详细描述了。以下的工作主要对人类样本的SNP过滤出SNV的操作进行描述。

我收到的样本是这样子的:

共有24个,分别是24条染色体的.vcf.gz文件,每一条染色体的vcf文件都包含多个人的样本。

文件分割(样本少可以不做)

VCF测序文件可能包含有多个样本,所以需要执行bcftools脚本进行分割,首先把每一条染色体的单独文件放入到独立文件夹之中,类似于这样:

我们查看一下第一个文件夹的内容:


接下来就需要把这个文件分开成每个个体的1号染色体vcf文件:

bcftools view --threads n -s Sample_name WGS_1.vcf.gz -Oz -o Sample_name.vcf.gz

你需要在这个脚本里更改的内容有:
n:使用线程数量
Sample_name: vcf所包含的一个样本的名称
WGS_1.vcf.gz :你输入的文件名称
Sample_name.vcf.gz :你要输出的文件名称

这样你就可以在一号染色体的文件夹内看到被分开的多个样本信息。

数据注释

我使用的注释软件是Annovar,具体的使用详情可以另行查找,基于筛选的注释。
对一个样本的一条染色体的注释如下:

perl Your_PATH_1/table_annovar.pl -thread 1 Sample_name.vcf.gz Your_PATH_1/annovar/humandb/ -buildver hg19 -out Your_PATH_2/Sample_name -remove -protocol refGene,cytoBand,exac03,avsnp147,dbnsfp30a,EUR.sites.2015_08 -operation g,r,f,f,f,f -nastring . -vcfinput

Your_PATH_1:Annovar的路径
Your_PATH_2:输出的路径在哪里
refGene,cytoBand,exac03,avsnp147,dbnsfp30a,EUR.sites.2015_08:
这几个都是提前在Annovar下载好的数据库,g,r,f,f,f,f是注释的类型,具体需要看一下Annovar的使用方法。

文件整合(样本少可以不做)

注释的结果很简单,对每一个样本的一条染色体会生成这样的三个文件:

我们需要.txt结尾的文件整合到一个文件夹里面:
sample.list存放所有的样本名称,chrom.list存放1~24条染色体的编号。

cat sample.list |while read input; domkdir -p single_person/${input}cat chrom.list | while read reads; do cp -p ${reads}/out/${input}_${reads}.hg19_multianno.txt single_person/${input}donedone

注意找好路径,最终这些文件会被存放在一个叫做single_person的文件夹里面,每一个样本的所有染色体存放为一个单独的文件夹。

注释的过滤

我们的注释是全部的注释,但是有很多是不可靠的,需要按照一定的标准进行过滤。
过滤执行的是awk脚本,可以进行联合过滤。
批量执行脚本如下:

cat final.list |while read input; doawk ' ($21<=0.05 && ($22 ~/D|\./) &&  $23>=0.453 &&  ($24 ~ /D|P|\./) &&  $25>=0.447 &&  ($26 ~ /D|P|\./) && ($28 ~ /D|\./) &&  ($30 ~ /A|D|\./) && ($32 ~ /H|M|\./) && ($34 ~ /D|\./) \&& ($36 ~/D|\./) &&  $39>=20 &&  ($42 ~/D|\./) && ($44 ~/D|\./) &&  ($46 ~/D|\./)) { print $0} ' ${input}/*.hg19_multianno.txt >> PATH/${input}.txtdone

$21指的是第21列,awk的正则化表达可以上网搜一下,对每一个样本的全套染色体进行过滤操作,最终得到一个样本一个txt文件。打开可以看到每一个样本过滤后的信息。

从SNP_VCF文件提取SNV相关推荐

  1. python读取xml标注坐标_遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件...

    XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...

  2. 深度学习和目标检测系列教程 8-300:目标检测常见的标注工具LabelImg和将xml文件提取图像信息

    @Author:Runsen 图像标注主要用于创建数据集进行图片的标注.本篇博客将推荐一款非常实用的图片标注工具LabelImg,重点介绍其安装使用过程.如果想简单点,请直接下载打包版(下载地址见结尾 ...

  3. 用C语言写的迅雷看看XV文件提取器及C语言源代码

    tfref 如果你没用过迅雷看看, 或是不知道XV文件的, ...     写了很久了, 但是担心版权问题, 一直没有帖出来~~~     能提取截止目前最新版本的迅雷看看XV文件. 好了, 不多说, ...

  4. 目标检测xml文件提取

    提取xml文件的目标名,xmin,ymin,xmax,ymax,在图上把框框出来并保存. 使用try except避免xml文件中可能存在的标注错误. xml文件提取: 使用xml.dom.minid ...

  5. Wallpaper Engine pkg壁纸文件提取工具

    简介: RePKG-GUI 基于RePKG开发,适用于Wallpaper Engine壁纸的用户,可以帮助用户轻松下载Wallpaper Engine中的壁纸图片,让用户可以获取到自己喜欢的壁纸,软件 ...

  6. 植物大战僵尸资源文件提取 总结

    PvZ资源文件提取 总结 参考 植物大战僵尸资源文件(main.pak):格式/提取/工具下载[转贴] 植物大战僵尸pak资源文件分析 植物大战僵尸资源提取 C/C++中判断某一文件或目录是否存在 P ...

  7. wav文件提取音频数据_python

    wav文件提取音频数据_python wav文件格式 首先需要知道wav文件格式:(10条消息) WAV文件格式详解_imxiangzi的专栏-CSDN博客_wav文件格式 简单来说wav文件分为三个 ...

  8. Veri-776数据集处理 xml文件提取转换成txt文件

    Veri-776数据集处理 xml文件提取转换成txt文件 最近在做重识别工作,数据处理时需要进行文件格式转换,这里将代码记录下来 from os import getcwd import os fr ...

  9. 【人脸识别】解析MS-Celeb-1M人脸数据集及FaceImageCroppedWithAlignment.tsv文件提取

    更多内容关注微信公众号:ML_Study 1,MS-Celeb-1M数据集:  MSR IRC是目前世界上规模最大.水平最高的图像识别赛事之一,由MSRA(微软亚洲研究院)图像分析.大数据挖掘研究组组 ...

  10. webpack5-打包css等样式资源,css等样式文件提取,css等样式文件压缩

    打包css资源 加载css资源需要安装style-loader,css-loader库 配置如下: module: {rules: [// 在rules中写详细的loader配置// 打包css资源{ ...

最新文章

  1. php程序监听node.js程序和go程序
  2. mybaits四-3:获取保存数据的id
  3. 《中国人工智能学会通讯》——8.2 自然界中的鸽群导航行为
  4. 计算机网络工程实验分析与体会_《软件工程》面向对象分析实验
  5. 5g算法matlab怎么用,使用 MATLAB 开发 5G NR 设计
  6. python数据类型总结_Python 数据类型总结
  7. Java 之常用API(一)
  8. 在JS/jQuery中,怎么触发input的keypress/keydown/keyup事件?
  9. android教程1009无标题,Android ActionBarActivity设置全屏无标题实现方法总结_Android_脚本之家...
  10. 第1章 Spring Cloud 构建微服务架构(一)服务注册与发现
  11. 介绍下BFC,IFC,GFC和FFC
  12. mongodb 集群shard_MongoDB分片集群部署详解
  13. tomcat日志配置——如何查看日志
  14. 乐优商场项目day08——图片(文件)上传
  15. Windows 10 正式版原版ISO镜像
  16. 今日恐慌与贪婪指数为28,等级由极度恐慌转为恐慌
  17. 微信企业号回调模式 java_java微信企业号开发之开发模式的开启
  18. C++中vector<int> nums和vector<int> nums的区别
  19. Outlook/Microsfot邮件配置:QQ邮箱/腾讯企业邮箱
  20. Like What You Like: Knowledge Distill via Neuron Selectivity Transfer 论文翻译

热门文章

  1. 回顾15个月的工作经历
  2. c# 中通快递对接_C# .net实现中通快递单号查询 快递鸟API接口
  3. Linux用户和群组管理的主要配置文件
  4. 如何用Web Scraper抓取巨潮资讯网全站乐视相关pdf文件
  5. PS——制作一寸照片、小二寸照片、二寸照片
  6. 使用fastcoll生成字符串MD5碰撞
  7. Eureka自我保护机制、健康检查的作用
  8. mantis apache mysql_apache+php+mysql搭建mantis
  9. java ckfinder 图片重命名,CKFinder上传TIFF格式图片
  10. 如何计算文件MD5 sha1 -- 微软MD5/SHA1 校验工具 Microsoft File Checksum Integrity Verifier