GENOMICS APPLICATIONS PLATFORM Misha Kapushesky, CEO Wednesday, 10 April 13
Jun 14, 2015
GENOMICS APPLICATIONS PLATFORM
Misha Kapushesky, CEO
Wednesday, 10 April 13
OUR DREAM
universal platform for bioinformatics application
development
Wednesday, 10 April 13
WHAT’S A PLATFORM?Application Development Framework
• APIs & SDK
• Components
• Deployment
• Security Model
• Data Model
• Storage & Compute
. . .
Why do I need a platform?
Wednesday, 10 April 13
ALL THIS!le management
with strong metadatastorage and
compute engine
target multiple tools and languages
SDK with APIs &data model
data visualisation tools & librariespublic data sets
Wednesday, 10 April 13
OUR PLATFORM• SDK and APIs for developing computational and
interactive apps
• cloud-based virtual !le system for data storage and sharing
• format-independent object model for functional genomics data types
• free pre-loaded curated public datasets and integrated core NGS tools
Wednesday, 10 April 13
KEY FEATURES
• Files are (ОО) classes
• Everything is a "le
• A "le is > a "le
• Files are everywhere
• Files can be initialised
DATA MODEL
Wednesday, 10 April 13
DATA MANAGEMENT
• Simple model
• Flexible metadata
• Powerful search
• Built-in sharing
Wednesday, 10 April 13
ORGANISATIONSGROUPS & USERS
SECURITY MODEL
Wednesday, 10 April 13
ORGANISATIONSGROUPS & USERS
SECURITY MODEL
Wednesday, 10 April 13
ORGANISATIONSGROUPS & USERS
SECURITY MODEL
Wednesday, 10 April 13
ORGANISATIONSGROUPS & USERS
SECURITY MODEL
Wednesday, 10 April 13
GENOMICS APPSNGS QC
Aligners
Genome Browser
Wednesday, 10 April 13
GENOME BROWSER
• Never need to save
• Pages are "les
• Sticky notes and rulers
• Formula tracks
• Extensible
Wednesday, 10 April 13
WRITING AN APP• Computational: Python, R, binary
• Interactive: Java + Javascript
• Application versioning, test framework, OO model
public class SimpleApplication extends Application implements IFileApplication { @Override public boolean accepts(IFile ... files) { return files.length == 1 && files[0] instanceof ISequencingAssay; }
public List<SequenceRead> head(final String accession, final int n) { final ISequencingAssay assay = getFileSystemFacade().getFileByAccession(accession, ISequencingAssay.class, true); return assay.head(n); }} Java
Wednesday, 10 April 13
ROLL YOUR OWN
function head(n) {G$.invokeMethod('head', [G$.accession, n], function(reads) { $.each(reads, function(i, read) { var readDiv = $('<div class="well"/>');
var spark = $('<div/>'); $('#display').append(readDiv); readDiv.append('<pre>' + read.sequences[0].sequence + '</pre>'); readDiv.prepend(spark); var q = phredToNumeric(read.sequences[0].quality); spark.sparkline(q, {type: 'line', width: '500px', height: '2em'}); }); });} Javascript
Wednesday, 10 April 13
ROLL YOUR OWN
function head(n) {G$.invokeMethod('head', [G$.accession, n], function(reads) { $.each(reads, function(i, read) { var readDiv = $('<div class="well"/>');
var spark = $('<div/>'); $('#display').append(readDiv); readDiv.append('<pre>' + read.sequences[0].sequence + '</pre>'); readDiv.prepend(spark); var q = phredToNumeric(read.sequences[0].quality); spark.sparkline(q, {type: 'line', width: '500px', height: '2em'}); }); });} Javascript
Wednesday, 10 April 13
ROLL YOUR OWN
function head(n) {G$.invokeMethod('head', [G$.accession, n], function(reads) { $.each(reads, function(i, read) { var readDiv = $('<div class="well"/>');
var spark = $('<div/>'); $('#display').append(readDiv); readDiv.append('<pre>' + read.sequences[0].sequence + '</pre>'); readDiv.prepend(spark); var q = phredToNumeric(read.sequences[0].quality); spark.sparkline(q, {type: 'line', width: '500px', height: '2em'}); }); });} Javascript
Wednesday, 10 April 13
MORE ON APPS• Quick resource allocation and scheduling
• Format conversion on demand
• Isolated deployment infrastructure
• Secure app delivery to end-user
• Detailed event logging
• Every method in your app is an API endpoint
• Love and support from Genestack team
Wednesday, 10 April 13
PUBLIC DATA
Different technologies, different contexts, aim for correct minimal metadata and full data
• Expression – RNA-seq & Arrays
• Genotypes – WGS, Exome, SNP Chips
• Epigenetics – ChIP-seq, ChIP-chip, etc.
• Microbial genomes
• 1000 Genomes, ENCODE, GEUVADIS
Wednesday, 10 April 13
GETTING STARTED
• Genestack Platform Alpha is out today
• Completely free for alpha users, discounted rates for early adopters
• Full platform user access
• Developer access coming soon
https://alpha.genestack.com
Wednesday, 10 April 13
LOADING DATA
• Data transfer APIs and app
• Import from disk (shipped)
• Direct link to the cloud
Wednesday, 10 April 13
OUR MODELCreate as many accounts as you want
Pay for storage and CPU credits: !xed or PAYGAll public datasets are completely free
Wednesday, 10 April 13
WHERE DO I START?
Sign up now to test the platform Genestack Platform Alpha
alpha.genestack.com
Follow us: @genestackltd, genestack.com/blog
Wednesday, 10 April 13