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

Merging two classes #90

Closed
cmungall opened this issue Sep 18, 2014 · 15 comments
Closed

Merging two classes #90

cmungall opened this issue Sep 18, 2014 · 15 comments
Assignees
Labels
Type: Enhancement A request for a change that is an enhancement

Comments

@cmungall
Copy link

(enhancement request)

OBO-Edit has a tool for merging two classes. This is described here:

http://oboedit.org/docs/html/Merging.htm

(this doesn't describe the effects of merging other axioms types, like equivalence axioms or disjoint axioms)

This is one of the features missed by OE users when I turn them to Protege; the steps must be performed manually.

A Protege merge tool would be more generic than the OE one - for example, Protege does not make any assumptions about specific annotation properties. I think OE users would be more than happy with a generic merge, i.e. essentially the same thing as using the EntityRenamer in the OWLAPI (with the source URI preserved somehow)

This functionality may belong in a plugin, e.g.
https://github.com/balhoff/obo-actions

(which performs the related 'obsoletion' operation)
cc: @dosumis

@matthewhorridge matthewhorridge added the Type: Enhancement A request for a change that is an enhancement label Jan 15, 2019
@matthewhorridge
Copy link
Contributor

@cmungall has there been any progress on this elsewhere? Just wondering whether to assign this to the 5.6.0 milestone or not.

@cmungall
Copy link
Author

Not really. We have a command in owltools: owlcollab/owltools@67c2aa1

Not worth reusing the code though

@matthewhorridge
Copy link
Contributor

Ok, thanks, then I'll add it to the 5.6.0 milestone. (The plan is to get 5.0.0 asap, with just bug fixes for the 5.5.0 milestone).

@matthewhorridge matthewhorridge self-assigned this Jan 15, 2019
@matthewhorridge matthewhorridge added this to the Protégé 5.6.0 milestone Jan 15, 2019
@matthewhorridge
Copy link
Contributor

p.s. assuming you still want this!

@cmungall
Copy link
Author

Definitely! @ukemi do you have any particular preferences as to how this should operate?

@ukemi
Copy link

ukemi commented Jan 17, 2019

We should ping @pgaudet on this. She does the majority of merges in GO. I had envisioned a plug-in where the target term and the term-to-be-merged would be entered.

@matthewhorridge
Copy link
Contributor

Just coming back to this @cmungall, @ukemi and @pgaudet

The link in the first comment on this issue is now broken, so I'm just wondering... If somebody was to merge term A into term B then this would mean that all occurrences of A are replaced with B right? What should happen to special annotation assertions such as rdfs:label and the like? Do these become synonyms?

@cmungall
Copy link
Author

cmungall commented Mar 19, 2019

OboEdit would sometimes create a merged definition that you had to edit - but in other ontologies where people were less disciplined than GO, they would forget and you would see these kicking around...

in fact some still are:
https://www.ebi.ac.uk/ols/search?q=%22merged+definition%22&groupField=iri&start=0

I am OK with labels becoming exact syns in the OBO profile.

I think it's OK to temporarily have two text definitions and the curator to choose the desired one

We could also annotate any merged axioms with an annotation mergedFrom=<originalIRI>

@matthewhorridge
Copy link
Contributor

Thanks @cmungall. Very helpful. Is there an IRI for "mergedFrom", or is this new?

@matthewhorridge
Copy link
Contributor

Also, @cmungall, one thing that I'm wondering about, what's the main difference between a merge and a deprecation? If, say I merge X into Y, how is this different from deprecating X and replacing it with Y? I'm wondering this from both a technical point of view and from a process point of view.

@cmungall
Copy link
Author

A merge is more extreme, and all that is left is a bare IRI (in fact in the obo, the stanza disappears altogether)

owlcs/owlapi#317

http://wiki.geneontology.org/index.php/Merging_Ontology_Terms

@pgaudet
Copy link

pgaudet commented Mar 25, 2019

What is confusing perhaps is that the IRI of the merged term shows up (at least in protege) as if it was obsolete.

For example: GO_0004887 is merged (is a secondary ID for GO:0004879)
but is also has the 'owl deprecated = true' tag:
image

Pascale

@matthewhorridge
Copy link
Contributor

Hi @pgaudet and @cmungall

I've implemented some merge functionality according to the discussion above and the GO editor's workflow docs. I've built a snapshot build of 5.6.0-beta-1, which can be obtained here:

macOS

Windows

Linux

Platform Independent

When you get a moment, please would you have a look at the merge functionality and let me know whether you're happy with it or whether it needs improvements (of any kind)?

You select a source entity and then choose "Edit -> Merge entity..." to select a target entity that the source entity will be merged into.

@pgaudet
Copy link

pgaudet commented Apr 9, 2019

Hi @matthewhorridge This is great ! It seems to be working for me. I have not fully tested the process (ie merging into the real ontology), but the diff looks fine.

Thanks a lot !!!

Pascale

@matthewhorridge
Copy link
Contributor

Hi @pgaudet Great! Thanks for testing if for me. I'll close this issue for now (as implemented), but please don't hesitate to let me know if this needs improvements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement A request for a change that is an enhancement
Projects
None yet
Development

No branches or pull requests

4 participants