Faultess validation tool for OBO products.
fastobo-validator
is a command-line tool to validate an OBO file in format
version 1.4 against the latest specification.
fastobo-validator
is distributed as a pre-built binary for the following platforms:
- Linux x86-64 - latest version
Simply download the archive, and unpack the fastobo-validator
binary somewhere in your $PATH
.
For other OS (notably Windows), you'll need to build the binary from source. Make sure to have the
Rust compiler installed (check the installation methods)
and simply run cargo install fastobo-validator
to install the binary in your $CARGO_HOME
folder.
The syntax of the OBO format version 1.4 has been made more restrictive compared
to the format version 1.2, but files produces by modern tools (such as ROBOT
)
should already be compliant with this version.
Certain clauses (such as name
or def
) can only occur a fixed number of times
within a frame. fastobo-validator
will check for the number of occurences of
those in the input document.
ISBN identifiers embed a validation digit which can be used to validate a given
code without querying an external database. Enabling this validation check will
process all ISBN
-prefixed identifiers for a valid ISBN. It will not check
ISBN10
or ISBN13
-prefixed identifiers.
While not forbidden by the OBO syntax and semantics, having frames with the same ID in an OBO document is often an error. Use this flag to verify all frames in the input have a unique identifier.
Some clauses, such as consider
or replaced_by
, can only occur in frames for
entities that have been made obsolete. Use this flag to check this is the case.
Enable all optional validation. Note that using this parameter in an automated
context, such as a CI workflow, means that your file may not pass validation if
you update fastobo-validator
after extra checks have been added. It is
recommended you only use this flag when running the binary yourself.
Simply run the binary against one or more OBO files:
$ fastobo-validator go.obo
The validator will then parse and validate each OBO product, and return with a non-null error code if any error was detected, displaying a small report for each error.
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. 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)