-
Notifications
You must be signed in to change notification settings - Fork 535
[WIP] ENH: Add support for building interfaces from Boutiques specs #2704
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
Conversation
I'm somewhat inclined to target Nipype 2.0 for this, but I don't know that there's anything that will be made particularly easier by dropping Python 2 support. |
thanks @effigies - targeting 2.0 is fine with me. this will be a good sprint item to finalize, together with CWL support. |
Just as a note, most of the reason for creating the |
6d5c0c0
to
c181c93
Compare
cc: @glatard |
Adds support for dynamic parsing of boutiques output-files spec. Unfortunately, boutiques does not support specification of which input options will lead to the generation of specific output files, so _all_ output files are being specified. This will likely lead to some problems down the road, and might be worth suggesting to the boutiques team as a future enhancement of their schema.
Rather than assigning to self.inputs or self.outputs, BoutiqueInterface will actually generate subclasses of DynamicTraitedSpec (so that things like .help() might eventually work).
Generating an instance of BoutiqueInterface now allows for .help() to generate pretty help text using standard nipype machinery.
Better file handling (existence checking, output aggregating) for BoutiqueInterface
Adds example to BoutiqueInterface and makes some minor updates to input spec handling.
ENH: Parse Boutiques output structure
Codecov Report
@@ Coverage Diff @@
## dev/2.0 #2704 +/- ##
===========================================
- Coverage 64.41% 63.59% -0.83%
===========================================
Files 338 336 -2
Lines 42879 42851 -28
Branches 5363 5391 +28
===========================================
- Hits 27620 27249 -371
- Misses 14218 14514 +296
- Partials 1041 1088 +47
Continue to review full report at Codecov.
|
Checks that input/output spec was generated and that calls to .help() returns a string
FIX/TEST: Fixes minor bugs in BoutiqueInterface
Summary
Initial support for dynamically constructing Nipype interfaces from Boutiques specifications
List of changes proposed in this PR (pull-request)
BoutiquesInterface
class with dynamic input/output specs"inputs"
section of a passed spec"output-files"
section of a passed specMultiProc
, to ensure proper serialization/deserializationcc @gkiar @leej3
Acknowledgment