SlideShare una empresa de Scribd logo
1 de 45
Arabidopsis Information Portal: A 
new approach to data sharing and 
araport.org 
cooperative development 
Matt Vaughn 
Director, Life Sciences Computing 
Texas Advanced Computing Center
araport.org 
SAVE THE DATE 
• First AIP Developer Workshop 
• Nov 5-6, 2014 in Austin, TX @ 
Texas Advanced Computing Center 
• Come learn and do with the AIP 
team 
– Interactive Science Apps development 
– Data API development 
– General hacking and good times 
• Email araport@jcvi.org if interested
araport.org 
Overview 
• Rationale for the AIP 
• Strategic objectives 
• Science Apps Architecture 
• Data API Architecture 
• How you can participate
araport.org 
The Rationale for AIP 
• Loss of TAIR as a publicly funded shared 
resource for data mining and basic 
bioinformatics 
• Centralization as a key contributing factor 
– Loading of new data into database 
– Development of new user experience 
– Curation and annotation 
– Community support mission 
• AIP is designed to be de-centralized
araport.org 
IAIC Workshop Design
araport.org 
AIP Proposed Architecture
araport.org 
The AIP Strategy (1) 
• Objectives 
– Develop a community web resource 
• Sustainably fundable and community-extensible 
• Hosts diverse analysis & visualization tools + user data spaces 
– Support Federation to integrate diverse data sets from 
distributed data sources 
– Maintain the Col-0 gold standard annotation 
• Methods 
– Assimilate TAIR10 data 
– Host an Arabidopsis InterMine 
– Develop a strategy to allow federation 
– Offer and consume well-designed RESTful web services 
– Interoperate with iPlant (and other projects) wherever 
possible
araport.org 
The AIP Strategy (2) 
• Key Design Decisions 
– Centralized (but powerful) data warehousing capability PLUS 
infrastructure enabling data federation 
– Jbrowse as a genome browser platform 
– WebApollo + Tripal for community annotation 
– App store model for graphical data interfaces (complete with 3rd 
party developer path) 
– Data store model for data sources 
– Accessible languages and frameworks 
– Secure & modern single-sign on 
– Web service access to Arabidopsis data for powerful 
bioinformatics 
– Geo-replication and high availability 
– Code re-use from other projects wherever possible 
– Full code release in real time via GitHub
araport.org 
Araport Bill of Materials 
• AIP is currently built using 
– InterMine* 
– Jbrowse 1.11.3* 
– Drupal 7.25* 
• Developer-oriented content management system 
– Angular.js, Bootstrap.js and other web toolkits 
– Agave Software as a Service platform 
• Developed by the iPlant Collaborative 
• Bulk data, metadata, authentication, HPC app & job 
management, notifications & events, and more 
• OAuth2 single-sign-on 
– Internally-developed API manager 
*With extensive customization
araport.org 
Araport Architecture 
CLI clients, 
Scripts, 3rd party 
applications 
Agave Enterprise Service Bus 
Agave Services 
systems apps 
jobs 
Physical 
resources 
profile 
meta 
files 
HPC | Files | DB 
ADAMA 
enroll 
manage 
a b c d e f 
AIP & 3rd party data 
providers 
• Single-sign on 
• Throttling 
• Unified logging 
• API versioning 
• Automatic 
HTTPS 
API Mediators 
• Simple proxy 
• Mediator 
• Aggregator 
• Filter 
REST-like 
REST* 
SOAP 
POX 
Cambrian CGI
araport.org 
What is a Science App? 
– Written in HTML/CSS/Javascript 
• Uses standard frameworks 
– Presented via web browser 
• Query or Analyze, Present, Persist 
– Developed by AIP and the community 
• Deployed in AIP “app store” 
• Choose which ones you want installed in your Araport 
“dashboard” 
– Uses AIP Data Architecture 
• Data services: Local and remote query/retrieval 
• Data integration and aggregation services 
• Computation services
How are Science Apps Developed? 
• Objective: 3rd party developers can create 
a fully functional Araport science app on 
their local dev machine, then make it 
available for all Araport users 
• We make use of Node.js, Yeoman, Grunt 
to begin accomplishing this 
araport.org
Setting an a Science App Skeleton 
araport.org 
$ mkdir icar_test_app 
$ cd icar_test_app 
$ npm install generator-aip-science-app 
$ yo aip-science-app 
$ grunt 
1. Develop locally 
2. Iterate, test, refine 
3. Package up with “grunt dist” 
and sent to Araport team for 
hosting. 
Media and script dependencies 
are either provided by AIP 
directly (common ones) or 
bundled up in your package.
araport.org 
IntAct Viewer 
https://github.com/Arabidopsis-Information-Portal/InteractionScienceApp 
• Clone from git 
repo 
• Launch 
locally 
• Dig around 
internals and 
learn how it 
works 
• Make 
improvements 
• Submit them 
back to us
ADAMA: Araport DAta Mediator API 
Objectives: Facile development by 
end users; simple, secure 
deployment to AIP systems; 
reasonable performance 
• Docker.io for packaging 
• Ultra-portable dev 
environment 
• Wide language 
araport.org 
support 
• Python, 
Javascript, Lua, 
Java 
• Implicit security 
model 
• Scales horizontally 
for performance 
• Data API is package of 
metadata + a Docker file 
registered with a central 
arbiter service 
• Also used for services 
written natively for AIP 
AGAVE 
API MANAGER 
https://github.com/waltermoreira/apim
Data API Design Details (1) 
• 100% RESTful services 
• Queries are JSON objects (conforming to 
a JSON schema) 
• Providers REGISTER their services with 
Araport 
• Science Apps access the services using 
Araport as a proxy 
• Solves Cross-domain scripting issues that 
complicate web app development 
araport.org
Data API Design Details (2) 
• To enroll a new 3rd party data service in 
API Manager 
– Specify the mapping between AIP’s query 
fields and your service’s fields 
– Map common query terms to minimal 
controlled vocabulary 
– Describe all service-specific parameters 
– Describe the outputs of your data service 
using some standard language 
araport.org
araport.org 
Data API Details (3) 
When simple field:field mapping isn’t enough: 
• Code-based transformations can be specified 
via 
– Python 
– Java 
– Ruby 
– Javascript 
• This code runs on Araport API servers – no 
need for you to host additional services to 
work with us!
araport.org 
Data API Details (4) 
• Results returned in a standard JSON 
format* 
– status, message, result 
• Result is an array of JSON objects 
• These objects conform to specific JSON 
schemas 
– drafts on AIP GitHub soon for comment *Unless there’s an operational reason not to
araport.org 
Data API Details (5) 
• Data APIs will implement extra utility 
functions 
– Count: How many records found? 
– Pagination: Return only subsets 
– Help: Return a usage page 
– Convert: JSON (native), XML, CSV, etc. 
• Result: 3rd party Arabidopsis data APIs are 
centrally discoverable and usable
araport.org 
Araport Data API Store
araport.org 
Araport Data API Store 
curl -X GET -k -v -L -b cookies 
https://api.araport.org/store/site/blocks/api/listing/ajax/list.jag?action=getAllPublishe 
dAPIs 
{ 
"apis": [ 
{"name":"InteractionBrowser", 
"provider":"vaughn", 
"version":"pr2-0.1", 
"context":"/data/BioAnalyticResource/interactionBrowser", 
"status":"Deployed", 
"thumbnailurl":"images/api-default.png", 
"visibility":null, 
"visibleRoles":null, 
"description":"InteractionBrowser", 
"apiOwner":"vaughn", 
"isAdvertiseOnly":false},
araport.org 
ADAMA Quickstart 
Objective: 3rd party developers can create a fully functional 
Araport web service on their local dev machine, then make it 
available it as a production service for all Araport users. 
• Docs: 
http://rawgit.com/waltermoreira/apim/master/docs/index.html 
• Runnable ADAMA VM (for local development): ETA end of 
August 2014 
• Develop service adapters right in an iPython notebook! 
• We’re ready to start having developers kick the tires on Data 
API development – shoot us an email
araport.org 
Summary 
• Next-generation MOD allowing community 
participation in its development 
• Powerful interactive query and analysis 
functions available today 
• Developing a data federation model 
• New data sets and functions coming at a 
quick pace 
• Be on the lookout for participation 
opportunities
araport.org 
SAVE THE DATE 
• First AIP Developer Workshop 
• Nov 5-6, 2014 in Austin, TX @ 
Texas Advanced Computing Center 
• Come learn and do with the AIP 
team 
– Interactive Science Apps development 
– Data API development 
– General hacking and good times 
• Email araport@jcvi.org if interested
Chris Nelson 
Project 
Manager 
araport.org 
Chris Town, PI 
Lisa McDonald 
Education and 
Outreach 
Coordinator 
Jason Miller, Co-PI 
JCVI Technical Lead 
Vivek Krishnakumar 
Bioinf. Engineer 
Erik Ferlanti 
Software Engineer 
Svetlana Karamycheva 
Bioinf Engineer 
Gos Micklem, co-PI Sergio Contrino 
Eva Huala 
Project lead, TAIR 
Software Engineer 
Bob Muller 
Technical lead, TAIR 
Matt Vaughn 
co-PI 
Steve Mock 
Portal Engineer 
Rion Dooley, 
API Engineer 
Matt Hanlon, 
Portal Engineer 
Maria Kim 
Bioinf Engineer 
Ben Rosen 
Bioinf 
Analyst 
Joe Stubbs, 
API 
Engineer 
Walter Moreira, 
API Engineer
araport.org 
Questions? 
vaughn@tacc.utexas.edu 
cdtown@jcvi.org
araport.org
araport.org 
Araport architecture (2) 
Consumer Applications 
Secure, rationalized REST services 
API Manager + Enterprise Service Bus 
Simple 
Proxy 
ThaleMine, Data 
integration, other 
services 
Cache 
XML-to- 
JSON 
SOAP-to- 
REST 
Throttle 
CGI-to- 
REST 
Legacy 
API A 
Legacy 
API B 
Simple 
Proxy 
REST 
API C 
• Single-sign on 
• Throttling 
• Unified 
logging 
• API versioning 
• Mediation and 
translation 
• Dev-friendly 
interfaces 
• Rationalized 
REST for 
consumer 
apps 
Mediators
araport.org 
Science Objectives 
• Make more, varied data available to the 
Arabidopsis (and other) communities 
within a unified user experience 
• Enhance the innate value of data by 
offering enhanced search, retrieval, and 
display capabilities 
• Facilitate analysis of user data 
• Enable community participation in 
functional annotation
araport.org 
Technical Objectives 
• Deploy a responsive, flexible community-extensible 
system 
• Provide APIs everywhere! 
• Promote and facilitate data integration 
• Enable language- and region-specific 
presentation of scientific content 
• Meet mobile computing on its own terms
araport.org 
Local vs. Data-driven Apps 
Photoshop Express KAYAK Pro 
Resources are local and 
inherently offline. Operating 
on local data using local 
computing. 
Resources are cloud-based and 
inherently online. Multiple data 
streams integrated, queried, 
presented in context of broader 
objective.
araport.org 
Araport Bill of Materials 
• Araport is currently built using 
– Drupal 7.25 
• Developer-oriented content management system 
– Bootstrap.js and some other Javascript toolkits 
– InterMine (with modifications) 
– Bioinformatics infrastructure + misc. other bits 
– Agave 2.0 Software as a Service platform 
• Developed by iPlant Collaborative project 
• Bulk data, metadata, authentication, HPC app and job 
management, notifications & events, and more 
• OAuth2 out of the box 
• Enterprise service bus (ESB) architecture 
• http://agaveapi.co/
Araport APIM Architecture (1) 
SNP by Locus REST Indel by Position REST Enroll Manage 
araport.org 
Agave wso2 interface 
Cache (Technology TBD) 
Listen Respond 
CSV 
Form 
POLYMORPH CGI 
Listen Respond 
Input Key 
Map 
Output 
Key Map 
Input 
Transform 
Output 
Transform 
Send Listen 
Input Key 
Map 
Output 
Key Map 
Input 
Transform 
Output 
Transform 
Send Listen 
Araport API 
Manager 
JSON Query JSON Response 
ElasticSearch 
Remote Services
Araport Architecture: Use Cases (1) 
araport.org 
• 1001 Genomes POLYMORPH tools 
– Provides variation data via locus or positional 
search 
– Total of seven variant types available for search 
– Search parameterization depends a lot on variant 
type 
– Example of a plain-text CGI service 
– Returns results as CSV with named columns 
• Objective: Transform into a RESTful API that 
expects and returns rationalized JSON 
http://polymorph.weigelworld.org
Araport Architecture: Use Cases (2) 
araport.org 
• ThaleMine 
– Has native REST interface for general queries 
– Has templates which can form basis of specific 
services 
• Objective: Offer both Intermine-native and 
AIP-conformant interfaces as Data APIs 
• Current path 
– Enroll native services in our APIM 
– Develop template-based AIP-conformant services 
http://polymorph.weigelworld.org
araport.org 
Data APIs: Getting Started 
Service Queries Notes 
BAR eFP Locus 
BAR Expressologs Locus 
BAR Interactions Locus 
COGe Position Special case – output transform only 
NASC $SERVICE Locus 
SOAP based but may be offline 
permanently 
OrthologFinder Locus Based on a Thalemine template 
POLYMORPH Locus, Position Actually seven CGI services 
SUBA3 Locus 
Compiling example queries, parameter mapping and description, and ideal 
results for use in implementing the system
araport.org 
Developing a Data API 
• In order, we prefer that you have ready 
• Well-documented REST 
• Moderately well-documented REST 
• SOAP services (plus WSDL or WADL) 
• Plain Old XML 
• Plaintext CGI 
• HTML CGI 
• No web services at all 
• Work with us to enroll your services as a data 
source. This will involve a minor amount of 
coding.
Computational App Model (1) 
Host OS 
Host file 
systems 
araport.org 
Docker.io 
Centos 
6.4 
custom-repo 
Container 
/scratch 
/database 
REST API x JSON objects 
Agave apps, data, jobs 
sftp 
Host FS (250 GB) 
TACC Corral (PB+)
araport.org 
Science Apps: Grid View 
• Current Scheme 
• 2-3 column view w 
draggable apps 
• Apps are normal, full-size, 
or collapsed 
• Single app screen 
• Later in 2014 
• N x X grid scheme 
implementing resizable 
app “tiles” like one sees 
in Android or Win8.x 
• App SDK libraries will 
have “help” for enabling 
resizable design 
• Multiple app screens
araport.org 
Data API Details (2) 
• For service-specific parameters 
– Provide human-readable names mapped to original 
parameter names 
– Offer minimal descriptive text 
– Specify validation 
• Cardinality 
• Pattern validator (regex) 
• Type (number, string, etc.) 
– Indicate whether required 
– Indicate whether they should be visible in a UI 
– Specify reasonable default values 
• Seems familiar? 
– This approach is used to to abstract command line apps 
– Allows automatic generation of minimally functional UI
Data APIs: Response types (1) 
araport.org 
• locus_relationship – pairwise 
relationship between A and B 
– Directionality 
– Type 
– Array of scores (weights, etc.) 
• sequence_feature – positional attribute 
– Extension of GFF model plus 
– Build 
– Attributes array
Data APIs: Response types (2) 
araport.org 
• locus_feature – key-value attributes per locus 
– Optional controlled vocabulary* for keys 
– Support for both slots and arrays 
• raw – for returning images or other binary formats 
– Source and other metadata carried in X-headers instead of 
JSON result 
– Outbound transformation still supported 
– Not a preferred response mode 
• text – returning either native service response or a 
non-conformant JSON document 
– Source and other metadata carried in X-headers instead of 
JSON result 
– Not a preferred response mode
araport.org 
Data API Details (6) 
• Transparent caching will compensate for 
transient remote service failures 
• Automatic indexing of certain response 
types via ElasticSearch, allowing for 
sophisticated global search 
– ElasticSearch allows us to index everything 
we “know about” and return it quickly 
– iPlant uses it to live-index >700 TB user data
araport.org 
Developing an app 
• Understand and document the user stories you’re 
addressing with your app 
• Identify all requisite data sources AND 
• Help us prepare them as Data APIs 
– This may involve coding 
• Understand the data integration or aggregation needs 
of your app 
– This may involve coding 
• Develop the user interface(s) for your app using our 
tool kits and suggested practices 
– This will involve coding. 
– But you will learn tools like jQuery, Bootstrap, & D3 and will 
thus be eminently employable!

Más contenido relacionado

La actualidad más candente

H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R MeetupJo-fai Chow
 
Getting Ready to Use Redis with Apache Spark with Tague Griffith
Getting Ready to Use Redis with Apache Spark with Tague GriffithGetting Ready to Use Redis with Apache Spark with Tague Griffith
Getting Ready to Use Redis with Apache Spark with Tague GriffithDatabricks
 
Intro to H2O in Python - Data Science LA
Intro to H2O in Python - Data Science LAIntro to H2O in Python - Data Science LA
Intro to H2O in Python - Data Science LASri Ambati
 
Building a Big Data Pipeline
Building a Big Data PipelineBuilding a Big Data Pipeline
Building a Big Data PipelineJesus Rodriguez
 
Enterprise Metadata Integration
Enterprise Metadata IntegrationEnterprise Metadata Integration
Enterprise Metadata IntegrationDr. Mirko Kämpf
 
Introduction to Apache NiFi dws19 DWS - DC 2019
Introduction to Apache NiFi   dws19 DWS - DC 2019Introduction to Apache NiFi   dws19 DWS - DC 2019
Introduction to Apache NiFi dws19 DWS - DC 2019Timothy Spann
 
Strata EU 2014: Spark Streaming Case Studies
Strata EU 2014: Spark Streaming Case StudiesStrata EU 2014: Spark Streaming Case Studies
Strata EU 2014: Spark Streaming Case StudiesPaco Nathan
 
Scalable Machine Learning in R and Python with H2O
Scalable Machine Learning in R and Python with H2OScalable Machine Learning in R and Python with H2O
Scalable Machine Learning in R and Python with H2OSri Ambati
 
What the #$* is a Business Catalog and why you need it
What the #$* is a Business Catalog and why you need it What the #$* is a Business Catalog and why you need it
What the #$* is a Business Catalog and why you need it DataWorks Summit/Hadoop Summit
 
10 Big Data Technologies you Didn't Know About
10 Big Data Technologies you Didn't Know About 10 Big Data Technologies you Didn't Know About
10 Big Data Technologies you Didn't Know About Jesus Rodriguez
 
Building Audi’s enterprise big data platform
Building Audi’s enterprise big data platformBuilding Audi’s enterprise big data platform
Building Audi’s enterprise big data platformDataWorks Summit
 
Breathing New Life into Apache Oozie with Apache Ambari Workflow Manager
Breathing New Life into Apache Oozie with Apache Ambari Workflow ManagerBreathing New Life into Apache Oozie with Apache Ambari Workflow Manager
Breathing New Life into Apache Oozie with Apache Ambari Workflow ManagerDataWorks Summit
 
Apache Metron in the Real World
Apache Metron in the Real WorldApache Metron in the Real World
Apache Metron in the Real WorldDataWorks Summit
 
Fundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureFundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureGuido Schmutz
 
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to HadoopSuccesses, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to HadoopDataWorks Summit/Hadoop Summit
 
MIT lecture - Socrata Open Data Architecture
MIT lecture - Socrata Open Data ArchitectureMIT lecture - Socrata Open Data Architecture
MIT lecture - Socrata Open Data ArchitectureEvan Chan
 
Lambda architecture for real time big data
Lambda architecture for real time big dataLambda architecture for real time big data
Lambda architecture for real time big dataTrieu Nguyen
 
Apache NiFi: Ingesting Enterprise Data At Scale
Apache NiFi:   Ingesting Enterprise Data At Scale Apache NiFi:   Ingesting Enterprise Data At Scale
Apache NiFi: Ingesting Enterprise Data At Scale Timothy Spann
 
Machine Learning Trends of 2018 combined with the Apache Kafka Ecosystem
Machine Learning Trends of 2018 combined with the Apache Kafka EcosystemMachine Learning Trends of 2018 combined with the Apache Kafka Ecosystem
Machine Learning Trends of 2018 combined with the Apache Kafka EcosystemKai Wähner
 

La actualidad más candente (20)

H2O at Berlin R Meetup
H2O at Berlin R MeetupH2O at Berlin R Meetup
H2O at Berlin R Meetup
 
Getting Ready to Use Redis with Apache Spark with Tague Griffith
Getting Ready to Use Redis with Apache Spark with Tague GriffithGetting Ready to Use Redis with Apache Spark with Tague Griffith
Getting Ready to Use Redis with Apache Spark with Tague Griffith
 
Intro to H2O in Python - Data Science LA
Intro to H2O in Python - Data Science LAIntro to H2O in Python - Data Science LA
Intro to H2O in Python - Data Science LA
 
Building a Big Data Pipeline
Building a Big Data PipelineBuilding a Big Data Pipeline
Building a Big Data Pipeline
 
Enterprise Metadata Integration
Enterprise Metadata IntegrationEnterprise Metadata Integration
Enterprise Metadata Integration
 
Introduction to Apache NiFi dws19 DWS - DC 2019
Introduction to Apache NiFi   dws19 DWS - DC 2019Introduction to Apache NiFi   dws19 DWS - DC 2019
Introduction to Apache NiFi dws19 DWS - DC 2019
 
Strata EU 2014: Spark Streaming Case Studies
Strata EU 2014: Spark Streaming Case StudiesStrata EU 2014: Spark Streaming Case Studies
Strata EU 2014: Spark Streaming Case Studies
 
Scalable Machine Learning in R and Python with H2O
Scalable Machine Learning in R and Python with H2OScalable Machine Learning in R and Python with H2O
Scalable Machine Learning in R and Python with H2O
 
What the #$* is a Business Catalog and why you need it
What the #$* is a Business Catalog and why you need it What the #$* is a Business Catalog and why you need it
What the #$* is a Business Catalog and why you need it
 
10 Big Data Technologies you Didn't Know About
10 Big Data Technologies you Didn't Know About 10 Big Data Technologies you Didn't Know About
10 Big Data Technologies you Didn't Know About
 
Building Audi’s enterprise big data platform
Building Audi’s enterprise big data platformBuilding Audi’s enterprise big data platform
Building Audi’s enterprise big data platform
 
Securing Hadoop in an Enterprise Context
Securing Hadoop in an Enterprise ContextSecuring Hadoop in an Enterprise Context
Securing Hadoop in an Enterprise Context
 
Breathing New Life into Apache Oozie with Apache Ambari Workflow Manager
Breathing New Life into Apache Oozie with Apache Ambari Workflow ManagerBreathing New Life into Apache Oozie with Apache Ambari Workflow Manager
Breathing New Life into Apache Oozie with Apache Ambari Workflow Manager
 
Apache Metron in the Real World
Apache Metron in the Real WorldApache Metron in the Real World
Apache Metron in the Real World
 
Fundamentals Big Data and AI Architecture
Fundamentals Big Data and AI ArchitectureFundamentals Big Data and AI Architecture
Fundamentals Big Data and AI Architecture
 
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to HadoopSuccesses, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
 
MIT lecture - Socrata Open Data Architecture
MIT lecture - Socrata Open Data ArchitectureMIT lecture - Socrata Open Data Architecture
MIT lecture - Socrata Open Data Architecture
 
Lambda architecture for real time big data
Lambda architecture for real time big dataLambda architecture for real time big data
Lambda architecture for real time big data
 
Apache NiFi: Ingesting Enterprise Data At Scale
Apache NiFi:   Ingesting Enterprise Data At Scale Apache NiFi:   Ingesting Enterprise Data At Scale
Apache NiFi: Ingesting Enterprise Data At Scale
 
Machine Learning Trends of 2018 combined with the Apache Kafka Ecosystem
Machine Learning Trends of 2018 combined with the Apache Kafka EcosystemMachine Learning Trends of 2018 combined with the Apache Kafka Ecosystem
Machine Learning Trends of 2018 combined with the Apache Kafka Ecosystem
 

Similar a aip_developer_overview_icar_2014

Developing Apps: Exposing Your Data Through Araport
Developing Apps: Exposing Your Data Through AraportDeveloping Apps: Exposing Your Data Through Araport
Developing Apps: Exposing Your Data Through AraportMatthew Vaughn
 
ICAR 2015 Workshop - Matt Vaughn
ICAR 2015 Workshop - Matt VaughnICAR 2015 Workshop - Matt Vaughn
ICAR 2015 Workshop - Matt VaughnAraport
 
Vaughn aip walkthru_pag2015
Vaughn aip walkthru_pag2015Vaughn aip walkthru_pag2015
Vaughn aip walkthru_pag2015Araport
 
aip-developer-intro_pag2015
aip-developer-intro_pag2015aip-developer-intro_pag2015
aip-developer-intro_pag2015Matthew Vaughn
 
Module development
Module development Module development
Module development Araport
 
Apache Arrow at DataEngConf Barcelona 2018
Apache Arrow at DataEngConf Barcelona 2018Apache Arrow at DataEngConf Barcelona 2018
Apache Arrow at DataEngConf Barcelona 2018Wes McKinney
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursRestlet
 
U.S. Census presentation at DC API Meetup 12/13/12 by Alec Permison
U.S. Census presentation at DC API Meetup 12/13/12 by Alec PermisonU.S. Census presentation at DC API Meetup 12/13/12 by Alec Permison
U.S. Census presentation at DC API Meetup 12/13/12 by Alec PermisonDC Web API User Group
 
Data saturday malta - ADX Azure Data Explorer overview
Data saturday malta - ADX Azure Data Explorer overviewData saturday malta - ADX Azure Data Explorer overview
Data saturday malta - ADX Azure Data Explorer overviewRiccardo Zamana
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionJasonRafeMiller
 
Apache Arrow: Cross-language Development Platform for In-memory Data
Apache Arrow: Cross-language Development Platform for In-memory DataApache Arrow: Cross-language Development Platform for In-memory Data
Apache Arrow: Cross-language Development Platform for In-memory DataWes McKinney
 
I Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer SessionsI Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer SessionsApigee | Google Cloud
 
Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and FutureKeiichiro Ono
 
MongoDB .local Houston 2019: Building an IoT Streaming Analytics Platform to ...
MongoDB .local Houston 2019: Building an IoT Streaming Analytics Platform to ...MongoDB .local Houston 2019: Building an IoT Streaming Analytics Platform to ...
MongoDB .local Houston 2019: Building an IoT Streaming Analytics Platform to ...MongoDB
 
Architecting an Open Source AI Platform 2018 edition
Architecting an Open Source AI Platform   2018 editionArchitecting an Open Source AI Platform   2018 edition
Architecting an Open Source AI Platform 2018 editionDavid Talby
 
Intro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSIntro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSSri Ambati
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application StrategiesBIOVIA
 
A high profile project with Symfony and API Platform: beIN SPORTS
A high profile project with Symfony and API Platform: beIN SPORTSA high profile project with Symfony and API Platform: beIN SPORTS
A high profile project with Symfony and API Platform: beIN SPORTSSmile I.T is open
 

Similar a aip_developer_overview_icar_2014 (20)

Developing Apps: Exposing Your Data Through Araport
Developing Apps: Exposing Your Data Through AraportDeveloping Apps: Exposing Your Data Through Araport
Developing Apps: Exposing Your Data Through Araport
 
ICAR 2015 Workshop - Matt Vaughn
ICAR 2015 Workshop - Matt VaughnICAR 2015 Workshop - Matt Vaughn
ICAR 2015 Workshop - Matt Vaughn
 
Vaughn aip walkthru_pag2015
Vaughn aip walkthru_pag2015Vaughn aip walkthru_pag2015
Vaughn aip walkthru_pag2015
 
aip-developer-intro_pag2015
aip-developer-intro_pag2015aip-developer-intro_pag2015
aip-developer-intro_pag2015
 
Module development
Module development Module development
Module development
 
Apache Arrow at DataEngConf Barcelona 2018
Apache Arrow at DataEngConf Barcelona 2018Apache Arrow at DataEngConf Barcelona 2018
Apache Arrow at DataEngConf Barcelona 2018
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
U.S. Census presentation at DC API Meetup 12/13/12 by Alec Permison
U.S. Census presentation at DC API Meetup 12/13/12 by Alec PermisonU.S. Census presentation at DC API Meetup 12/13/12 by Alec Permison
U.S. Census presentation at DC API Meetup 12/13/12 by Alec Permison
 
Data saturday malta - ADX Azure Data Explorer overview
Data saturday malta - ADX Azure Data Explorer overviewData saturday malta - ADX Azure Data Explorer overview
Data saturday malta - ADX Azure Data Explorer overview
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
 
Apache Arrow: Cross-language Development Platform for In-memory Data
Apache Arrow: Cross-language Development Platform for In-memory DataApache Arrow: Cross-language Development Platform for In-memory Data
Apache Arrow: Cross-language Development Platform for In-memory Data
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
I Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer SessionsI Love APIs Europe 2015: Developer Sessions
I Love APIs Europe 2015: Developer Sessions
 
Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and Future
 
MongoDB .local Houston 2019: Building an IoT Streaming Analytics Platform to ...
MongoDB .local Houston 2019: Building an IoT Streaming Analytics Platform to ...MongoDB .local Houston 2019: Building an IoT Streaming Analytics Platform to ...
MongoDB .local Houston 2019: Building an IoT Streaming Analytics Platform to ...
 
Architecting an Open Source AI Platform 2018 edition
Architecting an Open Source AI Platform   2018 editionArchitecting an Open Source AI Platform   2018 edition
Architecting an Open Source AI Platform 2018 edition
 
Intro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSIntro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWS
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
AnilKumarT_Resume_latest
AnilKumarT_Resume_latestAnilKumarT_Resume_latest
AnilKumarT_Resume_latest
 
A high profile project with Symfony and API Platform: beIN SPORTS
A high profile project with Symfony and API Platform: beIN SPORTSA high profile project with Symfony and API Platform: beIN SPORTS
A high profile project with Symfony and API Platform: beIN SPORTS
 

Más de Matthew Vaughn

On-Demand Cloud Computing for Life Sciences Research and Education
On-Demand Cloud Computing for Life Sciences Research and EducationOn-Demand Cloud Computing for Life Sciences Research and Education
On-Demand Cloud Computing for Life Sciences Research and EducationMatthew Vaughn
 
Towards a (united) federation of Bioinformatics resources
Towards a (united) federation of Bioinformatics resourcesTowards a (united) federation of Bioinformatics resources
Towards a (united) federation of Bioinformatics resourcesMatthew Vaughn
 
CYVERSE: TRANSFORMING LIFE SCIENCE RESEARCH VIA CYBERINFRASTRUCTURE
CYVERSE: TRANSFORMING LIFE SCIENCE RESEARCH VIA CYBERINFRASTRUCTURECYVERSE: TRANSFORMING LIFE SCIENCE RESEARCH VIA CYBERINFRASTRUCTURE
CYVERSE: TRANSFORMING LIFE SCIENCE RESEARCH VIA CYBERINFRASTRUCTUREMatthew Vaughn
 
Jetstream: Accessible cloud computing for the national science and engineerin...
Jetstream: Accessible cloud computing for the national science and engineerin...Jetstream: Accessible cloud computing for the national science and engineerin...
Jetstream: Accessible cloud computing for the national science and engineerin...Matthew Vaughn
 
How Cyverse.org enables scalable data discoverability and re-use
How Cyverse.org enables scalable data discoverability and re-useHow Cyverse.org enables scalable data discoverability and re-use
How Cyverse.org enables scalable data discoverability and re-useMatthew Vaughn
 
Clouds, Clusters, and Containers: Tools for responsible, collaborative computing
Clouds, Clusters, and Containers: Tools for responsible, collaborative computingClouds, Clusters, and Containers: Tools for responsible, collaborative computing
Clouds, Clusters, and Containers: Tools for responsible, collaborative computingMatthew Vaughn
 
Packaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reusePackaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reuseMatthew Vaughn
 
Jetstream: Adding Cloud-based Computing to the National Cyberinfrastructure
Jetstream: Adding Cloud-based Computing to the National CyberinfrastructureJetstream: Adding Cloud-based Computing to the National Cyberinfrastructure
Jetstream: Adding Cloud-based Computing to the National CyberinfrastructureMatthew Vaughn
 
Scaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data ChallengesScaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data ChallengesMatthew Vaughn
 
Arabidopsis Information Portal: A Community-Extensible Platform for Open Data
Arabidopsis Information Portal: A Community-Extensible Platform for Open DataArabidopsis Information Portal: A Community-Extensible Platform for Open Data
Arabidopsis Information Portal: A Community-Extensible Platform for Open DataMatthew Vaughn
 
Dinosaur bioinformatics
Dinosaur bioinformaticsDinosaur bioinformatics
Dinosaur bioinformaticsMatthew Vaughn
 
iplant-highlights-pag2015
iplant-highlights-pag2015iplant-highlights-pag2015
iplant-highlights-pag2015Matthew Vaughn
 
aip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialaip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialMatthew Vaughn
 

Más de Matthew Vaughn (13)

On-Demand Cloud Computing for Life Sciences Research and Education
On-Demand Cloud Computing for Life Sciences Research and EducationOn-Demand Cloud Computing for Life Sciences Research and Education
On-Demand Cloud Computing for Life Sciences Research and Education
 
Towards a (united) federation of Bioinformatics resources
Towards a (united) federation of Bioinformatics resourcesTowards a (united) federation of Bioinformatics resources
Towards a (united) federation of Bioinformatics resources
 
CYVERSE: TRANSFORMING LIFE SCIENCE RESEARCH VIA CYBERINFRASTRUCTURE
CYVERSE: TRANSFORMING LIFE SCIENCE RESEARCH VIA CYBERINFRASTRUCTURECYVERSE: TRANSFORMING LIFE SCIENCE RESEARCH VIA CYBERINFRASTRUCTURE
CYVERSE: TRANSFORMING LIFE SCIENCE RESEARCH VIA CYBERINFRASTRUCTURE
 
Jetstream: Accessible cloud computing for the national science and engineerin...
Jetstream: Accessible cloud computing for the national science and engineerin...Jetstream: Accessible cloud computing for the national science and engineerin...
Jetstream: Accessible cloud computing for the national science and engineerin...
 
How Cyverse.org enables scalable data discoverability and re-use
How Cyverse.org enables scalable data discoverability and re-useHow Cyverse.org enables scalable data discoverability and re-use
How Cyverse.org enables scalable data discoverability and re-use
 
Clouds, Clusters, and Containers: Tools for responsible, collaborative computing
Clouds, Clusters, and Containers: Tools for responsible, collaborative computingClouds, Clusters, and Containers: Tools for responsible, collaborative computing
Clouds, Clusters, and Containers: Tools for responsible, collaborative computing
 
Packaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reusePackaging computational biology tools for broad distribution and ease-of-reuse
Packaging computational biology tools for broad distribution and ease-of-reuse
 
Jetstream: Adding Cloud-based Computing to the National Cyberinfrastructure
Jetstream: Adding Cloud-based Computing to the National CyberinfrastructureJetstream: Adding Cloud-based Computing to the National Cyberinfrastructure
Jetstream: Adding Cloud-based Computing to the National Cyberinfrastructure
 
Scaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data ChallengesScaling People, Not Just Systems, to Take On Big Data Challenges
Scaling People, Not Just Systems, to Take On Big Data Challenges
 
Arabidopsis Information Portal: A Community-Extensible Platform for Open Data
Arabidopsis Information Portal: A Community-Extensible Platform for Open DataArabidopsis Information Portal: A Community-Extensible Platform for Open Data
Arabidopsis Information Portal: A Community-Extensible Platform for Open Data
 
Dinosaur bioinformatics
Dinosaur bioinformaticsDinosaur bioinformatics
Dinosaur bioinformatics
 
iplant-highlights-pag2015
iplant-highlights-pag2015iplant-highlights-pag2015
iplant-highlights-pag2015
 
aip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialaip-workshop1-dev-tutorial
aip-workshop1-dev-tutorial
 

Último

Explainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosExplainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosZachary Labe
 
projectile motion, impulse and moment
projectile  motion, impulse  and  momentprojectile  motion, impulse  and  moment
projectile motion, impulse and momentdonamiaquintan2
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...D. B. S. College Kanpur
 
FBI Profiling - Forensic Psychology.pptx
FBI Profiling - Forensic Psychology.pptxFBI Profiling - Forensic Psychology.pptx
FBI Profiling - Forensic Psychology.pptxPayal Shrivastava
 
final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterHanHyoKim
 
WEEK 4 PHYSICAL SCIENCE QUARTER 3 FOR G11
WEEK 4 PHYSICAL SCIENCE QUARTER 3 FOR G11WEEK 4 PHYSICAL SCIENCE QUARTER 3 FOR G11
WEEK 4 PHYSICAL SCIENCE QUARTER 3 FOR G11GelineAvendao
 
Environmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxEnvironmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxpriyankatabhane
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPRPirithiRaju
 
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxGENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxRitchAndruAgustin
 
CHROMATOGRAPHY PALLAVI RAWAT.pptx
CHROMATOGRAPHY  PALLAVI RAWAT.pptxCHROMATOGRAPHY  PALLAVI RAWAT.pptx
CHROMATOGRAPHY PALLAVI RAWAT.pptxpallavirawat456
 
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDivyaK787011
 
Gas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGiovaniTrinidad
 
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...Christina Parmionova
 
Pests of Sunflower_Binomics_Identification_Dr.UPR
Pests of Sunflower_Binomics_Identification_Dr.UPRPests of Sunflower_Binomics_Identification_Dr.UPR
Pests of Sunflower_Binomics_Identification_Dr.UPRPirithiRaju
 
Abnormal LFTs rate of deco and NAFLD.pptx
Abnormal LFTs rate of deco and NAFLD.pptxAbnormal LFTs rate of deco and NAFLD.pptx
Abnormal LFTs rate of deco and NAFLD.pptxzeus70441
 
linear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annovalinear Regression, multiple Regression and Annova
linear Regression, multiple Regression and AnnovaMansi Rastogi
 
well logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxwell logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxzaydmeerab121
 
Loudspeaker- direct radiating type and horn type.pptx
Loudspeaker- direct radiating type and horn type.pptxLoudspeaker- direct radiating type and horn type.pptx
Loudspeaker- direct radiating type and horn type.pptxpriyankatabhane
 
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests GlycosidesGLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests GlycosidesNandakishor Bhaurao Deshmukh
 

Último (20)

Explainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenariosExplainable AI for distinguishing future climate change scenarios
Explainable AI for distinguishing future climate change scenarios
 
projectile motion, impulse and moment
projectile  motion, impulse  and  momentprojectile  motion, impulse  and  moment
projectile motion, impulse and moment
 
PLASMODIUM. PPTX
PLASMODIUM. PPTXPLASMODIUM. PPTX
PLASMODIUM. PPTX
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
 
FBI Profiling - Forensic Psychology.pptx
FBI Profiling - Forensic Psychology.pptxFBI Profiling - Forensic Psychology.pptx
FBI Profiling - Forensic Psychology.pptx
 
final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarter
 
WEEK 4 PHYSICAL SCIENCE QUARTER 3 FOR G11
WEEK 4 PHYSICAL SCIENCE QUARTER 3 FOR G11WEEK 4 PHYSICAL SCIENCE QUARTER 3 FOR G11
WEEK 4 PHYSICAL SCIENCE QUARTER 3 FOR G11
 
Environmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptxEnvironmental acoustics- noise criteria.pptx
Environmental acoustics- noise criteria.pptx
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
 
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxGENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
 
CHROMATOGRAPHY PALLAVI RAWAT.pptx
CHROMATOGRAPHY  PALLAVI RAWAT.pptxCHROMATOGRAPHY  PALLAVI RAWAT.pptx
CHROMATOGRAPHY PALLAVI RAWAT.pptx
 
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdfDECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
DECOMPOSITION PATHWAYS of TM-alkyl complexes.pdf
 
Gas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptx
 
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
Charateristics of the Angara-A5 spacecraft launched from the Vostochny Cosmod...
 
Pests of Sunflower_Binomics_Identification_Dr.UPR
Pests of Sunflower_Binomics_Identification_Dr.UPRPests of Sunflower_Binomics_Identification_Dr.UPR
Pests of Sunflower_Binomics_Identification_Dr.UPR
 
Abnormal LFTs rate of deco and NAFLD.pptx
Abnormal LFTs rate of deco and NAFLD.pptxAbnormal LFTs rate of deco and NAFLD.pptx
Abnormal LFTs rate of deco and NAFLD.pptx
 
linear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annovalinear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annova
 
well logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptxwell logging & petrophysical analysis.pptx
well logging & petrophysical analysis.pptx
 
Loudspeaker- direct radiating type and horn type.pptx
Loudspeaker- direct radiating type and horn type.pptxLoudspeaker- direct radiating type and horn type.pptx
Loudspeaker- direct radiating type and horn type.pptx
 
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests GlycosidesGLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
 

aip_developer_overview_icar_2014

  • 1. Arabidopsis Information Portal: A new approach to data sharing and araport.org cooperative development Matt Vaughn Director, Life Sciences Computing Texas Advanced Computing Center
  • 2. araport.org SAVE THE DATE • First AIP Developer Workshop • Nov 5-6, 2014 in Austin, TX @ Texas Advanced Computing Center • Come learn and do with the AIP team – Interactive Science Apps development – Data API development – General hacking and good times • Email araport@jcvi.org if interested
  • 3. araport.org Overview • Rationale for the AIP • Strategic objectives • Science Apps Architecture • Data API Architecture • How you can participate
  • 4. araport.org The Rationale for AIP • Loss of TAIR as a publicly funded shared resource for data mining and basic bioinformatics • Centralization as a key contributing factor – Loading of new data into database – Development of new user experience – Curation and annotation – Community support mission • AIP is designed to be de-centralized
  • 7. araport.org The AIP Strategy (1) • Objectives – Develop a community web resource • Sustainably fundable and community-extensible • Hosts diverse analysis & visualization tools + user data spaces – Support Federation to integrate diverse data sets from distributed data sources – Maintain the Col-0 gold standard annotation • Methods – Assimilate TAIR10 data – Host an Arabidopsis InterMine – Develop a strategy to allow federation – Offer and consume well-designed RESTful web services – Interoperate with iPlant (and other projects) wherever possible
  • 8. araport.org The AIP Strategy (2) • Key Design Decisions – Centralized (but powerful) data warehousing capability PLUS infrastructure enabling data federation – Jbrowse as a genome browser platform – WebApollo + Tripal for community annotation – App store model for graphical data interfaces (complete with 3rd party developer path) – Data store model for data sources – Accessible languages and frameworks – Secure & modern single-sign on – Web service access to Arabidopsis data for powerful bioinformatics – Geo-replication and high availability – Code re-use from other projects wherever possible – Full code release in real time via GitHub
  • 9. araport.org Araport Bill of Materials • AIP is currently built using – InterMine* – Jbrowse 1.11.3* – Drupal 7.25* • Developer-oriented content management system – Angular.js, Bootstrap.js and other web toolkits – Agave Software as a Service platform • Developed by the iPlant Collaborative • Bulk data, metadata, authentication, HPC app & job management, notifications & events, and more • OAuth2 single-sign-on – Internally-developed API manager *With extensive customization
  • 10. araport.org Araport Architecture CLI clients, Scripts, 3rd party applications Agave Enterprise Service Bus Agave Services systems apps jobs Physical resources profile meta files HPC | Files | DB ADAMA enroll manage a b c d e f AIP & 3rd party data providers • Single-sign on • Throttling • Unified logging • API versioning • Automatic HTTPS API Mediators • Simple proxy • Mediator • Aggregator • Filter REST-like REST* SOAP POX Cambrian CGI
  • 11. araport.org What is a Science App? – Written in HTML/CSS/Javascript • Uses standard frameworks – Presented via web browser • Query or Analyze, Present, Persist – Developed by AIP and the community • Deployed in AIP “app store” • Choose which ones you want installed in your Araport “dashboard” – Uses AIP Data Architecture • Data services: Local and remote query/retrieval • Data integration and aggregation services • Computation services
  • 12. How are Science Apps Developed? • Objective: 3rd party developers can create a fully functional Araport science app on their local dev machine, then make it available for all Araport users • We make use of Node.js, Yeoman, Grunt to begin accomplishing this araport.org
  • 13. Setting an a Science App Skeleton araport.org $ mkdir icar_test_app $ cd icar_test_app $ npm install generator-aip-science-app $ yo aip-science-app $ grunt 1. Develop locally 2. Iterate, test, refine 3. Package up with “grunt dist” and sent to Araport team for hosting. Media and script dependencies are either provided by AIP directly (common ones) or bundled up in your package.
  • 14. araport.org IntAct Viewer https://github.com/Arabidopsis-Information-Portal/InteractionScienceApp • Clone from git repo • Launch locally • Dig around internals and learn how it works • Make improvements • Submit them back to us
  • 15. ADAMA: Araport DAta Mediator API Objectives: Facile development by end users; simple, secure deployment to AIP systems; reasonable performance • Docker.io for packaging • Ultra-portable dev environment • Wide language araport.org support • Python, Javascript, Lua, Java • Implicit security model • Scales horizontally for performance • Data API is package of metadata + a Docker file registered with a central arbiter service • Also used for services written natively for AIP AGAVE API MANAGER https://github.com/waltermoreira/apim
  • 16. Data API Design Details (1) • 100% RESTful services • Queries are JSON objects (conforming to a JSON schema) • Providers REGISTER their services with Araport • Science Apps access the services using Araport as a proxy • Solves Cross-domain scripting issues that complicate web app development araport.org
  • 17. Data API Design Details (2) • To enroll a new 3rd party data service in API Manager – Specify the mapping between AIP’s query fields and your service’s fields – Map common query terms to minimal controlled vocabulary – Describe all service-specific parameters – Describe the outputs of your data service using some standard language araport.org
  • 18. araport.org Data API Details (3) When simple field:field mapping isn’t enough: • Code-based transformations can be specified via – Python – Java – Ruby – Javascript • This code runs on Araport API servers – no need for you to host additional services to work with us!
  • 19. araport.org Data API Details (4) • Results returned in a standard JSON format* – status, message, result • Result is an array of JSON objects • These objects conform to specific JSON schemas – drafts on AIP GitHub soon for comment *Unless there’s an operational reason not to
  • 20. araport.org Data API Details (5) • Data APIs will implement extra utility functions – Count: How many records found? – Pagination: Return only subsets – Help: Return a usage page – Convert: JSON (native), XML, CSV, etc. • Result: 3rd party Arabidopsis data APIs are centrally discoverable and usable
  • 22. araport.org Araport Data API Store curl -X GET -k -v -L -b cookies https://api.araport.org/store/site/blocks/api/listing/ajax/list.jag?action=getAllPublishe dAPIs { "apis": [ {"name":"InteractionBrowser", "provider":"vaughn", "version":"pr2-0.1", "context":"/data/BioAnalyticResource/interactionBrowser", "status":"Deployed", "thumbnailurl":"images/api-default.png", "visibility":null, "visibleRoles":null, "description":"InteractionBrowser", "apiOwner":"vaughn", "isAdvertiseOnly":false},
  • 23. araport.org ADAMA Quickstart Objective: 3rd party developers can create a fully functional Araport web service on their local dev machine, then make it available it as a production service for all Araport users. • Docs: http://rawgit.com/waltermoreira/apim/master/docs/index.html • Runnable ADAMA VM (for local development): ETA end of August 2014 • Develop service adapters right in an iPython notebook! • We’re ready to start having developers kick the tires on Data API development – shoot us an email
  • 24. araport.org Summary • Next-generation MOD allowing community participation in its development • Powerful interactive query and analysis functions available today • Developing a data federation model • New data sets and functions coming at a quick pace • Be on the lookout for participation opportunities
  • 25. araport.org SAVE THE DATE • First AIP Developer Workshop • Nov 5-6, 2014 in Austin, TX @ Texas Advanced Computing Center • Come learn and do with the AIP team – Interactive Science Apps development – Data API development – General hacking and good times • Email araport@jcvi.org if interested
  • 26. Chris Nelson Project Manager araport.org Chris Town, PI Lisa McDonald Education and Outreach Coordinator Jason Miller, Co-PI JCVI Technical Lead Vivek Krishnakumar Bioinf. Engineer Erik Ferlanti Software Engineer Svetlana Karamycheva Bioinf Engineer Gos Micklem, co-PI Sergio Contrino Eva Huala Project lead, TAIR Software Engineer Bob Muller Technical lead, TAIR Matt Vaughn co-PI Steve Mock Portal Engineer Rion Dooley, API Engineer Matt Hanlon, Portal Engineer Maria Kim Bioinf Engineer Ben Rosen Bioinf Analyst Joe Stubbs, API Engineer Walter Moreira, API Engineer
  • 29. araport.org Araport architecture (2) Consumer Applications Secure, rationalized REST services API Manager + Enterprise Service Bus Simple Proxy ThaleMine, Data integration, other services Cache XML-to- JSON SOAP-to- REST Throttle CGI-to- REST Legacy API A Legacy API B Simple Proxy REST API C • Single-sign on • Throttling • Unified logging • API versioning • Mediation and translation • Dev-friendly interfaces • Rationalized REST for consumer apps Mediators
  • 30. araport.org Science Objectives • Make more, varied data available to the Arabidopsis (and other) communities within a unified user experience • Enhance the innate value of data by offering enhanced search, retrieval, and display capabilities • Facilitate analysis of user data • Enable community participation in functional annotation
  • 31. araport.org Technical Objectives • Deploy a responsive, flexible community-extensible system • Provide APIs everywhere! • Promote and facilitate data integration • Enable language- and region-specific presentation of scientific content • Meet mobile computing on its own terms
  • 32. araport.org Local vs. Data-driven Apps Photoshop Express KAYAK Pro Resources are local and inherently offline. Operating on local data using local computing. Resources are cloud-based and inherently online. Multiple data streams integrated, queried, presented in context of broader objective.
  • 33. araport.org Araport Bill of Materials • Araport is currently built using – Drupal 7.25 • Developer-oriented content management system – Bootstrap.js and some other Javascript toolkits – InterMine (with modifications) – Bioinformatics infrastructure + misc. other bits – Agave 2.0 Software as a Service platform • Developed by iPlant Collaborative project • Bulk data, metadata, authentication, HPC app and job management, notifications & events, and more • OAuth2 out of the box • Enterprise service bus (ESB) architecture • http://agaveapi.co/
  • 34. Araport APIM Architecture (1) SNP by Locus REST Indel by Position REST Enroll Manage araport.org Agave wso2 interface Cache (Technology TBD) Listen Respond CSV Form POLYMORPH CGI Listen Respond Input Key Map Output Key Map Input Transform Output Transform Send Listen Input Key Map Output Key Map Input Transform Output Transform Send Listen Araport API Manager JSON Query JSON Response ElasticSearch Remote Services
  • 35. Araport Architecture: Use Cases (1) araport.org • 1001 Genomes POLYMORPH tools – Provides variation data via locus or positional search – Total of seven variant types available for search – Search parameterization depends a lot on variant type – Example of a plain-text CGI service – Returns results as CSV with named columns • Objective: Transform into a RESTful API that expects and returns rationalized JSON http://polymorph.weigelworld.org
  • 36. Araport Architecture: Use Cases (2) araport.org • ThaleMine – Has native REST interface for general queries – Has templates which can form basis of specific services • Objective: Offer both Intermine-native and AIP-conformant interfaces as Data APIs • Current path – Enroll native services in our APIM – Develop template-based AIP-conformant services http://polymorph.weigelworld.org
  • 37. araport.org Data APIs: Getting Started Service Queries Notes BAR eFP Locus BAR Expressologs Locus BAR Interactions Locus COGe Position Special case – output transform only NASC $SERVICE Locus SOAP based but may be offline permanently OrthologFinder Locus Based on a Thalemine template POLYMORPH Locus, Position Actually seven CGI services SUBA3 Locus Compiling example queries, parameter mapping and description, and ideal results for use in implementing the system
  • 38. araport.org Developing a Data API • In order, we prefer that you have ready • Well-documented REST • Moderately well-documented REST • SOAP services (plus WSDL or WADL) • Plain Old XML • Plaintext CGI • HTML CGI • No web services at all • Work with us to enroll your services as a data source. This will involve a minor amount of coding.
  • 39. Computational App Model (1) Host OS Host file systems araport.org Docker.io Centos 6.4 custom-repo Container /scratch /database REST API x JSON objects Agave apps, data, jobs sftp Host FS (250 GB) TACC Corral (PB+)
  • 40. araport.org Science Apps: Grid View • Current Scheme • 2-3 column view w draggable apps • Apps are normal, full-size, or collapsed • Single app screen • Later in 2014 • N x X grid scheme implementing resizable app “tiles” like one sees in Android or Win8.x • App SDK libraries will have “help” for enabling resizable design • Multiple app screens
  • 41. araport.org Data API Details (2) • For service-specific parameters – Provide human-readable names mapped to original parameter names – Offer minimal descriptive text – Specify validation • Cardinality • Pattern validator (regex) • Type (number, string, etc.) – Indicate whether required – Indicate whether they should be visible in a UI – Specify reasonable default values • Seems familiar? – This approach is used to to abstract command line apps – Allows automatic generation of minimally functional UI
  • 42. Data APIs: Response types (1) araport.org • locus_relationship – pairwise relationship between A and B – Directionality – Type – Array of scores (weights, etc.) • sequence_feature – positional attribute – Extension of GFF model plus – Build – Attributes array
  • 43. Data APIs: Response types (2) araport.org • locus_feature – key-value attributes per locus – Optional controlled vocabulary* for keys – Support for both slots and arrays • raw – for returning images or other binary formats – Source and other metadata carried in X-headers instead of JSON result – Outbound transformation still supported – Not a preferred response mode • text – returning either native service response or a non-conformant JSON document – Source and other metadata carried in X-headers instead of JSON result – Not a preferred response mode
  • 44. araport.org Data API Details (6) • Transparent caching will compensate for transient remote service failures • Automatic indexing of certain response types via ElasticSearch, allowing for sophisticated global search – ElasticSearch allows us to index everything we “know about” and return it quickly – iPlant uses it to live-index >700 TB user data
  • 45. araport.org Developing an app • Understand and document the user stories you’re addressing with your app • Identify all requisite data sources AND • Help us prepare them as Data APIs – This may involve coding • Understand the data integration or aggregation needs of your app – This may involve coding • Develop the user interface(s) for your app using our tool kits and suggested practices – This will involve coding. – But you will learn tools like jQuery, Bootstrap, & D3 and will thus be eminently employable!

Notas del editor

  1. Discuss the IAIC design process. Working groups, design workshop, Plant Cell whitepaper. Chris Town and I were selected to submit a proposal to realize this vision to NSF ABI. Funded Sep 1, 2013.
  2. 5 MINUTES
  3. 15 MINUTES
  4. 25 MINUTES
  5. PASSIVELY COMPILE A MASSIVE KNOWLEDGE BASE