A Kalderimis - InterMine: Embeddable datamining components

581 views
539 views

Published on

Presentation at BOSC2012 by A Kalderimis - InterMine: Embeddable datamining components

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
581
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

A Kalderimis - InterMine: Embeddable datamining components

  1. 1. InterMine Embeddable Data-Mining WidgetsSaturday, 14 July 2012
  2. 2. InterMine is: • An integrated data-warehouse • An optimising and caching query engine • A set of web services • A suite of embeddable widgetsSaturday, 14 July 2012
  3. 3. You are here User Scripts and Programs List Widgets Tables Ruby Web- Java Perl Python JS Application Web-Services Internal API Object StoreSaturday, 14 July 2012
  4. 4. Who runs InterMine? InterMOD • FlyMine (D. melanogaster) • YeastMine (S. cerevisiae) • modMine • RatMine (R. norvegicus) • metabolicMine • ZfinMine (D. rerio) • TargetMine • Wormbase (C. elegans) • mitoMine • MGI (M. musculus) Also: S. pombe, FlyBase,TAIRSaturday, 14 July 2012
  5. 5. Prime strengths • Flexibility • PerformanceSaturday, 14 July 2012
  6. 6. Making it accessible • Make running a large data-warehouse accessible to groups with limited resources • Make powerful querying accessible to non-technical users • Make a machine readable API accessible to anyone • Make the display of data accessible through any siteSaturday, 14 July 2012
  7. 7. Step 1 • Build web services platform and library supportSaturday, 14 July 2012
  8. 8. from intermine.webservice import Service s = Service(‘www.flymine.org/query’) q = s.model.Gene.select(‘*’, ‘proteins.proteinDomains.*’) .where(‘pathways’, ‘LOOKUP’, ‘pentose*’) for gene in q: print gene.symbol for protein in gene.proteins: for domain in protein.proteinDomains: print domain.nameSaturday, 14 July 2012
  9. 9. from intermine.webservice import Service s = Service(‘www.flymine.org/query’) q = s.model.Gene.select(‘*’, ‘proteins.proteinDomains.*’) .where(‘pathways’, ‘LOOKUP’, ‘pentose*’) for row in q.rows(): print row[‘name’], row[‘proteins.proteinDomains.name’]Saturday, 14 July 2012
  10. 10. Step 2 • Build Tools on this PlatformSaturday, 14 July 2012
  11. 11. Table WidgetsSaturday, 14 July 2012
  12. 12. Analysis WidgetsSaturday, 14 July 2012
  13. 13. Step 3 • Eat own dog-foodSaturday, 14 July 2012
  14. 14. Saturday, 14 July 2012
  15. 15. Danger, Danger! • live demo here...Saturday, 14 July 2012
  16. 16. Now it’s your turn! <div id=”the-table-goes-here”></div> <script> (function($, im) { var s, q, v; s = new im.Service({ root: ‘www.flymine.org/query’, token: ‘MYTOKEN’ }); var q = { from: ‘Gene’, select: [‘symbol’, ‘proteins.proteinDomains.*’], where: [{pathways: {LOOKUP: ‘pentose*’}] }; var v = new im.query.results.CompactView(s, q); v.$el.appendTo(‘#the-table-goes-here’); v.render(); })(jQuery, intermine); </script>Saturday, 14 July 2012
  17. 17. Toolkit BootstrapSaturday, 14 July 2012
  18. 18. One stop shop: • All files served from cdn.intermine.org ➡Dependencies (jquery, backbone, bootstrap) ➡im.js ➡im-tables.js ➡widgets.jsSaturday, 14 July 2012
  19. 19. Alex Kalderimis, Daniela Butano, Adrian intermine.org Carr , Sergio Contrino, Hu Fengyuan, Systems Biology Centre, University of Cambridge, Mike Lyne, Rachel Lyne, Julie Sullivan, Tennis Court Road, Cambridge CB2 1QR, UK Radek !t"pán, Gos Micklem +44 1223 760262 dev@intermine.orgSaturday, 14 July 2012

×