python绑定到ucsc大二进制(bigwig/bigbed)文件库

pybbi的Python项目详细描述


皮比

使用cython从UCSC Genome Browser source tree库中连接到jim kent的大二进制文件(bbi)[1]的python接口。

这提供了对本地和远程bigwig和bigbed文件的读级访问,但没有写功能。主要特性是将范围查询快速检索到numpy数组中。

API

内省

它们接受本地文件路径或url。

  • bbi.is_bbi(path)-->;bool
  • bbi.is_bigwig(path)-->;bool
  • bbi.is_bigbed(path)-->;bool
  • bbi.chromsizes(path)-->;OrderedDict
  • bbi.zooms(path)-->;list
  • bbi.info(path)-->;dict

阵列输出

它们接受一个bigwig或bigbed文件路径/url。大文件的信号是其间隔的基因组覆盖率。

对于单个范围查询:

  • bbi.fetch(path, chrom, start, end, [bins [, missing [, oob, [, summary]]]])-->;1d numpy数组

对于等长段列表(即生成堆叠的热图):

  • bbi.stackup(path, chroms, starts, ends, [bins [, missing [, oob, [, summary]]]])-->;二维numpy数组

summary通过指定用于粗粒度化的bins数量来支持查询。摘要统计信息可以是:“平均”、“最小”、“最大”、“COV”或“STD”之一。(默认值为“mean”)。

丢失的数据可以用自定义填充值missing(默认值为0)填充

越界范围(即start小于零或end大于染色体长度)是允许的,因为它们的实用性,例如,用于生成以特定基因组特征为中心的垂直热图堆栈。可以为越界位置(默认值为nan)提供单独的自定义填充值oob

间隔输出

接受bigWig或bigBed文件路径/URL

  • bbi.fetch_intervals(path, chrom, start, end)-->;迭代器

有关完整文档,请参阅docstrings

安装

需要

  • Linux/MacOS
  • C编译器,zlib,pthreads,libpng,openssl,make
  • Python2.7/3.3+
  • numpycython

在新的ubuntu实例上,您需要build-essentialmakelibssl-devlibpng16-dev。它似乎也适用于linux的windows子系统。

pybbi现在作为源发行版在PyPI上它附带(稍加修改)kent-utils源代码,在构建扩展模块之前将编译该源代码。

$ pip install pybbi

要进行开发,请克隆repo并以可编辑模式安装:

$ git clone https://github.com/nvictus/pybbi.git
$ cd pybbi
$ pip install -e .

相关项目

  • libBigWig:devon ryan为bigwig和bigbeed文件提供的可选c库
  • pyBigWig:同一作者为libBigWig编写的python绑定
  • bw-python:brent pederson的替代python包装程序libBigWig
  • bx-python:来自james taylor小组的python生物信息学库,其中包括用于bbi文件的工具。

此库提供对参考ucsc bbi库代码的绑定。请查看@dpryan79libBigWig以获取用于大型二进制文件的备用专用c库。pyBigWig还提供基于numpy的检索和bigBed支持

参考文献

[1]http://bioinformatics.oxfordjournals.org/content/26/17/2204.full

故障排除

在OSX上,您可能会得到关于丢失头文件的错误(例如,png.hopenssl/sha.h),即使安装了头文件,也可能不在标准包含位置在安装pybbi之前,create the required symlinks或相应地更新C_INCLUDE_PATH环境变量。

exportC_INCLUDE_PATH="/usr/local/include/libpng:/usr/local/opt/openssl/include:$C_INCLUDE_PATH"

注释

不幸的是,Kent的C源代码不是性能良好的库代码,因为它到处都是调用exit()的错误调用pybbi将捕获并抢先处理常见的输入错误,但如果以某种方式引发内部错误,它将终止您的解释器实例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android:在ListView上使用setOnItemClickListener   使用Netbeans 7.0连接到SQL Server的java正在挂起   java Spring3依赖项注入不适用于mule   java Flink SQL结果字段与LocalDateTime上请求的类型错误不匹配   java找不到文件的结尾   考虑到NamingStrategy,java有没有办法将字符串转换为JsonNode?   使用Netbeans/ant部署java(命令行)应用程序   java如何修复Spring引导多部分上载中的“所需请求部分不存在”   java在应用程序启动时通过引用获取映射未知目标实体属性异常   java形状旋转问题Java2d   Weblogic服务器上的java ExecuteAndWaitInterceptor问题   JavaSpringBoot:project将图像保存在错误的路径中,并且在使用IDEIntellji打开时不显示图像   类向java接口添加方法   Swing组件上的Java 7泛型   sql server如何从java获取用户名。sql。联系   java如何检查该行是否与正则表达式(regex)冲突?   java如何在spring引导安全中为计数失败登录设置验证登录为false   图像如何在Java中使PNG的白色透明?