How to set up a WDL on Github/Dockstore

Yashasvika Duggal
  • Updated

Learn how to upload your WDLs to GitHub/Dockstore. Dockstore and GitHub are popular platforms for sharing workflows. Integration with Terra makes it easy to import workflows from these repositories.

1.1. Launch github.com and create a new public Github repository (Terra doesn’t currently support private dockstore WDLs). Include a README file when creating the new repository.
create_a_new_repository_on_github.png

1.2. Upload a new workflow (and test any parameter files) or modify an existing one (screenshot below).

Find the Github repository with the WDL(s) to modify and fork the repository into the appropriate organization
fork_existing_repo.png

1.3. Go to the "My workflows" tab on Dockstore.

Note: Registering for dockstore with your github account makes it easier to sync up repositories

1.4. Click the plus sign to register a workflow and register using GitHub Apps

register_a_workflow_dockstore.png

1.5. On the register workflow tab, click Manage Dockstore installations on Github.

What you will see

manage_dockstore_installations_on_github.png

1.6. Add your workflow to the appropriate repository. You have the choice to add it to all repositories under your account (including future repositories) or in select repositories only.

1.7. Check that your GitHub repository has a .yml file. If it doesn't, you will need to create one.

.yml files must include the following

  • Version 1.2
  • Name is optional if there's only one WDL, but required for multiple workflows.
  • subclass: WDL is required
  • Test parameter files are optional

Example .yml file

  version: 1.2
  workflows:
  name: example_1
    subclass: WDL
    primaryDescriptorPath:/assoc-aggregate/assoc-aggregate.wdl
    testParameterFiles:
      - /assoc-aggregate/assoc-aggregate-terra-allele.json
  name: example_2
    subclass: WDL
    primaryDescriptorPath: /assoc-aggregate/assoc-aggregate.wdl
    testParameterFiles:
      - /assoc-aggregate/assoc-aggregate-terra-position.json

1.8. Make a new commit on your Github repo with the .yml file present. This can be as simple as editing the README.

When you create a new repository on Dockstore it won’t be published by default. To publish a workflow, find the workflow under your account.

1.9. Go to Versions tab and use the Actions button to select a Default version.
set_default_publish.png

1.10. Click Publish it to make it publicly viewable and exportable to Terra.

1.12. View the workflow info page and use the button right to launch with Terra.

launch_with_terra_from_dockstore.png

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.