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
CQ10 - Tool wrappers #18
Comments
Would using softwareRequirements coupled with { "@id": "foo.cwl",
"@type": "SoftwareApplication",
"name": "CWL wrapper of Foo",
"programmingLanguage": {"@id": "https://w3id.org/workflowhub/workflow-ro-crate#cwl"},
"softwareRequirements": [
{"@id": "http://example.com/foo"},
{"@id": "http://python.org/"}
],
"mainEntity": {"@id": "http://example.com/foo"}
},
{
"@id": "http://example.com/foo",
"@type": "SoftwareApplication",
"name": "Foo application"
},
{
"@id": "http://python.org/",
"@type": "SoftwareApplication",
"name": "Python language"
},
{
"@id": "https://w3id.org/workflowhub/workflow-ro-crate#cwl",
"@type": "ProgrammingLanguage",
"name": "Common Workflow Language"
} |
I like this. I guess that gathering the required metadata programmatically would be very hard in general, though. The tool might not even be the first token in the command line (e.g., |
Commented in the meeting minutes today, adding here for posterity too. StackStorm allow workflow devs to create Actions for commands, such as
I think this, and maybe AirFlow operators, could serve as options to compare how tool wrappers are used in workflows. -Bruno |
As discussed at the 2023-02-16 meeting, in CWL, workflow devs can make things easier by specifying the SoftwareRequirement hint, which could be used to fill in Note that the "main dependency" would still not provide information on the wrapped executable. For instance, the equivalent of the CWL example linked above would be: {
"@id": "interproscan.cwl",
"@type": "SoftwareApplication",
"name": "CWL wrapper of InterProScan",
"softwareRequirements": [
{"@id": "https://identifiers.org/rrid/RRID:SCR_005829"}
],
"mainEntity": {"@id": "https://identifiers.org/rrid/RRID:SCR_005829"}
},
{
"@id": "https://identifiers.org/rrid/RRID:SCR_005829",
"@type": "SoftwareApplication",
"name": "InterProScan",
"softwareVersion": "5.21-60"
} Where there's no equivalent of |
In Workflow Run Crates, to use |
Expected values for softwareRequirements are of type Text or URL, but not another SoftwareApplication. I guess we need to extend the target via ro-terms. |
What is the script used to wrap up a software component?
We're mapping tool wrappers (e.g.,
foo.cwl
) to SoftwareApplication. Wrappers at lower levels can also beSoftwareApplication
, but we need to draw the line somewhere (related to container image).The text was updated successfully, but these errors were encountered: