-
Notifications
You must be signed in to change notification settings - Fork 9
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
Navigating ontologies #26
Comments
@cboettig a piece of input that ontologies and vocabularies greatly depend on to be (or become) useful is use-cases - for what kinds of things are terms needed but don't seem to readily exist already. This project would be in a great position to provide such input, and I wouldn't expect that process to be one-off but iterative. So if you can document (on a wiki page?) on an on-going basis which terms you feel you need but can't readily locate, that'd be highly useful. I would expect the great majority of these to fall under the MIAPA ontology: The ontology is published on the web under a resolving canonical URI: By definition, as an application ontology MIAPA imports (reuses) terms from CDAO, EDAM, SWO, and other ontologies as needed to cover a domain of application, namely annotation of a phylogenetic analysis result (as opposed to a domain knowledge, such as comparative data analysis for CDAO). The TNRS ontology is published on the web under a resolving canonical URI: Is this making sense? |
@hlapp I think I'm getting it. So it sounds like MIAPA can largely be my interface into the other ontologies. I agree 100% on use cases. I hope to develop a few illustrative use cases as part of the vignette/manuscript for this repository (inst/doc/manuscript.Rmd). Maintaining an ongoing collection of these in package examples (inst/examples) or the repository's wiki sounds like a splendid idea. Some exposition on my current wish-list: Many of the phylogenetic methods in R that I am familiar with require ultrametric trees. Some of these are time-calibrated using fossils, others just using heuristic methods. It would be most valuable to annotate that a tree has been time-calibrated and what the units (and possible uncertainty, which may be a branch-level annotation) are on the branch lengths. It would also be useful to annotate the method in which a tree has been time-calibrated, as well as the method with which it has been generated. (Imagine a user wants to select from a library of nexml files only those trees produced by MrBayes, or exclude trees generated by phylomatic, or access only truly time calibrated trees). In some cases the mechanism of the calibration might be documented -- e.g. if tree was made ultrametric with the R function 'chronopl', and what parameter value was used for that calibration). I haven't been able to stumble across the ontological vocabulary for any of this, e.g. one might hope to express this as: <meta property="phylogeny-from" content="MrBayes" datatype = "xsd:string" xsi:type="LiteralMeta">
<meta href="path/to/Script/for/MrBayes/run" rel="script" xsi:type="ResourceMeta">
<meta property="ultrametric" content="true" datatype = "xsd:boolean" xsi:type="LiteralMeta">
<meta property="calibration-method" content="ape::chronopl" datatype = "xsd:string" xsi:type="LiteralMeta">
<meta property="calibration-method-parameter" content="lambda" datatype = "xsd:string" xsi:type="LiteralMeta">
<meta property="calibration-method-parameter-value" content="1.2" datatype = "xsd:long" xsi:type="LiteralMeta">
etc etc. Clearly these triples could be much more logically constructed ; but I'm not trying to propose an onotology, just looking for existing terms. Just haven't found them. I'm not familiar with any handy tool to visualize owl ontologies, but searching the MIAPA ontology. |
We worked on provenance annotation a lot during the Phylotastic II hackathon. One example in graphical depiction is here: http://www.evoio.org/wiki/File:PetersGraphic.jpg The corresponding OWL file is here: https://github.com/miapa/miapa/blob/master/examples/peters_miapa-annotation.owl One way to navigate OWL files is to use on OWL ontology editor, for example Protege. For indicating an ultrametric tree, if an ultrametric tree is a subtype of tree, it would be a class in CDAO, and the tree instance in NeXML would instantiate it (rdfs:type). |
Looks like the primary remaining issues here are to:
and issues for the MIAPA ontology itself: |
Thanks everyone for suggesting various ontologies we can use to start making our R-generated nexml more expressive (partly for my own record, I've compiled a list of those suggested in the issues tracker and replies to my nexml-discuss query below). However, lacking experience in this area, I haven't been very successful at finding the terms I need in these. Often I don't know where to start looking, and clearly not all of these are populated.
For starters, it would be good to have a list of ontologies most commonly used in nexml files, as it would make sense to parse these for R users in cases where their interpretation might not be obvious. I've started with those used by TreeBase (dc, prism, etc), e.g. #25.
Still looking for lots of particular terms, e.g. the open check boxes from issue #21 .
Any suggestions on how to go about discovering a term that I might need?
For example, I can try to skim something like: http://cdao.cvs.sourceforge.net/viewvc/cdao/cdao/OWL/cdao.owl?revision=1.34 for a useful term. e.g., it looks like I might declare the tree to be time calibrated with the term: http://www.evolutionaryontology.org/cdao/1.0/cdao.owl#TimeCalibratedLengthType, but I'm not sure quite how to do that. adding a meta element to every edge element stating the same thing doesn't seem ideal... And scanning the owl file by hand for a term doesn't seem ideal either...
Ontologies mentioned so far:
Ones we include by default (e.g. from TreeBase), which I think I mostly understand pretty well (except for cdao)
Additional ones recently mentioned, which I don't have a good grasp for exactly what kind of terms they provide or how to characterize their intersection...
which also points to:
Darwin core,
Karen suggests: http://opentree.wikispaces.com/NexSON
Rutger mentioned: http://edamontology.org/EDAM.owl
(will continue to update this as my running list)
The text was updated successfully, but these errors were encountered: