Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Â
A Kalderimis - InterMine: Embeddable datamining components
1. InterMine
Embeddable Data-Mining Widgets
Saturday, 14 July 2012
2. 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
3. You are here
User Scripts and Programs List Widgets Tables
Ruby Web-
Java Perl Python JS
Application
Web-Services
Internal API
Object Store
Saturday, 14 July 2012
4. Who runs InterMine?
InterMOD ⢠FlyMine (D.
melanogaster)
⢠YeastMine (S. cerevisiae) ⢠modMine
⢠RatMine (R. norvegicus) ⢠metabolicMine
⢠ZďŹnMine (D. rerio) ⢠TargetMine
⢠Wormbase (C. elegans) ⢠mitoMine
⢠MGI (M. musculus) Also: S. pombe, FlyBase,TAIR
Saturday, 14 July 2012
5. Prime strengths
⢠Flexibility
⢠Performance
Saturday, 14 July 2012
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 site
Saturday, 14 July 2012
7. Step 1
⢠Build web services platform and library
support
Saturday, 14 July 2012
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.name
Saturday, 14 July 2012
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. Step 2
⢠Build Tools on this Platform
Saturday, 14 July 2012
15. Danger, Danger!
⢠live demo here...
Saturday, 14 July 2012
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
18. One stop shop:
⢠All ďŹles served from cdn.intermine.org
âĄDependencies (jquery, backbone, bootstrap)
âĄim.js
âĄim-tables.js
âĄwidgets.js
Saturday, 14 July 2012
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.org
Saturday, 14 July 2012