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

OMIM Phenoseries not captured #753

Closed
pnrobinson opened this issue Jun 27, 2019 · 9 comments
Closed

OMIM Phenoseries not captured #753

pnrobinson opened this issue Jun 27, 2019 · 9 comments
Assignees

Comments

@pnrobinson
Copy link
Member

I am trying to figure out how MONDO represents Phenoseries.
Noonan syndrome 1 is OMIM:163950 and this corresponds to the phenoseries PS163950
https://omim.org/phenotypicSeries/PS163950

However, the entry for this in MONDO does not reference the grouping class
id: MONDO:0018997
name: Noonan syndrome

It seems that most of the other Noonan subtypes are "is a" MONDO:0018997
However, Noonan 1 "is a" Noonan 7 (in the mondo.obo, which I just downloaded, but OLS displays it correctly).

Is this a bug or am I misunderstanding something?

[Term]
id: MONDO:0008104
name: Noonan syndrome 1
def: "Noonan syndrome caused by mutations in the PTPN11 gene." [NCIT:C75459]
synonym: "female pseudo-Turner syndrome" RELATED [OMIM:163950]
synonym: "Male Turner syndrome" RELATED [OMIM:163950]
synonym: "Noonan syndrome" RELATED [OMIM:163950]
synonym: "Noonan syndrome 1" EXACT [MONDO:Lexical, OMIM:163950]
synonym: "Noonan syndrome 1; NS1" RELATED [OMIM:163950]
synonym: "Noonan syndrome type 1" EXACT [DOID:0060578, MONDORULE:1, OMIM:163950]
synonym: "NS1" EXACT [DOID:0060578, MONDO:Lexical, OMIM:163950]
synonym: "pterygium colli syndrome" RELATED [OMIM:163950]
synonym: "Turner phenotype with Normal karyotype" RELATED [OMIM:163950]
xref: DOID:0060578 {source="MONDO:equivalentTo"}
xref: GARD:0007223 {source="MONDO:equivalentTo"}
xref: NCIT:C75459 {source="MONDO:kboom-pr-1.00/0.79/5.41", source="MONDO:equivalentTo"}
xref: OMIM:163950 {source="MONDO:equivalentTo", source="DOID:0060578"}
is_a: MONDO:0013379 ! Noonan syndrome 7
is_a: MONDO:0017415 ! multiple pterygium syndrome
property_value: closeMatch http://linkedlifedata.com/resource/umls/id/C0041409
property_value: closeMatch http://linkedlifedata.com/resource/umls/id/C1527404
property_value: exactMatch DOID:0060578
property_value: exactMatch http://identifiers.org/omim/163950
property_value: exactMatch NCIT:C75459

@cmungall
Copy link
Member

Hi - I recommend the json or owl as a more robust way to get at this, but I am partial to a bit of obo hacking.

The hacky way to get this from the obo is via the xref

obo-grep.pl  -r 'xref: OMIMPS:163950' mondo.obo

[Term]
id: MONDO:0018997
name: Noonan syndrome
def: "Noonan Syndrome (NS) is characterised by short stature, typical facial dysmorphism and congenital heart defects." [Orphanet:648]
subset: clingen
subset: ordo_malformation_syndrome {source="Orphanet:648"}
synonym: "Noonan syndrome" EXACT [NCIT:C34854]
synonym: "Noonan's syndrome" EXACT [NCIT:C34854]
synonym: "Noonan-Ehmke syndrome" RELATED [GARD:0010955]
synonym: "pseudo-Ullrich-Turner syndrome" RELATED [GARD:0010955]
synonym: "Turner's phenotype, karyotype normal" EXACT [DOID:3490]
synonym: "Ullrich-Noonan syndrome" RELATED [GARD:0010955]
xref: DOID:3490 {source="MONDO:equivalentTo"}
xref: GARD:0010955 {source="MONDO:equivalentTo", source="Orphanet-shared"}
xref: ICD10:Q87.1 {source="Orphanet:648", source="ORDO:648/ntbt", source="DOID:3490", source="ORDO:648/inclusion"}
xref: ICD9:759.89 {source="MONDO:relatedTo", source="i2s"}
xref: MedDRA:10029748 {source="ORDO:648/e", source="Orphanet:648"}
xref: MESH:D009634 {source="ORDO:648/e", source="MONDO:equivalentTo", source="Orphanet:648", source="DOID:3490"}
xref: NCIT:C34854 {source="MONDO:equivalentTo", source="DOID:3490"}
xref: OMIMPS:163950 {source="MONDO:equivalentTo", source="DOID:3490"}
xref: Orphanet:648 {source="MONDO:equivalentTo", source="DOID:3490"}
xref: SCTID:205824006 {source="MONDO:equivalentTo", source="MONDO:kboom-pr-0.69/0.36/0.08", source="DOID:3490"}
xref: UMLS:C0028326 {source="ORDO:648/e", source="MONDO:equivalentTo", source="Orphanet:648", source="DOID:3490", source="NCIT:C34854"}

