Open effigies opened 4 years ago
i think specialized tasks could have their own package, but i think pydra should have some basic notion of a generic script executor whether python/r/octave/matlab or anything else. perhaps along snakefile or cwl lines. tell me how to create the commandline for you and how to grab/glob outputs from named ports.
In Nipype 1.x, we have the
MatlabCommand
interface, for running MATLAB scripts.More broadly, we can think of this as a foreign function interface (FFI) that allows us to pass values to a node, which are converted to the input form expected by the foreign function, and run with that scripting engine/interpreter.
I think we can aim for something broad, like
ForeignFunctionTask
, that could be easily subclassed intoRTask
,MatlabTask
(possibly a separateOctaveTask
?),JuliaTask
or whatever scripting language people need. I would suggest the base class go here, andMatlabTask
go in something likepydra-matlab
.