Presentation is loading. Please wait.

Presentation is loading. Please wait.

Molecular Model (aka lego) Editing Environment Architecture.

Similar presentations


Presentation on theme: "Molecular Model (aka lego) Editing Environment Architecture."— Presentation transcript:

1 Molecular Model (aka lego) Editing Environment Architecture

2

3 MolecularModelManager CRUD – create/read/update/delete : DONE ModelGenerator – seeding models : TESTING REQUIRED Visualization – LegoViz: Lego-Protégé graphviz – Bbop-graph: ultimately rendered on client – CORE VIZ. FUNCTIONALITY TO BE MOVED TO CLIENT http://owltools.googlecode.com/svn/trunk/docs/api/owltools/gaf/lego/MolecularModelManager.html

4 Create/Read/Update/Delete CRUD operations delegate to OWLAPI – Reasoner operates on each operation Consistency Filling in missing data Manager stores model in memory as OWLAPI facts – Can be exported to any RDF/OWL concrete form or store

5 Example CRUD operation /** * Adds a ClassAssertion to the model, connecting an activity instance to the class of molecule * that enables the activity. * * Example: FGFR receptor activity enabledBy some UniProtKB:FGF * * The reasoner may detect an inconsistency under different scenarios: * - i may be an instance of a class that is disjoint with a bfo process * - the enabled may be an instance of a class that is disjoint with molecular entity * * Under these circumstances, no error is thrown, but the response code indicates that no operation * was performed on the kb, and the response object indicates the operation caused an inconsistency * * @param modelId * @param i * @param enabler * @return response info */ public OWLOperationResponse addEnabledBy(String modelId, OWLIndividual i, OWLClassExpression enabler) http://owltools.googlecode.com/svn/trunk/docs/api/owltools/gaf/lego/MolecularModelManager.html

6 Persistence Phase 1: – Use OWL files in VCS Location: – http://viewvc.geneontology.org/viewvc/GO- SVN/trunk/experimental/lego/server/ http://viewvc.geneontology.org/viewvc/GO- SVN/trunk/experimental/lego/server/ Phase 2: – RDF triplestore

7 VCS based persistence Use OWLAPI Renderer Module to Export to rdf/owl Use SVN as backing store (same as TG) People can use Protégé on the files If they really want to

8 Triplestore (next phase) A dedicated backend may be more robust – No need to partition data into files – But: VCS should be sufficient for rollout Triplestore has advantages over RDBMS – No additional modeling or complex ORM architecture required Underlying model is already triples – Part of overall GO (and EBI) software strategy Added bonuses – SPARQL queries Status: PLANNING

9 MolecularModelGenerator Given: – A biological process P – An OWL axiomatization of P E.g. has_parts, starts_withs, … – Can be partial but the more complete the better – A set of annotations for a species S All genes involved in P and their MF annotations Generate – An instance model of Aka a “seed LEGO diagram” Documentation: – High level: https://docs.google.com/document/d/1TV8Eb9sSvFY- weVZaIfzCxF1qbnmkUaiUhTm9Bs3gRE/edit#heading=h.r7ezra5s63khttps://docs.google.com/document/d/1TV8Eb9sSvFY- weVZaIfzCxF1qbnmkUaiUhTm9Bs3gRE/edit#heading=h.r7ezra5s63k – Javadoc: http://owltools.googlecode.com/svn/trunk/docs/api/index.html?owltools/util/MinimalModelGenerator.html

10 Services Layer Java services layer – Current implementation is simple servlets Same as rest of owltools – e.g. taxon server, owlsim server STATUS: IN PROGRESS – Refactor: REST / JAX-RS Comet/WebSockets? STATUS: PLANNING

11 Service Calls /mm/generate/model/:proc/:species  modelId /mm/createActivity/  instanceId /mm/createProcess/  instanceId /mm/{assert,delete}/modelId/ /type/:id/:cls /fact/:id/:prop/:filler /location/:id/:cls[/:cls…] /enabledBy/:id/:molCls[/:cls…]  response /mm/graph/:modelId  bbopGraphObj … All calls return JSON Note: existing calls are not As ‘REST’y as this, but are Being refactored Simple wrapper to java methods such as addEnabledBy

12 Running services Checkout lego dir – http://viewvc.geneontology.org/viewvc/GO- SVN/trunk/experimental/lego/server/ http://viewvc.geneontology.org/viewvc/GO- SVN/trunk/experimental/lego/server/ cd go/experimental/lego/server./start-mm-server.sh Connect on http://localhost:3000http://localhost:3000

13 JSON payload Payload is RDF/OWL transmitted via JSON-LD TODO: examples here See: lego-json.md in go/experimental/lego/docs on svn TBD: RDF blank nodes vs OWL SomeValuesFrom restrictions STATUS: IN PROGRESS

14 Client Relatively stateless and dumb? All CRUD operations immediately synced with server Uses jsPlumb for manipulation jQuery for tables etc Full capabilities TBD STATUS: IN PROGRESS

15 Client demos Demos: – http://go-genkisugi.rhcloud.com/http://go-genkisugi.rhcloud.com/ Source: – https://github.com/kltm/go-mmehttps://github.com/kltm/go-mme

16 External Services Golr – Autocomplete. STATUS: DONE – Future: Retrieval of existing annotations ?TermGenie – Use case: curator adds a new MF using TG, needs to create an instance immediately For compositional terms, MME will allow any class expression, so naming the class not strictly required Persona – Authentication. STATUS: PLANNING Future: – Pathway database APIs (to seed models)

17 Integration with AmiGO 2 Reuse same client side framework for displaying graphs

18 Integration with protein2go Phase 1: – Loosely coupled – P2go for classic GO annotation, MME for full expressivity Phase 2: – Larger CAF framework – Investigate tighter coupling as driven by curator requirements E.g. seamlessly switch between two

19 TODO/Open Questions Persist jsPlumb layout between sessions? REST vs COMET vs WebSockets? Get quick prototype out for curators vs finalize certain aspects of architecture

20 Availability http://owltools.googlecode.com - server http://owltools.googlecode.com – (includes other components not required for lego) https://github.com/kltm/go-mme - clienthttps://github.com/kltm/go-mme


Download ppt "Molecular Model (aka lego) Editing Environment Architecture."

Similar presentations


Ads by Google