3dem / model-angelo

Automatic atomic model building program for cryo-EM maps
MIT License
110 stars 18 forks source link

add __init__ files #87

Closed AssmannG closed 8 months ago

AssmannG commented 8 months ago

Problem description: This problem occurred when trying to install relion/5.0 with model-angelo in a HPC environment. Using the -e git+https://github.com/3dem/model-angelo#egg=model-angelo (as described in https://github.com/3dem/relion/blob/ver5.0/environment.yml) in the pip installation would only install in editable mode, which causes errors as already described in issue https://github.com/3dem/relion/issues/1009, especially in a HPC environment. Solution:
The solution was to install with pip without the -e flag, but the installation went wrong, as the required src dirs were not included in the installation process. This is the case, because the __init__.py files are missing in the src dirs. With adding these files, model-angelo can be installed without the -e flag as standalone or with relion. Additional Remark: To have this propagated to relion, a change in the https://github.com/3dem/relion/blob/ver5.0/environment.yml file ( from- -e git+https://github.com/3dem/model-angelo#egg=model-angelo to - git+https://github.com/3dem/model-angelo ) should be included.

biochem-fan commented 8 months ago

I think your suggestion makes sense but I wonder why and when -e causes the issue described in https://github.com/3dem/relion/issues/1009. Many people successfully installed RELION and ModelAngelo following our instruction. What is the difference? Where did the old version come from?

jamaliki commented 8 months ago

Thank you very much @AssmannG , I was trying to find the issue that made the installation not work. This makes sense, as it appears Python was not recognizing the folders without the __init__.py file as modules.

AssmannG commented 7 months ago

Dear All, thank you so much for your reply and merging!

To answer your question: "I think your suggestion makes sense but I wonder why and when -e causes the issue described in 3dem/relion#1009 https://github.com/3dem/relion/issues/1009. Many people successfully installed RELION and ModelAngelo following our instruction. What is the difference? Where did the old version came from?"

I actually did not get an old version, as described in #1009, but I had a problem with the egg.linker file as also described in #1009. Basically on the HPC cluster the egg.linker file links to the original folder that was cloned by git , which is somewhere in /var/tmp/assman_g/relion-5.0-beta/src/src/model-angelo. After the installation, this folder does not exist anymore and is not accessible to all the users on the cluster. I tried to link to the folder into the conda env that I generated in .../conda_env/lib/python3.10/site-packages/model_angelo , but again, this folder was not complete and the linking did not work as more info is probably missing (egg.info etc. -fogive me,I am no expert in that...) . So i figured it would be much better to have it without the -e option as a "normal" package. I also installed model-angelo as standalone locally which worked well with the -e install and your description!

Best, Greta Assmann

biochem-fan commented 7 months ago

Aha. I noticed that I also have relion/src/model-angelo and egg points there. Moreover, I have a mysterious relion/src/relion.egg-info folder. This is very strange and I don't know how this is related to the -e option. Anyway, this shouldn't happen any more after this fix. Thanks!