将obo格式的本体解析为networkx

obonet的Python项目详细描述


obonet:将obo格式的本体加载到networkx中

Build Status

阅读python中obo格式的本体。 obonet

  • 用户友好
  • 没有废话
  • Python
  • 现代
  • 简单且经过测试
  • 重量轻
  • ^{}利用

这个python 3.4+包将obo序列化的本体加载到网络中。 函数obonet.read_obo()接受.obo文件并返回本体的^{}表示。 解析器是为obo规范版本1.2&;1.4设计的。

用法

该软件包是在python≥3.4上设计和测试的。 obo文件可以从路径、url或打开的文件句柄中读取。 压缩是从路径的扩展名推断出来的。 参见下面的示例用法:

importnetworkximportobonet# Read the taxrank ontologyurl='https://github.com/dhimmel/obonet/raw/master/tests/data/taxrank.obo'graph=obonet.read_obo(url)# Or read the xz-compressed taxrank ontologyurl='https://github.com/dhimmel/obonet/raw/master/tests/data/taxrank.obo.xz'graph=obonet.read_obo(url)# Number of nodeslen(graph)# Number of edgesgraph.number_of_edges()# Check if the ontology is a DAGnetworkx.is_directed_acyclic_graph(graph)# Mapping from term ID to nameid_to_name={id_:data.get('name')forid_,dataingraph.nodes(data=True)}id_to_name['TAXRANK:0000006']# TAXRANK:0000006 is species# Find all superterms of species. Note that networkx.descendants gets# superterms, while networkx.ancestors returns subterms.networkx.descendants(graph,'TAXRANK:0000006')

有关更详细的教程,请参见Gene Ontology example notebook

安装

PyPI

推荐的方法是使用:

pip install obonet

但是,如果要从github安装最新版本,请使用:

pip install git+https://github.com/dhimmel/obonet.git#egg=obonet

贡献

GitHub issues

我们欢迎专题建议和社区贡献。 目前,只支持读取obo文件。 如果您对用python编写obo文件感兴趣,请打开一个问题。

发布说明

本节仅适用于项目维护人员。 travis ci部署用于将发布上载到PyPI。 要创建新版本,请执行以下操作:

  1. ^{}中撞击__version__

  2. 运行以下命令:

TAG=v`python setup.py --version`
git add obonet/__init__.py
git commit --message="Upgrade to $TAG"
git push
git tag --annotate $TAG --message="Upgrade to $TAG"
git push --tags

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

推荐PyPI第三方库


热门话题
Java岩石、布、剪刀程序,带文件输入   java迭代Hashmap中的值列表   数组不能正确循环   JavaHibernate:对于一个遥远的惰性依赖,有一个渴望的获取者吗?   交通阻塞下的java车辆路径选择   如何在java中创建布尔方法来检查添加到具有特定索引的arraylist的对象   java Tomcat配置文件/上下文xml似乎已经崩溃了。请确保它是可分析和有效的。有关详细信息,请参阅服务器日志   为什么坐标有时相等,有时不相等?   java libgdx CameraInputController过于敏感,平移开始得太早   将C++排序函数移植到java   java应该是十进制的   swing Java JFrame中的所有内容都不可见   java使用数组中除一个元素以外的所有元素   从子类运行构造函数的Java