Closed kinow closed 1 year ago
Hello @kinow -san, I apologize for the delayed response. This error appears to occur because WfExS-backend.py
is expecting to be able to fetch the file itself at /tools/{id}/versions/{version_id}/{type}/descriptor/{relative_path}
in TRS.
As stated at https://editor.swagger.io/?url=https://raw.githubusercontent.com/ga4gh/tool-registry-schemas/develop/openapi/openapi.yaml, "Descriptors can often include imports that refer to additional descriptors. This returns additional descriptors for the specified tool in the same or other directories that can be reached as a relative path. This endpoint can be useful for workflow engine implementations like cwltool to programmatically download all the descriptors for a tool and run it. This can optionally include other files described with FileWrappers such as test parameters and containerfiles.", the original TRS definition indeed expects that behavior.
However, in yevis, due to the specification that returns TRS responses via GitHub pages, we are unable to implement this behavior. Instead, we're including the download link in the path
of the /files
response.
Given yevis's constraints of not wanting to have a REST API server (or any server resource), this is quite a predicament. Any suggestions on how we could navigate this issue would be much appreciated. (@inutano)
Thanks for the reply @suecharo , no worries about delay :ok_man:
Given yevis's constraints of not wanting to have a REST API server (or any server resource), this is quite a predicament.
Hmm, can't think of any suggestion on how to workaround this issue. Maybe we can just document this for users of the endpoint?
Thanks!
Hi @kinow (and @suecharo) ! If you provide me the WfExS-backend staging declaration file I can try figuring out a way to either detect or circumvent this kind of non-standard case in WfExS code.
Hi @jmfernandez ! :wave:
The WfExS file I used was this one from the top comment:
# file: tests/yevis-test.yaml
trs_endpoint: https://ddbj.github.io/workflow-registry/
workflow_id: 0d2ae4c2-fe4c-48f7-811a-ac277776533e
version: 1.0.0
workflow_config:
secure: false
# All the inputs must be URLs or CURIEs from identifiers.org
params:
outputs:
Not sure if the syntax changed. The last time I tried it it was months ago. I think it'd be useful if you can find a way to circumvent or give some feedback to users about the response not matching the expected standard.
I have just pushed a fix to the main branch of WfExS-backend. Hope this helps!
Thank you @kinow @suecharo and @jmfernandez !! I understand this is the limitation of our strategy to implement a registry with gh pages, a fully static website. I'm closing this, but as @kinow suggested, at least we need to mention this in our documentation. Thanks for your testing and additional contribution @kinow @jmfernandez 🙏 🙏
I am experimenting running WfExS (cc @jmfernandez) with Yevis/DDBJ. Here's what I did so far:
nf-core - rnaseq
.python WfExS-backend.py execute -W tests/yevis-test.yaml
It had failed with an error about
toolclass
vs.tool_class
, already fixed by @suecharo (thanks!).But now it is failing with another error:
Thanks! :+1: