Difference between revisions of "Tinkergpu:Forcebalance"

From tinkergpu
Jump to navigation Jump to search
m
Line 4: Line 4:
<span style="font-size:medium">ForceBalance is an automatic parameter optimization tool that was developed by Lee-Ping Wang et al. Please read at least the following papers to understand the algorithms.</span>
<span style="font-size:medium">ForceBalance is an automatic parameter optimization tool that was developed by Lee-Ping Wang et al. Please read at least the following papers to understand the algorithms.</span>


#<span style="font-size:medium"><cite>&nbsp; &nbsp;J. Phys. Chem. Lett.</cite>,&nbsp;2014,&nbsp;5&nbsp;(11), pp 1885–1891 (ForceBalance paper, TIP3P and TIP4P water as examples)</span>  
#
#<span style="font-size:medium"><cite>&nbsp; &nbsp;J. Phys. Chem. B</cite>,&nbsp;2013,&nbsp;117&nbsp;(34), pp 9956–9972 (iAMOEBA&nbsp;paper)</span>  
<span style="font-size:small;"><cite>&nbsp; &nbsp;J. Phys. Chem. Lett.</cite>,&nbsp;2014,&nbsp;5&nbsp;(11), pp 1885–1891 (ForceBalance paper, TIP3P and TIP4P water as examples)</span>
#<span style="font-size:medium"><cite>&nbsp; &nbsp;J. Phys. Chem. B</cite>,&nbsp;2015,&nbsp;119&nbsp;(29), pp 9423–9437 (AMOEBA14 paper)</span>  
 
#
<span style="font-size:small;"><cite>&nbsp; &nbsp;J. Phys. Chem. B</cite>,&nbsp;2013,&nbsp;117&nbsp;(34), pp 9956–9972 (iAMOEBA&nbsp;paper)</span>
 
#
<span style="font-size:small;"><cite>&nbsp; &nbsp;J. Phys. Chem. B</cite>,&nbsp;2015,&nbsp;119&nbsp;(29), pp 9423–9437 (AMOEBA14 paper)</span>
 


<span style="font-size:medium">A brief tutorial on how to install, set up, and run FB is provided below.&nbsp;&nbsp;&nbsp;</span>
<span style="font-size:medium">A brief tutorial on how to install, set up, and run FB is provided below.&nbsp;&nbsp;&nbsp;</span>
Line 15: Line 21:


After you have conda installed, FB can be installed through the following commands:
After you have conda installed, FB can be installed through the following commands:
<pre><code>  conda create --name FB17 python=3.7
<pre>  conda create --name FB17 python=3.7
   conda activate FB17
   conda activate FB17
   conda install --strict-channel-priority -c conda-forge forcebalance</code></pre>
   conda install --strict-channel-priority -c conda-forge forcebalance</pre>


Now you should be able to run ForceBalance jobs. In order to&nbsp;
Now you should be able to run ForceBalance jobs. In order to&nbsp;
Line 35: Line 41:
If ForceBalance jobs crash, check the error message and modify your setting. &nbsp;<span style="display: none">&nbsp;</span>
If ForceBalance jobs crash, check the error message and modify your setting. &nbsp;<span style="display: none">&nbsp;</span>


== &nbsp; ==
&nbsp;


== '''Customization for AMOEBA+ force field''' ==
== '''Customization for AMOEBA+ force field''' ==
Line 48: Line 54:


2.&nbsp;Download modified files and copy them to the anaconda lib directory
2.&nbsp;Download modified files and copy them to the anaconda lib directory
<pre><code>  git clone git@github.com:leucinw/Software-mod.git modcode
<pre>  git clone git@github.com:leucinw/Software-mod.git modcode
</code><code>  export modfileHOME=/home/liuchw/modcode/forcebalance-1.7.5
  export modfileHOME=/home/liuchw/modcode/forcebalance-1.7.5
   cp $modfileHOME/binding.py $condaHOME/binding.py
   cp $modfileHOME/binding.py $condaHOME/binding.py
   cp $modfileHOME/liquid.py  $condaHOME/liquid.py
   cp $modfileHOME/liquid.py  $condaHOME/liquid.py
   cp $modfileHOME/tinkerio.py $condaHOME/tinkerio.py
   cp $modfileHOME/tinkerio.py $condaHOME/tinkerio.py
   cp $modfileHOME/parser.py $condaHOME/parser.py
   cp $modfileHOME/parser.py $condaHOME/parser.py
   cp $modfileHOME/data/npt.py $condaHOME/data/npt.py</code></pre>
   cp $modfileHOME/data/npt.py $condaHOME/data/npt.py</pre>
 
&nbsp;


The above customization mostly involves supports for AMOEBA+ keywords and parallelization of the serial jobs in:
The above customization mostly involves supports for AMOEBA+ keywords and parallelization of the serial jobs in:

Revision as of 15:13, 16 December 2020

Background

ForceBalance is an automatic parameter optimization tool that was developed by Lee-Ping Wang et al. Please read at least the following papers to understand the algorithms.

   J. Phys. Chem. Lett., 2014, 5 (11), pp 1885–1891 (ForceBalance paper, TIP3P and TIP4P water as examples)

   J. Phys. Chem. B, 2013, 117 (34), pp 9956–9972 (iAMOEBA paper)

   J. Phys. Chem. B, 2015, 119 (29), pp 9423–9437 (AMOEBA14 paper)


A brief tutorial on how to install, set up, and run FB is provided below.   

ForceBalance Installation

It is easy to install FB through conda tool (either Anaconda or Miniconda). For how to install conda, please go to anaconda download page (https://www.anaconda.com/products/individual).

After you have conda installed, FB can be installed through the following commands:

  conda create --name FB17 python=3.7
  conda activate FB17
  conda install --strict-channel-priority -c conda-forge forcebalance

Now you should be able to run ForceBalance jobs. In order to 

ForceBalance input files

To take amoeba water parameterization using tinker as an example, the following files are necessary to successfully run FB. 

.
├── example.in
├── forcefield
│   └── water.prm
└── targets
    ├── DimerMin
    ├── Interactions_CCSDT
    ├── Interactions_MP2
    ├── Liquid
    ├── Monomer_Moments
    ├── Monomer_Vibration
    ├── cluster-02
    ├── cluster-03

Inside the Liquid target are the input files for tinker (.key and .xyz) and experimental data (data.csv)

 Liquid/
├── data.csv
├── gas.key
├── gas.xyz
├── liquid.key
└── liquid.xyz

A cluster folder typically contains the xyz files, interactions.key and interactions.txt, which defines the QM reference and how you calculate the interaction energy for AMOEBA.

Interactions_CCSDT/
├── 01-Prism.xyz
├── 02-Cage.xyz
├── 03-Bag.xyz
├── 04-Cyclic-Chair.xyz
├── 05-Book-1.xyz
├── 06-Book-2.xyz
├── 07-Cyclic-Boat-1.xyz
├── 08-Cyclic-Boat-2.xyz
├── interactions.key
├── interactions.txt
├── monomer_exp.xyz
├── monomer_mp2.xyz
├── monomer_opt.xyz

After you setup the above files, you should be able to run ForceBalance using the simple command:

ForceBalance example.in

If ForceBalance jobs crash, check the error message and modify your setting.   

 

Customization for AMOEBA+ force field

1. Backup original FB source files

<code> export condaHOME = /home/liuchw/anaconda3/envs/FB17/lib/python3.7/site-packages/forcebalance
  cp $condaHOME/binding.py $condaHOME/binding.py_back
  cp $condaHOME/liquid.py $condaHOME/liquid.py_back
  cp $condaHOME/tinkerio.py $condaHOME/tinkerio.py_back
  cp $condaHOME/parser.py $condaHOME/parser.py_back
  cp $condaHOME/data/npt.py $condaHOME/data/npt.py_back</code>

2. Download modified files and copy them to the anaconda lib directory

  git clone git@github.com:leucinw/Software-mod.git modcode
  export modfileHOME=/home/liuchw/modcode/forcebalance-1.7.5
  cp $modfileHOME/binding.py $condaHOME/binding.py
  cp $modfileHOME/liquid.py  $condaHOME/liquid.py
  cp $modfileHOME/tinkerio.py $condaHOME/tinkerio.py
  cp $modfileHOME/parser.py $condaHOME/parser.py
  cp $modfileHOME/data/npt.py $condaHOME/data/npt.py

The above customization mostly involves supports for AMOEBA+ keywords and parallelization of the serial jobs in:

  • Tinker binding energy calculations (minimize and analyze)
  • Tinker post-MD analyze jobs
  • Tinker/Tinker-OpenMM dynamic jobs