-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support passing TRS URIs to workflow_url #175
Comments
If a workflow is a file then DRS would be usable for this TRS use case as it stands. DRS can handle any payload* Versioning was/is a DRS concern but you wouldn't find much about it in the spec. That's intentional as it was determined to mostly be a separate concern. There are ways its dealt with, but beyond a quick response like this to detail them. *That's not to say there aren't still issues with how DRS indicates payloads of different types. |
@ianfore Sure, we can discuss whether |
@uniqueg I think this is currently left up to individual implements to decide. I agree with you that TRS was specifically designed to solve the problems so in an interconnected GA4GH world it makes sense that any WES should be able to accept a TRS URI as the workflow description. I think it also promotes sharing best practices workflows where possible (Ie validated dockstore workflows) instead of relying on having to define them always yourself. Building this ga4gh ecosystem out so that everything flows naturally into one another is a great idea. As for DRS, I would say I do not see anyhting wrong with idea conceptually, but maybe we can open another issue for that specifically? |
Thanks @patmagee. Indeed, a WES currently can implement it - as we have done for WESkit. So is option (1) in the OP your preference? Because the rest of what you write more goes towards option (2), or even with (3) as a perspective for a future major release? |
Current situation
Similar to DRS URIs, TRS URIs have been proposed to be used as unique identifiers for resources on TRS services, which may include workflows (note the open PR for adding versioned TRS URIs to identify a specific tool/workflow version).
AS TRS offers ways of fetching all files associated with a workflow (descriptors, test files, other files), passing a versioned TRS URI should be sufficient to enable a workflow engine fetch a workflow from a TRS instance. To my current knowledge, the current specs do not specifically forbid the use of
trs://
schema URLs/URIs, so the point of this issue is to discuss if, in an effort to increase crosslinks between GA4GH Cloud API specs, we should specifically recommend or even mandate WES implementations to support TRS URIs.Available options
I will start this discussion by adding some advantages/disadvantages for each scenario:
Of course, an option would be to recommend this in a future minor WES release, then mandate it in the next major release (which would be my own preference, and I'd be happy to provide a PR for recommending the use of TRS URIs once this issue has had some feedback or ideally consensus).
Implementations
For more context, WESkit (a WES implementation for Snakemake and Nextflow) is currently implementing this here. There is also a Python-based TRS client library that people may find useful if they want to implement TRS support in Python-based WES implementations (we may add a command-line version, too, if there's some demand).
The text was updated successfully, but these errors were encountered: