NeuroDesk / neurocontainers

The containers can be used in combination with our transparent singularity or neurocommand tool, that wrap the executables inside a container to make them easily available for pipelines
https://www.neurodesk.org
MIT License
19 stars 49 forks source link

add FLUX: A pipeline for MEG analysis #117

Open stebo85 opened 2 years ago

stebo85 commented 2 years ago

https://neuosc.com/flux/

https://www.sciencedirect.com/science/article/pii/S1053811922001768?dgcid=rss_sd_all

DavidjWhite33 commented 2 years ago

Hi @stebo85, I have been thinking of the best way to integrate FLUX for a while - as it is implemented in Jupyter Notebooks or MATLAB Live Editor using software which are available as neurocontainers (MNE python and Fieldtrip).

The MNE Python-based implementation will be more straightforward to integrate with an updated MNE container, I'll give this a go. I noticed the recent update to the MNE container switches approach to no longer creating the conda environment from the yaml file, but uses the default conda-forge mne environment - is this shift mainly a bug fix or a shift in the approach to the conda envs more generally?

stebo85 commented 2 years ago

Dear @DavidjWhite33

that's wonderful to hear! I think flux would be a super valuable addition!

I was just talking to the Flux developers during Brainhack and they are very keen to get Flux in Neurodesk as well :)

I agree that using the MNE python container would be best to start from, then add fieldtrip and we could run the notebooks in VS code nicely?

Yes, a student of mine switched from the pinned conda environment yaml file to the conda-forge mne environment, but I don't mind which way we use! Do you think the pinned conda yaml is better? I think the student used the conda-forge approach because it was too inconvenient to update the yaml file.

@tghafari did you make any more progress on integrating Flux? Should we have a quick call to coordinate efforts?

DavidjWhite33 commented 2 years ago

Thanks @stebo85 - great to have the FLUX folks keen!

For a 'clean' MNE install, I agree the mne environment from conda-forge is simplest, there are probably two reasons to consider other approaches. The first is that originally I think there was a plan to have a larger 'electrophysiology' environment. The other was to accomodate the additional dependencies of the MNE BIDS Pipeline (https://github.com/mne-tools/mne-bids-pipeline/blob/main/requirements.txt).

I don't know the best way forward, and perhaps others have input, very happy to quickly discuss.

stebo85 commented 2 years ago

@Kaxnn - would you have a preference: Is installing MNE from a yaml file vs installing MNE via a conda-forge command preferred for you?

Kaxnn commented 2 years ago

Personally, I would prefer to instal via a conda-forge command because it is easier to update and mne is updated frequently. Perhaps we can add a yaml-based version-fixed MNE for integrating other packages as well :)

tghafari commented 2 years ago

Hi all, terribly sorry for my delayed reply. I read the issues and totally forgot. I actually didn't make any progress on integrating FLUX, mostly because I am pretty busy with a few deadlines I have in the next few weeks and didn't really have time to play around with Neurodesk.

DavidjWhite33 commented 2 years ago

Thanks @tghafari, totally understand the pressing deadlines! I am hoping to get some time to start on this over the next couple of weeks, and might reach out if/when I have something to test out.

@stebo85 to continue the parallel discussion above regarding conda envs, perhaps we will end up with multiple MNE containers to accomodate different uses - one core MNE using the simple approach currently implemented to allow a straightforward update, but then for FLUX and the MNE BIDS Pipeline (ie. those with additional dependencies) we keep these distinct.

stebo85 commented 2 years ago

Dear @DavidjWhite33 - I agree that multiple MNE containers is the best option. It doesn't cost additional space really due to the inherent deduplication on CVMFS.

tghafari commented 2 years ago

Thanks @DavidjWhite33 for your understanding. I will keep in touch and will be more engaged when we have a well-defined plan for FLUX with Oscar.