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

Need more application-friendly views of phenotype facet counts. #123

Open
jmcmurry opened this issue Dec 1, 2017 · 7 comments
Open

Need more application-friendly views of phenotype facet counts. #123

jmcmurry opened this issue Dec 1, 2017 · 7 comments
Assignees

Comments

@jmcmurry
Copy link
Member

jmcmurry commented Dec 1, 2017

The current calls for phenotypes for an entity (https://api.monarchinitiative.org/api/bioentity/disease/OMIM%3A605543/phenotypes/?fetch_objects=true&rows=300) return a lot of ceremony, which, while not untrue data, is not particularly useful for the UI.

These additional things include but are not limited to owl:thing, BFO classes, etc. While the long game may be for there to be annotation properties directly on UPheno classes, the short term fix would be to have some hardcoded interpreter within biolink that filters out the cruft.

Ideally, I would like to see the minimalist labels related, where appropriate, to the anatomical systems implicated.

Eg specifically:

Current response Desired response Note
HP:0000707: 7, nervous system: subsume the MP
HP:0012638: 6, subclass of nervous system
MP:0003633: 6, see above
MP:0003631: 7, see above
GO:0008150PHENOTYPE: 4, We shouldn't omit ALL GO terms, but this one is too high-level
UBERON:0001016PHENOTYPE: 7,
NBO:0000313PHENOTYPE: 3, behavior:6 Subsumes MP
MP:0004924: 3,
MP:0005386: 3,
GO:0007610PHENOTYPE: 3,
HP:0000708: 3,
HP:0000001: 8, Omit; too high level
UPHENO:0001001: 8, Omit; too high level
HP:0000118: 8, Omit; too high level
BFO:0000002: 8, Omit; too high level
BFO:0000031: 8, Omit; too high level
IAO:0000300: 8, Omit; too high level
IAO:0000144: 8, Omit; too high level
GO:0003008PHENOTYPE: 2, We shouldn't omit ALL GO terms, but this one is too high-level
MP:0000001: 8, Omit; too high level
BFO:0000020: 8, Omit; too high level
IAO:0000030: 8, Omit; too high level
owl:Thing: 8, Omit; too high level
BFO:0000001: 8, Omit; too high level
UPHENO:0001002: 8 Omit; too high level

Moreover the sorts of categories I would expect to see, I do not see at all.
eye, face, pulmonary

@jmcmurry
Copy link
Member Author

jmcmurry commented Dec 3, 2017

Per recent email discussion; I've opted to hard code the top level categories and labels for now. Please see the file here.

cmungall added a commit that referenced this issue Dec 3, 2017
cmungall added a commit that referenced this issue Dec 3, 2017
Note this could apply to other routes, prototyping here first
@cmungall
Copy link
Member

cmungall commented Dec 3, 2017

creates a new dict in the facet_counts object, e.g.

"closure_bin": {
"genitourinary": 0,
"head or neck": 0,
"eye": 0,
"ear": 0,
"nervous system": 7,
"breast": 0,
"endocrine": 0,
"skeletal": 0,
"prenatal development or birth": 0,
"growth": 0,
"integument": 0,
"voice": 0,
  • collapse categories
  • give counts for dictinct classes vs dictinct assocs? (may need help from @kshefchek on solr)
  • implement for other routes
  • use pivot for subdividing facet to include frequency/severity/onset?

@cmungall
Copy link
Member

cmungall commented Dec 4, 2017

@kshefchek
Copy link
Contributor

kshefchek commented Dec 4, 2017

give counts for dictinct classes vs dictinct assocs

Yes this is a challenge, but maybe the intention is to only generate this view for leaf nodes?

use pivot for subdividing facet to include frequency/severity/onset?

Maybe we can mock up something quick with plotly to see if it's even worth doing this since frequency/severity/onset annotations are sparse

@cmungall
Copy link
Member

cmungall commented Dec 4, 2017

if we restricted to leaf or leafy disease nodes then we could be confident a call to fetch all objects would be timely, and then propagate up in biolink using the ontology

But this seems restrictive, we want this to work for intermediate level nodes. And also for things other than disease

freq: good point

@kshefchek
Copy link
Contributor

@jmcmurry @cmungall here is a plotly mock up of the phenotype breakdown. It uses a threshold configuration (freqThreshold) to determine whether to show a breakdown of frequency information. As configured, if more than 5% of phenotype annotations have frequency annotations it shows a stacked barchart.

https://codepen.io/anon/pen/aVMPGX

@drseb
Copy link
Member

drseb commented Feb 1, 2018

probably duplicate of obophenotype/human-phenotype-ontology#2474

probably duplicate of obophenotype/human-phenotype-ontology#3375

should we close the other tickets?

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

5 participants