Data to Discovery The iPlant Collaborative Community Cyberinfrastructure for Life Science Nirav Merchant iPlant / University of Arizona Introduction to iPlant Science API
Data to Discovery Topic Coverage API: What why and ….who cares Why do we need API’s Connecting parts of iPlant with API Hands on work with API – Login/get tokens – See your files – Submit a tasks (on Docker) – Inspect results – Play with commands on your own
Data to Discovery The iPlant Collaborative: Vision Enable life science researchers and educators to use and extend cyberinfrastructure
Data to Discovery iPlant: Layer Cake
Data to Discovery iPlant Architectural Motivation We strive to be the CI Lego blocks Danish 'leg godt' - 'play well’ Also translates as 'I put together' in Latin If a solution is not available you can craft your own using iPlant CI components
Data to Discovery API’s are everywhere API = Application Programming Interface We will focus on web API (and what is that ?) They help others do creative things with your applications/platform (without you having to build it for them) You will find the used in your phone to your TV and everywhere in between (facebook, google or any company providing service) It is the window into their platform (but with monkey/safety bars)
Data to Discovery So how do you use Web API’s ? Use the same protocol as web url’s i.e http Everything is called as a URL We call that REST interface RES What ? Things that do not fit on a url are provided as JSON J What ? You have to know some basic scripting or programming to benefit from it
Data to Discovery Why did iPlant build API ? Data Store Computing Options HPC Cloud HTC Security
Data to Discovery Really why did you build it ? More people sharing applications/pipelines Not enough resources available at authors home institution/lab to share analysis with world HPC was not a web friendly world Lab with HPC access wanted web interfaces (like DE) No one else was building generic CI API We want people to extend our platform
Data to Discovery Your tool box Command line access on a linux, mac or PC cURL Text editor Familiarity with shell (say what ?) Lots of patience (level = Sage) Creativity !
Data to Discovery Prepare you environment If you do not have a mac or linux box with curl and bash, please ssh using UA netid to: research.u.arizona.edu Go to We will explore the live docs (say what) (Documentation | REST API DOCS) Log into iPlant DE using your browser (de.iplantc.org)
Data to Discovery Some terminology Tokens Keys Secrets Agave-cli (you will like it) Template (read some json and visit DE) Now lets review Agav-cli options (in bin dir) and jump to live docs
Data to Discovery Hands on Steps ssh research.u.arizona.edu or use your own mac, linux box bash git clone agave-cli export PATH=$PATH:`pwd`/agave-cli/bin tenants-init choose iplant clients-create -N cli-demo -S files-list jobs-template -AV demo-pyplot-demo-advanced-0.1.0u1 > submit.json edit submit.json to "line" and remove.0 for size jobs-submit -V -W -F submit.json