Skip to main content

This package validates a list of relationships between two terms against the specified ontologies.

Project description

Relationship validator DOI

Validate ontology relationships using Ubergraph as source of truth. Relationships in this context may be subClassOf axioms between names classes (e.g. 'lymphocyte' subClassOf 'cell') or existential restrictions, (e.g. 'enterocyte' part_of some ‘intestinal epithelium’).

Ubergraph is an RDF triplestore with 39 OBO ontologies merged, precomputed OWL classification and materialised class relationship from existential property restrictions. Validation therefore works for any directly asserted or inferred/indirect subClassOf relationship or existential restriction.

Install

Dependencies

This package depends on Graphviz and OBOGraphviz to represent the validation as a graph.

Graphviz

On macOS:

brew install graphviz

On Linux:

apt install graphviz

For another platform, please follow this instruction to install Graphviz.

OBOGraphviz

Before installing OBOGraphviz, make sure you have installed Node.js version >= 14.16. Please follow this instructions to install Node and npm.

Then install the obographviz package globally:

npm install -g obographviz

relation-validator package

pip install relation-validator

Configure YAML file

In the config file, it is defined the list of relationships the validation should run on. The order is essential.

The yaml file needs to have the keys relationships and filename. Check an example below:

relationships:
  sub_class_of: rdfs:subClassOf
  part_of: BFO:0000050
  connected_to: RO:0001025
  has_soma_location: RO:0002100
  ...

filename: path/to/filename.csv

The filename can be in TSV or CSV and should have the following columns:

s slabel user_slabel o olabel user_olabel
the subject term ID the label of the term in the column s optional label for the term given by user the object term ID the label of the term in the column s optional label for the term given by user

When using CSV, double-quote if the label contains a common.

Run relation-validator CLI

relation-validator validate --input path/to/config.yaml --output path/to/output.csv

The output.csv file will be in the same format as the filename.csv. It will return the cases where a triple (subject, relationship, object) with the relationships listed in the yaml file was not found in Ubergraph.

List of ontologies available

To know which ontologies and their version are available in Ubergraph, use the following CLI:

relation-validator ontologies_version --output filename.json

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

relation_validator-0.5.1.tar.gz (10.1 kB view hashes)

Uploaded Source

Built Distribution

relation_validator-0.5.1-py3-none-any.whl (12.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page