A Kalderimis - InterMine: Embeddable datamining components

19
InterMine Embeddable Data-Mining Widgets Saturday, 14 July 2012

description

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

Transcript of A Kalderimis - InterMine: Embeddable datamining components

Page 1: A Kalderimis - InterMine: Embeddable datamining components

InterMineEmbeddable Data-Mining Widgets

Saturday, 14 July 2012

Page 2: A Kalderimis - InterMine: Embeddable datamining components

InterMine is:

• An integrated data-warehouse

• An optimising and caching query engine

• A set of web services

• A suite of embeddable widgets

Saturday, 14 July 2012

Page 3: A Kalderimis - InterMine: Embeddable datamining components

You are here

Object Store

Internal API

Web-Application

Web-Services

Java Perl Python Ruby JS

List Widgets TablesUser Scripts and Programs

Saturday, 14 July 2012

Page 4: A Kalderimis - InterMine: Embeddable datamining components

Who runs InterMine?

• YeastMine (S. cerevisiae)

• RatMine (R. norvegicus)

• ZfinMine (D. rerio)

• Wormbase (C. elegans)

• MGI (M. musculus)

• FlyMine (D. melanogaster)

• modMine

• metabolicMine

• TargetMine

• mitoMine

InterMOD

Also: S. pombe, FlyBase, TAIR

Saturday, 14 July 2012

Page 5: A Kalderimis - InterMine: Embeddable datamining components

Prime strengths

•Flexibility

•Performance

Saturday, 14 July 2012

Page 6: A Kalderimis - InterMine: Embeddable datamining components

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 site

Saturday, 14 July 2012

Page 7: A Kalderimis - InterMine: Embeddable datamining components

Step 1

• Build web services platform and library support

Saturday, 14 July 2012

Page 8: A Kalderimis - InterMine: Embeddable datamining components

from intermine.webservice import Services = 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.name

Saturday, 14 July 2012

Page 9: A Kalderimis - InterMine: Embeddable datamining components

from intermine.webservice import Services = 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

Page 10: A Kalderimis - InterMine: Embeddable datamining components

Step 2

• Build Tools on this Platform

Saturday, 14 July 2012

Page 11: A Kalderimis - InterMine: Embeddable datamining components

Table Widgets

Saturday, 14 July 2012

Page 12: A Kalderimis - InterMine: Embeddable datamining components

Analysis Widgets

Saturday, 14 July 2012

Page 13: A Kalderimis - InterMine: Embeddable datamining components

Step 3

• Eat own dog-food

Saturday, 14 July 2012

Page 14: A Kalderimis - InterMine: Embeddable datamining components

Saturday, 14 July 2012

Page 15: A Kalderimis - InterMine: Embeddable datamining components

Danger, Danger!

• live demo here...

Saturday, 14 July 2012

Page 16: A Kalderimis - InterMine: Embeddable datamining components

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

Page 17: A Kalderimis - InterMine: Embeddable datamining components

Toolkit

Bootstrap

Saturday, 14 July 2012

Page 18: A Kalderimis - InterMine: Embeddable datamining components

One stop shop:

• All files served from cdn.intermine.org

➡Dependencies (jquery, backbone, bootstrap)

➡im.js

➡im-tables.js

➡widgets.js

Saturday, 14 July 2012

Page 19: A Kalderimis - InterMine: Embeddable datamining components

Alex Kalderimis, Daniela Butano, Adrian Carr , Sergio Contrino, Hu Fengyuan, Mike Lyne, Rachel Lyne, Julie Sullivan,

Radek !t"pán, Gos Micklem

Systems Biology Centre, University of Cambridge, Tennis Court Road, Cambridge CB2 1QR, UK

+44 1223 760262 [email protected]

intermine.org

Saturday, 14 July 2012