Crates.io | fastobo-syntax |
lib.rs | fastobo-syntax |
version | 0.8.1 |
source | src |
created_at | 2019-03-31 02:27:14.761769 |
updated_at | 2024-02-28 21:34:41.258057 |
description | PEG Syntax and pest parser for the OBO flat file format 1.4 |
homepage | https://github.com/fastobo/fastobo-syntax |
repository | https://github.com/fastobo/fastobo-syntax |
max_upload_size | |
id | 124890 |
size | 49,648 |
fastobo-syntax
PEG Syntax and pest lexer for the OBO flat file format 1.4.
This library is a strict implementation of the OBO flat file format 1.4
syntax using the pest
parser generator. It was outsourced from
fastobo
to reduce compilation time, since deriving the OboLexer
from
grammar.pest
takes some time.
The lexer itself is reexported in fastobo::parser
,
so there is probably no need to depend on this crate directly.
The syntax is a strict implementation of the 1.4 format, with the following exceptions:
property_value
clauses can have a value with is not quote-enclosed. This is a workaround
to support some ontology files using obo2owl
or the owlapi
to generate their OBO
counterpart, which does not quote-enclose property values
(owlcs/owlapi#833).
ISO-8601 datetimes can only be parsed from the canonical format (YYYY-MM-DDTHH:MM:SS
)
with an optional timezone. Week dates and calendar dates are not supported.
Dates in creation_date
clauses can be either full ISO-8601 datetimes
(as recommended by the format 1.4 specifications) or simply ISO-8601 dates,
which is suggested by the format 1.4 guide (albeit non-normative).
fastobo
: Abstract Syntax Tree and data
structures for the OBO format version 1.4.
fastobo-py
: Idiomatic Python bindings
to the fastobo
crate.
Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker of the project if you need to report or ask something. If you are filling in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproducible situation.
This project was developed by Martin Larralde as part of a Master's Degree internship in the BBOP team of the Lawrence Berkeley National Laboratory, under the supervision of Chris Mungall. Please cite this project as:
Larralde M. Developing Python and Rust libraries to improve the ontology ecosystem [version 1; not peer reviewed]. F1000Research 2019, 8(ISCB Comm J):1500 (poster) (https://doi.org/10.7490/f1000research.1117405.1)