SOPs/coordinates – BaRC Wikiicon-default.png?t=N7T8http://barcwiki.wi.mit.edu/wiki/SOPs/coordinates

文件,就是把测序reads比对到参考基因组后的文件!bam或者bed格式的文件主要是为了追踪我们的reads到底比对到了参加基因组的什么区域,而UCSC规定的这几个文件格式(wig、bigWig和bedgraph)用处不一样,仅仅是为了追踪参考基因组的各个区域的覆盖度,测序深度!而且这些定义好的文件,可以无缝连接到UCSC的Genome Browser工具里面进行可视化!

这个网站提供了这几种数据格式的构造及转换脚本:SOPs/coordinates – BaRC Wiki

BED、WIG、BIGWIG和BEDGRAPH文件的比较

文件格式数据类型存储方式应用场景
BED基因组区域文本基因组注释、ChIP-seq、ATAC-seq等
WIG连续测量值文本基因表达、DNA甲基化、染色质可及性等
BIGWIG连续测量值压缩基因表达、DNA甲基化、染色质可及性等
BEDGRAPH连续测量值文本基因表达、DNA甲基化、染色质可及性等

BAM文件是生物信息学中广泛使用的文本文件格式,用于存储高通量测序数据(如DNA-seq、RNA-seq和ChIP-seq)的比对结果。BAM文件通常由一个或多个比对结果组成,每个比对结果由一个或多个读取组成。

BAM文件的基本结构

BAM文件由一个或多个“记录”组成,每个记录描述一个比对结果或读取。记录由以下字段组成:

  • 染色体名称(Reference Name):描述比对结果或读取所在的染色体的名称或编号。
  • 起始位置(Start):比对结果或读取的起始坐标,通常是以0-based的方式表示。
  • 结束位置(End):比对结果或读取的结束坐标,也是0-based。
  • 碱基序列(Bases):比对结果或读取的碱基序列。
  • 质量值(Qualities):比对结果或读取的质量值。
  • 附加信息(Auxiliary Information):比对结果或读取的附加信息,如比对得分、信任度等。

1 BAM文件的示例

以下是一个简化的BAM文件示例,以更好理解其结构:

@SQ	SN:chr1	LN:249250621
@SQ	SN:chr2	LN:243199373
@RG	ID:test_readgroup	LB:test_library	PL:illumina	SM:test_sample

read1	100	200	ACGTACGTACGTACGT	*	0	0	.	MD:Z:1234567890
read2	300	400	ACGTACGTACGTACGT	*	0	0	.	MD:Z:1234567890

在上述示例中,第一行和第二行定义了两个染色体的信息。第三行和第四行定义了两个读取的信息。

BAM文件的应用

BAM文件在生物信息学中具有多种应用,包括但不限于:

  • 比对数据分析:用于分析高通量测序数据的比对结果,如比对精度、比对信任度等。
  • 数据可视化:用于可视化高通量测序数据的比对结果,如基因表达图谱、染色质可及性图谱等。
  • 数据挖掘:用于挖掘高通量测序数据的比对结果中的潜在规律,如基因调控机制、疾病相关性等。

2 BED文件

BED文件是生物信息学中广泛使用的文本文件格式,用于描述基因组上的特征和区域。BED文件通常包含基因组坐标、特征的名称、描述和其他附加信息。

BED文件的基本结构

BED文件由文本行组成,每一行表示一个基因组上的特征或区域。每行通常包含以下字段,用制表符或空格来分隔:

  • 染色体名称(Chromosome Name):描述特征或区域所在的染色体的名称或编号。
  • 起始位置(Start):特征或区域的起始坐标,通常是以0-based的方式表示。
  • 结束位置(End):特征或区域的结束坐标,也是0-based。

BED文件的可选字段

  • 名称(Name):特征或区域的名称或标识符。
  • 分数(Score):用于表示特征的分数、质量或重要性。
  • 链方向(Strand):表示特征所在链的方向,通常是“+”(正链)或“-”(负链),或“.”表示未知链方向。
  • 分区信息(Thick Start、Thick End、Item RGB):这些字段通常与蛋白质编码区域(CDS)相关,描述CDS的起始和结束位置以及颜色信息。
  • 块数(Block Count):描述特征中的区块数。
  • 块大小(Block Sizes):描述每个区块的大小,以逗号分隔。
  • 块起始位置(Block Starts):描述每个区块的相对起始位置,以逗号分隔。

