转自:

https://blog.csdn.net/herokoking/article/details/79276939

Pileup 格式最初是由Sanger Institute的Tony Cox 和 Zemin Ning 使用的,描述了染色体上每个位置的碱基信息。 可以用来 SNP/indel calling, 也可以直接用眼睛看一下排列的情况。

Pileup 文件一般是由SAMtools从sorted bam 文件生成。

samtools mpileup -f ../crrbwaidx/crr5ref.fa  -Q 15 -q 20 4_S4_L001.sorted.bam -o 4_S4_L001.pileup

mpileup 就是SAMtools生成pileup文件的命令(SAMtools 文档):
-f 后面是参考序列或者基因组
-q 是mapping quality的最小值, 默认值是0
-Q 是base quality的最小值,默认值是13
然后是输入文件*.sorted.bam, -o 后面是输出文件*.pileup

pileup 格式有几个变体,下面的是由SAMtools输出的默认格式:

seq1 272 T 24  ,.$.....,,.,.,...,,,.,..^+. <<<+;<<<<<<<<<<<=<;<;7<&
seq1 273 T 23  ,.....,,.,.,...,,,.,..A <<<;<<<<<<<<<3<=<<<;<<+
seq1 274 T 23  ,.$....,,.,.,...,,,.,...    7<7;<;<<<<<<<<<=<;<;<<6
seq1 275 A 23  ,$....,,.,.,...,,,.,...^l.  <+;9*<<<<<<<<<=<<:;<<<<
seq1 276 G 22  ...T,,.,.,...,,,.,....  33;+<<7=7<<7<&<<1;<<6<
seq1 277 T 22  ....,,.,.,.C.,,,.,..G.  +7<;<<<<<<<&<=<<:;<<&<
seq1 278 G 23  ....,,.,.,...,,,.,....^k.   %38*<<;<7<<7<=<<<;<<<<<
seq1 279 C 23  A..T,,.,.,...,,,.,..... ;75&<<<<<<<<<=<<<9<<:<<

每一行由染色体,参考碱基在染色体中的位置(reference position),参考碱基(reference base),覆盖该位点的reads的个数,覆盖该位点的碱基(read bases) 和碱基质量(base qualities),之间由tab分开。

在read base那一列,每个点(dot)代表这个碱基正向匹配到reference base, 每个逗号代表该碱基反向匹配到reference base. 如果是‘ACGTN’,说明这个碱基是个正向的mismatch,如果是‘actgn', 说明这个碱基是个反向的mismatch。这个样式 '\+ or - [0-9]+[ACGTNacgtn]+'是在这个reference position和下一个reference position之间的插入(insertion)或缺失(deletion)突变。加号代表插入,减号代表缺失,数字是插入或缺失的长度,数字后面的’ACGTN or acgtn'就是插入或缺失的碱基。下面第一行是一个插入的例子,第二行是两个缺失的例子(有五个reads都出现了两个的缺失):

chr1    12994   G       20      ......,,,+1c,,,,,,,,,,, KK<KFKFAKKKFKKKKK7KK
chr1    13656   C       18      .-2AG....,-2ag,,-2ag.,.,-2ag....,-2ag,  FKKKKKKKKF7KKKKKK<

在read base那一列,‘^'是每条reads的开始,’^'后面跟的符号" ' "的ASCII十进制值减去33就是这条reads的mapping quality. '$'是每条reads的结束。如下:

chr1    13005   A       21      .....,,,,,,,,,,,,,^',^',^',     7KFFKFF<KKKKKK7K<KEEE
chr1    13006   G       24      .$.....,,,,,,,,,,,,,,,,,^'.     >KKFAKK7FKKKKKKKKFKKKFKB

reads开始和结束的标志是受到了Phil Green's CALF format 的启发。通过开始和结束的标志可以从pileup文件重建reads.
SAMtools 可以选择性的把mapping quality加到输出结果的每一行,这样会使输出的文件更大,但当只有一部分位点被提取出来时,这样做就有必要了(因为只提取一部分位点,开始的标志'^'就可能不会被包含着提取的位点,就没法知道每个reads base的mapping quality了.)。

以下来自:http://www.chenlianfu.com/?p=1399

