SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Adding Transparency and Automation
into the Galaxy Tool Installation Process
Enis Afgan
Johns Hopkins University
Galaxy Team
Galaxy Admins Web Meetup
August 20, 2015.
Outline
• Installing tools in bulk (i.e., Automation)
• Keeping up with what’s installed on Main & Test (i.e., Transparency)
• Retrieving the toolset from a Galaxy instance [coming]
A common question:
“How can I replicate[the toolset from] Galaxy Main?”
Answer:
By hand; perhaps via the API;
recently, inspect the usegalaxy-playbook
A more general question:
How do I install dozens or hundreds or tools?
Answer:
With a lot of clicks.
Ansible anatomy
An example task:
Playbook
Role	
  A Role	
  B
Task	
  1
apt-get update
Task	
  2
curl url
- name: Install required system packages
apt: pkg={{ item }} state=latest
with_items:
- ansible
- automake
- …
Ansible role: Galaxy Tools
Automate installation of tools from a Tool Shed into Galaxy
1. A list of tools in a dedicated YAML file
• Readily editable, can specify required level of details
2. A tool installation script reads the tools file and performs the installation
• Idempotent, command line options for installing tools individually
github.com/galaxyproject/ansible-galaxy-tools
The tools list file
tools:
- name: synapse_interface
owner: kellrott
tool_panel_section_id: peak_calling
- name: fastqc
owner: devteam
tool_panel_section_id: cshl_library_information
tool_shed_url: https://testtoolshed.g2.bx.psu.edu
revisions:
- '8c650f7f76e9' # v0.62
- 'd2cf2c0c8a11' # v0.63
Required fields
The tool installation script
• An option to create (and delete) a bootstrap Galaxy user
galaxy_tools_create_bootstrap_user: yes
galaxy_tools_delete_bootstrap_user: yes
• Can be used standalone to install individual tools
• Useful for dev and testing but should not be the default use (we’ll see why in
the coming slides)
$ cd files
$ python install_tool_shed_tools.py –g g_url –a key --name X --owner Y --section Z
Using the Galaxy Tools role
A ready-to-use playbook is available at github.com/afgane/galaxy-tools-playbook
• Clone and edit the tools file; run
Galaxy instance will be populated with the desired toolset – as long as the tools
install properly, you’re all set.
$ git clone --recursive git@github.com:afgane/galaxy-tools-playbook.git
# Provide a list of tools in files/tool_list.yaml
$ ansible-playbook tools.yml -i "localhost," --extra-vars galaxy_tools_api_key=<key>
Commit the tools file and have a
1. A track-record of the installedtools
2. A repeatableGalaxy setup
Support for Galaxy Flavors
Create tailored instances of the tools file, each with a focus on differenttype of
analysis
(Community effort?)
Galaxy-core RNA-Seq ChIP-Seq
GVL tutorial Smith lab My dev box
Adding transparency
Tools on Main and Test were installedsporadicallyand by hand, so no insight
or feedback on when and what has changed.
In the future, tools will be installedexclusivelyvia the Galaxy Tools role
Commit changes
to the tools file
Run
usegalaxy-playbook
Track record &
insight into updates
Still work in progress…
Main toolset Test toolset
github.com/galaxyproject/ansible-galaxy-tools/tree/master/files
Populating the tools file
• For existing Galaxy instances, populating the tools file is a tedious manual
process
• Need ascript to inspectthe toolset and generate the tools file
• Technically, should be possible with the nextGalaxy release
Work in progress: github.com/galaxyproject/ansible-galaxy-
tools/blob/master/files/install_tool_shed_tools.py#L205
Ansible stack -> consistent experience
galaxy-os
cloudman-image
usegalaxy-
playbook
cloudman-setup* galaxy-extras
galaxy-tools
Static Cloud VM Docker
planemo-
machine
docker-stable
* Not a single role
Fire-and-forget obstacles
• Tools fail to install cleanly
• Delay between the tool repos and what’s in the Tool Shed
• Tool panelsections must existin Galaxy before tool installation (no API to create
those)
Adding Transparency and Automation into the Galaxy Tool Installation Process

Mais conteúdo relacionado

Mais procurados

The Materials Project Ecosystem - A Complete Software and Data Platform for M...
The Materials Project Ecosystem - A Complete Software and Data Platform for M...The Materials Project Ecosystem - A Complete Software and Data Platform for M...
The Materials Project Ecosystem - A Complete Software and Data Platform for M...
University of California, San Diego
 
Effective testing for spark programs Strata NY 2015
Effective testing for spark programs   Strata NY 2015Effective testing for spark programs   Strata NY 2015
Effective testing for spark programs Strata NY 2015
Holden Karau
 
Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)
Kim Herzig
 
Ase2010 shang
Ase2010 shangAse2010 shang
Ase2010 shang
SAIL_QU
 
Quickly Testing Legacy C++ Code with Approval Tests
Quickly Testing Legacy C++ Code with Approval TestsQuickly Testing Legacy C++ Code with Approval Tests
Quickly Testing Legacy C++ Code with Approval Tests
Clare Macrae
 

Mais procurados (19)

Solrcloud Leader Election
Solrcloud Leader ElectionSolrcloud Leader Election
Solrcloud Leader Election
 
Scaling Through Partitioning and Shard Splitting in Solr 4
Scaling Through Partitioning and Shard Splitting in Solr 4Scaling Through Partitioning and Shard Splitting in Solr 4
Scaling Through Partitioning and Shard Splitting in Solr 4
 
Solr Exchange: Introduction to SolrCloud
Solr Exchange: Introduction to SolrCloudSolr Exchange: Introduction to SolrCloud
Solr Exchange: Introduction to SolrCloud
 
Dev nexus 2017
Dev nexus 2017Dev nexus 2017
Dev nexus 2017
 
Devnexus 2018
Devnexus 2018Devnexus 2018
Devnexus 2018
 
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecSmart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVec
 
MRT 2018: reflecting on the past and the present with temporal graph models
MRT 2018: reflecting on the past and the present with temporal graph modelsMRT 2018: reflecting on the past and the present with temporal graph models
MRT 2018: reflecting on the past and the present with temporal graph models
 
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
Dissecting Open Source Cloud Evolution: An OpenStack Case StudyDissecting Open Source Cloud Evolution: An OpenStack Case Study
Dissecting Open Source Cloud Evolution: An OpenStack Case Study
 
Intro. to static analysis
Intro. to static analysisIntro. to static analysis
Intro. to static analysis
 
GIDS2014: SolrCloud: Searching Big Data
GIDS2014: SolrCloud: Searching Big DataGIDS2014: SolrCloud: Searching Big Data
GIDS2014: SolrCloud: Searching Big Data
 
The Materials Project Ecosystem - A Complete Software and Data Platform for M...
The Materials Project Ecosystem - A Complete Software and Data Platform for M...The Materials Project Ecosystem - A Complete Software and Data Platform for M...
The Materials Project Ecosystem - A Complete Software and Data Platform for M...
 
Introduction to SolrCloud
Introduction to SolrCloudIntroduction to SolrCloud
Introduction to SolrCloud
 
Scaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAMScaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAM
 
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
 
Effective testing for spark programs Strata NY 2015
Effective testing for spark programs   Strata NY 2015Effective testing for spark programs   Strata NY 2015
Effective testing for spark programs Strata NY 2015
 
Malware Analysis 101 - N00b to Ninja in 60 Minutes at CactusCon on April 4, 2014
Malware Analysis 101 - N00b to Ninja in 60 Minutes at CactusCon on April 4, 2014Malware Analysis 101 - N00b to Ninja in 60 Minutes at CactusCon on April 4, 2014
Malware Analysis 101 - N00b to Ninja in 60 Minutes at CactusCon on April 4, 2014
 
Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)
 
Ase2010 shang
Ase2010 shangAse2010 shang
Ase2010 shang
 
Quickly Testing Legacy C++ Code with Approval Tests
Quickly Testing Legacy C++ Code with Approval TestsQuickly Testing Legacy C++ Code with Approval Tests
Quickly Testing Legacy C++ Code with Approval Tests
 

Destaque (10)

Enabling Cloud Bursting for Life Sciences within Galaxy
Enabling Cloud Bursting for Life Sciences within GalaxyEnabling Cloud Bursting for Life Sciences within Galaxy
Enabling Cloud Bursting for Life Sciences within Galaxy
 
Top 10 pharma molecules in bangladesh
Top 10 pharma molecules in bangladeshTop 10 pharma molecules in bangladesh
Top 10 pharma molecules in bangladesh
 
Galaxy workshop
Galaxy workshopGalaxy workshop
Galaxy workshop
 
Implementarea proiectelor de dezvoltare regionala / ADR Nord
Implementarea proiectelor de dezvoltare regionala / ADR NordImplementarea proiectelor de dezvoltare regionala / ADR Nord
Implementarea proiectelor de dezvoltare regionala / ADR Nord
 
Addressing sexual needs_in_residential_care[1]
Addressing sexual needs_in_residential_care[1]Addressing sexual needs_in_residential_care[1]
Addressing sexual needs_in_residential_care[1]
 
Google glass.
Google glass.Google glass.
Google glass.
 
Introduction to 24symbols (November 2012)
Introduction to 24symbols (November 2012)Introduction to 24symbols (November 2012)
Introduction to 24symbols (November 2012)
 
Introduction to Galaxy and RNA-Seq
Introduction to Galaxy and RNA-SeqIntroduction to Galaxy and RNA-Seq
Introduction to Galaxy and RNA-Seq
 
Ejercicios de análisis de flujo
Ejercicios de análisis de flujoEjercicios de análisis de flujo
Ejercicios de análisis de flujo
 
Flujo de carga
Flujo de cargaFlujo de carga
Flujo de carga
 

Semelhante a Adding Transparency and Automation into the Galaxy Tool Installation Process

Automated User Tests with Apache Flex
Automated User Tests with Apache FlexAutomated User Tests with Apache Flex
Automated User Tests with Apache Flex
Gert Poppe
 
Jquery Plugin
Jquery PluginJquery Plugin
Jquery Plugin
Ravi Mone
 

Semelhante a Adding Transparency and Automation into the Galaxy Tool Installation Process (20)

Grails plugin development
Grails plugin developmentGrails plugin development
Grails plugin development
 
Automated User Tests with Apache Flex
Automated User Tests with Apache FlexAutomated User Tests with Apache Flex
Automated User Tests with Apache Flex
 
Automated User Tests with Apache Flex
Automated User Tests with Apache FlexAutomated User Tests with Apache Flex
Automated User Tests with Apache Flex
 
Riga Dev Day - Automated Android Continuous Integration
Riga Dev Day - Automated Android Continuous IntegrationRiga Dev Day - Automated Android Continuous Integration
Riga Dev Day - Automated Android Continuous Integration
 
Jquery Plugin
Jquery PluginJquery Plugin
Jquery Plugin
 
Arquillian in a nutshell
Arquillian in a nutshellArquillian in a nutshell
Arquillian in a nutshell
 
introduction to galaxy
introduction to galaxyintroduction to galaxy
introduction to galaxy
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable Results
 
Gradle
GradleGradle
Gradle
 
Arquillian in a nutshell
Arquillian in a nutshellArquillian in a nutshell
Arquillian in a nutshell
 
Ansible 2 and Ansible Galaxy 2
Ansible 2 and Ansible Galaxy 2Ansible 2 and Ansible Galaxy 2
Ansible 2 and Ansible Galaxy 2
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
 
An introduction to maven gradle and sbt
An introduction to maven gradle and sbtAn introduction to maven gradle and sbt
An introduction to maven gradle and sbt
 
D Baker - Galaxy Update
D Baker - Galaxy UpdateD Baker - Galaxy Update
D Baker - Galaxy Update
 
Toolfactory foam mar21_2013
Toolfactory foam mar21_2013Toolfactory foam mar21_2013
Toolfactory foam mar21_2013
 
Horizontal scaling with Galaxy
Horizontal scaling with GalaxyHorizontal scaling with Galaxy
Horizontal scaling with Galaxy
 
