Skip to main content

Connecting to a GA4GH WES server

Server Connection

To connect IRIDA Next to a GA4GH Server, you will need to edit your rails credentials file. This file is encrypted so secret tokens are secure.

Edit your production credentials file with the following command.

EDITOR="vim --nofork" bin/rails credentials:edit --environment production

Read more about the rails credential file here

The following fields can be set.

ga4gh_wes:
server_url_endpoint: 'https://<some server url>/wes/1.01/'
oauth_token: <some oauth token>
headers: { '<some header key>': '<some header value>' }

Only server_url_endpoint is required by default, but depending on your GA4GH WES server configuration the other fields may also be required.

server_url_endpoint: *Required

Set the server endpoint.

When this is set, make sure to include the full endpoint. e.g. https://subdomain.domain.tld/wes/1.01/

Example: If your endpoint for getting the Service Info path is localhost:1122/service-info, your endpoint is localhost:1122

oauth_token: *Optional

Bearer token for OAuth 2.0

If your GA4GH WES server is using OAuth 2.0 for authentication, this field is required.

headers: *Optional

Can be used to set new headers and override existing REST API headers.

This allows for additional authentication or server settings for your specific deployment of GA4GH WES.

Data Storage

GA4GH WES and IRIDA Next must have a data directory (or equivalent cloud storage system) which both services can access.

For configuring your storage service, see this guide.

Workflow Execution clean up

IRIDA Next is designed to clean up intermediate files once a workflow has been completed. To do this it must have permission to delete files generated by GA4GH WES.

The files follow this structure.

storage_directory/
├── <some blob id>/
| ├── <various files>
| ├── input/
| │ └── <various files generated by IRIDA Next>
| └── output/
| └── <various files generated by GA4GH WES>
├── <some other blobs>

After a workflow execution has completed, all files in the <some blob id> directory should be deleted. If you see that the <some blob id>/output/ files remain, you need to give the IRIDA Next process permission to delete the files in the file storage.

Development

For the guide on setting up a GA4GH WES server for IRIDA Next development purposes, see this guide.