isayev / ASE_ANI

ANI-1 neural net potential with python interface (ASE)
MIT License
220 stars 56 forks source link

Periodic Boundary Conditions #34

Closed t-s-hofer closed 4 years ago

t-s-hofer commented 4 years ago

Firstly, thank you for sharing this inspiring piece of software.

My question is related to the use of periodicity. Provided the system size is sufficiently large (at least 2 times the maximum cutoff used in the ANI-NPP), the angular-radial symmetry functions should permit a straightforward implementation of periodic boundary conditions within the minimum image convention framework (i.e. always choose the closest image to a given atomic center).

Indeed, i have noticed that there is a setting called pbc set to zero in the associated inputtrain-files.

i) Is it as simple as setting this flag to 1 to invoke a periodic version of the ANI-NPP?!

ii) If yes, is this modification only necessary in the inputtrain file of the master-directory (e.g. ani-1x_8x) or also in each of the inputtrain-files in the respective train-subfolders?

iii) Since ANI is implemented in the framework of ASE, I assume that the cell-definition of ASE are accessed in the ASE ANI interface. Are these unit cells build within the convention of ranging from 0 to L, or from -L/2 to +L/2 (with L being a respective cell dimension)?

Best regards and many thanks, Thomas Hofer

isayev commented 4 years ago

Dear @t-s-hofer Thomas:

Thanks for your interest. Yes, we do have an implementation of periodic boundary conditions and you could use it. However, there is no separate “periodic version of the ANI-NPP”. ANI is a rather short-range method and we use a neighbor list to check whether atoms are in cutoff distance or not. So we just use ASE PBC functionality to correctly account for periodicity and feed it into a neural network. As soon as the box larger than a cutoff distance there should be no problems.

I should also note, that public ANI was trained only to isolated organic molecules, do not expect good accuracy for crystals or liquids yet:)

t-s-hofer commented 4 years ago

Hello,

Thanks for the quick reply and the information. So I take it that pbc is in principle always active, if the respective periodic cell definition is provided in ASE. So no further actions are required in the ANI-NPP files to work with periodicity.

Thank you also for the note on the parametrisation to neutral organic molecules in vacuum. We will be aware to properly benchmark the systems to periodic DFT.

One question to a related topic: Is it safe to treat charged system using ANI-1, e.g. NH4+ or charged aminoacids like glutamate or histidine? Based on the example movie on your github page I assume that there are several charged aminoacid sidechains in the shown protein.

Kind regards, Thomas

isayev commented 4 years ago

@t-s-hofer: this is a development prototype with long-range electrostatics and substantial extra training data. It's not yet published. The public model should work with zwitterions, as soon as the total charge is zero. Isolated ions are likely wrong:/

t-s-hofer commented 4 years ago

Thanks again for the quick response. The information will help us in implementing the ANI-1 in our routines and in system selection.

I guess this solved and the thread can be closed.

Kind regards, Thomas