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

Consider adding a "ReproNim Configuration Flag" #652

Open
dnkennedy opened this issue Jan 13, 2025 · 2 comments
Open

Consider adding a "ReproNim Configuration Flag" #652

dnkennedy opened this issue Jan 13, 2025 · 2 comments
Assignees

Comments

@dnkennedy
Copy link
Contributor

Just an idea... When we build the container for a tool, such as FreeSurfer, we also know the way to run this tool in a more ReproNim compliant fashion, such that all the provenance is captured, and the output is expressed in its semantically enriched form.

Is there any value for, when a ReproNim flag is added, we add to the container the necessary packages (i.e. PyNIDM), and an 'entry point' that runs the freesurfer fs2nidm combo 'automatically?

I think we may know the same ReproNim configuration for ANTS, FSL, etc.

Opening this issue for discussion of this topic...

@yarikoptic
Copy link
Member

In theory and principle, yes -- we could augment / append to successful execution of a known tool some additional execution of additional routine.

If I get it right: A little tricky aspect is actually our need to "inject" our functionality so we know what command line argument was specified e.g. for output directory, so pretty much to either "patch" the tool to run our thing from within, or provide an additional parser which is aware of original tool command line structure/options and then parse ourselves in addition to that tool...

In addition to neurodocker, and potentially a little easier since there they should be all "BIDS-Apps" compliant interfaces, we could add similar functionality to https://github.com/ReproNim/containers collection.

@satra
Copy link
Contributor

satra commented Jan 15, 2025

there is perhaps an interesting custom config layer to consider that could be automated to add different kinds of interfaces. across a few projects there are needs for standardized CLI interfaces (e.g., BIDS-Apps, Nobrainer/BBQS model zoo), additional functionality (e.g., prov extraction, derivative modeling), and services (e.g. pushing to repropond/lake). if indeed these could be abstracted away when building a container it would be very helpful to the user.

since neurodocker is quite generic, it may be more challenging to set up these interfaces in an easy to use way, but we can look into it. perhaps repronim containers is the more appropriate place to automatically have some of these flags turned on.

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

4 participants