BED文件的示例

以下是一个简化的BED文件示例,以更好理解其结构:

chr1    1000    2000    Gene1    0     +
chr1    2500    3000    Gene2    0     -
chr2    5000    6000    Gene3    0     +

在上述示例中,每行描述了一个基因组上的特征,包括染色体名称、起始和结束位置、名称、分数和链方向等字段。

BED文件的应用

BED文件在生物信息学中具有多种应用,包括但不限于:

  • 基因组注释:用于描述基因的外显子、内含子、UTR(非翻译区)等区域。
  • ChIP-seq和ATAC-seq分析:用于定义与蛋白质结合、染色质可及性等有关的区域。
  • 比对和可视化:用于比对测序数据到基因组,构建可视化图谱,帮助研究人员理解基因组结构。
  • 功能注释:用于注释基因和非编码区域的功能,帮助解释生物学数据。
  • 基因组测序和组装:用于定义组装后的序列中的区域,如外显子、CDS等。

BAM文件

BAM文件是生物信息学中广泛使用的文本文件格式,用于存储高通量测序数据(如DNA-seq、RNA-seq和ChIP-seq)的比对结果。BAM文件通常由一个或多个比对结果组成,每个比对结果由一个或多个读取组成。

BAM文件的基本结构

BAM文件由一个或多个“记录”组成,每个记录描述一个比对结果或读取。记录由以下字段组成:

  • 染色体名称(Reference Name):描述比对结果或读取所在的染色体的名称或编号。
  • 起始位置(Start):比对结果或读取的起始坐标,通常是以0-based的方式表示。
  • 结束位置(End):比对结果或读取的结束坐标,也是0-based。
  • 碱基序列(Bases):比对结果或读取的碱基序列。
  • 质量值(Qualities):比对结果或读取的质量值。
  • 附加信息(Auxiliary Information):比对结果或读取的附加信息,如比对得分、信任度等。

3 WIG文件

WIG文件是生物信息学中广泛使用的文本文件格式,用于存储沿基因组方向的连续测量值。WIG文件通常用于存储基因表达数据、DNA甲基化数据和染色质可及性数据等。

WIG文件的基本结构

WIG文件由一个或多个“记录”组成,每个记录描述一个连续测量值。记录由以下字段组成:

  • 染色体名称(Reference Name):描述测量值所在的染色体的名称或编号。
  • 起始位置(Start):测量值的起始坐标,通常是以0-based的方式表示。
  • 结束位置(End):测量值的结束坐标,也是0-based。
  • 测量值(Value):测量值的实际值。

WIG文件的示例

以下是一个简化的WIG文件示例,以更好理解其结构:

chr1    1000    2000    1.0
chr1    2500    3000    2.0
chr2    5000    6000    3.0

在上述示例中,每行描述了一个基因组上的连续测量值,包括染色体名称、起始和结束位置、测量值等字段。

4 BIGWIG文件

BIGWIG文件是WIG文件的一种变体,它使用了更高效的压缩算法来存储数据。BIGWIG文件通常用于存储高通量测序数据(如DNA-seq、RNA-seq和ChIP-seq)的表达数据。

BIGWIG文件的基本结构

BIGWIG文件由一个或多个“块”组成,每个块描述一个连续测量值。块由以下字段组成:

  • 染色体名称(Reference Name):描述测量值所在的染色体的名称或编号。
  • 起始位置(Start):测量值的起始坐标,通常是以0-based的方式表示。
  • 结束位置(End):测量值的结束坐标,也是0-based。
  • 测量值(Value):测量值的实际值。
  • 块大小(BlockSize):块的大小,以字节为单位。

BIGWIG文件的示例

以下是一个简化的BIGWIG文件示例,以更好理解其结构:

chr1    1000    2000    1.0    100
chr1    2500    3000    2.0    200
chr2    5000    6000    3.0    300

在上述示例中,每行描述了一个基因组上的连续测量值,包括染色体名称、起始和结束位置、测量值、块大小等字段。

5 BEDGRAPH文件

BEDGRAPH文件是BIGWIG文件的另一种变体,它使用了更简单的格式来存储数据。BEDGRAPH文件通常用于存储基因表达数据、DNA甲基化数据和染色质可及性数据等。

BEDGRAPH文件的基本结构

BEDGRAPH文件由一个或多个“记录”组成,每个记录描述一个连续测量值。记录由以下字段组成:

  • 染色体名称(Reference Name):描述测量值所在的染色体的名称或编号。
  • 起始位置(Start):测量值的起始坐标,通常是以0-based的方式表示。
  • 结束位置(End):测量值的结束坐标,也是0-based。
  • 测量值(Value):测量值的实际值。

BEDGRAPH文件的示例

以下是一个简化的BEDGRAPH文件示例,以更好理解其结构:

chr1    1000    2000    1.0
chr1    2500    3000    2.0
chr2    5000    6000    3.0

在上述示例中,每行描述了一个基因组上的连续测量值,包括染色体名称、起始和结束位置、测量值等字段

6 sam文件

SAM文件是BAM文件的前身,它是生物信息学中广泛使用的文本文件格式,用于存储高通量测序数据(如DNA-seq、RNA-seq和ChIP-seq)的比对结果。SAM文件通常由一个或多个比对结果组成,每个比对结果由一个或多个读取组成。

SAM文件的基本结构与BAM文件的基本结构相同,但SAM文件没有附加信息字段。SAM文件的记录由以下字段组成:

  • 染色体名称(Reference Name):描述比对结果或读取所在的染色体的名称或编号。
  • 起始位置(Start):比对结果或读取的起始坐标,通常是以0-based的方式表示。
  • 结束位置(End):比对结果或读取的结束坐标,也是0-based。
  • 碱基序列(Bases):比对结果或读取的碱基序列。
  • 质量值(Qualities):比对结果或读取的质量值。

SAM文件的应用与BAM文件的应用相同。

总体而言,SAM文件与BAM文件的区别在于SAM文件没有附加信息字段。SAM文件的结构更简单,但也更不灵活。BAM文件的结构更复杂,但也更灵活,可以存储更多类型的信息。

其实对我们的bam文件,用samtools软件也可以很容易得到基因组区域的覆盖度和测序深度,比如:

samtools depth -r chr12:126073855-126073965  Ip.sorted.bam

chr12    126073855    5

chr12    126073856    15

chr12    126073857    31

chr12    126073858    40

chr12    126073859    44

chr12    126073860    52

~~~~~~~~~其余省略输出~~~~~~~~~

这其实就是wig文件的雏形,但是wig文件会更复杂一点!

首先它不需要第一列了,因为全部是重复字段,只需要在每个染色体的第一行定义好染色体即可。

7bw文件

bw文件是bigwig的一种变体,它是bigwig文件的一种压缩格式。bw文件的压缩方式与bigwig文件的压缩方式相同,但bw文件的压缩率更高。

bw文件由一个或多个“块”组成,每个块描述一个连续测量值。块由以下字段组成:

  • 染色体名称(Reference Name):描述测量值所在的染色体的名称或编号。
  • 起始位置(Start):测量值的起始坐标,通常是以0-based的方式表示。
  • 结束位置(End):测量值的结束坐标,也是0-based。
  • 测量值(Value):测量值的实际值。
  • 块大小(BlockSize):块的大小,以字节为单位。

bw文件的压缩方式采用了RLE(Run-length encoding)算法。RLE算法是一种压缩算法,它通过记录连续相同字符的个数来进行压缩。

bw文件的压缩率比bigwig文件的压缩率更高,这是因为bw文件使用了RLE算法。RLE算法可以有效地压缩连续相同字符的序列,而bigwig文件使用的是索引压缩算法,它不太适合压缩连续相同字符的序列。

bw文件的应用与bigwig文件的应用相同。bw文件通常用于存储基因表达数据、DNA甲基化数据和染色质可及性数据等。

bw文件的优点包括:

  • 压缩率更高,可以节省存储空间。
  • 使用RLE算法,压缩效率更高。

bw文件的缺点包括:

  • 读取速度较慢,因为需要解压缩。
  • 不适合存储非连续测量值。

总结

