-
-
Notifications
You must be signed in to change notification settings - Fork 231
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
CWL document resolver via GA4GH tool API #201
CWL document resolver via GA4GH tool API #201
Conversation
@tetron FYI, looks like something has gone wrong stylistically with the merge from master |
@denis-yuen The conformance tests are failing: https://ci.commonwl.org/job/cwltool-pr-conformance/275/console |
@mr-c Yeah, just got travis satisfied. Looks like Jenkins is next if I can figure this out. |
Looks useful to me, shall I update the branch and merge? |
@denis-yuen FYI, I think you have permissions to create branches on this repo directly |
@mr-c Ah ok, thanks. |
Hi @denis-yuen can you update this PR? |
@tetron FYI, done |
Hey @denis-yuen thank you for this contribution! The documentation at the top should be added to the readme as a general section about resolving the location of referenced documents, with a link to http://www.commonwl.org/v1.0/CommandLineTool.html#Discovering_CWL_documents_on_a_local_filesystem Specifically it must be clearly explained that the reference implementation will try to contact dockstore.org if the document can't be found locally; likewise there should be a switch to skip dockstore.org resolution for privacy preservation. Also,
|
FYI @tetron , I may need you (or someone more pythony) to finish off this since my Python knowledge is lacking. |
@denis-yuen I'll fix the types for you |
@denis-yuen A few questions: Can you help me understand the value in a dockstore.org specific resolver when we already support any HTTP[S] IRI? What's the benefit of typing:
(which works today, and won't need the
? As an end user I'm not likely to want to type As a shortcut, the user's input object (which really should be YAML not JSON for readability) can include a |
@mr-c As for whether copy-and-paste is sufficient, I think @tetron 's intent from the original commit was that this is more meant for ease-of-use, so that someone can go to the dockstore site and copy just Oh, I was not aware of that last short-cut. Could you point me to an example in the user guide or similar? |
|
This has been moved to #314 |
I reckon I've been CC'd here by mistake, which means you might be missing a On Tue, Nov 15, 2016 at 3:20 AM, Common Workflow Language project bot <
|
@mrc Sorry, typo'd my own username :-) |
@mr-c FYI, sounds reasonable, but it may take some time before I can get to it. |
Hehe no worries. On Wed, Nov 16, 2016 at 12:40 AM, Michael R. Crusoe <
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tetron
Since the GA4GH tool registry API is getting more stable, is your thinking that we should just merge this w/o a resolver plugin as discussed in #201 (comment) ?
@mr-c I don't object to implementing a proper plugin framework. That would provide a much better solution to configuring the various extension points than the ad-hoc current approach. However I have limited bandwidth so my personal preference would be to go ahead and merge the feature as-is and refactor later. Do you have any experience / opinions on plugin frameworks for Python that we can use? |
README.rst
Outdated
@@ -86,3 +86,16 @@ documents using absolute or relative local filesytem paths. If a relative path | |||
is referenced and that document isn't found in the current directory then the | |||
following locations will be searched: | |||
http://www.commonwl.org/v1.0/CommandLineTool.html#Discovering_CWL_documents_on_a_local_filesystem | |||
|
|||
Use with Dockstore |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All references to Dockstore need to be replaced with "the GA4GH Tool Registry API"
At some point there should be a link to https://github.com/ga4gh/tool-registry-schemas#what-is-the-tool-registry-api-schema
Dockstore.org should still be mentioned as it is the default backend
cwltool/main.py
Outdated
dest="enable_tool_registry", default=True) | ||
|
||
parser.add_argument("--add-tool-registry", action="append", help="Add a tool registry to use for resolution, default %s" % tool_registries, | ||
dest="tool_registries", default=[]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The help text for all three of theses needs to mention what kind of tool registry; in this case it is "a GA4GH compliant tool registry"
See ga4gh/tool-registry-service-schemas#17 for a discussion on this
@tetron Sure, we can merge as soon as the docs and help for the new command line flags in the PR are brought up to date with the latest changes (which center the GA4GH API and use Dockstore as the exemplar default) As for plugins, I've expanded my comment above into #314 |
Conflicts: cwltool/main.py
Conflicts: README.rst
I think this branch is well baked at this point, so I'm going to merge it at the next opportunity. |
This allows cwltool to launch tools from https://dockstore.org/ in one of two ways
and
Grab the test.json (and input file) from https://github.com/CancerCollaboratory/dockstore-tool-bamstats