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

MyChem drugcentral bioactivity: what to do when action_type is missing #904

Closed
colleenXu opened this issue Dec 10, 2024 · 3 comments
Closed
Labels
external Requires fixes to an external service next phase for future if we're funded x-bte

Comments

@colleenXu
Copy link
Collaborator

colleenXu commented Dec 10, 2024

MyChem's drugcentral.bioactivity info is a resource for detailed chem-gene relationship information. We currently use the field action_type to help map the data to biolink predicate/qualifier info (ex: the value "AGONIST" -> affects / causes increased activity using agonism). The action_type field seems to correspond to the "Action" column in the DrugCentral webpages (ex: compare the drugcentral.bioactivity data for bupropion in MyChem vs DrugCentral's webpage).

However, as you can see in the bupropion links, there's a LOT of data that doesn't have an action_type value: the field is missing in the MyChem API data and is blank on the DrugCentral webpage. I'm not sure how to quantify it in MyChem, but I know there's 763 / 3225 chemicals in MyChem's drugcentral bioactivity data that are MISSING action_type for ALL of their gene relationships.

In order to make this data available to Translator, there's two things we'd need to figure out:

  • we're not sure how to model it with biolink-model: what predicate to use? Affects?
  • we're not sure how to query for it in the BioThings API. It's complicated when chemicals have a mix of data with the action_type and without it. -> Trying to ask Chunlei and co.
@colleenXu colleenXu added external Requires fixes to an external service x-bte next phase for future if we're funded labels Dec 10, 2024
@colleenXu
Copy link
Collaborator Author

Thanks to @DylanWelzel, there is a way to query for these in BTE! use jmespath=drugcentral.bioactivity|[?!action_type]

Query from chem ➡️ gene (forward, can be batch):
If you take out the jmespath param, the response will have 2 bioactivity objects with action_type INHIBITOR.

curl --location --globoff 'https://mychem.info/v1/query?size=1000&fields=drugcentral.bioactivity%2Cdrugcentral.xrefs.umlscui%2Cdrugcentral.synonyms&jmespath_exclude_empty=true&always_list=drugcentral.bioactivity&jmespath=drugcentral.bioactivity%7C[%3F!action_type]' \
--header 'Content-Type: application/json' \
--data '{
    "q": ["C0028365"],
    "scopes": "drugcentral.xrefs.umlscui"
}'

Query from gene ➡️ chem (reverse, can't be batch):

curl --location --globoff 'https://mychem.info/v1/query?size=1000&fields=drugcentral.bioactivity%2Cdrugcentral.xrefs.umlscui%2Cdrugcentral.synonyms&jmespath_exclude_empty=true&always_list=drugcentral.bioactivity&jmespath=drugcentral.bioactivity%7C[%3F!action_type%20%20%26%26%20length(uniprot[%3Funiprot_id%3D%3D%27P47869%27])%20%3E%20%600%60]' \
--header 'Content-Type: application/json' \
--data '{
    "q": ["P47869"],
    "scopes": "drugcentral.bioactivity.uniprot.uniprot_id"
}'

@colleenXu
Copy link
Collaborator Author

colleenXu commented Dec 24, 2024

Since it's possible to query for this data in the BioThings API, I went ahead and made x-bte operations for it (two commits). I also added these changes to the remove-clinical-trials branch so all instances of BTE/Service Provider are using it starting NOW (they are currently using overrides to that branch, see #861 (comment)).

I decided to use the predicate interacts_with for now (no qualifiers) because:

  • "bioactivities" appear to be "drug-target potency pairs", where the supporting data is sometimes a Kd (binding constant).
  • I think this is at least an assertion that the chemical is interacting with the protein (gene's product)
  • If a bioactivity is supported with a Kd (or no measurement data), I'm not sure if the drug really creates an effect. (does binding, even tight and specific binding, necessarily mean there's an effect?) I feel like other assays need to be done to confirm an effect.

This is my understanding of what DrugCentral's "bioactivities" are (bold emphasis mine):

  • it's pharmacodynamics, which is the study of "a drug's molecular, biochemical, and physiologic effects or actions". Chemicals interact with biological structures (ex: cell membrane), target-proteins, target-molecules, etc. to produce these effects. These interactions and effects are measured using biochemical assays.
  • DrugCentral compiles "unique drug-target potency pairs", preferring "binding (Kd) and inhibition (Ki) constants over other activity measurements types such as IC50" (Ref: "Bioactivity profiles" section of original DrugCentral paper. Also note def of drug potency)

@colleenXu
Copy link
Collaborator Author

Going to close this issue for now.

Comments can be added/issue can be reopened if Translator data-modeling or chem-specialist folks have thoughts on how to handle/map this data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external Requires fixes to an external service next phase for future if we're funded x-bte
Projects
None yet
Development

No branches or pull requests

1 participant