文件格式数据类型存储方式应用场景
BED基因组区域文本基因组注释、ChIP-seq、ATAC-seq等
WIG连续测量值文本基因表达、DNA甲基化、染色质可及性等
BIGWIG连续测量值压缩基因表达、DNA甲基化、染色质可及性等
BEDGRAPH连续测量值文本基因表达、DNA甲基化、染色质可及性等
SAM比对结果文本高通量测序数据比对
BAM比对结果文本高通量测序数据比对
bw连续测量值压缩基因表达、DNA甲基化、染色质可及性等

drive_spreadsheetExport to Sheets

BED文件用于存储基因组上的特征和区域,每行描述一个基因组上的特征或区域,包括染色体名称、起始和结束位置、名称、分数和链方向等字段。

WIG文件用于存储沿基因组方向的连续测量值,每行描述一个连续测量值,包括染色体名称、起始和结束位置、测量值等字段。

BIGWIG文件是WIG文件的一种变体,使用了更高效的压缩算法来存储数据。

BEDGRAPH文件是BIGWIG文件的另一种变体,使用了更简单的格式来存储数据。

SAM文件用于存储高通量测序数据(如DNA-seq、RNA-seq和ChIP-seq)的比对结果,每行描述一个比对结果或读取,包括染色体名称、起始位置、结束位置、碱基序列、质量值等字段。

BAM文件是SAM文件的前身,使用了更复杂的格式来存储数据,可以存储更多类型的信息。

bw文件是bigwig的一种变体,使用了RLE算法来压缩数据,压缩率比bigwig文件更高。

这些参数一般不用管,除非你很熟悉了UCSC的Genome Browser工具

然后需要设置每条染色体的属性,几个比较重要的参数是:

fixedStepchrom=chrNstart=positionstep=stepInterval[span=windowSize]

下面是wig的一个具体例子:

track type=print wiggle_0 name=hek  description=hek

variableStep chrom=chr1 span=10

10008    7

10018    14

10028    27

10038    37

10048    45

10058    43

10068    37

10078    26

~~~~~~~~~其余省略输出~~~~~~~~~

UCSC也提供了一个wig文件:http://genome.ucsc.edu/goldenPath/help/examples/wiggleExample.txt

可以看到我设置的参数很少很少,而且我是直接对sort后的bam文件用脚本变成wig文件的。


wig文件格式如下:

那么bigwig格式文件就没什么好讲的了,它就是wig格式文件的二进制压缩版本,这样更加节省空间。

我们只需要用UCSC提供的工具把自己的wig文件转换一下即可,步骤如下:

  • Save this wiggle file to your machine (this satisfies steps 1 and 2 above).
  • Save this text file to your machine. It contains the chrom.sizes for the human (hg19) assembly (this satisfies step 4 above).
  • Download the wigToBigWig utility (see step 3).
  • Run the utility to create the bigWig output file (see step 5):
    wigToBigWig wigVarStepExample.gz hg19.chrom.sizes myBigWig.bw

最后我们讲一下BedGraph格式文件,它是BED文件的扩展,是4列的BED格式,但是需要添加UCSC的Genome Browser工具里面显示的属性,但是一般就定义有限的几个属性即可。

track type=bedGraph name=track_labeldescription=center_label        visibility=display_modecolor=r,g,baltColor=r,g,b        priority=priorityautoScale=on|offalwaysZero=on|off        gridDefault=on|offmaxHeightPixels=max:default:min        graphType=bar|pointsviewLimits=lower:upper        yLineMark=real-valueyLineOnOff=on|off        windowingFunction=maximum|mean|minimumsmoothingWindow=off|2-16

有一点需要注意: These coordinates are zero-based, half-open.

 Chromosome positions are specified as 0-relative. The first chromosome position is 0. The last position in a chromosome of length N would be N - 1. Only positions specified have data.

 Positions not specified do not have data and will not be graphed.

All positions specified in the input data must be in numerical order.

我这里有一个MACS对CHIP-seq数据call peaks附带的BedGraph文件,也可以用工具直接从bam格式文件得到:

track type=bedGraph name="hek_treat_all" description="Extended tag pileup from MACS version 1.4.2 20120305"

chr1    9997    9999    1

chr1    9999    10000   2

chr1    10000   10001   4

chr1    10001   10003   5

chr1    10003   10007   6

chr1    10007   10010   7

chr1    10010   10012   8

chr1    10012   10015   9

chr1    10015   10016   10

chr1    10016   10017   11

chr1    10017   10018   12

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