ICO2S / sybiont

1 stars 0 forks source link

SyBiOnt Extension: ReactantProductPair and TransformationPattern classes #8

Open djskelton opened 6 years ago

djskelton commented 6 years ago

To facilitate linking together of reactions, I would like to propose the addition of the following classes:

image

By representing reactions as being composed of one or multiple ReactantProductPairs, each with a TransformationPattern, then we have a basis on which to link similar reactions. This would open up the potential for some powerful integration and SPARQL queries on databases using the SyBiOnt ontology. For example:

There are different ways of representing TransformationPatterns (e.g., molecular path changes, molecular sub-graph changes, application of SMIRKS / reaction SMARTS), and so I would propose that these represent different sub-classes of transformation patterns. Other ontologies do something similar (see https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3632090/), but this is for a specific approach to transformation patterns, rather than having a general class (TransformationPattern) which can then be subclassed.

goksel commented 6 years ago

This may add further complexity. Why do we go from simple Reaction ->hasReactant or hasProduct -> Compound relationships to the proposed representation. SPARQL will surely be more complex with the proposal.

djskelton commented 6 years ago

I don't think it necessarily adds complexity to the SPARQL:

select ?enzyme where{ ?enzyme catalyzesReaction ?reaction. ?reaction hasRPPair ?rppair. ?rppair hasTransformationPattern . }

From my experience with lab / industry applications, people tend to say 'I want an enzyme that will degrade compound Y' (without fully specifying a specific mechanism or co-factors). Consider, as an example, that we want an enzyme that could hydroxylate a compound that has an aromatic ring (the transformation pattern); in this use case the co-factors are NADPH, oxygen, and a proton whereas in this case it is NAD. The abstraction of ReactantProductPair allows us to capture the same type of transformation occurring under different mechanisms / cofactors (even in cases where reactions are unbalanced).

I'm not proposing this as a replacement for Reaction ->hasReactant or hasProduct -> Compound relationships, but rather an addition that extends the potential use-cases for SyBiOnt.