BioC XML / JSON format can be used to share text documents and annotations.
Brat standoff format is created by the brat annotation tool to store annotations on disk in a standoff format. annotations are stored separately from the annotated document text, which is never modified by the tool.
PubTator format is created by the PutTator Central system.
bioc
exposes an API familiar to users of the standard library
marshal
and pickle
modules.
Development of bioc
happens on GitHub:
https://github.com/bionlplab/bioc
Installing bioc
$ pip install bioc
Encoding the BioC collection object collection
:
from bioc import biocxml
# Serialize ``collection`` as a BioC formatted stream to ``fp``.
with open(filename, 'w') as fp:
biocxml.dump(collection, fp)
Decoding the BioC XML file:
from bioc import biocxml
# Deserialize ``fp`` to a BioC collection object.
with open(filename, 'r') as fp:
collection = biocxml.load(fp)
Encoding the Brat document
from bioc import brat
# Serialize ``doc`` as a brat formatted stream to ``text_fp`` and ``ann_fp``.
with open(annpath, 'w') as ann_fp, open(txtpath, 'w') as text_fp:
brat.dump(doc, text_fp, ann_fp)
Decoding the Brat document:
from bioc import brat
# Deserialize two streams (text and ann) to a Brat document object.
with open(annpath) as ann_fp, open(txtpath) as text_fp:
doc = brat.load(text_fp, ann_fp)
Encoding the PubTator document object doc
:
from bioc import pubtator
# Serialize ``collection`` as a BioC formatted stream to ``fp``.
with open(filename, 'w') as fp:
pubtator.dump([doc], fp)
Decoding the PubTator file
from bioc import pubtator
# Deserialize ``fp`` to a PubTator object.
with open(filename, 'r') as fp:
docs = pubtator.load(fp)
You will find complete documentation at our Read the Docs site.
You can find information about contributing to bioc at our Contribution page.
If you use bioc in your research, please cite the following paper:
- Comeau DC, Doğan RI, Ciccarese P, Cohen KB, Krallinger M, Leitner F, Lu Z, Peng Y, Rinaldi F, Torii M, Valencia V, Verspoor K, Wiegers TC, Wu CH, Wilbur WJ. BioC: a minimalist approach to interoperability for biomedical text processing. Database (Oxford). 2013;2013:bat064. doi: 10.1093/database/bat064. Print 2013. PMID: 24048470; PMCID: PMC3889917
This work is supported by the National Library of Medicine under Award No. 4R00LM013001.
Copyright BioNLP Lab at Weill Cornell Medicine, 2023.
Distributed under the terms of the MIT license, bioc is free and open source software.