python的bioc数据结构及编解码器
bioc的Python项目详细描述
BioC XML / JSON format可用于共享 文本文档和注释。
bioc公开标准库用户熟悉的api marshal和pickle模块。
在github上开发bioc: https://github.com/yfpeng/bioc
开始
正在安装bioc
$ pip install bioc
xml
编码bioc集合对象collection:
importbioc# Serialize ``collection`` to a BioC formatted ``str``.bioc.dumps(collection)# Serialize ``collection`` as a BioC formatted stream to ``fp``.withopen(filename,'w')asfpbioc.dump(collection,fp)
压缩编码:
importbiocbioc.dumps(collection,pretty_print=False)
增量生物序列化:
importbiocwithbioc.BioCXMLDocumentWriter(filename)aswriter:writer.write_collection_info(collection)fordocumentincollection.documents:writer.write_document(document)
解码bioc xml文件:
importbioc# Deserialize ``s`` to a BioC collection object.collection=bioc.loads(s)# Deserialize ``fp`` to a BioC collection object.withopen(filename,'r')asfp:collection=bioc.load(fp)
增量解码bioc xml文件:
importbiocwithbioc.BioCXMLDocumentReader(filename)asreader:collection_info=reader.get_collection_info()fordocumentinreader:# process document...
get_collection_info可以在构造BioCXMLDocumentReader之后随时调用。
与python协同程序一起,这可以用于以异步、非阻塞的方式生成bioc xml。
importbiocwithbioc.BioCXMLDocumentReader(source)asreader, \ bioc.BioCXMLDocumentWriter(dest)aswriter:collection_info=reader.get_collection_info()writer.write_collection_info(collection_info)fordocumentinreader:# modify the document...writer.write_document(document)
json
编码bioc集合对象collection:
importbiocjson# Serialize ``collection`` to a BioC Json formatted ``str``.biocjson.dumps(collection,indent=2)# Serialize ``collection`` as a BioC Json formatted stream to ``fp``.withopen(filename,'w')asfpbiocjson.dump(collection,fp,indent=2)
压缩编码:
importbiocjsonbiocjson.dumps(collection)
解码bioc json文件:
importbiocjson# Deserialize ``s`` to a BioC collection object.collection=biocjson.loads(s)# Deserialize ``fp`` to a BioC collection object.withopen(filename,'r')asfp:collection=biocjson.load(fp)
json行
增量编码bioc结构:
frombioc.biocjsonimportBioCJsonIterWriterwithBioCJsonIterWriter(filename,level=bioc.PASSAGE)aswriter:fordocincollection.documents:forpassageindoc.passages:writer.write(passage)
增量解码bico json行文件:
frombioc.biocjsonimportBioCJsonIterReaderwithBioCJsonIterReader(filename,level=bioc.PASSAGE)asreader:forpassageinreader:# process passage...
要求
- lxml(http://lxml.de)
- J联机
开发人员
- 彭一帆(yifan.peng@nih.gov)
确认
网页
官方bioc网页上有最新的说明, 以bioc格式编写的代码和语料库,以及基于 与生物有关。
参考
- 科莫,D.C.,多安,R.I.,西卡雷斯,P.,科恩,K.B.,克莱林格,M., Leitner,F.,Lu,Z.,Peng,Y.,Rinaldi,F.,Tori,M.,Valencia,V., Versboor,K.,Wiegers,T.C.,Wu,C.H.,Wilbur,W.J.(2013)生物:A 生物医学文本互操作的极简方法 处理。数据库:生物数据库和 策展。
- Peng,Y.,Tudor,C.,Tori,M.,Wu,C.H.,Vijay Shanker,K.(2014年)ISIMP 在bioc标准格式中:增强句子的互操作性 简化系统。数据库:生物数据库杂志 以及策展。
- Marques,M.,Rinaldi,F.(2012)Pyboco: 生物核心。在生物处理IV研讨会上。