-
Notifications
You must be signed in to change notification settings - Fork 26
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
Add MD-SAPT to MDAKits #47
base: main
Are you sure you want to change the base?
Conversation
@ALescoulie we're in the process of improving our docs for adding mdakits, especially when it comes to adding things so that tests will run properly. We'll come back to this (and other PRs open) once that's done, so that we can point folks to the right steps to getting everything working. |
FYI, we have the MDAKits tutorial with the section Submitting a MDAKit to the registry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Meta data requires some obvious changes, in particular the ones to make tests run.
## str: the development status of the MDAKit | ||
development_status: Mature | ||
## List(str) a list of publications to cite when using the MDAKit | ||
publications: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
paper published?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not yet, were working on it
development_status: Mature | ||
## List(str) a list of publications to cite when using the MDAKit | ||
publications: | ||
community_home: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe enable GitHub discussions on https://github.com/calpolyccg/MDSAPT ??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I enabled discussions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add an link to discussions?
@ALescoulie could you address the changes above? They are really minor! |
- conda package requires dev label - install pre-requisites for source installation
I played around with the config file to see if I could make it pass the MDAKit tests. Note that psi4 migrated from their psi4 channel to conda-forge since 1.8.1. However, MDSAPT is pinning |
The tests don't like to be run with
Not sure if |
The tests fail because some issues with pydantic. This looks as if it needs to be fixed in MD-SAPT
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are problems with pydantic that makes the tests fail, at least with the versions that are used in the testing here. I raised calpolyccg/MDSAPT#42 . When the testing code is changed, we can re-run here.
Please ping me.
mdakits/mdsapt/metadata.yaml
Outdated
## source code. | ||
src_install: | ||
# required dependencies from environment.yaml | ||
- mamba install -c psi4 -c conda-forge -c defaults "psi4>=1.6.1,<1.7" click numpy openmm pandas pdbfixer pytest pydantic pytest-cov pyyaml rdkit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question for @IAlibay : Is it correct to do the installation of dependencies before the source pip install if I don't want dependencies to be pip-installed? I'd love to be able to say mamba install -f environment.yml
but to my knowledge that doesn't work (only works with mamba create
). Because I have to list dependencies explicitly, I also have to explicitly add pinning (like for psi4
). That looks a bit awkward and prone to breakage. Is there a better way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤔 yes that is indeed a bit of a problem.
What would the desired workflow be here? Fetch the yaml file from the remote directory and create the environment using that? Or should we try to read the yaml file and install from there?
This is definitely something to be considered as part of the refactor.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the end of the day the package developers should be responsible for keeping the meta data in sync with the package installation. I’d rather keep our side simple and suggest that ultimately packages follow standard procedures. In the meantime explicit pinning should be fine as a temporary measure — if this gets the kit installed correctly.
we now have a conda-forge release ( |
I pushed an update that has the conda forge install, I'd appreciate if someone could take a look at this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry just giving this a very brief look, the src_install
field expects a list, added a suggested change to fix that.
Co-authored-by: Irfan Alibay <[email protected]>
The CI failed because I put a comma between test dependencies on the |
There was a fail for develop and I restarted it. Not sure if this is what you meant. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The develop CI is still failing https://github.com/MDAnalysis/MDAKits/actions/runs/9766164949/job/26961722361?pr=47
Does the command
mamba install -c conda-forge psi4 >= 1.9.1, mdanalysis >=2.7.0, rdkit >=2023.09.5, openmm >=8.1.1, pdbfixer >=1.9, numpy, click, pandas, pyarrow, pyyaml;pip install git+https://github.com/calpolyccg/MDSAPT@master
work when you try it manually?
(Is it possible that there should be quotation marks in the install command?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should work
Co-authored-by: Irfan Alibay <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Develop installation works but you get a segfault
Thread 0x00007f8ad06fe640/home/runner/work/_temp/e522ce51-b634-481c-b233-3008ac944e02.sh: line 3: 3289 Segmentation fault (core dumped) pytest -v ./mdsapt/tests
mdsapt/tests/test_sapt.py::TestSAPT::test_run_traj_sapt
Can you look into what's happening there? Is this locally reproducible?
Yeah I'll look at that later day. The issue probably is that need to bring develop up to date with master because we've pushed a lot of the recent fixes straight from feature branch into master. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix segfault in develop CI.
(Excuse brevity, please)
development_status: Mature | ||
## List(str) a list of publications to cite when using the MDAKit | ||
publications: | ||
community_home: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add an link to discussions?
src_install: | ||
# required dependencies from environment.yaml | ||
- mamba install -c conda-forge "psi4>= 1.9.1" "mdanalysis >=2.7.0" "rdkit >=2023.09.5" "openmm >=8.1.1" "pdbfixer >=1.9" numpy click pandas pyarrow pyyaml | ||
- pip install git+https://github.com/calpolyccg/MDSAPT@master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that the „develop“ CI installs your source (ie your master branch) and tests against the MDAnalysis develop branch! That’s the configuration to check for the segfault.
Have you made any progress in figuring out the reason for the segfault? Is it even locally reproducible? |
@orbeckst I haven't gotten around to trying yet, I forgot to mention on this thread that I just moved (I'm still in the bay area, my partner and I found a great deal on a place in SF, so jumped on it) and have been busy with that. Now that I finally set up my desktop again, I'll try and replicate it in a container since I use NixOS and don't want to potentially introduce Nix related problems to the process. |
Ping @ALescoulie ;-) — did you have some opportunities to dig into MD-SAPT again? |
My MDAKit MD-SAPT runs SAPT calculations over MD trajectories using Psi4. We currently are working on publishing it in JOSS and it is ready to be submitted as an official MDA kit.