NCATS-Gamma / robokop

Master UI for ROBOKOP
MIT License
16 stars 3 forks source link

Explore space of named concepts #251

Open cbizon opened 5 years ago

cbizon commented 5 years ago

Suppose you had just a bunch of identifiers. You want to see what they have in common. You could do something like a shortest path (if there were 2) but then you want to expand to check other non-path edges, and you might want to allow omni-only connections. Basically I'd like to have robokop fill in the map on which those things live.

cbizon commented 5 years ago

Another example: we just had a TRIP12 hackathon. The idea is - here's a gene that has some diseases associated with it, what can we learn / predict? Can we find treatments is part of it, but so is trying to understand the mechanism, or other things.

The first thing that I did was to go the database and figure out what kind of data we had associated with this thing - diseases and genetic conditions? yep. Processes? Yep. Chemicals? Some, but mostly nope. That kind of gave an idea what kinds of things we could try to look into. The most useful thing that I accomplished was trying to figure out which of the biological processes of the gene were related to the (narrow) disease associated to the gene by comparing those processes to the processes of genes related to the broader disease class.

Once I kind of figured out that idea, I could run some robokop queries to expose it, but I ended up doing most of the work outside of robokop, which seems like a waste.

kennethmorton commented 5 years ago

I think these use cases are best address with some form of filters. Once we have a skeleton of functional filters and a way to browse them, we should investigate how best to implement these types of actions as filters. They appear to be specialized forms of expansion and contraction or path finding between two nodes. All of which would be possible. I think.

cbizon commented 5 years ago

This was also an interest of the Alpha folks. Some examples: I have a bunch of symptoms, what diseases are likely? I have a bunch of drugs, do they naturally segregate into groups for some reason?

Some of this can be handled pretty naturally with enrichment, which fits in (I think) with the filter/hermes way of thinking that @kennethmorton outlined above.