feat: Add initial support for DRS inputs/outputs (drs://) - #24
Conversation
drs://)drs://)
809d029 to
d088704
Compare
928e15d to
6b6c8ad
Compare
Assisted-by: Claude:claude-sonnet-4-5 Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
…here. (#29) Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
Signed-off-by: Venkat Malladi <vsmalladi@gmail.com> Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
…here. (#29) Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
* Fix for az path normalization.
Signed-off-by: Venkat Malladi <vsmalladi@gmail.com>
* fix: add missing 'type' field to task outputs
Fixes TES 422 validation error when submitting tasks. Output objects
must include a 'type' field ('FILE' or 'DIRECTORY') per TES spec.
---------
Signed-off-by: Venkat Malladi <vsmalladi@gmail.com>
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
6b6c8ad to
6d7274a
Compare
Signed-off-by: Liam Beckman <lbeckman314@gmail.com>
|
Important Note to Self: Review the following 🔮 How
|
Overview 🌀
This PR adds initial support for using DRS URIs as inputs/outputs in Nextflow workflows!
Current Behavior⚠️
drs://URIs are not recognized as valid input/output:example.nfworkflow { align(file("drs://drs.example.org/object-id")) // <---- Fails with `drs:// is an unknown scheme` error }New Behavior ✔️
drs://URIs are resolved automaticallydrs.accessTokeninnextflow.configexample.nfworkflow { align(file("drs://drs.example.org/object-id")) // <---- nf-ga4gh resolves the DRS URI and streams the object }DRS Tests 🧪
Tested against a local Syfon DRS server backed by MinIO.
1. Run MinIO
2. Start Syfon
local.yaml3. Upload a test object
4. Build + install the plugin
5. Run a workflow that consumes the DRS object
nextflow.configplugins { id 'nf-ga4gh@1.4.2-rc.1' } drs { metadataScheme = 'http' // <---- Local Syfon serves plain HTTP }test-drs.nfBreaking Changes? ❌
Next Steps ⚙️