查看原文
其他

2018-06-06
一、什么是Bigwig/Wiggle

Bigwig:简写为bw,它规定了全基因组数据的每个坐标区间的测序深度,bigWig是通过wig格式的文件转换的二进制压缩文件,是一种全基因组计算或实验信号数据的压缩的,索引的二进制格式,

Wiggle:简写为wig,表示基因组上一个区域的信号,可以上传至UCSC上进行可视化。而wig文件也是和BED文件类似的包含区域信息的文件,一般使用MACS峰值探测后可以产生wig格式的文件。

二、为什么要使用Bigwig/Wiggle文件

我们一般会熟悉sam/bam格式文件,就是把测序reads比对到参考基因组后的文件!bam或者bed格式(下节会讲到哦)的文件主要是为了追踪我们的reads到底比对到了参考基因组的哪些区域。而UCSC规定的这几个文件格式(Wiggle、BigWig和bedgraph)用处不一样,仅仅是为了追踪参考基因组的各个区域的覆盖度,测序深度!而且这些定义好的文件,可以无缝连接到UCSC的Genome Browser工具里面进行可视化!wig和bigWig文件的优势在于可以体现出数据大小的变化和高低,例如组蛋白修饰的峰值等。

其实对我们的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文件会更复杂一点!

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

三、什么是bigWig文件

BigWig格式是wig格式文件的二进制压缩版本,用于密集连续的数据,并在基因组浏览器中进行可视化,是UCSC推荐的一种格式。BigWig文件是由原始的Wig格式通过wigToBigWig工具转换过来, Sample commands::


# create the chrom.sizes file for the UCSC database (e.g., hg19).
fetchChromSizes  hg19 > chrSize.txt
# Convert wig to big wig:  
wigToBigWig input.wig chrSize.txt myBigWig.bw

输出的BigWig文件大约比原始Wig文件多占用50%的内存(UCSC数据格式转换代码见:http://barcwiki.wi.mit.edu/wiki/SOPs/coordinates)。也可以由bedGraph 格式通过bedGraphToBigWig转换,这里不作展开。BigWig的主要优点是仅将显示特定区域所需的部分传输到UCSC,所以对于大数据集的文件,BigWig比Wig文件速度快。BigWig主要存在用户可以获得的网页上(http, https or ftp),而不在UCSC服务器上,只有当前正在查看的染色体位置所需的文件部分在本地缓存为一个“稀疏文件”。

四、什么是Wiggle文件

Wig是一种比较老的格式,展示连续值的数据,比如GC百分比,转录组数据等,Wig的数据被压缩的,储存在128个独特的仓中,当导出为其他格式时,会有很小的损失。Wig数据的元素大小必须是一样的。如果数据大小不一样,应该使用bedGraph格式,如果数据过大,就转换为bigWig。在UCSC中具体使用哪种数据格式,细节见:http://genomewiki.ucsc.edu/index.php/Selecting_a_graphing_track_data_format。以UCSC给的Wig参考文件为例(注:因排版为题,只截取了部分文件,文件全文请查看:http://genome.ucsc.edu/goldenPath/help/examples/wiggleExample.txt)Wig的数据是面向行的,第一行定义了track的属性,比如track type=wiggle_0,指定track为Wig track。

Wig文件主要由两部分格式组成,variableStep formatfixedStep formatvariableStep format以一个声明开始,明确了染色体的序号,跨度(span)。后面跟两列数据,染色体开始的碱基位置,数据的值value(可以理解为覆盖度)。span参数可以将含有相同value的连续碱基包含在一起,使数据更加简洁。如图,variableStep format span=150,包含的第一行数据49304701   10.0表示49304701-49304851有相同的value,为10.0。


variableStep chrom=chr2
300701 12.5
300702 12.5
300703 12.5
300704 12.5
300705 12.5

等价于:


variableStep chrom=chr2 span=5
300701 12.5

都表示在2号染色体300701-300705位置上有相同的value,且value=12.5。

第二部分为fixedStep format, 由声明和单列数据组成。声明部分和variableStep format中各变量的意义一样。


fixedStep chrom=chr3 start=400601 step=100 span=5
11
22
33

表示在3号染色体400601-400605, 400701-400705, and 400801-400805三个区域,value值分别为11, 22, 和 33。Wig中的value值可以是整数,实数,正数或者负数。只有指定的位置有value值,没有制定的位置则没有value,且不会在UCSU Genome Browser中作出图。

五、什么是BedGraph文件

最后顺便讲讲BedGraph ,它的trace type和Wig文件很像,不过后面的数据和bed文件很类似,ChIPseq数据做完peak calling后的bed文件最短只有三列,染色体序号,染色体起始位置和结束位置。如下图,前面的声明和Wig类似,后面的四列分别表示染色体序号,起始位置,结束位置和value值。




参考资料:

http://genome.ucsc.edu/goldenPath/help/wiggle.html

http://genome.ucsc.edu/goldenPath/help/bigWig.html

http://genome.ucsc.edu/goldenPath/help/bedgraph.html

http://genomewiki.ucsc.edu/index.php/Selecting_a_graphing_track_data_format

http://www.bio-info-trainee.com/1815.html

http://barcwiki.wi.mit.edu/wiki/SOPs/coordinates


还有更多文章,请移步公众号阅读

如果你生信基本技能已经入门,需要提高自己,请关注上面的生信技能树,看我们是如何完善生信技能,成为一个生信全栈工程师。

如果你是初学者,请关注下面的生信菜鸟团,了解生信基础名词,概念,扎实的打好基础,争取早日入门。







    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存