TinkerTools / poltype2

Poltype 2: Automated Parameterization and Free Energy Prediction for AMOEBA
Other
41 stars 12 forks source link

Cyclopentane all-carbon ring torsions #1

Closed D16ERG closed 3 years ago

D16ERG commented 3 years ago

In continuation of https://github.com/pren/poltype/issues/96

Dear all,

After rerunning the above job; I encountering a similar error with today its revision of poltype 2. The fragment in question involves a cyclic structure. This structure encounters the above issue of not reaching the target dihedral angle. This dihedral angle seems to be within the ring.

5_9_Index_0.tar.gz

Kind regards, Didier

misterbrandonwalker commented 3 years ago

Thanks for catching this, I never got back to fully testing the molecule with refined puckering (meaning transferring from fragment to parent and also waiting for the other fragment jobs to finish).

So essentially there is this concept of "first pass" guess at fragment consisting of 4 torsion atoms+neighbors. I also have been adding any neighboring hydrogens from the set of (4 torsion atoms+neighbors) to limit the possible space of ways fragment can grow out (so mostly only grow out across bonds to other parts of large molecule). Similarly I have been adding any neighboring double bonds from this set (previously I might I have noticed a lot of double bonded oxygens for example), those just waste a little bit in terms of adding to total number of ways molecule can grow out so I added those also. In this particular case the bond of interest is on a partial aromatic and non-aromatic ring, so the part of the ring that has double bond was being added and then the fragment is basically a closed ring and poltype was trying to spin a bond on a closed ring so there was an error....

This is has been patched to only add double bond if not in a ring. There are some automatic checks in poltype to now for example since we have been making so many changes to fragmenter behaviour if new fragment molecule is different atom number than original (that has some poltype files already completed etc...) then the correct files will be removed and the fragment poltype job will start from fresh from the new fragment.

D16ERG commented 3 years ago

Just read your reply. I have just updated poltype and will perform new parameterization runs. So far everything seems to run fine. With the latest update, there are no more challenging cyclic fragments. In addition to this, I have inserted the option fail_on_maxiter = False in optimization.py and torsiongenerator.py. This should prevent psi4 from failing due to small numbers of iterations.

optimization.py 100 temp.write(' dynamic_level 1'+'\n') 101 temp.write(' fail_on_maxiter = False'+'\n')

torsiongenerator.py 1299 temp.write(' dynamic_level 1'+'\n') 1300 temp.write(' fail_on_maxiter = False'+'\n')

Update 18th aug 2021 at 21:14 18 out of 38 fragment jobs have finished. Had to intervene in 1 QM optimization job because of failure to converge. After manually changing the dynamic level and optimization coordinates; the job was completed successfully .

D16ERG commented 3 years ago

Dear all,

As far as I can tell; the parameterization just finished successfully. Most fragments were automatically and successfully parameterized with the "fail_on_maxiter = false" option. Just one fragment failed while doing a psi4 QM optimization step in the qm-torsions folder. When looking up the structure of this failed job; the iteration displayed an 'exploded' molecule. After some trial-and-error, this issue was resolved by manually running psi4 with the following options: dynamic level 8 and opt_coordinates both. Besides being grateful; I hope this information could be of any use. D24Ergosterol.tar.gz

Kind regards,

Didier

misterbrandonwalker commented 3 years ago

Great I did a quick scan of your poltype log but didnt notice any issues, I will continue testing all the fragments myself.

On Wed, Aug 18, 2021 at 4:09 PM D16ERG @.***> wrote:

Dear all,

As far as I can tell; the parameterization just finished successfully. Most fragments were automatically and successfully parameterized with the "fail_on_maxiter = false" option. Just one fragment failed while doing a psi4 QM optimization step in the qm-torsions folder. When looking up the structure of this failed job; the iteration displayed an 'exploded' molecule. After some trial-and-error, this issue was resolved by manually running psi4 with the following options: dynamic level 8 and opt_coordinates both. Besides being grateful; I hope this information could be of any use. D24Ergosterol.tar.gz https://github.com/TinkerTools/poltype2/files/7010189/D24Ergosterol.tar.gz

Kind regards,

Didier

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/TinkerTools/poltype2/issues/1#issuecomment-901432025, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKNB26NR4DY5LG4X4I4I7QTT5QOPFANCNFSM5CKTS5SQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

D16ERG commented 3 years ago

For the complete Poltype 2 Job, I would like to refer to the following link:

https://we.tl/t-lm7grkPXjz

D16ERG commented 3 years ago

I overlooked something. The logfiles looked just fine. The terminal output conversely gives the following message:

**Traceback (most recent call last): File "/home/didier/poltype/PoltypeModules/poltype.py", line 1917, in RunPoltype poltype.main() File "/home/didier/poltype/PoltypeModules/poltype.py", line 1145, in main params= self.GenerateParameters() File "/home/didier/poltype/PoltypeModules/poltype.py", line 1819, in GenerateParameters esp.CheckDipoleMoments(self,optmol) File "/home/didier/poltype/PoltypeModules/electrostaticpotential.py", line 547, in CheckDipoleMoments raise ValueError(string) ValueError: Relative error of 1.0 for QMDipole 1.349 and 0.0 for MMDipole is bigger than 0.13 /home/didier/Desktop/D24Ergosterol Traceback (most recent call last): File "/home/didier/poltype/PoltypeModules/poltype.py", line 1917, in RunPoltype poltype.main() File "/home/didier/poltype/PoltypeModules/poltype.py", line 1145, in main params= self.GenerateParameters() File "/home/didier/poltype/PoltypeModules/poltype.py", line 1819, in GenerateParameters esp.CheckDipoleMoments(self,optmol) File "/home/didier/poltype/PoltypeModules/electrostaticpotential.py", line 547, in CheckDipoleMoments raise ValueError(string) ValueError: Relative error of 1.0 for QMDipole 1.349 and 0.0 for MMDipole is bigger than 0.13 /home/didier/Desktop/D24Ergosterol

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/didier/poltype/PoltypeModules/poltype.py", line 1932, in RunPoltype() File "/home/didier/poltype/PoltypeModules/poltype.py", line 1931, in RunPoltype raise ValueError('Houston, we have a problem. Buy a developer some coffee!') ValueError: Houston, we have a problem. Buy a developer some coffee!**

There seems to be a problem with assigning the dipole moments of the joined fragments. MMDipole.txt has the following output:

**Total Electric Charge : 0.00000 Electrons

Dipole Moment Magnitude : 0.000 Debye

Dipole X,Y,Z-Components : 0.000 0.000 0.000

Quadrupole Moment Tensor : 0.000 0.000 0.000 (Buckinghams) 0.000 0.000 0.000 0.000 0.000 0.000 **

Principal Axes Quadrupole : 0.000 0.000 0.000**

D16ERG commented 3 years ago

All of the fragments finished successfully with valid MMDipole.txt outputs. Having checked this; I removed the .key_3, .key_4 and .key_5 files from the main job directory. After rerunning poltype 2 from the main job directory; the above issue with MMDipole.txt was resolved.