molecular model aka lego editing environment architecture
Download
Skip this Video
Download Presentation
Molecular Model (aka lego ) Editing Environment Architecture

Loading in 2 Seconds...

play fullscreen
1 / 20

Molecular Model (aka lego ) Editing Environment Architecture - PowerPoint PPT Presentation


  • 111 Views
  • Uploaded on

Molecular Model (aka lego ) Editing Environment Architecture. MolecularModelManager. http://owltools.googlecode.com/svn/trunk/docs/api/owltools/gaf/lego/MolecularModelManager.html. CRUD – create/read/update/delete : DONE ModelGenerator – seeding models : TESTING REQUIRED Visualization

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Molecular Model (aka lego ) Editing Environment Architecture' - viveca


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
molecularmodelmanager
MolecularModelManager

http://owltools.googlecode.com/svn/trunk/docs/api/owltools/gaf/lego/MolecularModelManager.html

  • 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
create read update delete
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
example crud operation
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 OWLOperationResponseaddEnabledBy(String modelId,

OWLIndividuali,

OWLClassExpressionenabler)

http://owltools.googlecode.com/svn/trunk/docs/api/owltools/gaf/lego/MolecularModelManager.html

persistence
Persistence
  • Phase 1:
    • Use OWL files in VCS
      • Location:
        • http://viewvc.geneontology.org/viewvc/GO-SVN/trunk/experimental/lego/server/
  • Phase 2:
    • RDF triplestore
vcs based persistence
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

triplestore next phase
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
molecularmodelgenerator
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 <P,S>
      • Aka a “seed LEGO diagram”
  • Documentation:
    • High level: https://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

services layer
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
service calls
Service Calls

Simple wrapper to java methods such as addEnabledBy

/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

Note: existing calls are not

As ‘REST’y as this, but are

Being refactored

All calls return JSON

running services
Running services
  • Checkout legodir
    • http://viewvc.geneontology.org/viewvc/GO-SVN/trunk/experimental/lego/server/

cd go/experimental/lego/server

./start-mm-server.sh

Connect on http://localhost:3000

json payload
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
client
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
client demos
Client demos
  • Demos:
    • http://go-genkisugi.rhcloud.com/
  • Source:
    • https://github.com/kltm/go-mme
external services
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)
integration with amigo 2
Integration with AmiGO 2
  • Reuse same client side framework for displaying graphs
integration with protein2go
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
todo open questions
TODO/Open Questions
  • Persist jsPlumb layout between sessions?
  • REST vs COMET vsWebSockets?
  • Get quick prototype out for curators vs finalize certain aspects of architecture
availability
Availability
  • http://owltools.googlecode.com - server
    • (includes other components not required for lego)
  • https://github.com/kltm/go-mme - client
ad