-
Notifications
You must be signed in to change notification settings - Fork 2
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
REF: Refactor directory structure #127
Conversation
Let me try to imagine a datalad workflow:
Let's say someone was going for the least amount setup and just ran neuroscout-cli (most common):
From these two cases it's a little strange for the inputs to be explicitly linked in the output of neuroscout-cli. |
I'm not sure we're in the same page. I think you have the order of operations correct, except that that is, I use the
The output would be in I agree that YODA like structure is a bit counter-intuitive, hence why I would often run with I do like the idea of keeping the bundle with the output though, because then you can see exactly what the inputs from neuroscout were to produce the fitlins output, without having to go look for them somewhere else. Given that the bundle is lightweight, this doesn't bother me. The dataset is a bit trickier since that is heavy, so I could buy an argument that this should live somewhere else. |
Idea: drop input dataset by defualt if not cached. |
@effigies can I request your review on this? |
If you could please review this PR which updates the docs and let me know if its intuitive, that would be great: |
Not tonight. I'll try to remember, but please re-ping in the morning. |
Oh, no rush at all, thanks! |
Overall this seems sensible.
Could you do a datalad reckless clone? That would be the cheapest way to pull the inputs from a local cache directory.
I think we probably want to pull a nipreps/fmriprep#2303 on FitLins as well, as the outputs are at least ostensibly supposed to be a derivative directory. Figure out what you want your outputs to look like and we'll adjust FitLins to permit it. |
Co-authored-by: Chris Markiewicz <effigies@gmail.com>
Thanks. I think for now I'll merge this as is, and in a separate PR I can make sure I'm fully compliant with YODA/BIDS. And yes perhaps its better if neuroscout-cli doesn't do it, but fitlins does it. |
Closes #124
Previously the output directory structure was:
<outdir>/<bundle_id>/fitlins
- output files<install-dir>
(optional, but defaults to.
) - Specifies where to download datasetsExample contents:
./Budapest/preproc
./Budapest/neuroscout-bundles/<bundle_id>
Two problems:
Instead I'm proposing the following:
<outdir>/neuroscout-<bundle_id>
(both arguments are mandatory for bothinstall
andrun
commands).subdirectories:
inputs/bundle
-- contents of untarred bundleinputs/<dataset_name>
--dataset_name
is obtained from bundle meta-data. This is aDataLad
dataset.out/fitlins
-- fitlins outputs are hereHere is an example:
This guarantees a "YODA" like structure.
However, if
install-dir
is defined then the DataLad dataset is installed ininstall-dir/<dataset_name>
.Here is an example of that folder, after caching a few datsets:
Questions:
Should I symlink
<cache-dir>/<dataset_name>
--><outdir>/neuroscout-<bundle_id>/inputs/<dataset_name>
if
cache-dir
is defined?is
out/fitlins
too nested? Fitlins by default creates afitlins
output directory hence the structure