monarch-initiative / monarch-legacy

Monarch web application and API
BSD 3-Clause "New" or "Revised" License
42 stars 37 forks source link

new service to find a LCS profile for two (or more) phenotype sets #349

Open nlwashington opened 10 years ago

nlwashington commented 10 years ago

given a set of phenotype profiles, find the profile in common...the graph intersection. :)

i believe this would use the compare owlsim call, and it would give you back the set of phenotypes in common between the two.

initially we would allow the operation on two sets, but we might need to augment our algorithm in order to do this for >2.

for the monarch json payload, it probably should give (1) the lcs terms, (2) the summary stats for the 3 profiles, (3) the mappings of the lcs to the two source profiles, and the similarity scores between the three items (a,lcs), (b, lcs), (a,b). (although item 3 won't scale too well when we have many profiles to compare)

for the interface, we could show this as the tryptic, like we've shown on so many posters, perhaps like the early d3 widgets that chuck mocked-up.

@cmungall do you think the owlsim compare call is the right one here?

also, do we want to come up with a schnazier name than 'LCS profile'?

nlwashington commented 10 years ago

This kind of owlsim call currently works: http://owlsim.monarchinitiative.org/compareAttributeSets?a=HP:0000403&a=HP:0000518&a=HP:0000565&a=HP:0000767&a=HP:0000872&a=HP:0001257&a=HP:0001263&a=HP:0001290&a=HP:0001629&a=HP:0002019&a=HP:0002072&a=HP:0002353&a=HP:0003429&a=HP:0005750&a=HP:0010864&a=HP:0100021&a=HP_0002086&b=HP:0000496&b=HP:0005257&b=HP:0008773&b=HP:0010307&b=HP:0100017&b=HP:0001249

nlwashington commented 10 years ago

this presently gives an array of {a,b,lcs} objects with {id, label,ic}. this should be augmented with:

summary stats (similar to what is provided for the searchByAttributeSet) combined similarity score *unsatisfied terms for a and b that were below the cutoff, and/or what the cutoff was.