Giter Club home page Giter Club logo

ontologies's Introduction

The eNanoMapper Ontology

DOI Build slims On push file integrity tests ROBOT enanomapper-dev build test Pre-release tests

The eNanoMapper ontologies aim to provide a comprehensive suite of ontologies for the nanomaterial safety assessment domain (see http://www.enanomapper.net for project information). The full suite of ontologies can be found in a modular file assembled by imports using owl:imports, enanomapper.owl.

The ontology is being developed and maintained by the following EU H2020 projects (see also the below funding info):

Other NanoSafety Cluster projects that have contributed by providing feedback and collaborations include NANoREG, NanoReg2, and GRACIOUS.

External

We import slices from third party ontologies. The Slimmer tool is used to extract the bits we include in the eNanoMapper ontology. The slimmed files can be found in the external folder. The full list of ontologies it includes is:

slims-dependencies slims-count

The build of the slims is carried out in this repository through the actions contained in the .github/workflows folder, and the resulting slims of external ontologies are commited and pushed automatically to this repository when the build workflow is run under external-dev.

The configuration file config.yaml is used by the build and test workflows to retrieve ROBOT and Slimmer. There are 3 test workflows:

  • On push: test for file integrity (external, external-dev, internal, internal-dev, config) and performs SPARQL queries on enanomapper-dev.owl to make sure internal terms have not been added at the top of the class hierarchy or directly under entity.
  • Development tests: robot diff and robot report are performed after each build for QC on the resulting development version of the ontology, with their results being stored as artifacts after each run.
  • Pre-release tests: ensure the modules are updated and the ontology is satisfiable and has the right top-level class hierarchy before making a release. This is the only test that needs to be dispatched manually.

DOI of Releases

  • Version 10: DOI
  • Version 9: DOI
  • Version 8: DOI
  • Version 7: DOI
  • Version 6: DOI
  • Version 5: DOI
  • Version 4: DOI
  • Version 3: DOI

Opening the ontology in Protégé

The stable version can be opened in Protégé with the following step:

  1. File → Open from URL...
  2. enter the URL http://enanomapper.github.io/ontologies/enanomapper.owl

The development version is opened in the same way, but with a different URL:

  1. File → Open from URL...
  2. enter the URL http://enanomapper.github.io/ontologies/enanomapper-dev.owl

Building and validating the ontology

During (and after) the eNanoMapper project the ontology was autobuilt using scripts on the BiGCaT Jenkins server. After the cyberattack on Maastricht University in 2019, this repository uses GitHub Actions to replicate the Jenkins build process, and adds a full ontology file and customizable workflows for ontology build and QC.

The main OWL file (enanomapper.owl) refers to slimmed versions of external ontologies, complemented with internal files adding additional terms. The extensions are OWL files themselves and you can load them in Protégé and use the internal/Makefile to run xmllint on the extensions to see if the OWL files are well-formed.

The slimming of the external ontologies is done with the Slimmer tool, with these commands (for the BioAssay Ontology):

rm -f *.owl
rm -f *.owl.*
wget -O bao_complete.owl http://www.bioassayontology.org/bao/bao_complete.owl
rm -f bao.props*
rm -f bao.iris*
wget https://raw.githubusercontent.com/enanomapper/ontologies/master/config/bao.props
wget https://raw.githubusercontent.com/enanomapper/ontologies/master/config/bao.iris
java -cp ../Slimmer/target/slimmer-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.github.enanomapper.Slimmer .

The bao.props and bao.iris files contain all the information needed to describe which parts of the BAO ontology is retained in the slimmed version. This is automatically applied for all modules in the build workflow once a month.

Tutorials

Please also check out these tutorials, developed by eNanoMapper, NanoCommons, and OpenRiskNet:

Making Releases

  1. Check if the metadata in the enanomapper.owl is up to data (e.g. names of people who submitted PRs)
  2. Copy the internal ontologies in ontologies/internal-dev/ to ontologies/internal and ontologies/external-dev/ to ontologies/external
  3. Update for enanomapper.owl and enanomapper-dev.owl:
    • owl:versionInfo
    • owl:versionIRI (only enanomapper.owl)
  4. Create a folder releases/{version} and store there a copy of the latest enanomapper.owl file
  5. Make a git commit with the changes and tag that commit matching the release
  6. Manually dispatch the prerelease-test workflow and make the pertinent fixes if it fails. Repeat the tagged git commit after fixing the issues.
  7. Update the CITATION.cff
    • title
    • version
    • date-released
  8. Write markdown for the release with the changes since the previous release
  9. Release the whole repository in GitHub https://github.com/enanomapper/ontologies/releases
  10. Update the DOI number for new release: https://zenodo.org/record/260098

Funding

The project has had contributions from various European Commission projects. The eNanoMapper project was funded by the European Union’s Seventh Framework Programme for research, technological development and demonstration (FP7-NMP-2013-SMALL-7) under grant agreement no. 604134. NanoCommons has received funding from European Union Horizon 2020 Programme (H2020) under grant agreement nº 731032. OpenRiskNet is funded by the European Commission within Horizon 2020 EINFRA-22-2016 Programme under grant agreement no. 731075. NanoSolveIt has received funding from European Union Horizon 2020 Programme (H2020) under grant agreement no. 814572. SbD4Nano has received funding from European Union Horizon 2020 Programme (H2020) under grant agreement no. 862195.

ontologies's People

Contributors

actions-user avatar denisesl22 avatar egonw avatar fehrhart avatar gerganatancheva123 avatar jannahastings avatar jkchang2015 avatar jmillanacosta avatar lrieswijk avatar lwinckers avatar ntk73 avatar tassosp78 avatar uanaf avatar vedina avatar westonslaughter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ontologies's Issues

Incorporation of ontology classes from Exposure Ontology (EXO)?

Hi

You may wish to incorporate (parts of) the Exposure Ontology (EXO), which is available from BioPortal?

For example, as far as I can see, the eNanoMapper ontology does not currently have a class for the important concept of "exposure medium" (e.g. the liquid mixture via which nanomaterials are exposed to the cells in in vitro assays).

The Exposure Ontology has was seems to be a suitable class for this: http://purl.obolibrary.org/obo/ExO_0000083

HTH

Richard

cell lines

we need to add cell lines e.g. HUVEC. Need to determine which is the best ontology to use for this (candidates: Cell Line Ontology; BRENDA tissue ontology) -- and whether to import in full or to import only as-needed (depending on size of the ontology)

Using owl:imports of 3rd party ontologies causes duplication of terms

At this moment the owl:import approach was shown to not work well. It results in duplication of terms in various ways, for example, same URI with mupltiple labels; same term with different URIs. To address this we need a custom, more general approach to import (parts of) 3rd party ontologies.

Linking particles to molecular entities

Is there a link in the ENM ontology, allowing to represent the zinc oxide nanoparticle and the zinc oxide CHEBI_36560 are related?

I'm looking for automatic means to retrieve this linking information and support user friendly search, as people will be usually searching for ZnO and not necessary for ZnO nanoparticle, while expecting the nanoparticles to show up.

Looking for best match for LDH cytotoxicity assay

Could someone (@fehrhart @lrieswijk ?) please help with suggesting the correct ontology (BAO?) entry for the following two assays:

  • Cell viability - cell membrane damage: Lactate dehydrogenase assay (LDH) (CytoTox 96® Non-radioactive cytotoxicity assay - Promega, G1780)
  • TNF-α released by primary human macrophages in the culture medium was measured using ELISA kit following the instructions provided by the manufacturer (MABTECH, 3510-1A-20).

Both used in doi:10.1371/journal.pone.0127174

online hackathons for ontology development

Hi all, (@JKChang2015 @G-Owen @lrieswijk @vedina @fehrhart)

we now have a steady flow of ontology requests, but not enough people making patches. I think we should have a number of very technical, hands-on, online hackathon meetings with the WP2 and WP3 people (probably also WP4/WP5 as use case owners) for internal teaching of making patches. We should not longer await what the other is doing, but get our hands dirty, make mistakes, confront upstream, and learn.

I rather have this meeting inclusive (the more people, the merrier) and more than happy with external people joining, but it seems we need internal education in the first one/two meetings.

The purpose would be educate ourselves, identify road blocks, find best practices, etc, but secondly and importantly, make sure we grow our ontology (and upstream ones). The rate delimiting factor no longer seems to be identifying the right upstream ontologies, but to extend them in a sustainable way.

Please comment here if you like to join, and then we can identify a weekly telcon time. @G-Owen, whom else should we invite from with ENM that we need to join from the start? It should be technical people that will actually and personally make patches.

Egon

biological process entry in BAO

Apologies, not really an ENM ontology issue, rather BAO.

It is confusing to find two entries for biological process in BAO : biological process BAO_0000264 and biological_process GO_0008150. Does anybody has an insight on this (and which entry is recommended)?

Incorporation of several URIs from new and already used ontology resources

We stumbled across some URIs that need to be incorporated in the ENM ontology. Mentioned below are the ontology source and then the respective URIs.

ADW:
Measurement_units

BAO:
BAO_0000520

CRISP:
3091-4941

CSEO
Exposure_Concentration

EFO:
EFO_0001444
EFO_0005067

GO:
GO_0009293

HUPSON:
hupson:SCAIVPH_00000886
hupson:SCAIVPH_00000190
hupson:SCAIVPH_00000392

IAO:
IAO_0000301

NCIT:
C119826
C17941
C25169
C25284
C25365
C25492
C25572
C25625
C25681
C38389
C42651
C42721
C43531
C44473
C45805
C46003
C50400
C54166
C61299
C61412
C68553
C68806
C71477
C80514
C83039
C88214
C16866
C18189
C25209
C25212
C25246
C25247
C25474
C25666
C33177
C41130
C42614
C42680
C42709
C43530
C45518
C48041
C48937
C49507
C52478
C53321
C62352
C70766
C90446
C25474

NIF:
nlx_res_090901

NPO:
NPO_1517
NPO_1167
NPO_1344
NPO_1345
NPO_1364
NPO_1573
NPO_1812
NPO_1818
NPO_1853

OBI:
OBI_0000272
OBI_0000835
OBI_0000984
OBI_0001152
OBI_0001185
OBI_0000018
OBI_0000031
OBI_0001876
OBI_0100026

PATO:
PATO_0000011
PATO_0000068
PATO_0000165
PATO_0002175
PATO_0000117
PATO_0000052
PATO_0000122
PATO_0000146
PATO_0000918
PATO_0000921
PATO_0001334
PATO_0001555

SNOMEDCT:
4601000
46595003
246093002
261586004
277046005
304889007

NM_001005 describes both particle size and zeta potential

Please check

 <owl:Class rdf:about="&resource;NM_001005">
        <rdfs:label>particle size descriptor</rdfs:label>
        <rdfs:subClassOf rdf:resource="&resource;NM_000005"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="&obo;IAO_0000136"/>
                <owl:someValuesFrom rdf:resource="&resource;NM_000001"/>
            </owl:Restriction>
        </rdfs:subClassOf>
    <description>Describes the particle size. The actual approach to describes it is
      undefined at this level.</description>
    </owl:Class>

    <owl:Class rdf:about="&resource;NM_001005">
        <rdfs:label>zetapotential descriptor</rdfs:label>
        <rdfs:subClassOf rdf:resource="&resource;NM_000006"/>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="&obo;IAO_0000136"/>
                <owl:someValuesFrom rdf:resource="&resource;NM_000001"/>
            </owl:Restriction>
        </rdfs:subClassOf>
    <description>Describes the zeta potential of the nanomaterial. The potential
      may be experimental, predicited, or originating from a read-across approach.</description>
    </owl:Class>

Terms mapping

Please help mapping these terms to ontology entries - could be one or more annotation per term.

aids used to disperse/sonification
aids used to disperse/stirring
aids used to disperse/vortexing
cell culture conditions - medium
cell culture conditions - serum
cell culture conditions - serum concentration in growth medium
cell culture conditions - serum concentration in treatment medium
cell line/type - full name
cell line/type - short name
cell line/type - supplier
dispersion agent
dispersion protocol
concentration
time point
replicate

@lrieswijk
@BartSmeets
@egonw

Split out the IonEnthalpy descriptor

... into subclass descriptors for values calculated with a specific Mopac version. I found PM6 values between 2009 and 2012 to differ, and Mopac2012 also has a new PM7 method.

Version numbers

When releasing the ontology, will there be formal version release numbers e.g. for the "alpha" version currently on BioPortal (http://bioportal.bioontology.org/ontologies/ENM)? (Please excuse me if this point has already been addressed and I have not noticed!) This would facilitate citing and referencing within an ISA-TAB (or ISA-TAB-Nano) Investigation file.

(I may be digressing, but I would point out that - for the purpose of constructing ISA-TAB or ISA-TAB-Nano Investigation files - I would personally interpret the submission number after ".../submissions/..." in the OWL file download link [e.g. http://data.bioontology.org/ontologies/ENM/submissions/1/download?apikey=..... etc.] as the version number if the ontology is available from BioPortal as this seems consistent with the ISA-TAB example files: http://isatab.sourceforge.net/examples.html )

Add assay names to bioassay type/class names

e.g. cell viability: synonym (I don't think a subclass is needed for that issue): PI assay, BJ assay, Alamar blue assay, LDH assay

So people searching for e.g. "Hoechst assay" will get the results for any "apoptosis assay"

nanomaterial types from caNanoLab

  • Biopolymer NPO_882 (not in ENM?)
  • CarbonNanotube NPO_606
  • DWNT NPO_301
  • Dendrimer NPO_735
  • Emulsion ENVO_00010506
  • Fullerene CHEBI_33416
  • Liposome NPO_719 (not in ENM?)
  • MWNT NPO_112
  • MetalParticle NPO_1384
  • Polymer CHEBI_60027 (not in ENM ?)
  • QuantumDot NPO_589
  • SWNT NPO_157
  • carbon caNanoLab entry, likely carbon nanotube NPO_606
  • carbon black CHEBI_82297 (not in ENM)
  • metal oxide NPO_1541
  • metalloid NPO_755 (not in ENM)
  • nanobin ?
  • nanohorn NPO_457
  • nanolipogel ?
  • nanorod NPO_122
  • nanoshell NPO_270
  • silica NPO_1373

Some are missing in ENM (or I couldn't find)

Functionality

Hi

How is the issue of nanomaterial functionality (from an industry/product point of view) addressed in the ontology?
I checked for terms like "functionality" and specific types of functionality, such as antibacterial, but I couldn´t find that.
Is there an existing functionality ontology that could serve as the basis for a nano-specific functionality ontology? Would the chEBI ontology be a good basis? I found others that could be relevant too (e.g. PATO and different medical ontologies), but which one is the best may need to be discussed, or is this discussion already taking place?

Penny

Bioassay

Bioassay:
Biologic "material" to test nanoparticles with:
Species
Rat, mice, human, zebrafish
Cell culture
primary, cell lines on demand
Exposure conditions:
Single exposure
Time, Dose, application route (oral, dermal, inhalation)
Repeated dose experiment
Time, Dose, application route (oral, dermal, inhalation)
Test assays:
in vitro
e.g. life-dead assay: PI assay, Hoechst assay, LDH assay
in vivo (ex vivo)
clinical trials (?)

serum types

we need to import the serum types from the cell culture ontology (CCONT) -- they are classified beneath 'mixture' in CCONT along with a class called 'Medium condition' which should be excluded as it includes too many vaguely grouped together things to be useful.

Using semantic science integrated ontology (SIO)?

@fehrhart , @lrieswijk
While trying to serialize enanomapper database study content using BAO , I've noticed the PubChem assay annotation uses SIO to define properties as has-value, has-units, etc. It seems also SIO has properties defined which can be used to describe value-less-than-something , etc. which will be very helpful.
Do we already have such terms in enanomapper ontology, and if not, should we consider adding ones from SIO?

Examples:

Related issue enanomapper/data.enanomapper.net#9

Use of nanoparticle

Add a section about application of nanoparticle, e.g. commercial use (sunscreen), potential use, e.g. drug delivery or scientific interest (antibiotic)

add several nanoparticle ontologies

These items are not yet covered by any ontology:
copper nanoparticle
zirconium dioxide nanoparticle
fullerenol nanoparticle
polyethylenglycol nanoparticle
germanium nanoparticle
molybdenum trioxide nanoparticle
aluminum nanoparticle
cadmium(II) oxide nanoparticle
Manganese (IV) dioxide nanoparticle
tungsten nanoparticle
tricalcium phosphate nanoparticle

Some details and information (sheet 3):

https://docs.google.com/spreadsheets/d/1CeAjmJFqjrLD14GNphjaCSUlaTaSwHfV91MA4e5oi4M/edit?usp=sharing

manufacturers

e.g. Sigma Aldrich -- and the different locations of the manufacturers.

Are these already in a database or ontology? -- need a unified vocabulary.

Are new classes/definitions required for chemical composition?

The scenario I am thinking about would be assigning an entry for the ISA-TAB-Nano Material file "Material Chemical Name" field, but this could be a more generally applicable concern.

There appears a need for suitable, generic chemical names (based upona quick search of both eNM and CHEBI via BioPortal) e.g. "titanium dioxide nanoparticle" appears but not a generic "titanium dioxide". My understanding is that, according to some definitions at least, "nanoparticle" means all three dimensions are in the nanoscale range so this might not be most appropriate for a "titanium dioxide" nanomaterial of some other form. The ChEBI definition of "titanium dioxide" is perhaps problematic due to the suggestion that it is a molecular entity associated with the synonym "O=[Ti]=O", whereas nanomaterial TiO2 is more likely a crystal structure (Ti---O---Ti etc.) which is not based on such discrete molecular entities. Are there any possible ways to address this? Other ontology imports? De novo creation?

new term: expiry date

definition: the date beyond which a commodity is no longer regarded as fit for use.
synonyms: expiration date; shelf life

NOEC class in ENM ontology unsatisfiable

From a private email:

It seems that http://purl.enanomapper.org/onto/ENM_0000060 (NOEC, no
observed effect concentration), is unsatisfiable when the ontology is
classified. As a result, it currently shows up as a subclass of every
class in ENM (since it becomes equivalent to owl:Nothing), which is
probably not intended. It also is messing up [the] display of that
class, which is a bug we'll fix soon (we'll show a list of all
unsatisfiable classes instead and never include them in the treeview).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.