AmYingLi / GA4AMOEBA

Genetic Algorithm (GA) program for optimizing the parameters of a polarizable force field based on the AMOEBA functional form

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GA4AMOEBA

This is a Machine Learning (ML) Genetic Algorithm (GA) program for optimizing the parameters of a polarizable force field based on the AMOEBA functional form (http://pubs.acs.org/doi/abs/10.1021/ct4003702). It is a MPI program that can be executed on high performance computers. Please contact yingli@anl.gov or roux@uchicago.edu, if you have any question regarding the code. If you ever want to use the code or any resources related to this code, please cite this paper: http://pubs.acs.org/doi/abs/10.1021/acs.jctc.7b00521 and our github repository. Thank you

Installation

The first step is to clone the repsoitory locally.

$ git clone https://github.com/AmYingLi/GA4AMOEBA.git

You can build the program with

$ make

It will show up the options for building different programs: vdW or electrostatics parameters

$ to install this GA program, type at the shell prompt:
$ make <OPTIONS>
$ 
$ OPTIONS:
$ vdw : compile the program for vdw parameters optimization
$ clean-vdw
$ ele : compile the program for electrostatic parameters optimization
$ clean-ele

After building, for instance, the vdw program, go to the vdw folder. Running the command line

$ make vdw
$ cd vdw
$ sh run.sh

The results will show up as

$ The best parameters set is KEY/000001/methanol.key

To see the result of the optimized parameters

$ cat KEY/000001/methanol.key

Note

This is a parallel genetic algorithm program, it requries Message Passing Interface library pre-built in your system. Here is the link of MPI https://www.mpich.org. make.inc file could be modified according to the different compilers/vendors.

Below, the files/folders apply to the electrostatic parameters sets too, expect that it has one more folder ele/pot contains the point electrostatic potentails for each probing points sorrounding the methanol dimers. There are couple of files should be paid attention with when trying to utilizing the program:

$ vdw/xyz 

contains the XYZ files acquired from sampling

$ vdw/util/IE_kcal

contains the energy acquired for the sampled XYZ files accordingly

$ vdw/KEY

contains the candidated parameters sets

$ vdw/util/

contains the Tinker programs for calculating the according energy from AMOEBA

$ vdw/files 

designed to contain the seeds parameters files and results log

Two places could be changed according to the amount of computaion can be afforded: the value of g specifies how many generations of the GA program, and the value of p speicifies how many populations for each generation does the GA have (which should not exceed the number of cores of the computing node/nodes).

$ cat run.sh
$ #!/bin/sh
$ g=2
$ p=4
$ ...

About

Genetic Algorithm (GA) program for optimizing the parameters of a polarizable force field based on the AMOEBA functional form


Languages

Language:Fortran 50.8%Language:Shell 31.4%Language:C 10.8%Language:Makefile 6.2%Language:C++ 0.9%