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

re-work haddock3 installation #1013

Merged
merged 49 commits into from
Sep 20, 2024
Merged

re-work haddock3 installation #1013

merged 49 commits into from
Sep 20, 2024

Conversation

rvhonorato
Copy link
Member

@rvhonorato rvhonorato commented Sep 10, 2024

This PR drastically changes the haddock3 installation.

We no longer use submodules. For fcc the code has already been aded to the project (#1019) and for fastrmsd-matrix @mgiulini gave us permission to copy the source here, thanks!

This external code is built with a CustomBuild in setup.py.

Another main pain point is CNS, here I've added logic to determine the system's arch and download a provided pre-compiled binary - keep in mind that the installation will fail for unsupported architecture. I understand there might be possible to have a workflow without CNS after #921, the installation should then be reviewed.

To test it, follow these commands:

# Make a fresh clone and checkout this branch
$ git clone https://github.com/haddocking/haddock3 haddock3-installation-test
$ cd haddock3-installation-test
$ git checkout installation

# Setup the python environment
$ python -V # make sure you are on python3.9
Python 3.9.16
$ python -m venv .venv
$ source .venv/bin/activate

# With conda:
## $ conda create -n haddock3-installation-test python=3.9
## $ conda activate haddock3-installation-test

# Install haddock3
(.venv) $ pip install .

# Run one example
(.venv) $ cd examples/docking-protein-protein
(.venv) $ haddock3 docking-protein-protein-test.cfg
# This should finish without issues 🎉 

@haddocking/haddock-developers please look at this one very carefully

@rvhonorato rvhonorato self-assigned this Sep 10, 2024
@rvhonorato rvhonorato marked this pull request as ready for review September 17, 2024 14:30
@rvhonorato rvhonorato added the CI / repository Continuous integration or repository organization label Sep 17, 2024
@AljaLEngel
Copy link
Contributor

Tried this in a conda python 3.9 environment.
After pip install . I get the following error :

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
matplotlib 3.9.0 requires pyparsing>=2.3.1, which is not installed.
matplotlib 3.9.0 requires numpy>=1.23, but you have numpy 1.22.2 which is incompatible.

Running the example then also does not work

@rvhonorato
Copy link
Member Author

Tried this in a conda python 3.9 environment.
After pip install . I get the following error :

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
matplotlib 3.9.0 requires pyparsing>=2.3.1, which is not installed.
matplotlib 3.9.0 requires numpy>=1.23, but you have numpy 1.22.2 which is incompatible.

Running the example then also does not work

I cannot replicate this, and seems like there's an issue with your package management, as written in the error message above - so it's probably related to that

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

"Works on my machine" both with native python and anaconda

@rvhonorato
Copy link
Member Author

For prosperity: we found an error with the maximum path size that CNS allows - @amjjbonvin managed to patch it

@rvhonorato rvhonorato merged commit bcd7454 into main Sep 20, 2024
3 checks passed
@rvhonorato rvhonorato deleted the installation branch September 20, 2024 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI / repository Continuous integration or repository organization
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update installation
4 participants