Open KirstieJane opened 5 years ago
Looks like this was taken care of here: e24c10d3
Still, adding info about Brainlife would be useful
Hey @soichih I think it would be useful to add mention of brainlife in the fmriprep docs. It's would be a pretty great option for a lot of folks!
I tried running fmriprep on brainlife and I have a few questions:
Thanks!
Thank you all for updating the doc with the pointer to brainlife!
@adelavega
Is it possible to run fmriprep on any arbitrary user-uploaded BIDS-dataset on brainlife?
Yes, you should be able to process all BIDS datasets.. but I know we probably have some use cases that we haven't covered yet. But we are committed to make it work! I'd like to point out though.. fmriprep itself doesn't handle all BIDS dataset. For example, some fieldmap formats (like 2phasemag) aren't supported by fmriprep - although they might be valid BIDS. We can't support datasets that aren' supposed by fmriprep, obviously.
so I suppose uploading to OpenNeuro first would not work right now.
Yes, right now we only auto index OpenNeuro datasets that have high download counts. But this is just for auto indexing. We can index other OpenNeuro datasets on-demand. Right now, we are still working on making sure that data hosted in OpenNeuro can be ingested to Brainlife. For example, BIDS allows nifti to be stored in either .nii or .nii.gz format. This doesn't work for Brainlife as all nifti files need to be in .nii.gz format. We also haven't quite figured out how to handle different snapshots. Once we are comfortable ingesting any OpenNeuro dataset, I will turn on a feature so that all OpenNeuro datasets will be auto ingested by default. For now, please let me know which dataset should be ingested and I can do that manually (ping me on the brainlife slack team)
On brainlife, you will need to run app-freesurfer separately from fmriprep. This was necessary because we run fmriprep on each fmri data but we don't want to keep rerunning freesurfer for the same subject. You can just submit freesurfer (via pipeline rule) prior to running fmriprep and it will find it.
Cool, thanks. I assume most people will want to upload their own datasets, while maybe ~10% would want to preprocess an OpenNeuro dataset (plus there are already several efforts to preprocess all datasets on ON, so re-doing doesn't make much sense most of the time).
So I think my main question then is really about the upload of the dataset itself.
Is this the correct workflow: Create project -> Go to "archive" -> Click + -> Select fMRI task as dataset type
If so then I would be on this upload form:
This is a little different than I expected because it seems that I'm expected to upload different components of the BIDS dataset separately, and provide some meta-data (such as subject IDs?). Is there somewhere I can plop an entire dataset and have it parse it for me, and run the BIDS-validator prior to ingesting?
Given that this would likely be for novices, that would be most helpful. Alternatively, if on-demand OpenNeuro indexing is possible, maybe that's the easiest route for the average user?
Thanks for answering these questions. Just trying to make sure I know what I'm talking about if I'm going to write some docs on how to do this.
Also, if I understand correctly, to run an app on the whole dataset, you have the use the Pipeline feature (otherwise its just for one subject).
I'm starting to wonder if it might make more sense if there was a full walkthrough using fmriprep as an example on brainlife (that also helps users learn the principles of brainlife). We could then just link to it in the fmriprep docs, rather than going through all of that over here.
If your data is already in BIDS, then you can import the entire dataset with bl bids upload
.
bl bids upload --tag test --project 5b031990251f5200274d9cc4 -d my_bids_dir
If your data isn't BIDS formatted, and you know how to write a shell script, you can loop over each subject and upload them using bl dataset upload
command. Here is an example > https://brainlife.io/docs/cli/upload/#bulk-upload
If you don't know how to write a shell script, and data is not BIDS formatted, and if you are extremely patient person, then you can use the web-based uploader for each dataset.. and people do do that .. believe it or not! We are currently working on an uploader that allows users to deposit RAW dicom directory structure, auto-detect the file structure to convert it to BIDS (and upload it to Brainlife).
if it might make more sense if there was a full walkthrough using fmriprep as an example on brainlife
YES!!! I can help you with this. Would you like to get started?
We are currently working on an uploader that allows users to deposit RAW dicom directory structure, auto-detect the file structure to convert it to BIDS (and upload it to Brainlife).
That's pretty cool and very useful. I would suggest you consider an uploader for a datasest already in BIDS, since other people may be using other tools to convert to BIDS such as heudiconv. And it seems like your API already supports it if your CLI does.
Uploading from BIDS is probably what makes the most sense for an fmriprep walkthrough since the tool expects BIDS inputs anyways, and most users would expect that as a requirement.
I'll see how far I can get uploading and processing a dataset (it would be re-uploading a openneuro dataset as I don't have any others, so we can delete later).
At the moment the installation documentation about OpenNeuro says:
Here's a link to the file that needs to be updated in GitHub: https://github.com/poldracklab/fmriprep/blob/master/docs/installation.rst#openneuro
This is no longer true 🙀 so it should be removed. And maybe a link to https://brainlife.io added?