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

Automatise your processing pipelines with nipype / pydra #51

Open
2 tasks done
davidmeunier79 opened this issue Oct 25, 2022 · 6 comments
Open
2 tasks done

Automatise your processing pipelines with nipype / pydra #51

davidmeunier79 opened this issue Oct 25, 2022 · 6 comments

Comments

@davidmeunier79
Copy link
Contributor

davidmeunier79 commented Oct 25, 2022

Title

Automatise your processing pipelines with nipype / pydra

Leaders

David Meunier :
Twitter: https://twitter.com/DavidM0579
Mattermost: @david.meunier https://mattermost.brainhack.org/brainhack

Collaborators

To fill at the end

Brainhack Global 2022 Event

Brainhack Marseille

Project Description

Neuroimaging and electrophysiology processing requires many steps, calling different softwares, possibly in different languages (typically, matlab batches or shell scripts).

Nipype has provided an integrative solution, with a sufficient level of complexity to cover most of the needs for writting pipelines in neuroimaging. It is based on the notion workflows, being an orderd succession of nodes, linking inputs and outputs. Nodes can be user-written function (in python), interfaces with existing softwares (e.g. FSL, AFNI or SPM), or even other user-defined sub-workflows.

Nipype is at the base of many widely used docker images, such as fmriprep and qsiprep. And has been extendend for other applications, such as EEG/MEG processing (ephypype), graph analysis in functional connectivity (graphpype) or non-human primate anatomical MRI segmentation (macapype).

Nipype has now achieved a degree of maturity to have become predominant in the community. But some of the limitations still prevails. It has decided in the last years to rewrite the core engine of nipype, to incorporate new functionnalities, such as runnnig containers as one node. The new implementation will be called pydra, and also still in its infancy, we expect it to become a major standard in the community.

Link to project repository/sources

Nipype:
https://github.com/nipy/nipype

Pydra:
https://github.com/nipype/pydra

Related projects:
https://github.com/Macatools/macapype
(potentially)
https://github.com/neuropycon/ephypype
https://github.com/neuropycon/graphpype

Goals for Brainhack Global

In this project, we propose :

  • to give an overview of how nipype works
  • to advise you if it is useful for your typical processing,
  • to help writting specific nodes or workflows dedicated to your processing.

For advaced users, We also propose:

  • to explain the advances of pydra compaired to nipype
  • to write some tools existing in nipype in pydra.

Good first issues

  • write an interface of your own python function
  • build your own very simple processing pipelines with 2 nodes (possibly with your onw function) and one connection using pyBIDS inputs
  • convert an existing pipeline from nipype to pydra

Communication channels

https://mattermost.brainhack.org/brainhack/channels/bhg22-marseille-auto-nipype-pydra

Skills

Neuroimaging/electrophysiology processing: 100%
Shell Script / Matlab Batch: 75%
Python: 50%
Nipype: 25%

Onboarding documentation

https://macatools.github.io/macapype/contribute.html

What will participants learn?

Writing easily modifiable and reusable pipeline;
Contributing to reproducible science

Data to use

None

Number of collaborators

1

Credit to collaborators

Starting a new pydra-based project will be rewarded as a main contributor to the project, and possibly as an author on a subsequent prospective (methological) article.
Working on your pipeline will be rewarded as your own github project.

Image

graph

Type

pipeline_development

Development status

0_concept_no_content

Topic

reproducible_scientific_methods

Tools

Nipype

Programming language

Python

Modalities

fMRI

Git skills

2_branches_PRs

Anything else?

Testing is project template is directly usable on the website BrainHack Marseille 2022,
Subject to modification.

Things to do after the project is submitted and ready to review.

  • Add a comment below the main post of your issue saying: Hi @brainhackorg/project-monitors my project is ready!
  • Twitter-sized summary of your project pitch.
@davidmeunier79
Copy link
Contributor Author

@Brainhack-Marseille

@davidmeunier79
Copy link
Contributor Author

Hi @brainhackorg/project-monitors my project is ready!

We need to test if everything is matching for our own Brainhack-Marseille event, but we need to see how it works after your approval! Thanks

@Remi-Gau
Copy link
Member

Things look good to me but I am unsure whether this is a project within macapype or something more generic where the aim is to contribute back to pydra or something else. Or maybe I misread it.

@davidmeunier79
Copy link
Contributor Author

@Remi-Gau Indeed it is more than macapype or neuropycon; if people come with shell or matlab scripts the idea would be to help them to build nipype pipeline from it; if people are skilled in nipype already, there is room for working on nipype-> pydra conversion. Does that make sense to you?

@Remi-Gau
Copy link
Member

Remi-Gau commented Nov 8, 2022

yup makes sense to me!

@Remi-Gau
Copy link
Member

Remi-Gau commented Nov 8, 2022

@davidmeunier79

Your project is on the website: https://brainhack.org/global2022/projects/

@Remi-Gau Remi-Gau added the marseille_fra Marseille event label Nov 8, 2022
@Remi-Gau Remi-Gau changed the title Testing project "Automatise your processing pipelines with nipype / pydra" for Brainhack Marseille template compatibility Automatise your processing pipelines with nipype / pydra Nov 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment