1 of 31

Building a Galaxy workflow community

Slides @https://bit.ly/iwc-egd

Marius van den Beek, Matthias Bernt, Simon Bray, John Chilton, Ignacio Eguinoa, Wolfgang Maier, Aysam Guerler, Simone Leo

2 of 31

Workflows in Galaxy

  • Fastest and most reliable way to do an analysis
  • Encodes every parameter for every step
  • A lot of knowledge and trial & error in each workflow
  • Easy to get started
  • Can be generated from analysis history
  • Running a workflow is easier than running a tool

3 of 31

The status quo

  • Copy and paste for different applications
    • Repeatedly building the same workflow
  • Built-in workflow sharing limited to same Galaxy server
    • Is a workflow on different servers really the same ?
  • Hardcoded parameters and references
  • Very powerful, many advanced features
    • Collections, Subworkflows, Expression Tools, Reports underused
  • Few workflows are tested in continuous integration [CI]
  • No “official” versions
  • No changelogs

4 of 31

How can we improve the situation ?

  1. A (central) repository to collect workflows
  2. Define and run workflow tests
  3. Define workflow versions
  4. Conventions and standards for metadata
  5. Domain expert contributors
  6. Workflows ! :)

5 of 31

Inspiration from tools-iuc

and many other community repositories!

https://github.com/galaxyproject/awesome-galaxy

6 of 31

Inspiration from tools-iuc

and many other community repositories!

https://github.com/galaxyproject/awesome-galaxy

7 of 31

Inspiration from tools-iuc

IUC Goals:

  • Determine & refine best-practices
  • Guide authors in tool development
  • Provide training
  • Advocate for new tool-related features in Galaxy
  • Develop testing infrastructure

8 of 31

The IWC repository

9 of 31

Workflow testing

  • Planemo is the Galaxy Tool and Workflow SDK
    • planemo test <tool.xml|workflow.ga>
  • Unify tool and workflow testing with galaxyproject/planemo-ci-action
  • Workflow tests run in github workflow
    • No need for extra architecture (Jenkins)
    • Everyone can run these tests
    • Not targeted to a specific Galaxy server
    • Access to all logs
    • All tools run in docker
    • Can target multiple Galaxy versions
  • Workflows have access to cvmfs for tools and data

10 of 31

Periodic Workflow testing

LifeMonitor - Simone Leo

11 of 31

Workflow testing against new releases

12 of 31

Workflow testing in PRs

13 of 31

Deposition of workflows

14 of 31

Versioning of workflows

15 of 31

Versioning of workflows

16 of 31

Automated workflow updates

Simon Bray

17 of 31

Running an IWC workflow

18 of 31

Running an IWC workflow

19 of 31

Contributing

20 of 31

What do you gain by publishing workflows on the IWC ?

  • Proper git releases of individual workflows
    • for each new version
  • Credit (in workflow metadata, dockstore + workflowhub, DOI)
  • Tests against new Galaxy releases
  • Automated updates
  • Review for common issues
  • A place to receive comments and updates

  • A static page for each workflow
  • Benchmarks and resource requirements
  • RO-crates with example invocations

Soon (tm)

Today

21 of 31

Future Plans

  • WIP: Graphical preview of workflow changes in PRs
  • Workflow invocation to github PR
  • Improved diff for reviews - gxformat2 + stable step IDs
  • Testing against public servers
  • A static page listing all of our workflows (using hub builds)
  • Benchmarks and resource requirements
  • Template for other organization

22 of 31

Join us! Thanks!

This is a community project, and we need you!

& everyone who has ever created a Galaxy tool!

23 of 31

Bonus Slides

24 of 31

tools-iuc in practice

Pull request

Review & Tests

Revision

Deployment

25 of 31

tools-iuc in practice

Pull request

Review & Tests

Revision

Deployment

26 of 31

tools-iuc in practice

Pull request

Review & Tests

Revision

Deployment

27 of 31

tools-iuc in practice

Pull request

Review & Tests

Revision

Deployment

28 of 31

tools-iuc in practice

Pull request

Review & Tests

Revision

Deployment

29 of 31

tools-iuc in practice

Pull request

Review & Tests

Revision

Deployment

30 of 31

tools-iuc in practice

Pull request

Review & Tests

Revision

Deployment

31 of 31

tools-iuc in practice

Pull request

Review & Tests

Revision

Deployment