How AI, OpenAI, and ChatGPT impact business and software.
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
• ZfinMine (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
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 files 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