python前端到本体
pronto的Python项目详细描述
概述
pronto是一个用于解析、创建、浏览和导出本体的python模块。 一些流行的格式。目前,obo和owl/xml可用, 但将来还会添加更多格式(您甚至可以添加 使用当前的api)。
安装
使用pip安装最简单:
pip install pronto # if you have the admin rights pip install pronto --user # if you want to install it for only one user
在bioconda中还有一个conda配方 频道:
conda install -c bioconda pronto
如果由于某种原因您不喜欢pip,也可以克隆 存储库并使用安装脚本安装(仍然需要 setuptools):
git clone https://github.com/althonos/pronto cd pronto python setup.py install # may also require admin rights
用法
Ontology类是pronto的主要入口点。它可以 使用给定的本体文件(.owl、.ont或.obo)实例化 或者从零开始,没有任何现有的条款。
打开一个本体并通过加入获得一个术语:
importprontoont=pronto.Ontology('path/to/file.obo')term=ont['REF:ACCESSION']
以obo格式和json格式显示本体:
importprontoont=pronto.Ontology('https://net.path.should/work/too.owl')print(ont.obo)print(ont.json)
合并两个本体:
这里的示例使用NMR controlled vocabulary和 HUPO-PSI MS controlled vocabulary
importprontonmr=pronto.Ontology('http://nmrml.org/cv/v1.1.0/nmrCV.owl')ms=pronto.Ontology('https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo')ms.merge(nmr)
>>>'NMR:1000004'inmsTrue>>>ms.meta['coverage']'Mass spectrometer output files and spectra interpretation'
查找与子项相关的本体术语
importprontoont=pronto.Ontology('path/to/file.obo')forterminont:ifterm.children:print(term)
获取本体术语
的所有可传递子项importprontoont=pronto.Ontology('path/to/file.obo')print(ont['RF:XXXXXXX'].rchildren())
参考
如果你想在科学出版物中使用这个图书馆, 请引用! (见Zenodo record 获取doi或bibtex记录)。