Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SyBiOnt Extension: ReactantProductPair and TransformationPattern classes #8

Open
djskelton opened this issue Feb 2, 2018 · 2 comments

Comments

@djskelton
Copy link

djskelton commented Feb 2, 2018

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

  • TransformationPattern
  • ReactantProductPair

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:

  • For a given TransformationPattern, find all enzymes that catalyse reactions that have a ReactantProductPair with the same TransformationPattern.
  • Alternatively, a user could suggest a new ReactantProductPair, calculate the TransformationPattern, and run the same query, which is useful for "I want to find enzymes that might turn product X into product Y".

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
Copy link
Contributor

goksel commented Feb 5, 2018

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
Copy link
Author

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

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

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants