-
Notifications
You must be signed in to change notification settings - Fork 16
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
Use conda integrated package management feature within snakemake #351
Conversation
This is amazing! Thanks for pushing this through.. |
I've merged in #345 now, which means this will have some conflicts to resolve now.. I'll try to do that now (should be pretty straightforward, just alot of things moving around or being removed in that PR).. |
Got a chance to try this out with conda! I installed miniconda, then installed snakemake (instructions from snakemake docs), and in that conda env then did Then I just ran hippunfold with ./hippunfold/run.py directly (rather than pip installing as I didn't want to install any more dependencies, but I am guessing we can also make a hippunfold conda package (that depends on snakebids, snakemake). Was on my way, but then I realized that dev-v2.0.0 now depends on a new dev version of workbench (for the new hippocampus cifti integration), so for now we may just have to use the container for those rules (otherwise they will fail).. unless we want to make a temporary workbench conda package for the dev build? |
Right, there's an open PR that resolves the issue with
I just uploaded
The |
I'll have a look at that now - if we can get the tests passing then can merge it in
Great - but no need to publish a release yet, unless you want to publish some test releases to iron out the process..
Sure we could post the temporary one in our khanlab channel - it's not on their github as its not a release yet, it was passed along to us here https://balsa.wustl.edu/myelin and I put it on my dropbox for ease of download url. |
0acbaea
to
fcc2431
Compare
I've published a release based on
In the latest commit, I've reverted back to the latest workbench labels and modified
I'm planning on following up this with more extensive testing, more specifically by running the wet-test run script written by Jordan. |
OK great - I'll merge upstream changes in and resolve some conflicts, but then I think we could merge this PR in? |
Yes, I think we are ready to merge! |
NOTE: laynii environment needed, and pyvista (with new pygeodesic) not actually tested yet..
ok got things up to date with upstream -- just need to add in a new laynii environment (I already refer to it as laynii.yaml), and re-run a wet test to make sure nothing is broken.. |
I already had put laynii on our custom khanlab repo weeks ago so we don't have to wait to start testing! |
everything here looks good so merging it in! |
Excited to report that I successfully ran an entire workflow of
hippunfold
(for modality T1w) on a test dataset (lowresMRI) using the--use-conda
flag and without--use-singularity
. I ran it once on the CBS server and another time on a vanillaUbuntu 24.04.1 LTS
Docker container.To run the full end-to-end pipeline, I had to make some fundamental changes, some of which have their own dedicated PRs, and others need immediate review here:
equivolumetric layering
method from thenighres
package, which has proven difficult to integrate into the Conda ecosystem, I temporarily switched the default option of--laminar_coords_method
insnakebids.yaml
fromequivolume
tolaminar
. This change is still a work in progress (WIP).Due to conflicting versions of libitk required by
ants v2.5.1
andc3d v1.4.2
, I had to replaceantsApplyTransforms
withgreedy
in the one instance where they were used together. The newest version ofants
available on conda-forge isv2.5.4
, which has a compatiblelibitk
version withc3d
, but it currently segfaults during runtime. This issue is being actively investigated:The issue can be reproduced at subfields.smk#L47.
Update