Open lfnothias opened 7 years ago
Thanks for the pointer, this should be possible I'll look into it.
That's awesome ! Thank you very much
Hi Simon, What data do you need to add ClassyFire/ChemOnt to the lookup service? Please let me know, and I can provide it to you.
Thanks,
Yannick Djoumbou.
Hi. Seems also someone tried to upload the ontology to BioPortal but never actually submitted a file: https://bioportal.bioontology.org/ontologies/CLASSY-FIRE/?p=summary
CC: @graybeal for follow up also on BioPortal side
Hi, a similar discussion was active as [ols-support #383745]
let's push things forward now. What the OLS team needs from us or @djoy82 is a ChemOnt description that can be added to
https://github.com/OBOFoundry/OBOFoundry.github.io/blob/master/_config.yml
Yours, Steffen
The following table is similar to SRAO.ontology.configuration.xlsx added by @henrietteharmse to https://github.com/EBISPOT/OLS/issues/250#issuecomment-486614749 (Amazing: I could copy&paste from Libreoffice under Linux and magically it was turned into markdown here!)
Field | Description | List/Value | Purpose in OLS |
---|---|---|---|
creator | The list of creators of the ontology | List | It is displayed in OLS as part of the summary overview of your ontology. |
is_foundary | Set to true if this is an OBO ontology, otherwise false | Value | This sets a bunch of default configuration options, like the synonym and definition properties. |
preferredPrefix | A short identifier that can be used to refer to your ontology in the OLS frontend. | Value | |
title | The title of your ontology | Value | This will be overidden if the ontology contains a dc:title ontology annotation |
uri | This is the canonical ontology URI for identifying the ontology | Value | |
description | A description of your ontology | Value | This will be overidden if the ontology contains a dc:description ontology annotation |
homepage | The home page for your ontology where users can read more about your ontology | Value | In OLS a link is provided to the home page of your ontology. |
mailing_list | Email address where to users can email questions regarding your ontology | Value | |
label_property | The list of URIs of properties that are used in your ontology to provide labels of terms. If multiple language tags are provided OLS always default to index the english language tags. | List | This is used to index details regarding the terms of your ontology so that users can search for it using keywords |
definition_property | The list of URIs of properties that are used in your ontology to provide definitions of terms. | List | This is used to index details regarding the terms of your ontology so that users can search for it using keywords |
synonym_property | The list of URIs of properties that are used in your ontology to define that a term is a synonym for another term. | List | This is used to index related terms and make them searchable |
hierarchical_property | The list of URIs of properties that can be used to contructuct hierarchical tree views of the ontology. By default OLS will render a tree with subclass-of/is-a relationships. This configuration is typically used to indicidate other properties (such as part-of or develops-from) are also considered hierarchical and should be rendered in the tree view. | List | |
hidden_property | List of properties to that are ignored when rendering the ontology. | List | |
base_uri | The base URI that OLS can use to distinguish terms/properties/individuals that belong to your ontology from those that belong to other ontologies. | Value | This is used for display and indexing purposes. |
reasoner | The reasoner your ontology requires to be classified. The options are OWL2 or EL or NONE. If you do not know this we can help you when we have a look at your ontology. | Value | OWL2 we will use Hermit, EL we will use ELK. |
oboSlims | Use true to indicate that your ontology make use of OBO slims/subsets annotations, otherwise false | ||
ontology_purl | The stable URL for accessing the ontology. Can be on a network (http, https, ftp) or a local file (file://) | Value | This is where OLS gets the ontology from and checks for changes |
Hi @djoy82 ,
I had the liberty of creating a stub for the information needed by the OLS team in https://gist.github.com/sneumann/c41454a5ae1ee30de838eac7d3b31702 What is needed most from you now are resources as "Home" for ChemOnt, currently it is very much hidden as part of classyfire. Especially check
uri: http://classyfire.wishartlab.com/
homepage: http://classyfire.wishartlab.com/
@henrietteharmse in the Gist I could only guess some of the Ontology technical aspects,
especially synonym_property
, hierarchical_property
and hidden_property
.
The ChemOnt can be seen in https://raw.githubusercontent.com/stuchalk/cjld/master/ChemOnt_2_1.obo
and in there I found the following OBO fields for terms (note that I copied some fields from other terms for illustration of all fields used in ChemOnt terms):
[Term]
id: CHEMONTID:0000000
name: Organic compounds
def: "Compounds that contain at least carbon atom, excluding isocyanide/cyanide and their non-hydrocarbyl derivatives, thiophosgene, carbon diselenide, carbon monosulfide, carbon disulfide, carbon subsulfide, carbon monoxide, carbon trioxide, Carbon suboxide, and dicarbon monoxide." []
synonym: "an organic compound" EXACT CHEMONT_TERM []
synonym: "Organic Chemicals" RELATED MeSH_TERM [MESH:D02]
synonym: "organic molecule" EXACT ChEBI_TERM [CHEBI:72695]
xref: Wikipedia:Category\:Dibenzothiazepines "List of Pages in the category \"Dibenzothiazpines\""
is_a: CHEMONTID:9999999 ! Chemical entities
created_by: yandj
creation_date: 2013-05-03T10:28:01Z
@henrietteharmse can you advise on
base_uri: http://www.ebi.ac.uk/efo/EFO_ ## The base URI that OLS can use to distinguish terms/properties/individuals that belong to your ontology from those that belong to other ontologies.
ontology_purl : http://www.ebi.ac.uk/efo/efo.owl ## This is where OLS gets the ontology from and checks for changes
Looking forward to feedback, help and progress, Yours, Steffen
@sneumann
How you use synonyms in the .obo file is fine. There is no need to specify synonym_property
as well. hierarchical_property
and hidden_property
are only for ontologies that need it. base_uri
we can pick up from your ontology. These properties will simply not be specified in the config for your ontology.
What is problematic is you need to specify a ontology_purl
. This is where the latest version of your ontology can be picked by OLS. For your ontology it looks like https://raw.githubusercontent.com/stuchalk/cjld/master/ChemOnt_2_1.obo
is where you want us to pickup the latest version. This is problematic because if you upgrade to say version 3.0 the URI is likely to change. This means OLS will not pick up the new version. If you want to host this on GitHub it is fine, but then it needs to use a URI that will not change easily. Something like https://raw.githubusercontent.com/ChemOnt/master/ChemOnt.obo
will be better.
HI all,
Thank you for helping. We will create a new repo for that. @sneumann I will also provide info required in the table above.
Thanks, Yannick
Just for curiosity. Can OLS still pick up the latest version if the URL points to another platform (e.g. BitBucket, or GitLab)?
Thanks, Yannick
@ djoy82 Yes, as long as it is a public repo for which we do not need to have username/password.
@sneumann CC: @henrietteharmse @SArndt-TIB
At TIB we noticed that, unlike the overview table (super useful!) posted by @sneumann the dataype of the label_property key has to be a string. If it is given a list as value, ols-config-importer will trow an error
Hence I suggest editing that field in the table, since many people are using as reference
Here is the example using CORA, first with value of label_property:
as list (Error), and after as string (No error)
`
obo-config.yaml
name: OBO Foundry
title: The OBO Foundry
markdown: kramdown
highlighter: rouge
baseurl: /
imgurl: /images
repo: https://github.com/OBOFoundry/OBOFoundry.github.io/
repo_src: https://github.com/OBOFoundry/OBOFoundry.github.io/blob/master/
author:
name: OBO Technical WG
ontologies:
- title: Core Ontology for Robotics and Automation (CORA)
id: cora
ontology_purl: https://raw.githubusercontent.com/srfiorini/IEEE1872-owl/master/cora.owl
label_property:
- http://www.w3.org/2000/01/rdf-schema#label
$ docker run --net=host -v $(pwd)/config:/config ebispot/ols-config-importer:stable
Returns Error:
2021-04-28 10:31:33,365 ERROR main YamlLoader$$EnhancerBySpringCGLIB$$7ef97709.updateDocument - Can't read config:problem parsing yaml for cora
2021-04-28 10:31:33,366 INFO main YamlLoader$$EnhancerBySpringCGLIB$$7ef97709.run - Ontologies will be imported using config at 'file:///config/ols-config.yaml'
2021-04-28 10:31:33,444 INFO main YamlLoader.logStarted - Started YamlLoader in 2.172 seconds (JVM running for 2.544)
if I change label_property from a list to string
label_property: http://www.w3.org/2000/01/rdf-schema#label
No Errors are found:
$ docker run --net=host -v $(pwd)/config:/config ebispot/ols-config-importer:stable
2021-04-28 10:33:52,670 INFO main YamlLoader.logStarting - Starting YamlLoader v3.2.1-SNAPSHOT on hammerhead with PID 1 (/opt/ols-config-importer.jar started by root in /)
2021-04-28 10:33:52,679 DEBUG main YamlLoader.logStarting - Running with Spring Boot v1.3.8.RELEASE, Spring v4.2.8.RELEASE
2021-04-28 10:33:52,680 INFO main YamlLoader.logStartupProfileInfo - No active profile set, falling back to default profiles: default
2021-04-28 10:33:54,179 INFO main YamlLoader$$EnhancerBySpringCGLIB$$4bf32455.run - OBO Ontologies will be imported using config at 'file:///config/obo-config.yaml'
2021-04-28 10:33:54,311 INFO main YamlLoader$$EnhancerBySpringCGLIB$$4bf32455.run - Ontologies will be imported using config at 'file:///config/ols-config.yaml'
2021-04-28 10:33:54,324 INFO main YamlLoader.logStarted - Started YamlLoader in 1.985 seconds (JVM running for 2.339)
This is an excellent ontology for chemical compound. https://jcheminf.springeropen.com/articles/10.1186/s13321-016-0174-y
It can be downloaded as OBO. http://classyfire.wishartlab.com/downloads Can you add it EBI ontology look up service ?
Thanks,
LF