Skip to content
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

Nipype 1 and 2 #42

Open
2 tasks
satra opened this issue Dec 21, 2018 · 5 comments
Open
2 tasks

Nipype 1 and 2 #42

satra opened this issue Dec 21, 2018 · 5 comments
Milestone

Comments

@satra
Copy link
Contributor

satra commented Dec 21, 2018

This is more for Nipype 2.0, but i'm sticking it here for now and for 0.1 release. We should push for this once the other 0.1 tasks are done, especially consolidation of the specs API.

  • Create a separate project for a nipype 1 to 2 workflow converter.
  • Export Nipype 1.0 interfaces to Pydra Task/Node specs
@satra satra added this to the 0.2 milestone Aug 18, 2019
@dPys
Copy link

dPys commented Aug 29, 2019

@satra -- Regarding the nipype 1 to 2 workflow converter, is anyone working on this? I'd also be happy to help with that whenever you think pydra is ready for it.

@satra
Copy link
Contributor Author

satra commented Aug 29, 2019

@dPys - would love some help. there are a few problems to solve:

  1. very short term

one could create a new function nipype1topydratask that would take any Nipype interface and turn it into a pydra task (this has a few things that will need to be thought through, and perhaps at least a few people discussion to iron out a path)

if this function existed, then a nipype workflow could be written out as a pydra flow without too much trouble. all the other semantics map to pydra pretty easily.

related to this is an augment of ShellCommandTask to support better input and output specification. @djarecka and i discussed this, and could be developed after neuroinformatics congress.

another option would be to use pure python workflows (e.g., if you are just working with dipy), and this would already work.

  1. medium term

this would involve meta specification support #36, #37 and more generally a nipype 1 interface, nextflo interface/workflow specification translator. some of this exists with nipype2boutiques. i see this as being a place that could make a big difference towards interoperability across these meta languages.

also in this time frame would be some level of resource management, which is currently missing and would be essential for many real world workflows.

  1. long term. convert and optimize a nipype1 workflow using pydra's concepts automatically.

@dPys - did you go through the pydra notebooks? if so please post any comments in #147

@dPys
Copy link

dPys commented Aug 30, 2019

@satra -- thanks for the updates. It sounds like conversion in pure-python might be the best starting point then? Will work on nipype1topydratask and post in this thread when I have a prototype that I'm happy with.

As for resource management, I'd be willing to work on this aspect over the coming months, particularly since I believe this is where pydra could really shine. On the one hand dask could help a lot, but I'm guessing you'd preferably want pydra to have its own graph scheduler that feeds off of the DAG + runtime statistics provided through Audit?

I have gone through all of the tutorials, and didn't run into any major issues, but will post to #147 if I think of anything new.

FYI: my long-term plan is to revamp PyNets with pydra once a clean internal scheduler is underway.

@dPys

@dPys
Copy link

dPys commented Sep 13, 2019

@satra -- please let me know if we are on the right track with nipype1topydratask. @anibalsolon and I put this prototype together at a minihack this afternoon :-)

@dPys

@satra satra modified the milestones: 0.2, interface support Nov 26, 2019
@satra satra modified the milestones: 0.4 - Leap day release, 0.5 - Fool's day release, 0.4 - Fool's day release, 0.5 May Day Mar 3, 2020
@djarecka djarecka modified the milestones: 0.5 May Day, 0.6 - June bug May 4, 2020
@satra satra modified the milestones: 0.7 - julius , 0.8 - agosto Jul 8, 2020
@djarecka djarecka modified the milestones: 0.8 - agosto, septiembre Sep 10, 2020
@djarecka
Copy link
Collaborator

djarecka commented Oct 29, 2020

@dPys @anibalsolon - in case you haven't seen the discussion in #171, we will have a meeting tomorrow at 9am EDT, your feedback would be great if you can join. I will also post notes from the meeting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants