SlideShare a Scribd company logo
1 of 29
Download to read offline
araport.org
Developing Apps: Exposing Your
Data Through Araport
Matt Vaughn
Director, Life Sciences Computing
Texas Advanced Computing Center
vaughn@tacc.utexas.edu | @mattdotvaughn | www.slideshare.net/mattdotvaughn
araport.org
Overview
•  Why contribute to Araport?
•  How does one create a web service?
•  How does one build a Science App?
•  Commonly asked questions
•  What resources are available?
araport.org
Why become an Araport contributor?
•  Recognition
•  Exposure
•  Feedback
•  Interoperability
•  Professional presentation
•  Reusability
araport.org
Araport: A Road Map
API.ARAPORT.ORG
CLI clients,
Scripts, 3rd party
applications
Core Resources
AGAVE
apps
meta
files
profile
jobssystems
ADAMA
manage
enroll
a b c d e f
Data Resources
API Types
•  Query
•  Map*
•  Generic
•  Pass-through
•  Single-sign on
•  Metering
•  Unified logging
•  API versioning
•  Automatic HTTPS + CORS
REST*
CGI
SOAP
New Web
Services
InterMine
Chado &
Tripal
Computing
Storage
Database
APPS
APIs
araport.org
HOW DOES ONE CREATE A WEB
SERVICE?
araport.org
Araport Data and
Microservice API
•  Implement REST-like web services
•  Allow real-time integration with and transformation of
existing web-based services
•  Promote interoperability
–  Simple, extensible controlled vocabulary for queries
–  Responses can conform to common schemas*
–  GLOBAL SEARCH
•  Solve some annoying problems
–  Provide HTTPS + valid SSL certificate
–  Enable Cross Origin Scripting Support (CORS)
–  Implement authenticated access to services
•  BE EASY TO ADOPT, USE, AND MAINTAIN
araport.org
Case Study: TIGR Gene Expression Database
•  NSF Arabidopsis 2010
project (#0520022)
•  How to make this
resource more broadly
usable and useful?
– Create modernized web
services
– Build an interactive
science app
araport.org
Creating a new data service in 5
easy steps
8
•  Check out a
template
•  Write and
debug service
locally
•  Write docs
•  Describe data
sources
Push to
GitHub*
Register new
service using
ADAMA
Test and
refine the
microservice
Share with
colleagues
or the public
Develop a
Science App
using APIs
Write
Code
Upload Enroll @
Araport
Use it Share Make a
Science
App
araport.org
Example Source Code
https://github.com/
Arabidopsis-Information-Portal/
jcvi-qpcr-services
Shared code among services
ADAMA services have
search and/or list functions
Implement some query logic
Make a request to the server
Transform result to JSON &
send it back
araport.org
Example Metadata (1)
Who has
contributed?
Basic display fields
Configuration fields
and values
araport.org
Example Metadata (2)
Definitions for the
service’s various
parameters
What are the data
sources (can be
nested!)
araport.org
Creating a new data service in 5
easy steps
12
•  Check out a
template
•  Write and
debug service
locally
•  Write docs
•  Describe data
sources
Push to
GitHub*
Register new
service using
ADAMA
Test and
refine the
microservice
Share with
colleagues
or the public
Develop a
Science App
using APIs
Write
Code
Upload Enroll @
Araport
Use it Share Make a
Science
App
araport.org
Using the new service (1)
•  Use the Araport API Explorer
Home->Tools->Web Services-
>Community Data
•  Use the Javascript console
embedded in your browser
•  Manually via command line
tools like cURL or httpie
araport.org
Using the new service (2)
More Information
araport.org
Using the new service (3)
Try this service
araport.org
Using the new service (4)
Every Araport web service is available via Javascript console
Data API namespace
Individual Data API
> Agave.api.adama.getNamespaces()
araport.org
Using the new service (5)
curl -X GET -sk -H "Authorization: Bearer
17f4700fb4ffa9ab32f1bf560e8a2b8" https://
api.araport.org/community/v0.3/jcvi/
image_by_id_v0.1/search?image_id=237 -O "237.png"
•  Perform a GET using an Araport-issued
Oauth token to the image_by_id
community service; Save the result to a
file named 237.png
•  Every Araport-hosted web service can be
used by scripts
•  We offer Javascript and Python code
libraries available as well
araport.org
Using the new service (6)
BUILD A SCIENCE APP THAT CONSUMES IT
JCVI QPCR app
integrates half a
dozen web service
APIs
Some from the QPCR
service itself, some
from ThaleMine
Araport is a mash-up
engine for plant
science data
araport.org
HOW DOES ONE BUILD A SCIENCE
APP?
araport.org
5 Steps to Creating a Science App
Install tool
chain (just
once)
Launch a new
Science App (or
clone an existing
one)
Interactively
design and
build your
app
Push to
GitHub
Install @
Araport
then
Publish!
Setup Create New Write
Code
Upload Share
araport.org
Anatomy of a Science App
Your assets live inside /app
Static HTML content for
laying out the app
JavaScript functions
defined for the app
Cascading Style Sheets
(CSS) specific to the app
JavaScript dependencies
automatically managed
via Bower
https://github.com/Arabidopsis-Information-Portal/ATExpressionProfilingApp
araport.org
1,2,3 Development
•  Application generator for quickly
bootstrapping application development
$	
  yo	
  aip-­‐science-­‐app	
  
$	
  grunt	
  
araport.org
Science Apps Workspace
Create custom
workspaces
containing
diverse public
and private
Science Apps
araport.org
Science App Store
•  Developers can share apps
privately during creation and
testing
•  Request publication under My
Account->My Apps
•  Araport staff will review the
app and either publish it or
make suggestions about how
to improve it
araport.org
Commonly Asked Questions
•  How can I get credit or attribution if my app or data is
served through Araport?
•  I have data type X - can I share it via Araport?
•  Can I keep my work private or shared with only select
people?
•  Can someone publish malicious code at Araport?
•  What if my Science App needs to compute on data,
not just access a database?
•  Can you help me learn to write web services and
Science Apps?
araport.org
Community Support
www.araport.org/devzone
Register to become an Araport developer
Join our developer calls
Explore tutorials, example code, & documentation
Learn about our 2015 Fall Developer Workshop
araport.org
araport@jcvi.org
https://www.araport.org/contact
@araport
araport.org
The Road Ahead
Science Apps
•  Improved create & publish workflow
•  Tags, ratings, comments, & live previews
•  “Compute applications”
•  Automatic display of provenance information
•  Dynamically resizable app display
•  Communication between apps
Web Services
•  Improved create & publish workflow
•  Support for “native” web services
•  Comprehensive logging and usage analytics
•  Performance and reliability improvements
araport.org
Chris Town, PI
Lisa McDonald
Education and
Outreach Coordinator
Chris Nelson
Project ManagerJason Miller, Co-PI
JCVI Technical Lead
Erik Ferlanti
Software Engineer
Vivek Krishnakumar
Bioinf. Engineer
Svetlana Karamycheva
Bioinf Engineer
Eva Huala
Project lead, TAIR
Bob Muller
Technical lead, TAIR
Gos Micklem, co-PI Sergio Contrino
Software Engineer
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

More Related Content

What's hot

ICAR 2015 Workshop - Agnes Chan
ICAR 2015 Workshop - Agnes ChanICAR 2015 Workshop - Agnes Chan
ICAR 2015 Workshop - Agnes ChanAraport
 
Plant ontology web services on Araport
Plant ontology web services on AraportPlant ontology web services on Araport
Plant ontology web services on AraportAraport
 
2016 Summer - Araport Project Overview Leaflet
2016 Summer - Araport Project Overview Leaflet2016 Summer - Araport Project Overview Leaflet
2016 Summer - Araport Project Overview LeafletAraport
 
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...Araport
 
ICAR 2015 Workshop - Nick Provart
ICAR 2015 Workshop - Nick ProvartICAR 2015 Workshop - Nick Provart
ICAR 2015 Workshop - Nick ProvartAraport
 
2015 Summer - Araport Project Overview Leaflet
2015 Summer - Araport Project Overview Leaflet2015 Summer - Araport Project Overview Leaflet
2015 Summer - Araport Project Overview LeafletAraport
 
ICAR 2015 Poster - Araport
ICAR 2015 Poster - AraportICAR 2015 Poster - Araport
ICAR 2015 Poster - AraportAraport
 
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
 
RELIANCE ROHub hackathon
RELIANCE ROHub hackathonRELIANCE ROHub hackathon
RELIANCE ROHub hackathonRaul Palma
 
FAIR Computational Workflows
FAIR Computational WorkflowsFAIR Computational Workflows
FAIR Computational WorkflowsCarole Goble
 
SAFE: Policy Aware SPARQL Query Federation Over RDF Data Cubes
SAFE: Policy Aware SPARQL Query Federation Over RDF Data CubesSAFE: Policy Aware SPARQL Query Federation Over RDF Data Cubes
SAFE: Policy Aware SPARQL Query Federation Over RDF Data CubesRatnesh Sahay
 
Karma is a tool! Managing your Data
Karma is a tool! Managing your DataKarma is a tool! Managing your Data
Karma is a tool! Managing your DataVioleta Ilik
 
Producing, publishing and consuming linked data - CSHALS 2013
Producing, publishing and consuming linked data - CSHALS 2013Producing, publishing and consuming linked data - CSHALS 2013
Producing, publishing and consuming linked data - CSHALS 2013François Belleau
 
It Takes a Village to Grow ORCIDs on Campus: Establishing and Integrating Uni...
It Takes a Village to Grow ORCIDs on Campus: Establishing and Integrating Uni...It Takes a Village to Grow ORCIDs on Campus: Establishing and Integrating Uni...
It Takes a Village to Grow ORCIDs on Campus: Establishing and Integrating Uni...Violeta Ilik
 
Publishing data and code openly
Publishing data and code openlyPublishing data and code openly
Publishing data and code openlyFAIRDOM
 
BioSolr - Searching the stuff of life - Lucene/Solr Revolution 2015
BioSolr - Searching the stuff of life - Lucene/Solr Revolution 2015BioSolr - Searching the stuff of life - Lucene/Solr Revolution 2015
BioSolr - Searching the stuff of life - Lucene/Solr Revolution 2015Charlie Hull
 
Tutorial: Describing Datasets with the Health Care and Life Sciences Communit...
Tutorial: Describing Datasets with the Health Care and Life Sciences Communit...Tutorial: Describing Datasets with the Health Care and Life Sciences Communit...
Tutorial: Describing Datasets with the Health Care and Life Sciences Communit...Alasdair Gray
 

What's hot (20)

ICAR 2015 Workshop - Agnes Chan
ICAR 2015 Workshop - Agnes ChanICAR 2015 Workshop - Agnes Chan
ICAR 2015 Workshop - Agnes Chan
 
Plant ontology web services on Araport
Plant ontology web services on AraportPlant ontology web services on Araport
Plant ontology web services on Araport
 
2016 Summer - Araport Project Overview Leaflet
2016 Summer - Araport Project Overview Leaflet2016 Summer - Araport Project Overview Leaflet
2016 Summer - Araport Project Overview Leaflet
 
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
PMR metabolomics and transcriptomics database and its RESTful web APIs: A dat...
 
ICAR 2015 Workshop - Nick Provart
ICAR 2015 Workshop - Nick ProvartICAR 2015 Workshop - Nick Provart
ICAR 2015 Workshop - Nick Provart
 
2015 Summer - Araport Project Overview Leaflet
2015 Summer - Araport Project Overview Leaflet2015 Summer - Araport Project Overview Leaflet
2015 Summer - Araport Project Overview Leaflet
 
ICAR 2015 Poster - Araport
ICAR 2015 Poster - AraportICAR 2015 Poster - Araport
ICAR 2015 Poster - Araport
 
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
 
RELIANCE ROHub hackathon
RELIANCE ROHub hackathonRELIANCE ROHub hackathon
RELIANCE ROHub hackathon
 
FAIR Computational Workflows
FAIR Computational WorkflowsFAIR Computational Workflows
FAIR Computational Workflows
 
Royal society of chemistry activities to develop a data repository for chemis...
Royal society of chemistry activities to develop a data repository for chemis...Royal society of chemistry activities to develop a data repository for chemis...
Royal society of chemistry activities to develop a data repository for chemis...
 
Open innovation contributions from RSC resulting from the Open Phacts project
Open innovation contributions from RSC resulting from the Open Phacts projectOpen innovation contributions from RSC resulting from the Open Phacts project
Open innovation contributions from RSC resulting from the Open Phacts project
 
SAFE: Policy Aware SPARQL Query Federation Over RDF Data Cubes
SAFE: Policy Aware SPARQL Query Federation Over RDF Data CubesSAFE: Policy Aware SPARQL Query Federation Over RDF Data Cubes
SAFE: Policy Aware SPARQL Query Federation Over RDF Data Cubes
 
Karma is a tool! Managing your Data
Karma is a tool! Managing your DataKarma is a tool! Managing your Data
Karma is a tool! Managing your Data
 
Producing, publishing and consuming linked data - CSHALS 2013
Producing, publishing and consuming linked data - CSHALS 2013Producing, publishing and consuming linked data - CSHALS 2013
Producing, publishing and consuming linked data - CSHALS 2013
 
It Takes a Village to Grow ORCIDs on Campus: Establishing and Integrating Uni...
It Takes a Village to Grow ORCIDs on Campus: Establishing and Integrating Uni...It Takes a Village to Grow ORCIDs on Campus: Establishing and Integrating Uni...
It Takes a Village to Grow ORCIDs on Campus: Establishing and Integrating Uni...
 
Publishing data and code openly
Publishing data and code openlyPublishing data and code openly
Publishing data and code openly
 
COPO kick-off meeting
COPO kick-off meetingCOPO kick-off meeting
COPO kick-off meeting
 
BioSolr - Searching the stuff of life - Lucene/Solr Revolution 2015
BioSolr - Searching the stuff of life - Lucene/Solr Revolution 2015BioSolr - Searching the stuff of life - Lucene/Solr Revolution 2015
BioSolr - Searching the stuff of life - Lucene/Solr Revolution 2015
 
Tutorial: Describing Datasets with the Health Care and Life Sciences Communit...
Tutorial: Describing Datasets with the Health Care and Life Sciences Communit...Tutorial: Describing Datasets with the Health Care and Life Sciences Communit...
Tutorial: Describing Datasets with the Health Care and Life Sciences Communit...
 

Similar to ICAR 2015 Workshop - Matt Vaughn

aip_developer_overview_icar_2014
aip_developer_overview_icar_2014aip_developer_overview_icar_2014
aip_developer_overview_icar_2014Matthew Vaughn
 
Arabidopsis Information Portal overview from Plant Biology Europe 2014
Arabidopsis Information Portal overview from Plant Biology Europe 2014Arabidopsis Information Portal overview from Plant Biology Europe 2014
Arabidopsis Information Portal overview from Plant Biology Europe 2014Matthew Vaughn
 
aip-developer-intro_pag2015
aip-developer-intro_pag2015aip-developer-intro_pag2015
aip-developer-intro_pag2015Matthew Vaughn
 
aip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialaip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialMatthew Vaughn
 
Data Collection from Social Media Platforms
Data Collection from Social Media PlatformsData Collection from Social Media Platforms
Data Collection from Social Media PlatformsMahmoud Yasser
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelJames Tramel
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraphVincent Biret
 
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAPI Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAnil Sagar
 
Presto for the Enterprise @ Hadoop Meetup
Presto for the Enterprise @ Hadoop MeetupPresto for the Enterprise @ Hadoop Meetup
Presto for the Enterprise @ Hadoop MeetupWojciech Biela
 
Scribe online 03 scribe online cdk and api overview
Scribe online 03   scribe online cdk and api overviewScribe online 03   scribe online cdk and api overview
Scribe online 03 scribe online cdk and api overviewScribe Software Corp.
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsAxway
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service BIOVIA
 
Logic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIsLogic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIsSriram Hariharan
 
Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The MarketConSanFrancisco123
 
Power of Microsoft Graph API by Nilesh Shah SharePoint Saturday Toronto 2017
Power of Microsoft Graph API by Nilesh Shah SharePoint Saturday Toronto 2017Power of Microsoft Graph API by Nilesh Shah SharePoint Saturday Toronto 2017
Power of Microsoft Graph API by Nilesh Shah SharePoint Saturday Toronto 2017Nilesh Shah
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Servicestevemock
 
Building the Eventbrite API Ecosystem
Building the Eventbrite API EcosystemBuilding the Eventbrite API Ecosystem
Building the Eventbrite API EcosystemMitch Colleran
 
SignalR Dublin ALT.NET
SignalR Dublin ALT.NETSignalR Dublin ALT.NET
SignalR Dublin ALT.NETDorin Manoli
 
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
 

Similar to ICAR 2015 Workshop - Matt Vaughn (20)

aip_developer_overview_icar_2014
aip_developer_overview_icar_2014aip_developer_overview_icar_2014
aip_developer_overview_icar_2014
 
Arabidopsis Information Portal overview from Plant Biology Europe 2014
Arabidopsis Information Portal overview from Plant Biology Europe 2014Arabidopsis Information Portal overview from Plant Biology Europe 2014
Arabidopsis Information Portal overview from Plant Biology Europe 2014
 
aip-developer-intro_pag2015
aip-developer-intro_pag2015aip-developer-intro_pag2015
aip-developer-intro_pag2015
 
aip-workshop1-dev-tutorial
aip-workshop1-dev-tutorialaip-workshop1-dev-tutorial
aip-workshop1-dev-tutorial
 
Data Collection from Social Media Platforms
Data Collection from Social Media PlatformsData Collection from Social Media Platforms
Data Collection from Social Media Platforms
 
SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App Model
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
 
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ ApigeeAPI Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
API Design Best Practices & Tech Talk : API Craft Meetup @ Apigee
 
Presto for the Enterprise @ Hadoop Meetup
Presto for the Enterprise @ Hadoop MeetupPresto for the Enterprise @ Hadoop Meetup
Presto for the Enterprise @ Hadoop Meetup
 
Scribe online 03 scribe online cdk and api overview
Scribe online 03   scribe online cdk and api overviewScribe online 03   scribe online cdk and api overview
Scribe online 03 scribe online cdk and api overview
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
 
Logic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIsLogic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIs
 
Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The Market
 
Power of Microsoft Graph API by Nilesh Shah SharePoint Saturday Toronto 2017
Power of Microsoft Graph API by Nilesh Shah SharePoint Saturday Toronto 2017Power of Microsoft Graph API by Nilesh Shah SharePoint Saturday Toronto 2017
Power of Microsoft Graph API by Nilesh Shah SharePoint Saturday Toronto 2017
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
 
Building the Eventbrite API Ecosystem
Building the Eventbrite API EcosystemBuilding the Eventbrite API Ecosystem
Building the Eventbrite API Ecosystem
 
SignalR Dublin ALT.NET
SignalR Dublin ALT.NETSignalR Dublin ALT.NET
SignalR Dublin ALT.NET
 
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
 
Varun-CV-J
Varun-CV-JVarun-CV-J
Varun-CV-J
 

Recently uploaded

Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzohaibmir069
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSarthak Sekhar Mondal
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxAArockiyaNisha
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Lokesh Kothari
 
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfAnalytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfSwapnil Therkar
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptMAESTRELLAMesa2
 

Recently uploaded (20)

Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistan
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfAnalytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.ppt
 

ICAR 2015 Workshop - Matt Vaughn

  • 1. araport.org Developing Apps: Exposing Your Data Through Araport Matt Vaughn Director, Life Sciences Computing Texas Advanced Computing Center vaughn@tacc.utexas.edu | @mattdotvaughn | www.slideshare.net/mattdotvaughn
  • 2. araport.org Overview •  Why contribute to Araport? •  How does one create a web service? •  How does one build a Science App? •  Commonly asked questions •  What resources are available?
  • 3. araport.org Why become an Araport contributor? •  Recognition •  Exposure •  Feedback •  Interoperability •  Professional presentation •  Reusability
  • 4. araport.org Araport: A Road Map API.ARAPORT.ORG CLI clients, Scripts, 3rd party applications Core Resources AGAVE apps meta files profile jobssystems ADAMA manage enroll a b c d e f Data Resources API Types •  Query •  Map* •  Generic •  Pass-through •  Single-sign on •  Metering •  Unified logging •  API versioning •  Automatic HTTPS + CORS REST* CGI SOAP New Web Services InterMine Chado & Tripal Computing Storage Database APPS APIs
  • 5. araport.org HOW DOES ONE CREATE A WEB SERVICE?
  • 6. araport.org Araport Data and Microservice API •  Implement REST-like web services •  Allow real-time integration with and transformation of existing web-based services •  Promote interoperability –  Simple, extensible controlled vocabulary for queries –  Responses can conform to common schemas* –  GLOBAL SEARCH •  Solve some annoying problems –  Provide HTTPS + valid SSL certificate –  Enable Cross Origin Scripting Support (CORS) –  Implement authenticated access to services •  BE EASY TO ADOPT, USE, AND MAINTAIN
  • 7. araport.org Case Study: TIGR Gene Expression Database •  NSF Arabidopsis 2010 project (#0520022) •  How to make this resource more broadly usable and useful? – Create modernized web services – Build an interactive science app
  • 8. araport.org Creating a new data service in 5 easy steps 8 •  Check out a template •  Write and debug service locally •  Write docs •  Describe data sources Push to GitHub* Register new service using ADAMA Test and refine the microservice Share with colleagues or the public Develop a Science App using APIs Write Code Upload Enroll @ Araport Use it Share Make a Science App
  • 9. araport.org Example Source Code https://github.com/ Arabidopsis-Information-Portal/ jcvi-qpcr-services Shared code among services ADAMA services have search and/or list functions Implement some query logic Make a request to the server Transform result to JSON & send it back
  • 10. araport.org Example Metadata (1) Who has contributed? Basic display fields Configuration fields and values
  • 11. araport.org Example Metadata (2) Definitions for the service’s various parameters What are the data sources (can be nested!)
  • 12. araport.org Creating a new data service in 5 easy steps 12 •  Check out a template •  Write and debug service locally •  Write docs •  Describe data sources Push to GitHub* Register new service using ADAMA Test and refine the microservice Share with colleagues or the public Develop a Science App using APIs Write Code Upload Enroll @ Araport Use it Share Make a Science App
  • 13. araport.org Using the new service (1) •  Use the Araport API Explorer Home->Tools->Web Services- >Community Data •  Use the Javascript console embedded in your browser •  Manually via command line tools like cURL or httpie
  • 14. araport.org Using the new service (2) More Information
  • 15. araport.org Using the new service (3) Try this service
  • 16. araport.org Using the new service (4) Every Araport web service is available via Javascript console Data API namespace Individual Data API > Agave.api.adama.getNamespaces()
  • 17. araport.org Using the new service (5) curl -X GET -sk -H "Authorization: Bearer 17f4700fb4ffa9ab32f1bf560e8a2b8" https:// api.araport.org/community/v0.3/jcvi/ image_by_id_v0.1/search?image_id=237 -O "237.png" •  Perform a GET using an Araport-issued Oauth token to the image_by_id community service; Save the result to a file named 237.png •  Every Araport-hosted web service can be used by scripts •  We offer Javascript and Python code libraries available as well
  • 18. araport.org Using the new service (6) BUILD A SCIENCE APP THAT CONSUMES IT JCVI QPCR app integrates half a dozen web service APIs Some from the QPCR service itself, some from ThaleMine Araport is a mash-up engine for plant science data
  • 19. araport.org HOW DOES ONE BUILD A SCIENCE APP?
  • 20. araport.org 5 Steps to Creating a Science App Install tool chain (just once) Launch a new Science App (or clone an existing one) Interactively design and build your app Push to GitHub Install @ Araport then Publish! Setup Create New Write Code Upload Share
  • 21. araport.org Anatomy of a Science App Your assets live inside /app Static HTML content for laying out the app JavaScript functions defined for the app Cascading Style Sheets (CSS) specific to the app JavaScript dependencies automatically managed via Bower https://github.com/Arabidopsis-Information-Portal/ATExpressionProfilingApp
  • 22. araport.org 1,2,3 Development •  Application generator for quickly bootstrapping application development $  yo  aip-­‐science-­‐app   $  grunt  
  • 23. araport.org Science Apps Workspace Create custom workspaces containing diverse public and private Science Apps
  • 24. araport.org Science App Store •  Developers can share apps privately during creation and testing •  Request publication under My Account->My Apps •  Araport staff will review the app and either publish it or make suggestions about how to improve it
  • 25. araport.org Commonly Asked Questions •  How can I get credit or attribution if my app or data is served through Araport? •  I have data type X - can I share it via Araport? •  Can I keep my work private or shared with only select people? •  Can someone publish malicious code at Araport? •  What if my Science App needs to compute on data, not just access a database? •  Can you help me learn to write web services and Science Apps?
  • 26. araport.org Community Support www.araport.org/devzone Register to become an Araport developer Join our developer calls Explore tutorials, example code, & documentation Learn about our 2015 Fall Developer Workshop
  • 28. araport.org The Road Ahead Science Apps •  Improved create & publish workflow •  Tags, ratings, comments, & live previews •  “Compute applications” •  Automatic display of provenance information •  Dynamically resizable app display •  Communication between apps Web Services •  Improved create & publish workflow •  Support for “native” web services •  Comprehensive logging and usage analytics •  Performance and reliability improvements
  • 29. araport.org Chris Town, PI Lisa McDonald Education and Outreach Coordinator Chris Nelson Project ManagerJason Miller, Co-PI JCVI Technical Lead Erik Ferlanti Software Engineer Vivek Krishnakumar Bioinf. Engineer Svetlana Karamycheva Bioinf Engineer Eva Huala Project lead, TAIR Bob Muller Technical lead, TAIR Gos Micklem, co-PI Sergio Contrino Software Engineer 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