Pileup 格式详细说明的更多相关文章

  1. 每天进步一点点------YUV格式详细解释

    YUV格式详细解释 YUV开放分类: 网络.计算机.手机.色彩学.影像学  概述  YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是PAL和SECAM模拟彩色电视制式 ...

  2. RTP 包格式 详细解析

    H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+      |0|1|2|3|4|5|6|7 ...

  3. avi格式详细介绍

    百度:http://wenku.baidu.com/link?url=KB7qKc6UG4aeU-i9FtXeV8Uou4JHPceiyz3HNbzCrQw4phY-qRlcp3tTSwYPeIgdx ...

  4. Mysql Binlog三种格式详细介绍

    一.MySQL Binlog格式介绍 mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 查看binlog的格式的脚本: 二.binlog 的不同模式有什么区别 ...

  5. (转) s-video vs. composite video vs. component video 几种视频格式详细说明和比较

    之前对着几种视频格式认识不是很清晰,所以看数据手册的时候,看的也是稀里糊涂的. 因为项目中需要用到cvbs做视频输入,在元器件选型上,看到tw2867的数据手册上,有这么一句话: The TW2867 ...

  6. sam格式详细说明

    原文链接 https://www.jianshu.com/p/386f520e5de1 The SAM Format Specification(sam格式说明) 1 The SAM Format S ...

  7. YUV格式详细解释与FFMPEG的关系

    YUV主要的采样格式 主要的采样格式有YCbCr 4:2:0.YCbCr 4:2:2.YCbCr 4:1:1和 YCbCr 4:4:4.其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 ...

  8. NSDateFormatter格式详细列表一览

    转自:http://www.cnblogs.com/xinus/archive/2012/10/29/NSDateFormatter_samples.html 前言:iOS开发中NSDateForma ...

  9. C# 日期格式转【转】

    使用:DateTime.ToString的方法(String, IFormatProvider)转换格式 using System; using System.Globalization; Strin ...

随机推荐

  1. Spring in action读书笔记(一) 自动化装配bean

    需要引入的ja包 <dependency> <groupId>org.springframework</groupId> <artifactId>spr ...

  2. Python 官方团队在打包项目中踩过的坑

    花下猫语:这是 packaging 系列的第三篇译文,该系列是全网关于此话题的最详尽(水平也很高)的一个系列.原作者是 Python 官方打包团队成员,是 virtualenv 和 tox 项目的维护 ...

  3. 日志冲突解决方案(基于gradle)

    日志冲突解决方案 前提:我使用gradle管理项目 最近在项目中需要用curator客户端操作zookeeper,在maven仓库拉取的jar包导致日志冲突,会报以下的错误: 经常会有如上图2处红色框 ...

  4. Docker+Nginx使用流程(笔记)

    Docker+Nginx使用流程 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统 # uname -r 查看你当前的内核版本 # yum -y insta ...

  5. 动态代理之 JDK 动态代理

    动态代理 动态代理源于设计模式中的代理模式,代理模式的主要作用就是使代理对象完成用户的请求,屏蔽用户对真实对象的访问.通过代理对象去访问目标对象来控制原对象的访问. 代理模式的最典型的应用就是 Spr ...

  6. Deepin Linux 实体机安装

    Deepin Linux 实体机安装 1.下载ISO镜像并刻录到U盘上 系统ISO镜像下载 深度技术 刻录工具下载 深度技术(下方有深度启动盘制作工具下载) 这两个都下载好之后,打开刻录工具,选择镜像 ...

  7. 「newbee-mall新蜂商城开源啦」1000 Star Get !仓库Star数破千!记录一下

    新蜂商城已经开源了 3 个多月左右的时间,在 2019 年的年末,仓库的 Star 数量冲破了 1000,整理本篇文章的时间是 2020 年 1 月 12 日,目前的 Star 数量是 1180 左右 ...

  8. TensorFlow——Graph的基本操作

    1.创建图 在tensorflow中,一个程序默认是建立一个图的,除了系统自动建立图以外,我们还可以手动建立图,并做一些其他的操作. 下面我们使用tf.Graph函数建立图,使用tf.get_defa ...

  9. Helm, 在Kubernetes中部署应用的利器

    一.背景 Kubernetes(k8s)是一个基于容器技术的分布式架构领先方案.它在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器 ...

  10. express项目创建

    npm install express-generator -g       全局安装express生成器 express -h  帮助中心 express 项目名 npm i    安装依赖 nod ...