tbereau / auto_martini

Automatic MARTINI parametrization of small organic molecules
GNU General Public License v2.0
59 stars 22 forks source link

Mismatch between dev branch and refactor branch result #20

Closed kkanekal closed 4 years ago

kkanekal commented 5 years ago

Hi Andrew,

I'm not sure if I should have opened this issue here or in your forked repo. I have continued doing my test comparing results from the refactor and the dev branch and have found another smiles string for which there are different results. Using the refactor branch:

python auto_martini.py --smi "CC(O)C=NO" --mol MOL [refactor] ; GENERATED WITH auto_martini.py ; None ; Tristan Bereau (2014)

[moleculetype] ; molname nrexcl MOL 2

[atoms] ; id type resnr residue atom cgnr charge smiles 1 P1 1 MOL P01 1 0 ; CCO 2 P1 1 MOL P02 2 0 ; C=NO

[bonds] ; i j funct length force.c. 1 2 1 0.25 1250

using the dev branch:

python -m auto_martini --smi "CC(O)C=NO" --mol MOL --top testmol.itp *[dev] ALOGPS can't predict fragment: NO

It seems there is a hang up in the smi2alogps function?

Thanks, Kiran

anabiman commented 4 years ago

I have fixed the problem. Please re-run your tests. If everything works out, please close this issue.

kkanekal commented 4 years ago

Hi Andrew,

I found another mismatch with the smiles string 'CCOC(C)C'. For some reason, the dev version is mapping this molecule to a single bead while the refactor branch is mapping it to a dimer. I checked the constants used in the mapping optimizations and they are the same for both versions, so I am unsure why this is happening.

refactor result:

; GENERATED WITH auto_martini.py ; None ; Tristan Bereau (2014)

[moleculetype] ; molname nrexcl MOL 2

[atoms] ; id type resnr residue atom cgnr charge smiles 1 P1 1 MOL P01 1 0 ; CCO 2 C3 1 MOL C01 2 0 ; CCC

[bonds] ; i j funct length force.c. 1 2 1 0.24 1250

dev result:

; GENERATED WITH auto_Martini v0.0.2 for MOL ; Developed by: Kiran Kanekal, Tristan Bereau, and Andrew Abi-Mansour

[moleculetype] ; molname nrexcl MOL 2

[atoms] ; id type resnr residue atom cgnr charge smiles 1 C5 1 MOL C01 1 0 ; CCOC(C)C

Thanks,

Kiran

anabiman commented 4 years ago

I get the same output (single bead) with both branches using rdkit v2018.09.3 and python v2.7.15 and v3.7.3. Plz specify which rdkit version you're using.

; GENERATED WITH auto_martini.py ; INPUT SMILES: [H]C([H])([H])C([H])([H])OC([H])(C([H])([H])[H])C([H])([H])[H] ; Tristan Bereau (2014)

[moleculetype] ; molname nrexcl MOL 2

[atoms] ; id type resnr residue atom cgnr charge smiles 1 C5 1 MOL C01 1 0 ; CCOC(C)C

kkanekal commented 4 years ago

Hi Andrew,

I checked the rdkit version that I was using for the refactor branch and it was indeed different. Using version 2017.09.3 gives a 2-bead mapping but after updating, my results are in agreement with yours. I wonder what specifically changed in the updated version causing the change in the mapping result? In any case, I will rerun my tests and hopefully close this issue soon.

Thanks,

Kiran

kkanekal commented 4 years ago

The issue is closed. The rdkit version discrepancy was the last problem when running my tests.