-
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 openmmdl as MDAKit #161
Conversation
Created metadata file for openmmdl
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 main issue is that one set of tests for py 3.12 fails with an installation issue for mdtraj
Could not solve for environment specs
The following package could not be installed
└─ openmmdl is installable and it requires
└─ mdtraj 1.9.7.* with the potential options
├─ mdtraj 1.9.7 would require
│ └─ python >=3.10,<3.11.0a0 , which can be installed;
├─ mdtraj 1.9.7 would require
│ └─ python >=3.11,<3.12.0a0 , which can be installed;
├─ mdtraj 1.9.7 would require
│ └─ python >=3.7,<3.8.0a0 , which can be installed;
├─ mdtraj 1.9.7 would require
│ └─ python >=3.8,<3.9.0a0 , which can be installed;
└─ mdtraj 1.9.7 would require
└─ python >=3.9,<3.10.0a0 , which can be installed.
I am not really sure what's going on so I am bouncing this back to you to look into and report back...
UPDATE: Looking more closely into the "develop" test run, which supposedly passed, I can now see that this run did not actually install the package:
Run if [[ develop == "develop" ]]; then
if [[ develop == "develop" ]]; then
type="src"
else
type="install"
fi
install=$(python utils/get_install.py --itype ${type} --mdakit openmmdl)
echo "install=${install}"
eval ${install}
shell: /usr/bin/bash -l {0}
env:
PYVER:
INPUT_RUN_POST: true
CONDA: /usr/share/miniconda3
CONDA_PKGS_DIR: /home/runner/conda_pkgs_dir
install=
Similarly, the "run tests" also come back empty and report success
Run tests=$(python utils/get_runtests.py --mdakit openmmdl --runtype develop)
tests=$(python utils/get_runtests.py --mdakit openmmdl --runtype develop)
echo "tests: ${tests}"
eval ${tests}
shell: /usr/bin/bash -l {0}
env:
PYVER:
INPUT_RUN_POST: true
CONDA: /usr/share/miniconda3
CONDA_PKGS_DIR: /home/runner/conda_pkgs_dir
tests:
This means that you also need instructions how to install from source (and my hunch is that the testing command that I already mentioned also needs updating).
@orbeckst hey Oliver, Hm I can take a look into mdtraj to adjust the |
Ah |
@lilyminium @fiona-naughton can either of you assign yourselves to shepherd this PR? |
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 openmmmdl (latest) installs and runs the tests successfully.
❌ The openmmmdl (develop) does not properly install, see e.g. https://github.com/MDAnalysis/MDAKits/actions/runs/10688427502/job/29628268563?pr=161#step:7:18 — the following steps all complete seemingly successfully
The develop tests should also run properly with an installed version of the software.
@orbeckst If I understand correctly the tests are successfull with the latest version of mdanalysis, but errors appear with the devlopment version of mdanalysis, so I can check if they run locally by using the development mdanalysis package locally and looking if it installs and runs the tests successuflly? |
When you look at the GH actions report at the line that I linked, you see that
gives an empty I would assume that this is because there's an issue with the metadata.yml file and utils/get_install.py is getting confused somehow. That's where I would start. |
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.
Apologies folks, I haven't been keeping up with this.
Looks like the develop failure is because there's a missing src_install
entry, which is a requirement for mdakit registration.
@IAlibay hm shouldn't be a problem to add the |
Added src_install
I added the |
You can have a separate mamba install call before the pip install, i.e. it's a list so you can just add more things as necessary - I believe a few other mdakits do this (I'll try to find an example later if I get a chance) |
Ah, then it should be fine, I will then go to sleep now and take a look tomorrow, since if it is possible to first run the mamba install then it shouldn't be a problem :) |
adjustment of src_install
@IAlibay okay |
@talagayev please ping me when you've made progress and think it's ready (i.e., everything installs and passes tests) or if there are questions. |
@orbeckst I think everything is ready and should be now running correctly including the installation with |
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 need some clarification on what happens in the CI develop during mdakit installation:
Successfully built openmmdl
Installing collected packages: openmmdl
Attempting uninstall: openmmdl
Found existing installation: openmmdl 0.0.1
Uninstalling openmmdl-0.0.1:
Successfully uninstalled openmmdl-0.0.1
Successfully installed openmmdl-0.9.2.1+3.g2217545.dirty
The conda-forge package is at version 0.9.2.1
+ openmmdl 0.9.2.1 pyhd8ed1ab_0 conda-forge 85MB
and it is being installed to get all the deps.
Then the pip package is built and installed. But why does pip uninstall version 0.0.1 ??
As mentioned in my comments, it would be cleaner to explicitly list dependencies for a source installation.
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.
Please see comments!
(I wrote these days ago but apparently forgot to submit review, sorry for the delay.)
openmmforcefields | ||
cudatoolkit>=11.7.0 | ||
cuda-python>=11.7.1 | ||
mdanalysis>=2.3.0 |
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.
mdanalysis may not be necessary because I think we install it ourselves — but I doubt it hurts.
Do you have any specific recommendations @IAlibay @fiona-naughton @lilyminium ?
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.
also a similar case is for versioningit
and setuptools
which I have in the pyproject.toml
so they are installed there in theory, but I thought if I list the remaining packages I can also add them in the mamba install
step so that all of the packages necessary for the package are present
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 will keep for now the mdanalysis>=2.3.0
to see what the others say if it should be removed or retained :)
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.
ok
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 it makes sense to have MDAnalysis here, in the end this will go in the docs as "this is how you install this".
I have moved pytest things into test_dependencies though, because as far as I'm aware they aren't necessary for the standard operations of the code.
will do, all good :) |
adjusted to mamba install
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.
Thank you for addressing all my comments. Looks ready to me (modulo comments from others).
openmmforcefields | ||
cudatoolkit>=11.7.0 | ||
cuda-python>=11.7.1 | ||
mdanalysis>=2.3.0 |
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.
ok
@IAlibay I believe your specific comment #161 (review) was addressed but would you mind having a quick look through? Thanks. |
@IAlibay if you want to have a look please do over the next few days, otherwise I'll dismiss. |
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've made one direct change on the dependencies but otherwise lgtm!
openmmforcefields | ||
cudatoolkit>=11.7.0 | ||
cuda-python>=11.7.1 | ||
mdanalysis>=2.3.0 |
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 it makes sense to have MDAnalysis here, in the end this will go in the docs as "this is how you install this".
I have moved pytest things into test_dependencies though, because as far as I'm aware they aren't necessary for the standard operations of the code.
Addition of
OpenMMDL
toMDAKits
:Package for Interface to OpenMM for easy setup of molecular dynamic simulations of protein-ligand complexes and the analysis thereof, available at:
https://anaconda.org/conda-forge/openmmdl