User Guide
User Manual:
Open the PDF directly: View PDF 
.
Page Count: 10

User guide for FEtool.py – v1.0
1. Introduction
The program FEtool.py is designed to fully automate absolute binding free energy calculations, starting
only from a crystal structure or a docked complex. The building of the simulation boxes, generation of
all the needed parameters, set up of the various simulation windows, running the simulations, and the
final   free   energy   analysis   are   all   done   without   any   manual   interference.     FEtool.py   uses   the
pmemd.cuda  sofware   from  AMBER   [1],   which   has   shown   very   high   performance   on   Graphics
Processing Units (GPUs) at a reduced cost (http://ambermd.org/gpus16/benchmarks.htm). We believe
that our implementation can be used for high-throughput search of high-affinity ligands to a given
receptor,  using a rigorous physics-based free energy approach.  FEtool.py  can also  be applied  for
parameter testing and optimization, as well as the comparison between alchemical (double decoupling
-DD) and physical routes (attach-pull-release - APR) for standard binding free energy calculations.
In   this   user   guide   we   will   first   describe   the   workflow   of   the   program,   then   the   various
components of the free energy calculation, and how the simulations are analyzed in order to obtain the
quantities of interest. All the parameters needed for the program input file, and how they apply to the
various calculation steps, will also be described in detail. Finally, we will explain how to add a new
protein system to our automated protocol.
2. Workflow

The workflow above shows the equilibration, preparation and calculation procedures. It begins by first
building the initial complex, either starting from the docked receptor and ligand files or directly from
the   receptor-ligand   co-crystal   structure.   The   necessary   ligand   parameters   are   obtained   using
Antechamber [2], with the General Amber Force-Field (GAFF) for the bonded and LJ parameters [3],
and the AM1-BCC model for the partial atomic charges [4,5]. The system is then aligned to a reference
structure of a similar protein using the program MUSTANG [6], so that the ligand anchors and dummy
atom coordinates can be automatically assigned. 
With all the coordinates of the initial system already set, the complex is then placed in a water
box with a given ion concentration, and the necessary restraints are applied. An initial equilibration is
then performed, with all the receptor restraints activated, and the translational/rotational restraints of
the ligand being gradually released in order to find a nearby energy minimum. At the end of this last
step, the ligand might still be bound or it might have left the binding site in the case of unstable binding
mode. If the latter happens, this pose is considered unstable and no further simulations are performed
for this system.
If the ligand is still bound after equilibration, which should usually be the case,   then the
preparation of the system for the binding free energy calculations is performed. The preparation starts
from the last state from equilibrium, reassigning the ligand anchors, repositioning the dummy atoms,
solvating/ionizing the system and and redefining the restraints. This is necessary since the unrestrained
ligand can adopt a different binding mode in the last stage of the equilibration step, which requires a
new reference state for the free energy calculations. The preparation simulations may involve the
pulling of the ligand from the binding site to bulk, if APR is to be used, or only the simulation of the
restrained ligand in the bound state, if only DD is employed.
Starting from the last state of the preparation step, all the necessary simulation windows are
now   created   for   the   binding   free   energy   calculation.   They   involve   various   components   for   the
application/removal of restraints, as well as the pulling/decoupling of the ligand, which are explained in
detail in the next section. Once the free energy simulations are concluded, they can be analyzed using
the Multistate  Bennett Acceptance Ratio  (MBAR) [7],  Thermodynamic  Integration with  Gaussian
Quadrature (TI), or analytically, depending on the stage and the choice in the input file. 
3. Free Energy Components
The FEtool.py expression for the calculated binding free energy is defined as follows:
−Δ Gbind
o=Δ Gp , conf ,att +Δ Gl , conf , att+ Δ Gl ,TR ,att +Δ Gtransfer + Δ Gl ,TR, rel+ Δ Gl ,conf , rel+ Δ Gp ,conf , rel
In the equation above, the att index denotes attachment of restraints in the bound state, and rel indicates
release of restraints with the ligand in bulk. The l and p indexes are for ligand and protein (receptor),
respectively, conf is for conformational restraints and TR is for translational/rotational restraints.  The
ΔGtransfer term is the free energy of transferring of the ligand from the receptor binding site to bulk with
all   restraints   applied,   using   either   a   physical   reaction   coordinate   (APR),   or   an   alchemical
transformation (DD):
ΔGtransfer−APR= Δ Gpull
                                                                                 (APR)
ΔGtransfer−DD= Δ Gdec, elec ,site +Δ Gdec , LJ ,site− Δ Gdec, elec ,bulk −Δ Gdec , LJ , bulk
                  (DD)

In the case of APR, ΔGtransfer-APR is equal to the pulling free energy of the ligand from the binding site to
bulk, which is done using umbrella sampling, as in Ref [8]. For the double decoupling procedure,
ΔGtransfer-DD is equal to the sum of four terms, as shown in the equation above. The index dec stands for
decoupling,  elec  for   electrostatic   interactions   and  LJ  for   Lennard-Jones   interactions,   with   these
calculations being performed both in the binding site or in bulk. 
Table I summarizes all the free energy components from our simulations, with each identified
by a letter:
Description Letter System Free Energy Method Free energy term
Attachment of receptor
conformational restraints  aComplex MBAR
ΔGp , conf ,att
Attachment of ligand
conformational restraints  lComplex MBAR
ΔGl , conf ,att
Attachment of ligand TR restraints  tComplex MBAR
ΔGl ,TR , att
Pulling stage (umbrella sampling) uComplex* MBAR
ΔGpull
Decoupling of ligand charge
interactions (binding site) eComplex MBAR/TI
ΔGdec , elect , site
Decoupling of ligand LJ
interactions (binding site) vComplex MBAR/TI
ΔGdec , LJ , site
Decoupling of ligand charge
interactions (bulk) fLigand only MBAR/TI
ΔGdec , elec, bulk
Decoupling of ligand LJ
interactions (bulk) wLigand only MBAR/TI
ΔGdec , LJ , bulk
Release of ligand TR restraints bLigand only Analytical
ΔGl ,TR ,rel
Release of ligand conformational
restraints cLigand only MBAR
ΔGl , conf ,rel
Release of receptor conformational
restraints  rReceptor only MBAR
ΔGp , conf ,rel
* The receptor and ligand will be physically separated during the pulling simulations
When the calculations are set up, the windows from each free energy component will have their
corresponding letter followed by the window number, starting at 0. The number of windows and their
properties can be defined in the input file. The letters also identify the free energy output files, which
are stored in the ./data folder of each component, after the analysis is performed. More information on
the nature of each of the restraints, and the free energy methods we use, can be found in Refs. [8,9].
4. Input file
Various options concerning the creation of the systems, simulations and analysis, can be chosen in the
input file:
calc_type: Accepts the options “dock” or “crystal”, for a receptor ligand pair of pdb files, or a complex
co-crystal structure, respectively. The system initial pdb files should be located in the ./all-poses folder.

celpp_receptor: Sets the name of the receptor, followed by _docked. For example, choose “hiTanimoto-
5uf0_5uez” for a receptor file called hiTanimoto-5uf0_5uez_docked.pdb. The naming is based on the CELPP
challenge procedure. For a crystal structure, put the four letter identifier for the structure, for example “5uf0” for
the 5uf0.pdb crystal structure. 
poses_list: The list of poses that will be used for the calculations. The list should be placed in brackets
ans separated by commas. Ex: “[0,1,2,3,4]”. The docked poses files in the ./all-poses folder must be listed
accordingly   as   pose0.pdb,   pose1.pdb,   pose2.pdb,   etc.   This   parameter   is   not   used   for   crystal   structure
calculations.
ligand_name: The residue name for the ligand. This is arbitrary for docked poses (Ex: “DOK”), but is
necessary if starting the calculations from a crystal structure. In that case, put the three letter ligand identifier in
this option. Ex: “89J” for the 5uf0 crystal structure.  
P1, P2 and P3: These define the anchor atoms of the receptor, which have to be determined beforehand.
The original protein sequence numbering should be used here, using AMBER masks to define each atom. Ex:
“:403@CA” for the CA atom of residue 403. 
fe_type: Designates which components are to be included in the free energy calculations. For example, if all
the APR and DD calculations are to be performed, choose “all” for this option. If only double decoupling with
restraints will be performed, choose “dd-rest”, and if only APR choose “pmf-rest”. The “custom” option allows
to choose any combination of components, using the components option below.
components: If the option “custom” is set in the option above, choose the components you want to calculate,
using a list of letters separated by spaces inside a bracket. Ex: “[ c l t a ]”.
release_eq: The weights for the gradual release of the restraints in the equilibrium stage, going from 100
(fully restrained) to 0 (unrestrained). Each option will be a new simulation, and they are performed in sequence.
Use a list of letters separated by spaces inside a bracket to define these weights. Ex: “[ 5.00 2.50 1.00 0.00 ]”. A
single 0.00 inside the brackets (Ex: “[ 0.00 ]”) will run just one equilibrium simulation without any ligand
restraints. 
attach_apr: List  of weights  for the spring  constant of  each  window during the attaching/releasing  of
restraints using MBAR (components a, l, t, c and r).  The total number of windows for each of these components
will be the size of the array. Ex: “[ 0.00 2.00 4.00 16.00 64.00 100.00 ]” for a total of 6 windows.
translate_apr: Windows for the umbrella sampling (pulling) procedure of APR, identified by the letter u.
It starts from 0.00 (bound state) until the desired reference distance between the receptor and the ligand in the
unbound state. The number of windows is the size of the array.  Ex: “[ 0.00 1.00 2.00 3.00 4.00 5.00 ]” for a total
of 6 windows, ending 5.00 Å away from the initial reference distance. 
lambdas: Lambda values for the double decoupling procedure, going from 0.00 to 1.00. Ex: For a 12-point
Gaussian quadrature, choose “[ 0.00922 0.04794 0.11505 0.20634 0.31608 0.43738 0.56262 0.68392 0.79366
0.88495 0.95206 0.99078 ]” for the lambda array values.
pull_ligand: Choice to pull the ligand from the binding site or not during preparation. This is needed for
the APR method, but not needed for double decoupling. Choose “yes” or “no” for this option.  
pull_spacing: The interval between each ligand position during the preparation simulations, if the option
above is set to yes. The final distance is the last value in the translate_apr array. Ex: “0.1” for a pulling

interval of 0.1 Å.
rec_distance_force: Distance spring constant for the receptor rigid body restraints, identified as R2 in
Ref. [8]. Use units of kcal/mol.Ų.
rec_angle_force:  Angle   and   torsion   angle   spring   constants   for   the   receptor   rigid   body   restraints,
identified   as   A3,   A4,   T4,   T5   and   T6   in   Ref.   [8].   Use   units   of   kcal/mol.rad².   The   forces   from
rec_distance_force  and  rec_angle_force  are included to keep the receptor in the laboratory
reference frame.   
rec_dihcf_force: Final spring constant for the protein conformational dihedral restraints, if this option is
activated (see rec_bb variable). The nature of these restraints, and how they are implemented, are explained in
Ref. [9]. Use units of kcal/mol.rad².
rec_discf_force: Final spring constant for the protein conformational distance restraints between the
anchor atoms. Use units of kcal/mol.Ų.
lig_distance_force,  lig_angle_force,  lig_dihcf_force  and  lig_discf_force:
Final spring constants for the ligand restraints, defined the same way as the receptor above. The value of
lig_distance_force also designates the spring constant used during the pulling simulations. The nature
of the ligand conformational restraints, and how they are implemented, are explained in Ref. [9].
water_model: The water model used in the calculations. Supported options are “TIP3P”, “TIP4PEW” and
“SPCE”.
num_waters: Number of waters used in the simulations of the complex and the apo protein. 
buffer_x and buffer_y: Options for the water padding in the x and y axes of the system, remembering
that the pulling is done along the z coordinate. The dependent variable is the padding in the z-axis, so make sure
you have enough waters to cover the complex and allow the pulling of the ligand.
 lig_box: Water padding in the three Cartesian axes for the box with only the ligand in it.
neutralize_only: Option to add ions only to neutralize the system, or to also include a chosen ion molar
concentration. Accepts options “yes” or “no”.
cation  and  anion: Cation and anion species to be used, accepts all ions supported by the Joung and
Cheatham monovalent ion parameters [10]. Ex: “Na+” and “Cl-”.
num_cations: Number of cations to be added after neutralization, for the desired ion concentration, for
simulations of the complex and the  apo  protein. The number of anions is the dependent variable, since the
systems are always neutral.
num_cations_ligbox:   Number   of   cations   to   be   added   after   neutralization,   for   the   desired   ion
concentration, for the smaller ligand box. 
hmr: Use hydrogen mass repartitioning [11] with a 4 fs time step, if set to “yes”. If set to “no”, the simulations
do not use hmr, and use a 2 fs time step. 

temperature: Temperature of the simulated systems, in Kelvin (K).
eq_steps1: Number of steps for each simulation of the gradual release of restraints, during the equilibration
procedure. 
eq_steps2: Number of steps for the last simulation of the equilibration procedure, in which the ligand is
unrestrained.
prep_steps1: Number of steps for the first simulation of the preparation step, in which the ligand is fully
restrained in the bound state. 
prep_steps2: Number of steps for each of the pulling simulations, during the preparation procedure. The
distance separation of each of these steps is defined in the pull_spacing option. 
[component]_steps1: Number of steps of equilibration, for each window of the various components of
the free energy calculation, with the component letters shown in Table I. No data is collected during this
simulation.  
[component]_steps2:  Number   of   steps   for   the   production   stage   of   each   window   of   the   various
components of the free energy calculation, in which data is collected. 
rec_bb: Choice to use or not protein (receptor) backbone dihedral restraints, accepting “yes” or “no”. 
bb_start  and  bb_end: If the option above is activated, these variables define the residue range of the
protein backbone dihedral restraints, using the original protein sequence numbering. 
l1_x: distance in the x axis between the first protein anchor atom P1 and the center of the “strike zone” for the
search of the ligand first anchor L1. More details on this procedure can be found in section 6 of this guide and
also in Ref. [9]
l1_y: Same as the previous one, but for the y axis distance.  
l1_z: Minimum distance between the first protein anchor atom P1 and the first ligand anchor L1, in the z axis.
l1_range: Size of the “strike zone” for the first ligand anchor atom search, which is a square with sides
having twice the value of this parameter (2*l1_range).  
min_adis and max_adis:  Minimum and maximum distance between the ligand anchors. 
dd_type: Type of integration method for the decoupling components of the binding free energy calculation (e,
v, f and w). If “TI” is chosen, Gaussian quadrature is applied, if “MBAR” is chosen, the latter is used to calculate
these components. Remember that the lambda values have to be suitable for either type of integration method.
weights: Weights for Gaussian quadrature calculations, in case the TI option is chosen above. These values
must correspond to the values in the lambdas array, for the procedure to be applied correctly. In the case of a
12-point Gaussian quadrature, write “[ 0.02359 0.05347 0.08004 0.10158 0.11675 0.12457 0.12457 0.11675
0.10158 0.08004 0.05347 0.02359 ]” for this variable. 

blocks: Number of blocks for block data analysis. This separates the simulation data in blocks and provides
the results for each, so the temporal variation and convergence of the results can be assessed.  
5. Adding new ligands to a given protein
In the example provided in the FEtool folder, binding free energy calculations are performed for the 5uf0 crystal
structure, as well as 5 docked poses of the same ligand docked to the receptor with the 5uez structure. The
protein receptor is the second bromodomain of the BRD4 protein – BRD4(2). The ./all-poses folder in this
example contains the original 5uf0.pdb file, as well as a set of pdb files for the docked poses and receptor. The
same procedure can be applied to any ligand that binds to BRD4(2), as explained below:
5.1 Docked complexes: In order to generate a set of pdb files for the docked poses and receptor, there are two
options, either do a manual docking with chosen input files, or using the CELPP challenge workflow. Both
options use  AutoDockTools  [12],  Chimera [13],  and AutoDock Vina  [14] to  prepare  the files  and run the
docking, so you must have them in your path in order to perform this stage. For the first option, the ./docking-
files/Vina-example folder has a simple docking workflow using the dock.bash script and the input files for the
5uf0 system, which already outputs the files in the right format for use with FEtool.
The docking can also be integrated into the CELPP challenge, using the procedure from the CELPPade
tutorial (ht   tps://doc.google.com/document/d/1iJcPUktbdrRftAA8cuVa32Ri1TPr2XvZVqTccDja2OM   h),
which the user needs to be familiarized with. The same scripts from the “internal_autodockvina_contestant”
model from this tutorial can be used for docking, except for  internal_autodockvina_contestant_dock.py.  To
output the docked structures suitable for use with FEtool, you should use instead the  FEtool_dock.py  script,
which is included inside the FEtool/CELPP-docking folder. Once you run the CELPP docking, the necessary pdb
structures for various different receptors will be inside the ./4-docking folder that was just created. 
5.2   Co-crystal   structure:  In   the   case   of   a   co-crystal   structure,   the  calc_type,  ligand_name  and
celpp_receptor options in the input file have to be adjusted properly, as explained in section 4. The script
prep-crystal.tcl, inside the ./build_files folder, is used by VMD [15] to “clean” the original file and leave only a
single chain of the receptor-ligand complex. The editing of this tcl script usually not needed, but is necessary if
the original pdb file has more than one chain. Keep in mind that the “MMM” identifier will be replaced by the
ligand name, so it does not have to be changed beforehand.  
6. Adding a new protein system
FEtool.py can be extended to several protein systems, by including a reference alignment file and adjusting a
few parameters in the input.in file. The ./systems-library folder contains the necessary data for a few systems,
and more can be requested by contacting the author directly. The user can also set up a new protein system, so
below we show a few good practices, using the second BRD4 bromodomain as an example. 
6.1: Aligning the protein: The first step is to create the reference.pdb file, so that the complex can be aligned
relative to it using MUSTANG, before the FEtool.py simulations are performed. If using APR, the ligand pulling
direction is along the z axis and towards positive values (z+), so the ligand must have free access to the solvent
along this direction. This is not needed if only DD is to be employed. The reference file is created by rotating a
structure of the desired protein with a ligand bound, in this example the 5uf0 crystal structure of BRD4(2), and
then   saving   it   as   reference.pdb.   One   way   of   doing   this   is   using   VMD
(http://www.ks.uiuc.edu/Training/Tutorials/vmd/vmd-tutorial.pdf), but other programs such as Chimera can also
be employed for that purpose. Figure 1 shows the 5uf0 structure before (red) and after the rotation (blue), with
the ligand now having access to the solvent along the z direction. The reference.pdb file does not need to have
the same sequence as the receptor input file, so the same reference created here for for BRD4(2) can be extended
to other  bromodomains that share the same fold, such as BRD4(1), CREBBP and BAZ2B.

Figure 1: The 5uf0 structure before (red) and after (blue) the rotation, so that the latter has the ligand with free access
to the solvent in the +z direction.  
6.2: Choosing the protein anchors: Once the reference.pdb file with the desired orientation is created, it is time
to choose the three protein anchor atoms. Starting from this file, choose a tentative ligand first anchor atom L1
[8], with the lowest or one of the lowest values for the z coordinate from all the ligand atoms, and with the x and
y coordinates not too far from the center of the binding site (Figure 2). Even though this anchor is going to be
chosen automatically  when  you run  FEtool.py, an estimate of  its location is needed to  choose the  protein
anchors. The protein P1 anchor is then chosen using a few rules:
1 – Should be a backbone atom (CA, C or N) and part of a stable secondary structure such as an alpha-helix or a
beta sheet, always avoiding loop regions due to their increased flexibility.
2 – Should have a distance  between 10 Å  and 15 Å  from the chosen L1 atom in the  z  axis, and having an
absolute value between 5.0 Å and 10 Å in the xy plane. 
In the example for the 5uf0 structure (Figure 2), the tentative L1 atom has a {x1 y1 z1} distance vector from the
CA atom from the protein 403 residue (P1) being equal to {-0.74 -6.16 13.03} , with the z1 distance being 13.03
Å and the distance in the xy plane
x12+y12
 being 6.20 Å. Since it satisfies our criteria, we choose :403@CA
for the first protein anchor P1. 
The choice of the other protein anchors P2 and P3 are chosen after the first one, and also follow a few
guidelines:
1 – Should also be backbone atoms part of stable secondary structures such as alpha-helix or beta sheet, always
avoiding loop regions due to their increased flexibility.
2 – The N2-P1-P2 and P1-P2-P3 angles (Figure 2) should not be close to 0 or 180 degrees (better if close to 90o),
and the distance between the protein anchors should be large (at least 10 Å) . This is to avoid large forces during
the simulations due to a gimbal lock. Like the ligand anchors, the positioning of the dummy atoms is done
automatically, with an example shown in Figure 2. More information on their location and the full restraint setup
can be found on Refs [8,9]. 

Figure 2:  (left) The ligand tentative first anchor L1 (yellow) and the three protein anchors P1, P2 and P3 (green). The
strike zone for L1 search is shown in orange. (right) The same structure, but showing the the yz plane. The dummy
atoms N1, N2 and N3 (red), which are placed automatically when running FEtool.py, are shown as an example.   
6.3: Determining the input values for ligand anchor search: Once P1, P2 and P3 are chosen, a few more
parameters are needed for the input file. The x1 and y1 coordinates determined above can be used for the l1_x
and l1_y parameters, and the  l1_z  parameter can have a safe minimum value of 8.50  Å. The  l1_range
parameter defines a “strike zone” when searching for the first ligand anchor L1, and can also be safely defined as
3.0 Å (Figure 2). The  min_adis and max_adis define the minimum and maximum distance between the
ligand anchors, and can usually be left with values of 4.0  Å and 8.0  Å, respectively. For smaller ligands,
min_adis might have to be reduced to 3.5 Å or even 3.0 Å, and max_adis could be increased in the case of
larger ligands. 
Even  though this is  a  heuristic  approach, if  applied correctly the  protein and the  ligand  will  be  properly
restrained during the calculations, allowing us to obtain the absolute binding free energy of several molecules to
a given protein without any further adjustments.  
7. References
[1] D.A. Case, I.Y. Ben-Shalom, S.R. Brozell, D.S. Cerutti, T.E. Cheatham, III, V.W.D. Cruzeiro, T.A. Darden,
R.E. Duke, D. Ghoreishi, M.K. Gilson, H. Gohlke, A.W. Goetz, D. Greene, R Harris, N. Homeyer, S. Izadi, A.
Kovalenko, T. Kurtzman, T.S. Lee, S. LeGrand, P. Li, C. Lin, J. Liu, T. Luchko, R. Luo, D.J. Mermelstein, K.M.
Merz, Y. Miao, G. Monard, C. Nguyen, H. Nguyen, I. Omelyan, A. Onufriev, F. Pan, R. Qi, D.R. Roe, A.
Roitberg, C. Sagui, S. Schott-Verdugo, J. Shen, C.L. Simmerling, J. Smith, R. Salomon-Ferrer, J. Swails, R.C.
Walker, J. Wang, H. Wei, R.M. Wolf, X. Wu, L. Xiao, D.M. York and P.A. Kollman (2018), AMBER 2018,
University of California, San Francisco.
[2] J. Wang, W. Wang, P.A. Kollman, and D.A. Case.. (2006) "Automatic atom type and bond type perception in
molecular mechanical calculations".Journal of Molecular Graphics and Modelling, 25, 247-260.
[3] J. Wang, R.M. Wolf, J.W. Caldwell, and P. A. Kollman, D. A. Case (2004) "Development and testing of a
general AMBER force field". Journal of Computational Chemistry, 25, 1157-1174.
[4] A. Jakalian, B. L. Bush, D. B. Jack, and C.I. Bayly (2000) "Fast, efficient generation of high‐quality atomic

charges. AM1‐BCC model: I. Method". Journal of Computational Chemistry, 21, 132-146.
[5] A. Jakalian, D. B. Jack, and C.I. Bayly (2002) "Fast, efficient generation of high‐quality atomic charges.
AM1‐BCC model: II. Parameterization and validation". Journal of Computational Chemistry, 16, 1623-1641.
[6] A. S. Konagurthu, J. Whisstock, P. J. Stuckey, and A. M. Lesk. (2006) “MUSTANG: A multiple structural
alignment algorithm”. Proteins, 64, 559-574.
[7] M. R.  Shirts and J. Chodera (2008) “Statistically optimal analysis of samples from multiple equilibrium
states.” Journal of  Chemical Physics, 129, 129105.
[8] G. Heinzelmann, N. M. Henriksen, and M. K. Gilson. (2017)  “Attach-Pull-Release Calculations of Ligand
Binding and Conformational Changes on the First BRD4 Bromodomain”  Journal   of  Chemical Theory and
Computation, 13, 3260-3275.
[9]  G. Heinzelmann and  M. K. Gilson.  “FEtool.py: A  fully automated tool  for  high-performance absolute
binding free energy calculations” . Paper in preparation. 
[10] I. S. Joung and T. E. Cheatham III (2008). “Determination of Alkali and Halide Monovalent Ion Parameters
for Use in Explicitly Solvated Biomolecular Simulations”.  The Journal of Physical Chemistry B,  112, 9020-
9041.
[11] C.  W.  Hopkins, S.  Le  Grand,  R. C.  Walker,  and A. E.  Roitberg.  (2015) “Long-Time-Step  Molecular
Dynamics through Hydrogen Mass Repartitioning”. Journal of Chemical Theory and Computation,  11, 1864-
1874.
[12] G. M. Morris, R. Huey, W. Lindstrom, M. F. Sanner, R. K. Belew, D. S. Goodsell, and A. J. Olson. (2009)
“AutoDock4   and  AutoDockTools4:   Automated   Docking   with   Selective   Receptor   Flexibility”  Journal   of
Computational Chemistry, 30, 2785-2791.
[13] E. F. Pettersen, T. D. Goddard, C. C. Huang, G. S. Couch, D. M. Greenblatt, E. C. Meng, and T. E. Ferrin.
(2004).     "UCSF   Chimera   -  A  Visualization   System   for   Exploratory   Research   and  Analysis."  Journal   of
Computational Chemistry, 25, 1605-1612.
[14] O. Trott and A. J. Olson. (2010) "AutoDock Vina: improving the speed and accuracy of docking with a new
scoring function, efficient optimization and multithreading," Journal of Computational Chemistry, 31, 455-461.
[15] W.  Humphrey,  A.  Dalke and  K. Schulten.  (1996)   "VMD - Visual  Molecular Dynamics",  Journal  of
Molecular Graphics, 14, 33-38.