#obo #ontology #syntax #parser #obofoundry

fastobo-syntax

PEG Syntax and pest parser for the OBO flat file format 1.4

8 releases

✓ Uses Rust 2018 edition

0.3.3 Jul 23, 2019
0.3.2 Jul 23, 2019
0.3.1 Jun 5, 2019
0.3.0 May 15, 2019
0.1.0 Mar 31, 2019

#94 in Parser implementations

Download history 16/week @ 2019-04-09 1/week @ 2019-04-16 13/week @ 2019-04-23 13/week @ 2019-04-30 122/week @ 2019-05-07 64/week @ 2019-05-14 62/week @ 2019-05-21 87/week @ 2019-05-28 88/week @ 2019-06-04 221/week @ 2019-06-11 90/week @ 2019-06-18 74/week @ 2019-06-25 41/week @ 2019-07-02 131/week @ 2019-07-09 128/week @ 2019-07-16

384 downloads per month
Used in 3 crates (1 directly)

MIT license

25KB
400 lines

fastobo-syntax Star me

PEG Syntax and pest parser for the OBO flat file format 1.4

TravisCI Codecov License Source Crate Documentation Changelog GitHub issues

Overview

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 OboParser from grammar.pest takes some time.

The parser itself is reexported in fastobo::parser, so there is probably no need to depend on this crate directly.

Strictness

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 (ỲYYY-MM-DDTHH:MM:SS) with an optional timezone. Week dates and calendar dates are not supported.

See also

  • fastobo: Abstract Syntax Tree and data structures for the OBO format version 1.4.
  • fastobo-py: Idiomatic Python bindings to the fastobo crate.

Feedback

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.

About

This project is currently being 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.

Dependencies

~2MB
~43K SLoC