You can then traverse down to the subclasses over is_a

HTH

Seems like a standard report would be very useful here. What would the ideal format be?

Maybe

  • col1: OMIM PS ID
  • col2: Direct MONDO equivalent
  • col3: All MONDO descendants

@cmungall
Copy link
Member

oh wait sorry I just re-read I see the issue, hold on....

@cmungall
Copy link
Member

OK, it looks like you have an old mondo file, that is-a makes no sense

This is what noonan 1 looks like now

[Term]
id: MONDO:0008104
name: Noonan syndrome 1
def: "Noonan syndrome caused by mutations in the PTPN11 gene." [NCIT:C75459]
synonym: "female pseudo-Turner syndrome" RELATED [OMIM:163950]
synonym: "Male Turner syndrome" RELATED [OMIM:163950]
synonym: "Noonan syndrome" RELATED [OMIM:163950]
synonym: "Noonan syndrome 1" EXACT [MONDO:Lexical, OMIM:163950]
synonym: "Noonan syndrome 1; NS1" RELATED [OMIM:163950]
synonym: "Noonan syndrome type 1" EXACT [DOID:0060578, MONDORULE:1, OMIM:163950]
synonym: "NS1" EXACT [DOID:0060578, MONDO:Lexical, OMIM:163950]
synonym: "pterygium colli syndrome" RELATED [OMIM:163950]
synonym: "Turner phenotype with Normal karyotype" RELATED [OMIM:163950]
xref: DOID:0060578 {source="MONDO:equivalentTo"}
xref: GARD:0007223 {source="MONDO:equivalentTo"}
xref: NCIT:C75459 {source="MONDO:kboom-pr-1.00/0.79/5.41", source="MONDO:equivalentTo"}
xref: OMIM:163950 {source="DOID:0060578", source="MONDO:equivalentTo"}
is_a: MONDO:0018997 {source="DC-OMIM:163950", source="DOID:0060578", source="NCIT:C75459", source="OMIM:163950"} ! Noonan syndrome
property_value: closeMatch http://linkedlifedata.com/resource/umls/id/C0041409
property_value: closeMatch http://linkedlifedata.com/resource/umls/id/C1527404
property_value: exactMatch DOID:0060578
property_value: exactMatch http://identifiers.org/omim/163950
property_value: exactMatch NCIT:C75459

@pnrobinson
Copy link
Member Author

OK, thanks, this is easy with phenol, however, I would like to extract just those MONDO terms that are exact matches:

xref: OMIM:104110 {source="MONDO:equivalentTo"}

However, it seems that the obographs library does not pick this up (should it be in "trailing modifiers"?).

see https://github.com/monarch-initiative/phenol/blob/develop/phenol-cli/src/main/java/org/monarchinitiative/phenol/cli/demo/MondoDemo.java

@pnrobinson
Copy link
Member Author

@cmungall This is where there is a problem -- obographs puts the exactMatch information in a separate map
monarch-initiative/phenol#223

@cmungall
Copy link
Member

In fact there are 3 separate ways to get at this

Why 3? Well, there are a ton of applications that rely on xrefs so hard to get rid of them, but they are imprecise. In fact you can get away with just using the xref to the OMIMPS without the axiom annotation, since we force these to be 1:1 for the release. That may be your fastest way to get going.

But in general the way we want to guide people is on less ambiguous computable ways that state the meaning in a more standard way. There's basically two approaches in the broader community - skos properties, and OWL logical axioms. There's pros and cons of each. We provide both.

The OWL is most precise but not as useful for things like ICD where we might want to say "this is a close match but not really equivalent", which is not something you can say in DL, so skos can be useful here.

The OWL axiomatized mappings can be obtained from:

http://purl.obolibrary.org/obo/mondo/imports/equivalencies.json
http://purl.obolibrary.org/obo/mondo/imports/equivalencies.owl

I think phenol should be able to handle these.

Or you can just use the exactMatch (skos properties) which you are exploring at the moment.

We definitely need better docs aimed at developers using MONDO!

I wrote an irreverent blog post about all the madness associated with different ways of doing mapping https://douroucouli.wordpress.com/2019/05/27/never-mind-the-logix-taming-the-semantic-anarchy-of-mappings-in-ontologie/

I am chatting with @simonjupp about ways to better standardize this across multiple ontologies so that tools like OXO work predictably.

@pnrobinson
Copy link
Member Author

@cmungall -- thanks. If we are willing to trust MONDO, then the phenol app works already. However, obographs is not actually extracting the xref information in a useful way -- please see monarch-initiative/phenol#223. We could fix this in phenol in an ugly way but it would be nicer to put the fix in obographs -- I will take a look if I can find the time.

@nicolevasilevsky
Copy link
Member

@pnrobinson is this still needed?

@pnrobinson
Copy link
Member Author

I think this issue has gotten stale. We are not going to be using MONDO for Phenoseries. There are still issues with obographs etc but they do not need to be on this tracker.

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

No branches or pull requests

3 participants