使用pyBigWig模块查看bigwig文件中的内容
欢迎关注”生信修炼手册”!
bam, bedgraph, bigwig是3种常见的存储测序深度信息的文件,都可以方便的导入IGV浏览器进行查看,其中bigwig最为常用。在chip_seq, atac_seq中,通常都会提供该种格式的文件,来来可视乎测序深度的分布。
bigwig是一种二进制格式的文件,常规情况下,无法直接浏览其内容。在python中,通过pyBigWig模块,可以方便的查看其文本内容,该模块的基本用法如下
1. 打开文件
该模块支持bigbed和bigwig两种文件格式,打开文件的代码如下
>>> bw = pyBigWig.open('ZM24TRK4.bigwig')
>>> bw.isBigBed()
False
>>> bw.isBigWig()
True
另外,还提供了相应的函数,来帮助我们判断文件格式。
2. 读取内容
测序深度的统计,有固定窗口和变长窗口两种方式,这两种都是针对染色体进行统计,通过如下方式可以查看文件中包含的染色体以及长度
>>> bw.chroms()
{'D10': 64331360L, 'D11': 69233432L, 'D12': 60589447L, 'D13': 60180343L, 'A11': 115914562L, 'A10': 109403145L, 'A13': 107345356L, 'A12': 102340594L, 'D07': 55165807L, 'D06': 63144374L, 'D05': 62317630L, 'D04': 54327443L, 'D03': 53049694L, 'D02': 68262679L, 'D01': 61090159L, 'D09': 50656052L, 'D08': 66058605L, 'A08': 121158745L, 'A09': 79884170L, 'A02': 104266397L, 'A03': 105393268L, 'A01': 112577161L, 'A06': 121900087L, 'A07': 93248268L, 'A04': 80868428L, 'A05': 107448258L}
>>> bw.chroms('D10')
64331360L
再结合intervals方法,就可以遍历所有染色体的测序深度信息了,代码如下
>>> for chrom in bw.chroms():
... for entry in bw.intervals(chrom):
... start, end, pos = entry
... print(chrom, start, end, pos)
...
3. 提取子集
intervals方法有多个参数,必选参数为染色体名称,除此之外,还可以添加起始和终止位置,返回特定区间内的测序深度,用法如下
>>> bw.intervals('D10', 0, 200)
((0, 50, 1.0), (50, 100, 2.0), (100, 150, 3.0), (150, 200, 4.0))
4. 关闭文件
文件读取完后,要记得关闭文件,代码如下
>>> bw.close()
通过该模块,可以将bigwig的内容转换为纯文本,帮助我们更加直观的了解bigwig中存储的信息。
·end·
—如果喜欢,快分享给你的朋友们吧—
原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!
本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。
更多精彩
KEGG数据库,除了pathway你还知道哪些
全网最完整的circos中文教程
DNA甲基化数据分析专题
突变检测数据分析专题
mRNA数据分析专题
lncRNA数据分析专题
circRNA数据分析专题
miRNA数据分析专题
单细胞转录组数据分析专题
chip_seq数据分析专题
Hi-C数据分析专题
HLA数据分析专题
TCGA肿瘤数据分析专题
基因组组装数据分析专题
CNV数据分析专题
GWAS数据分析专题
2018年推文合集
2019年推文合集
写在最后
转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。
扫描下方二维码,关注我们,解锁更多精彩内容!
一个只分享干货的
生信公众号
使用pyBigWig模块查看bigwig文件中的内容相关推荐
- 【Ubuntu】dpkg-deb -c :查看deb文件中的内容
1.dpkg-deb -c :查看deb文件中的内容 $ dpkg-deb -c package eg: $ dpkg-deb -c sogoupinyin_2.2.0.0108_amd64.deb ...
- python db文件_python中查看.db文件中表格的名字及表格中的字段操作
1.问题描述: 我桌面上有一个"账号密码.db"文件,我现在想知道里面有几张表格table.表格的名字.表头结构. 2.使用SQL语句"""selec ...
- python怎么打开h5文件_python中利用h5py模块读取h5文件中的主键方法
如下所示: import h5py import numpy as np #HDF5的写入: imgData = np.zeros((2,4)) f = h5py.File('HDF5_FILE.h5 ...
- boost::regex模块在 cpp 文件中搜索类定义,使用全局数据的测试程序
boost::regex模块在 cpp 文件中搜索类定义,使用全局数据的测试程序 实现功能 C++实现代码 实现功能 boost::regex模块在 cpp 文件中搜索类定义,使用全局数据的测试程序 ...
- boost::regex模块在 cpp 文件中搜索类定义,使用 C++ Builder 闭包作为回调的测试程序
boost::regex模块在 cpp 文件中搜索类定义,使用 C++ Builder 闭包作为回调的测试程序 实现功能 C++实现代码 实现功能 boost::regex模块在 cpp 文件中搜索类 ...
- boost::regex模块在 cpp 文件中搜索类定义,使用绑定成员函数回调测试程序
boost::regex模块在 cpp 文件中搜索类定义,使用绑定成员函数回调测试程序 实现功能 C++实现代码 实现功能 boost::regex模块在 cpp 文件中搜索类定义,使用绑定成员函数回 ...
- boost::regex模块在 cpp 文件中搜索类定义,使用全局回调函数的测试程序
boost::regex模块在 cpp 文件中搜索类定义,使用全局回调函数的测试程序 实现功能 C++实现代码 实现功能 boost::regex模块在 cpp 文件中搜索类定义,使用全局回调函数的测 ...
- python替换文件内容_Python实现替换文件中指定内容的方法
本文实例讲述了Python实现替换文件中指定内容的方法.分享给大家供大家参考,具体如下: 这里使用python编写的程序,实现如下功能:将文件中的指定子串 修改为 另外的子串 编写的python程序, ...
- 用python将txt文件中的内容导入到excel文件中
背景 日志文件中的内容不方便阅读统计,需要用excel表格的形式显示出来 日志文件内容如下: info***LCAM_SC.DM_RP_DIS_DEVICE_TEMP*1*1*0*0*0*0*N*Y* ...
最新文章
- Codeforces Round #323 (Div. 2) C. GCD Table
- 带你看android的内心世界
- codevs 2865 天平系统1
- 想聊天?自己搭建个聊天机器人吧!
- Boost:以协程的方式实现带有默认值的echo服务器的实例
- AG3 hang after click membership search
- 苹果复兴_类型复兴的故事:来自Type West的经验教训
- 计算机视觉论文-2021-07-07
- VMware中的三种网络模式-----NAT模式
- AOS编排语言系列教程(三):创建子网Subnet
- 心得:调整边缘、叠加模式的妙用
- LanguageTool至少需要哪些jar包?
- 看完吴恩达(Andrew Ng)机器学习视频的感受
- steam用移动网不显示头像
- 二维码生成代码(转载)
- 安川机器人SOCKET 通讯
- 李沐动手学深度学习d2l
- 基于Springboot+vue的办公OA系统#毕业设计
- 2018DeeCamp笔试题目第2套A卷
- 利用爬虫数据做的研究_利用研究周增强数据科学能力