ClojureScript - Making Front-End development Fun again - John Stevenson - Cod...
ClojureScript - Making Front-End development Fun again - John Stevenson - Cod...ClojureScript - Making Front-End development Fun again - John Stevenson - Cod...
ClojureScript - Making Front-End development Fun again - John Stevenson - Cod...
 
Idiomatic gradle plugin writing
Idiomatic gradle plugin writingIdiomatic gradle plugin writing
Idiomatic gradle plugin writing
 
Extend Eclipse p2 framework capabilities: Add your custom installation steps
Extend Eclipse p2 framework capabilities: Add your custom installation stepsExtend Eclipse p2 framework capabilities: Add your custom installation steps
Extend Eclipse p2 framework capabilities: Add your custom installation steps
 

Mais de Enis Afgan

GCC 2014 scriptable workshop
GCC 2014 scriptable workshopGCC 2014 scriptable workshop
GCC 2014 scriptable workshop
Enis Afgan
 
CloudMan workshop
CloudMan workshopCloudMan workshop
CloudMan workshop
Enis Afgan
 

Mais de Enis Afgan (13)

Federated Galaxy: Biomedical Computing at the Frontier
Federated Galaxy: Biomedical Computing at the FrontierFederated Galaxy: Biomedical Computing at the Frontier
Federated Galaxy: Biomedical Computing at the Frontier
 
From laptop to super-computer: standardizing installation and management of G...
From laptop to super-computer: standardizing installation and management of G...From laptop to super-computer: standardizing installation and management of G...
From laptop to super-computer: standardizing installation and management of G...
 
Endofday: A Container Workflow Engine for Scalable, Reproducible Computation
Endofday: A Container Workflow Engine for Scalable, Reproducible ComputationEndofday: A Container Workflow Engine for Scalable, Reproducible Computation
Endofday: A Container Workflow Engine for Scalable, Reproducible Computation
 
2016 07 - CloudBridge Python library (XSEDE16)
2016 07 - CloudBridge Python library (XSEDE16)2016 07 - CloudBridge Python library (XSEDE16)
2016 07 - CloudBridge Python library (XSEDE16)
 
2017.07.19 Galaxy & Jetstream cloud
2017.07.19 Galaxy & Jetstream cloud2017.07.19 Galaxy & Jetstream cloud
2017.07.19 Galaxy & Jetstream cloud
 
Resource planning on the (Amazon) cloud
Resource planning on the (Amazon) cloudResource planning on the (Amazon) cloud
Resource planning on the (Amazon) cloud
 
The pulse of cloud computing with bioinformatics as an example
The pulse of cloud computing with bioinformatics as an exampleThe pulse of cloud computing with bioinformatics as an example
The pulse of cloud computing with bioinformatics as an example
 
Cloud computing and bioinformatics
Cloud computing and bioinformaticsCloud computing and bioinformatics
Cloud computing and bioinformatics
 
Galaxy CloudMan performance on AWS
Galaxy CloudMan performance on AWSGalaxy CloudMan performance on AWS
Galaxy CloudMan performance on AWS
 
IRB Galaxy CloudMan radionica
IRB Galaxy CloudMan radionicaIRB Galaxy CloudMan radionica
IRB Galaxy CloudMan radionica
 
GCC 2014 scriptable workshop
GCC 2014 scriptable workshopGCC 2014 scriptable workshop
GCC 2014 scriptable workshop
 
Data analysis with Galaxy on the Cloud
Data analysis with Galaxy on the CloudData analysis with Galaxy on the Cloud
Data analysis with Galaxy on the Cloud
 
CloudMan workshop
CloudMan workshopCloudMan workshop
CloudMan workshop
 

Último

Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
PirithiRaju
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
Sérgio Sacani
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
AlMamun560346
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Sérgio Sacani
 
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
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
Sérgio Sacani
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
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
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
gindu3009
 

Último (20)

Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
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...
 
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
 
VIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C PVIRUSES structure and classification ppt by Dr.Prince C P
VIRUSES structure and classification ppt by Dr.Prince C P
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
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
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
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...
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 

Adding Transparency and Automation into the Galaxy Tool Installation Process

  • 1. Adding Transparency and Automation into the Galaxy Tool Installation Process Enis Afgan Johns Hopkins University Galaxy Team Galaxy Admins Web Meetup August 20, 2015.
  • 2. Outline • Installing tools in bulk (i.e., Automation) • Keeping up with what’s installed on Main & Test (i.e., Transparency) • Retrieving the toolset from a Galaxy instance [coming]
  • 3. A common question: “How can I replicate[the toolset from] Galaxy Main?” Answer: By hand; perhaps via the API; recently, inspect the usegalaxy-playbook
  • 4. A more general question: How do I install dozens or hundreds or tools? Answer: With a lot of clicks.
  • 5. Ansible anatomy An example task: Playbook Role  A Role  B Task  1 apt-get update Task  2 curl url - name: Install required system packages apt: pkg={{ item }} state=latest with_items: - ansible - automake - …
  • 6. Ansible role: Galaxy Tools Automate installation of tools from a Tool Shed into Galaxy 1. A list of tools in a dedicated YAML file • Readily editable, can specify required level of details 2. A tool installation script reads the tools file and performs the installation • Idempotent, command line options for installing tools individually github.com/galaxyproject/ansible-galaxy-tools
  • 7. The tools list file tools: - name: synapse_interface owner: kellrott tool_panel_section_id: peak_calling - name: fastqc owner: devteam tool_panel_section_id: cshl_library_information tool_shed_url: https://testtoolshed.g2.bx.psu.edu revisions: - '8c650f7f76e9' # v0.62 - 'd2cf2c0c8a11' # v0.63 Required fields
  • 8. The tool installation script • An option to create (and delete) a bootstrap Galaxy user galaxy_tools_create_bootstrap_user: yes galaxy_tools_delete_bootstrap_user: yes • Can be used standalone to install individual tools • Useful for dev and testing but should not be the default use (we’ll see why in the coming slides) $ cd files $ python install_tool_shed_tools.py –g g_url –a key --name X --owner Y --section Z
  • 9. Using the Galaxy Tools role A ready-to-use playbook is available at github.com/afgane/galaxy-tools-playbook • Clone and edit the tools file; run Galaxy instance will be populated with the desired toolset – as long as the tools install properly, you’re all set. $ git clone --recursive git@github.com:afgane/galaxy-tools-playbook.git # Provide a list of tools in files/tool_list.yaml $ ansible-playbook tools.yml -i "localhost," --extra-vars galaxy_tools_api_key=<key>
  • 10. Commit the tools file and have a 1. A track-record of the installedtools 2. A repeatableGalaxy setup
  • 11. Support for Galaxy Flavors Create tailored instances of the tools file, each with a focus on differenttype of analysis (Community effort?) Galaxy-core RNA-Seq ChIP-Seq GVL tutorial Smith lab My dev box
  • 12. Adding transparency Tools on Main and Test were installedsporadicallyand by hand, so no insight or feedback on when and what has changed. In the future, tools will be installedexclusivelyvia the Galaxy Tools role Commit changes to the tools file Run usegalaxy-playbook Track record & insight into updates
  • 13. Still work in progress… Main toolset Test toolset github.com/galaxyproject/ansible-galaxy-tools/tree/master/files
  • 14. Populating the tools file • For existing Galaxy instances, populating the tools file is a tedious manual process • Need ascript to inspectthe toolset and generate the tools file • Technically, should be possible with the nextGalaxy release Work in progress: github.com/galaxyproject/ansible-galaxy- tools/blob/master/files/install_tool_shed_tools.py#L205
  • 15. Ansible stack -> consistent experience galaxy-os cloudman-image usegalaxy- playbook cloudman-setup* galaxy-extras galaxy-tools Static Cloud VM Docker planemo- machine docker-stable * Not a single role
  • 16. Fire-and-forget obstacles • Tools fail to install cleanly • Delay between the tool repos and what’s in the Tool Shed • Tool panelsections must existin Galaxy before tool installation (no API to create those)