将obo格式的本体解析为networkx
obonet的Python项目详细描述
obonet:将obo格式的本体加载到networkx中
阅读python中obo格式的本体。
obonet
是
- 用户友好
- 没有废话
- Python
- 现代
- 简单且经过测试
- 重量轻
- ^{
} 利用
这个python 3.4+包将obo序列化的本体加载到网络中。
函数obonet.read_obo()
接受.obo
文件并返回本体的^{
用法
该软件包是在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。
安装
推荐的方法是使用:
pip install obonet
但是,如果要从github安装最新版本,请使用:
pip install git+https://github.com/dhimmel/obonet.git#egg=obonet
贡献
我们欢迎专题建议和社区贡献。 目前,只支持读取obo文件。 如果您对用python编写obo文件感兴趣,请打开一个问题。
发布说明
本节仅适用于项目维护人员。 travis ci部署用于将发布上载到PyPI。 要创建新版本,请执行以下操作:
在^{
} 中撞击__version__
。运行以下命令:
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