【生信】数据格式:bed12格式详解

BED(Browser Extensible Data)格式提供了展示生信数据的有效方法。以往对bed格式的介绍较为模糊,本文非常详细地解析bed每一列信息的含义,并重点介绍BED12格式

定义中的BED格式一共有12列,前三列是必须的,后九列为可选列。
BED3表示文件只包含bed格式中的前三列;
BED6表示文件包含bed格式中的前六列,是最为常见的格式;
BED12表示文件包含bed格式中的所有12列,含有信息最为全面。

⚠BEDn文件特定指前n列,任选n列则不能被识别为bed文件。
⚠在同一个bed文件中,列数必须一致,不然在后续分析中会遇到意想不到的麻烦。


如下为常见的BED12文件:

chr22 1000 5000 cloneA 960 + 1000 5000 0 2 567,488, 0,3512,
chr22 2000 6000 cloneB 900 - 2000 6000 0 2 433,399, 0,3601,

BED格式一共12列,每列含义如下:

  1. chrom - 片段所在染色体或者scafford

  2. chromStart - 片段起始位点

  3. chromEnd - 片段终止位点

  4. name - 片段的名字/标签,不同片段之间可相同。

  5. score - 0-1000的分数值,一般数据分析不会用到这一列,常常看到这一列全部都是“."。这一列是在浏览器展示片段的时候提供灰度信息,分数值越大,表示灰色越深。

    bed_col5.png

  6. strand - 定义基因位于染色体正负链信息。"+" 或 "-" 或 "."(没有链信息)。

  7. thickStart - 片段加粗表示的起始位点,比如基因的起始密码子位置。没有特别需求,可以直接用第二列代替。

  8. thickend - 片段加粗表示的结束位点,比如基因上的终止密码子位置。没有特别需求,可以直接用第三列代替。

  9. itemRgb - (R,G,B)格式的RGB颜色值,在用基因组浏览器显示的时候提供颜色信息。如这一列为 255,0,0(红色)时,会将片段显示为红色。

  10. blockCount - block的数量,这里的block可以理解为组成同一个基因的不同exon,虽然位置没有连续在一起,但是属于同一个基因。比如,这里表示一个基因上有几个exon。

  11. blockSizes - 逗号分隔开的N个数,N等于col10即block的数量,每个数字表示每个block的长度。

  12. blockStarts - 逗号分隔开的N个数,N等于col10即block的数量,每个数字表示一个block的相对于第一个block的起始位置(N.block.chromStart - first.block.chromStart)。比如,第一个数字一定为0,因为第一个blcok相对于它自己的起始位点为0;最后一个block的相对起始位点 + 最后一个block的长度 = chromEnd - chromStart。


如何将最为常见的BED6格式转换为BED12呢?

目前便捷好用的脚本较少,笔者自己写了一个python脚本来完成这项工作,见【生信】格式转换:转成bed及bed12格式。


“贤者以其昭昭使人昭昭,今以其昏昏使人昭昭。” --《孟子·尽心下》

你可能感兴趣的:(【生信】数据格式:bed12格式详解)