BCODMO / bcodmont

Creative Commons Zero v1.0 Universal
0 stars 1 forks source link

New Robot Template for DIC POC combo terms #25

Open kaiiam opened 2 years ago

kaiiam commented 2 years ago

As discussed Aug 8th (and previously) with @jaclynsaunders we decided to make a new robot template for terms like

dissolved inorganic carbon
dissolved organic carbon
dissolved organic phosphorus
particulate inorganic carbon
particulate organic carbon
particulate organic nitrogen

The goal being to have unique IRI's for these frequently used combinations, which ideally link to back to axioms which can generate the same RDF as if they were created piecemeal using the BCODMO-semantic model phrase.

kaiiam commented 2 years ago

Some of my notes on how I solved this issue at a first pass. We can review and revise later.

* Quantifier 1
dissolved (Add to quantifier import PATO:0001986)
particulate (add to quantifier)
(suspended add to quantifier)
(colored have color PATO:0000014 in physics characteristic)
(total (already have sum as quantifier can add total as synonym))

* Quantifiers 2 
organic ~ A chemical compounds that contain carbon-hydrogen or carbon-carbon bonds
inorganic ~ A chemical compound that lacks carbon–hydrogen bonds, with a few notable exception e.g., carbon monoxide, carbon dioxide, carbides, salts ~comment A compound that is not an organic compound

* entity 
carbon -> carbon compound CHEBI:33582
nitrogen -> nitrogen compound CHEBI:51143
matter -> compound BSM:0210000
phosphorus -> phosphorus compound CHEBI:26082

________________________

We could use -> 

organic compound CHEBI:50860
inorganic molecular entity CHEBI:24835

________________________

ID ranges if we make a new robot template:

Element:   0200000-0209999
Compound:  0210000-219999
NEW range: 0220000-229999
kaiiam commented 2 years ago

Temporary module run instructions:

from bcodmont/src/ontology/BCODMO_SM

2) Run Robot Templates

Run temp.tsv:

robot template --template chemistry/robot_templates/temp.tsv -i ../bcodmont-edit.owl --prefix "RO:http://purl.obolibrary.org/obo/RO_" --prefix "BSM:http://purl.obolibrary.org/obo/BSM_" --ontology-iri "http://purl.obolibrary.org/BCODMO_SM/chemistry/robot_templates/temp.owl" -o chemistry/robot_templates/temp.owl

3) Merge Robot templates

axiom free merge (added the chemistry/robot_templates/temp.owl)

robot merge --input intermediate/chebi_import_axioms_removed.owl --input intermediate/envo_import_axioms_removed.owl --input intermediate/uberon_import_axioms_removed.owl --input intermediate/go_import_axioms_removed.owl --input ../imports/iao_import.owl --input ../imports/cl_import.owl --input intermediate/pco_import_axioms_removed.owl --input intermediate/obi_import_axioms_removed.owl --input intermediate/so_import_axioms_removed.owl --input intermediate/mi_import_axioms_removed.owl --input intermediate/ms_import_axioms_removed.owl --input intermediate/ecocore_import_axioms_removed.owl --input intermediate/pato_import_axioms_removed.owl --input biology/robot_templates/anatomy.owl --input biology/robot_templates/physiology.owl --input biology/robot_templates/ecology.owl --input biology/robot_templates/biomolecules.owl --input biology/robot_templates/organism.owl --input chemistry/robot_templates/element.owl --input chemistry/robot_templates/compound.owl --input chemistry/robot_templates/temp.owl --input matrix/robot_templates/material.owl --input matrix/robot_templates/context.owl --input matrix/robot_templates/biome.owl --input matrix/robot_templates/region.owl --input quantifiers/robot_templates/quantifiers.owl annotate --ontology-iri "http://purl.obolibrary.org/BCODMO_SM/merge_products/BCODMO_SM_axioms_removed_merged.owl" --version-iri "http://purl.obolibrary.org/BCODMO_SM/merge_products/BCODMO_SM_axioms_removed_merged.owl" --output merge_products/BCODMO_SM_axioms_removed_merged.owl

4) Filter merge product to create final modules

robot filter --input merge_products/BCODMO_SM_axioms_removed_merged.owl --prefix "bsm:http://bcodmo/sm#" --select "oboInOwl:inSubset=bsm:temp" --select annotations  --signature true annotate --ontology-iri "http://purl.obolibrary.org/BCODMO_SM/chemistry/temp.owl" --version-iri "http://purl.obolibrary.org/BCODMO_SM/chemistry/temp.owl" --output chemistry/temp.owl
kaiiam commented 2 years ago

Current version gives the following hierarchy:

image

with APs like:

image

Next steps are to figure out how to add axioms to the quantifiers like dissolved and inorganic and entity carbon compound if we want to model things this way.

kaiiam commented 2 years ago

See TSV file in https://github.com/BCODMO/bcodmont/pull/26

kaiiam commented 2 years ago

OK I think we've got this in a reasonably good place with owl axioms to entities and quantifiers so that those can be written out to the RDF model if these terms are selected for annotation. For example DOC here has axioms linking to quantifiers for dissolved and organic and the entity carbon compound CHEBI:33582. This way when a DM selects this term we can hopefully get the RDF writing script can auto-populate the quantifier and entity fields.

image
kaiiam commented 2 years ago

Instead of using compound BSM:0210000 as the root node we could instead use material entity BFO:0000040 and give it the synonym matter. Then we could call the module matter_fractions or similar?