forlilab / Meeko

Interfacing RDKit and AutoDock
GNU Lesser General Public License v2.1
169 stars 41 forks source link

LinkedRDKitChorizo disappeared on re-installation... #124

Open hrp1000 opened 1 month ago

hrp1000 commented 1 month ago

Hi

I'm running all this on an old Mac Pro that can't be upgraded beyond High Sierra. I have been doing some system maintenance and managed to mess up my miniconda installation, but managed to get most things working again.

However, if I now -

[MacPro:] harry% python3 -c "import meeko; print(meeko.version)" 0.5.0 [MacPro:] harry% python3 -c "from meeko import MoleculePreparation, PDBQTWriterLegacy" [MacPro:] harry% [MacPro:] harry% python3 -c "from meeko import LinkedRDKitChorizo" Traceback (most recent call last): File "", line 1, in ImportError: cannot import name 'LinkedRDKitChorizo' from 'meeko' (/opt/miniconda3/lib/python3.9/site-packages/meeko/init.py)

I didn't get this error before (e.g 2 days ago...), so I know it's something that I've done recently. Question is - what?

Any ideas?

hrp1000 commented 1 month ago

D'oh! repeat to myself 1000 times - "RTFM, RTFM..."

Looks like I had previously installed meeko from the devel branch with

$ git clone https://github.com/forlilab/Meeko $ cd Meeko $ pip install .

[MacPro:~/Meeko] harry% python3 -c "import meeko; print(meeko.version)" 0.6.0-alpha.3 [MacPro:~/Meeko] harry% python3 -c "from meeko import LinkedRDKitChorizo" [MacPro:~/Meeko] harry%

hrp1000 commented 1 week ago

Just tried to run on a node in our Linux cluster (CentOS Linux release 7.9.2009 (Core)) and get

ImportError: cannot import name 'LinkedRDKitChorizo' from 'meeko' (/bmm/www/servers/phyre2/.local/lib/python3.11/site-packages/meeko/init.py)

Tried "git clone..." as above and now I get meeko 0.5.1, not 0.6.0-alpha.3, and no LinkedRDKitChorizo.

I must be doing something wrong here - any clues would be gratefully received!

hrp1000 commented 1 week ago

Okay, so I try -

pip3 install meeko==0.6.0-alpha.3

and that appears to install, but then I get

File "/bmm/www/servers/phyre2/.local/lib/python3.11/site-packages/meeko/rdkit_mol_create.py", line 11, in from rdkit.six import StringIO ModuleNotFoundError: No module named 'rdkit.six'

and then looking up rdkit.six I get a web-page (https://www.rdkit.org/docs/source/rdkit.six.html) that is less than informative...

rwxayheee commented 1 week ago

Hi @hrp1000

Tried "git clone..." as above and now I get meeko 0.5.1, not 0.6.0-alpha.3, and no LinkedRDKitChorizo.

You can git clone a specific branch. See examples here

ModuleNotFoundError: No module named 'rdkit.six'

According to https://github.com/forlilab/Meeko/issues/96 this issue was addressed in https://github.com/forlilab/Meeko/commit/ed395cc8c4c690d25a295c1ba81ee0f38c620dd4, some very simple fixes can do the work, although i'm not sure if they're included the branch you're looking at

hrp1000 commented 1 week ago

Hi Amy

thanks for this. I need a branch that has "LinkedRDKitChorizo" - this seems to have been added in 0.6.0; do you know off-hand which branch(es) has both LinkedRDKitChorizo and avoids rdkit.six?

rwxayheee commented 1 week ago

Hi @hrp1000 I didn't know that the fixes were not in 0.6.0-alpha.3. Thanks again for reporting that. This is more like a dependency break (older versions of RDKit should be fine with that) and it can't be checked with pip, if my understanding is right. If you have 0.6.0-alpha.3 now, I feel that the easiest fix might be to make the following two edits in: https://github.com/forlilab/Meeko/commit/ed395cc8c4c690d25a295c1ba81ee0f38c620dd4 It's basically to replace rdkit.six.StringIO by io. Thanks again for reporting this, let us know if this is causing any further issues

hrp1000 commented 1 week ago

Hi Amy

thanks again - I noticed that the changes were just replacing the rdkit.six items. I'm just a little wary of creating my own divergent branch, even if it "works for me"...

rwxayheee commented 1 week ago

Hi @hrp1000 Just checked the pip release date and I think the pip release was made before the commit (and the change in RDKit too). If my understanding is correct the pip release is different from (behind) the current release branch here. So it's expected to not include this change. Sorry for the confusion.. If you have a newer RDKit, you can check out the release/develop branch from this repository, and both should include https://github.com/forlilab/Meeko/commit/ed395cc8c4c690d25a295c1ba81ee0f38c620dd4 But i don't know whether release has LinkedRDKitChorizo. I feel that if your problem was only with RDKit.six then it's most straightforward to just address the changes

hrp1000 commented 6 days ago

Hi Amy

This is all very helpful - thank you.