BigWig是一个能用于加载到基因组浏览器上展示的格式。它的格式比较复杂,不适合直接阅读,通常由BedGraph文件转换而来。
在R语言中可以通过rtracklayer
的export.bw
输入和输出BigWig文件。
默认情况下,我们导入的数据集是GRanges格式
1 | test_path <- system.file("tests", package = "rtracklayer") |
输出信息如下
1 | gr |
我们可以通过设定import
里的as
参数,使其读取为RleList
1 | rle <- import(test_bw, as = "RleList") |
输出信息如下
1 | RleList of length 2 |
如果要输出BigWig文件,也只要保证提供的对象是GRanges或RleList, 只不过要保证一定要有score列表示信号强度。
1 | export.bw(rle, "test.bw") |
假如要用R语言输出下面这个GRanges对象为BigWig
1 | gr <- GRanges( |
那么思路就是
- 获取染色体的长度
- 将染色体按照一定宽度分窗, 可用函数为
tile
和slidingWindows
- 统计每个窗口的read数, 需要用到函数
coverage
,Views
和ViewSums
- 输出BigWig
代码实现:
1 | # 获取染色体长度 |