arXiv is now an independent nonprofit! Learn more
License: CC BY-NC-ND 4.0
arXiv:2208.05524v1 [physics.chem-ph] 10 Aug 2022

Explicit-Solute Implicit-Solvent Molecular Simulation with Binary Level-Set, Adaptive-Mobility, and GPU

Shuang Liu thanks: Department of Mathematics, University of California, San Diego, 9500 Gilman Drive, La Jolla, California 92093-0112, United States. Email:shl083@ucsd.edu. Note: All authors have contributed equally.    Zirui Zhang* thanks: Department of Mathematics, University of California, San Diego, 9500 Gilman Drive, La Jolla, California 92093-0112, United States. Email:zzirui@ucsd.edu.    Li-Tien Cheng* thanks: Department of Mathematics, University of California, San Diego, 9500 Gilman Drive, La Jolla, California 92093-0112, United States. Corresponding author. Email:l3cheng@ucsd.edu.    Bo Li* thanks: Department of Mathematics, University of California, San Diego, 9500 Gilman Drive, La Jolla, California 92093-0112, United States. Email:bli@ucsd.edu.
Abstract

Coarse-grained modeling and efficient computer simulations are critical to the study of complex molecular processes with many degrees of freedom and multiple spatiotemporal scales. Variational implicit-solvent model (VISM) for biomolecular solvation is such a modeling framework, and its initial success has been demonstrated consistently. In VISM, an effective free-energy functional of solute-solvent interfaces is minimized, and the surface energy is a key component of the free energy. In this work, we extend VISM to include the solute mechanical interactions, and develop fast algorithms and GPU implementation for the extended variational explicit-solute implicit-solvent (VESIS) molecular simulations to determine the underlying molecular equilibrium conformations. We employ a fast binary level-set method for minimizing the solvation free energy of solute-solvent interfaces and construct an adaptive-mobility gradient descent method for solute atomic optimization. We also implement our methods in GPU. Numerical tests and applications to several molecular systems verify the accuracy, stability, and efficiency of our methods and algorithms. It is found that our new methods and GPU implementation improve the efficiency of the molecular simulation significantly over the CPU implementation. Our fast computational techniques may enable us to simulate very large systems such as protein-protein interactions and membrane dynamics for which explicit-solvent all-atom molecular dynamics simulations can be very expensive.

Keywords: Binary level-set method, GPU implementation, variational implicit-solvent explicit-solute model, Coulomb-field approximation, molecular mechanical interactions.

1 Introduction

Computer simulations are basic tools in the study of complex biomolecular processes with multiple temporal and spatial scales and many-body interactions. Efficiency and computational costs, however, are bottlenecks in such simulations for large systems with long time scales of biological interest. Examples of such systems include protein-protein interactions, membrane dynamics, and aggregation of biopolymer networks. The development of coarse-grained biophysical and mathematical modeling, together with fast numerical algorithms and computer implementation, is therefore critical to the success of computational studies of complex biomolecular systems.

Implicit-solvent models are a class of coarse-grained models in which solvent is efficiently treated in comparison with explicit-solvent all-atom molecular dynamics simulations. In recent years, variational implicit-solvent model (VISM) has shown its initial success in efficient modeling of biomolecular conformations and recognition. VISM is a mesoscale description of the solvation of charged molecules, particularly biomolecules such as proteins, in an aqueous environment [6, 7]. The central quantity of such a model is a macroscopic free-energy functional of all possible solute-solvent interfaces each of which separates the solute molecules from the aqueous solvent (i.e., water or salted water). Minimizing such a functional leads to an equilibrium molecular conformation that is often metastable, and the corresponding minimum free energy. The free energy consists mainly of the solute-solvent interfacial energy, solute-solvent van der Waals (vdW) interaction energy, and the electrostatic interaction energy that can be described by a continuum electrostatics model. Implemented by the level-set method, a numerical method for interface motion, VISM is capable of capturing qualitatively or semi-quantitatively many key features of charged molecular processes, such as the dry and wet solvation states and the effect of electrostatic interactions, and providing reasonably good estimates of the solvation free energy [3, 29, 32, 10, 11, 33, 24]. We note that several other solvation models have been developed [19, 23, 1].

In this work, we extend VISM to include the flexibility of solute atoms, and develop fast algorithms and GPU implementation for the extended variational explicit-solute implicit solvent (VESIS) simulations of molecular conformational change and binding process. This study is motivated by our recent work that couples VISM with Monte Carlos (MC) method to simulate the binding of proteins p53 and MDM2 that are treated as rigid bodies, where each MC move is followed by a solvation free-energy calculation [31]. A new and fast binary level-set algorithm that we have developed enables us to carry out such intensive MC-VISM simulations with hundreds of thousands MC moves. Clearly, the rigid-body approximation can hardly make our MC-VISM simulations reach the final p53-MDM2 bound complex. However, explicit-solvent all-atom molecular dynamics (MD) simulations starting from our MC-VISM conformations reach quickly to the final complex. It is therefore naturally for us to further develop our mesoscale molecular simulation approach to allow the solute atoms to move around as in the real system. This is what we do in our current study.

Our main results include the following:

  1. (1)

    We extend VISM to include the solute-solute atomic interactions with a usual force field to construct our VESIS model. Such interactions include the mechanical bonding, bending, and torsion, vdW interactions modeled by Lennard-Jones (LJ) potentials, and the electrostatic interactions by Coulomb’s law. The coupling between these solute interactions and the implicit solvent is through the solute-solvent interactions described by a sum of integrals over the solvent region, summing over all the solute atoms.

  2. (2)

    We design an adaptive-mobility gradient descent optimization method to relax all the solute atoms, and couple it with our fast binary level-set method to minimize the VESIS free-energy functional.

  3. (3)

    We implement our methods and algorithms in GPU, and test our code to verify its accuracy, stability, and efficiency.

  4. (4)

    We apply our VESIS model and GPU implementation to simulate several molecular systems, including the protein BphC and the protein complex p53-MDM2, to demonstrate the significant improvement of efficiency of our new algorithms and implementation over the CPU implementation.

First introduced in [31], the binary level-set method is based on the approximation of surface area of an interface separating two regions by the convolution of the characteristic functions of these regions with a compactly supported kernel. This combines two steps, diffusion and threshold, in the method of threshold dynamics [22] (cf. also [25, 27, 26, 8, 28]) into one step. An energy functional of the interface that includes the surface area and other related quantities can then be expressed as the sum over finite-difference gird cells. Cells in the two regions separated by the interface are marked by 1-1 and and +1+1. Equivalently, the interface is determined by a binary level-set function taking the value 1-1 or +1+1 on all the grid cells. The approximated total free-energy value can then be expressed as the sum of those values over all the grid cells. When a given interface is spatially perturbed, the energy change only occurs from those cells around the interface. The method then proceeds with flipping the cells (i.e., changing the sign of the binary level-set function on the cells) near the interface and only accept the change of sign when the energy is decreased. The algorithm is seemingly simple yet is significantly more efficient than the classical continuous level-set method [31]. A key factor contributing to such efficiency is that the flipping is done only locally around the interface instead of globally in the computational box [17, 18, 9].

Our new, adaptive-mobility gradient descent optimization method is designed to efficiently optimize a multi-variable objective function that may have many local minima and saddle points and that the gradient may vary significantly. The method is of the type of the gradient descent. But the descent is not uniform for all the iteration steps. Instead, mobility constants are adaptively changed during the iteration steps. This way, one may speed up the convergence.

In section 2, we describe our VESIS modeling framework. In section 3, we present our fast binary level-set method for interface motion and adaptive-mobility optimization method for relaxing atomic positions, as well as the simulation algorithm. Section 4 is devoted to the description of our GPU implementation. In section 5, we present the numerical tests and applications to several molecular systems, and demonstrate the efficiency of our methods and implementation. Finally, in section 6, we draw conclusions and discuss our future work. Appendix collects some calculations and formulas that are used in our modeling and numerical methods.

2 A Variational Explicit-Solute Implicit-Solvent Model

We consider a few molecules immersed in an aqueous solvent (i.e., water or salted water). This system of molecular solvation is confined spatially in a bounded region Ω3;\Omega\subset{\mathbb{R}}^{3}; cf. Figure 1. We assume that there are NN atoms of these solute molecules, located at 𝐫1,,𝐫NΩ{\mathbf{r}}_{1},\dots,{\mathbf{r}}_{N}\in\Omega and carrying partial charges Q1,,QNQ_{1},\dots,Q_{N}, respectively. A closed surface Γ\Gamma inside Ω\Omega and enclosing all the solute atoms 𝐫i{\mathbf{r}}_{i} (1iN)(1\leq i\leq N) is called a solute-solvent interface or dielectric boundary. Such an interface, which may have several disjoint connected components, divides the entire solvation region Ω\Omega into two parts. One is the solute region, denoted Ωm\Omega_{\rm m} (m stands for molecule), which is the interior of the surface Γ\Gamma, and the other is the solvent region, denoted Ωw\Omega_{\rm w} (w stands for water) and defined by Ωw=ΩΩ¯m\Omega_{\rm w}=\Omega\setminus\overline{\Omega}_{\rm m} (a bar denotes the closure of a set).

Refer to caption
Figure 1: A schematic view of a solvation system with explicit solute and implicit solvent. The entire system region Ω\Omega is divided by a solute-solvent interface into the solvent region Ωw\Omega_{\rm w} and the solute region Ωm\Omega_{\rm m} containing all the solute atoms at 𝐫i{\mathbf{r}}_{i} (1iN).(1\leq i\leq N). Two different solute-solvent interfaces are shown. One is a tight interface Γtight\Gamma_{\rm tight} (solid line) and the other a loose interface Γloose\Gamma_{\rm loose} (dashed line).

Our basic assumption is that an experimentally observed equilibrium solvation system is determined by its solute-solvent interface and solute atomic positions that together minimize an effective free-energy functional [4]

G[Γ,𝐑]=GVISM[Γ,𝐑]+Gss[𝐑],G[\Gamma,\mathbf{R}]=G_{\rm VISM}[\Gamma,{\mathbf{R}}]+G_{\rm ss}[{\mathbf{R}}], (2.1)

over all possible solute-solvent interfaces Γ\Gamma and solute atomic positions 𝐑=(𝐫1,,𝐫N).{\mathbf{R}}=({\mathbf{r}}_{1},\dots,{\mathbf{r}}_{N}). Here, the first part is the solvation free energy approximated by the VISM free energy and the second part is the solute-solute interaction potential or force field.

The VISM free energy is given by [6, 7, 29, 32]

GVISM[Γ,𝐑]\displaystyle G_{\rm VISM}[\Gamma,{\mathbf{R}}] =γ0Area(Γ)+ρwi=1N3ΩmULJ(i)(|𝐫𝐫i|)dV𝐫\displaystyle=\gamma_{0}{\rm Area}\,(\Gamma)+\rho_{\rm w}\sum_{i=1}^{N}\int_{{\mathbb{R}}^{3}\setminus\Omega_{\rm m}}U_{\rm LJ}^{(i)}(|\mathbf{r}-\mathbf{r}_{i}|)dV_{\mathbf{r}}
+132π2ε0(1εw1εm)3Ωm|i=1NQi(𝐫𝐫i)|𝐫𝐫i|3|2dV𝐫.\displaystyle\quad+\frac{1}{32\pi^{2}\varepsilon_{0}}\left(\frac{1}{\varepsilon_{\rm w}}-\frac{1}{\varepsilon_{\rm m}}\right)\int_{{\mathbb{R}}^{3}\setminus\Omega_{\rm m}}\left|\sum_{i=1}^{N}\frac{Q_{i}(\mathbf{r}-\mathbf{r}_{i})}{|\mathbf{r}-\mathbf{r}_{i}|^{3}}\right|^{2}dV_{\mathbf{r}}. (2.2)

The first term here is the solute-solvent interfacial energy, where γ0\gamma_{0} is the surface tension constant. The second term describes the van der Waals (vdW) type interactions between the solute atoms located at 𝐫i{\mathbf{r}}_{i} (1iN)(1\leq i\leq N) and solvent molecules that are treated as a continuum, where ρw\rho_{\rm w} is the bulk solvent density and each ULJ(i)U_{\rm LJ}^{(i)} is a Lennard-Jones (LJ) potential of the form

ULJ(r)=4ε[(σr)12(σr)6],U_{LJ}(r)=4\varepsilon\left[\left(\frac{\sigma}{r}\right)^{12}-\left(\frac{\sigma}{r}\right)^{6}\right], (2.3)

where the length parameter σ\sigma and energy parameter ε\varepsilon can depend on individual solute atoms. The last term in (2.2) is the Coulomb-field approximation (CFA) of the electrostatic interaction energy, where ε0\varepsilon_{0} is the vacuum permittivity, and εw\varepsilon_{\rm w} and εm\varepsilon_{\rm m} are the relative permittivities of the solvent and solute, respectively. Note that the integrals in (2.2) are over the region 3Ωm{\mathbb{R}}^{3}\setminus\Omega_{\rm m}, instead of Ωw\Omega_{\rm w} which is bounded. This is to account for the long-range effect of the vdW and Coulomb interactions.

We remark that one can include more terms in the VISM free energy. However, to keep our numerical implementation robust, we shall focus on this version of VISM free-energy functional.

The solute-solute interaction potential in (2.1) is given by

Gss[𝐑]\displaystyle G_{\rm ss}[\mathbf{R}] =(i,j)12Aij(rijr0ij)2+(i,j,k)12Bijk(θijkθ0ijk)2\displaystyle=\sum_{(i,j)}\frac{1}{2}A_{ij}(r_{ij}-r_{0ij})^{2}+\sum_{(i,j,k)}\frac{1}{2}B_{ijk}(\theta_{ijk}-\theta_{0ijk})^{2}
+(i,j,k,l)n=06Cn[1+cos(nτi,j,k,lψn)]+(i,j)ULJ(i,j)(rij)+(i,j)QiQj4πε0εwrij.\displaystyle\quad+\sum_{(i,j,k,l)}\sum_{n=0}^{6}C_{n}[1+\cos(n\tau_{i,j,k,l}-\psi_{n})]+\sum_{(i,j)^{\prime}}U_{\rm LJ}^{(i,j)}(r_{ij})+\sum_{(i,j)^{\prime}}\frac{Q_{i}Q_{j}}{4\pi\varepsilon_{0}\varepsilon_{\rm w}r_{ij}}. (2.4)

Here, the first three terms account for the mechanical interaction energy from bonded solute atoms. The first term is the bonding energy of solute atoms, where the sum is taken over all pairs (i,j)(i,j) of bounded solute atoms, rij=|𝐫i𝐫j|r_{ij}=|{\mathbf{r}}_{i}-{\mathbf{r}}_{j}|, and r0ijr_{0ij} and AijA_{ij} are the corresponding equilibrium distance and spring constant, respectively. The second term in (2.4) is the bending energy of solute atoms, where the sum is taken over all triplets (i,j,k)(i,j,k) such that both pairs of solute atoms (𝐫i,𝐫j)(\mathbf{r}_{i},\mathbf{r}_{j}) and (𝐫j,𝐫k)(\mathbf{r}_{j},\mathbf{r}_{k}) are bonded. For such a triplet, θijk\theta_{ijk} is the angle between the vectors 𝐫i𝐫j\mathbf{r}_{i}-\mathbf{r}_{j} and 𝐫k𝐫j\mathbf{r}_{k}-\mathbf{r}_{j}, θ0ijk[0,π]\theta_{0ijk}\in[0,\pi] is the corresponding equilibrium angle, and BijkB_{ijk} is a constant parameter. The third term in (2.4) accounts for the torsion energy of solute atoms [14]. The sum is taken over all quadruples (i,j,k,l)(i,j,k,l) such that (𝐫i,𝐫j)(\mathbf{r}_{i},\mathbf{r}_{j}), (𝐫j,𝐫k)(\mathbf{r}_{j},\mathbf{r}_{k}), and (𝐫k,𝐫l)(\mathbf{r}_{k},\mathbf{r}_{l}) are all bonded. For such a quadruple (i,j,k,l)(i,j,k,l), τijkl\tau_{ijkl} is the torsion angle that is the angle between the plane determined by (𝐫i,𝐫j,𝐫k)(\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k}) and that determined by (𝐫j,𝐫k,𝐫l)(\mathbf{r}_{j},\mathbf{r}_{k},\mathbf{r}_{l}), nn is the multiplicity, ψn\psi_{n} is the phase factor, and all CnC_{n} are constants.

The last two terms in (2.4) account for the interaction energies from non-bonded solute atoms indicated by (i,j)(i,j)^{\prime} in the summation. The fourth term is the solute-solute vdW interaction energy, where each ULJ(i,j)U_{\rm LJ}^{(i,j)} is an LJ potential of the form (2.3). The last term is the solute-solute Coulomb interaction energy.

3 Numerical Methods

We minimize the free-energy functional G[Γ,𝐑]G[\Gamma,{\mathbf{R}}] defined in (2.1) numerically by an iteration scheme. Each iteration step consists of two parts. In the first part, we fix the solute atomic positions and minimize numerically the VISM solvation free-energy functional (2.2) by a binary level-set method to obtain an optimal solute-solvent interface. In the second part, we fix the interface obtained in the first part, and minimize the energy functional G[Γ,𝐑]G[\Gamma,{\mathbf{R}}] that is a multi-variable function of the solute atomic positions 𝐑=(𝐫1,,𝐫N){\mathbf{R}}=({\mathbf{r}}_{1},\dots,{\mathbf{r}}_{N}) by an adaptive-mobility gradient descent method. The binary level-set method was introduced and used in our rigid-body MC-VISM simulations of protein binding [31]. Here, we briefly recall the method, referring to [31] for more details. We also describe in details our new, adaptive-mobility gradient descent optimization method for minimizing the function G[Γ,𝐑]G[\Gamma,{\mathbf{R}}] with Γ\Gamma fixed. We present our step-by-step algorithm at the end of this section.

3.1 A Binary Level-Set Method

We set the solvation system region to be Ω=(L,L)3\Omega=(-L,L)^{3} for some L>0L>0. The side length LL is chosen to be large enough so that the region Ω\Omega includes all the solute atoms 𝐫i{\mathbf{r}}_{i} (1iN)(1\leq i\leq N) whose geometrical center can be shifted to the origin, if necessary; cf. Figure 1. This region Ω\Omega is also our computational box. We cover it by a uniform finite-difference grid of size h.h. A solute-solvent interface Γ=Ωm\Gamma=\partial\Omega_{\rm m} is approximated by a binary level-set function ϕ\phi that is defined on all the grid cells with ϕ=1\phi=-1 and ϕ=+1\phi=+1 on cells interior and exterior to Γ\Gamma, respectively.

We discretize the VISM solvation free-energy functional (2.2) with all the solute atoms fixed at 𝐫i{\mathbf{r}}_{i} (1iN).(1\leq i\leq N). Let us first rewrite this functional as

GVISM[Γ,𝐑]=γ0Area(Γ)+ΩΩmU(𝐫)dV𝐫+3ΩU(𝐫)dV𝐫,G_{\rm VISM}[\Gamma,{\mathbf{R}}]=\gamma_{0}\mbox{Area}\,(\Gamma)+\int_{\Omega\setminus\Omega_{\rm m}}U({\mathbf{r}})\,dV_{{\mathbf{r}}}+\int_{{\mathbb{R}}^{3}\setminus\Omega}U({\mathbf{r}})\,dV_{{\mathbf{r}}}, (3.1)

where

U(𝐫)=ρwi=1NULJ(i)(|𝐫𝐫i|)+132π2ε0(1εw1εm)|i=1NQi(𝐫𝐫i)|𝐫𝐫i|3|2.U({\mathbf{r}})=\rho_{\rm w}\sum_{i=1}^{N}U_{\rm LJ}^{(i)}(|\mathbf{r}-\mathbf{r}_{i}|)+\frac{1}{32\pi^{2}\varepsilon_{0}}\left(\frac{1}{\varepsilon_{\rm w}}-\frac{1}{\varepsilon_{\rm m}}\right)\left|\sum_{i=1}^{N}\frac{Q_{i}(\mathbf{r}-\mathbf{r}_{i})}{|\mathbf{r}-\mathbf{r}_{i}|^{3}}\right|^{2}. (3.2)

Approximation of the surface energy. The surface area of the solute-solvent interface Γ\Gamma can be expressed as [31]

Area(Γ)=C0δ4𝐱Ωm𝐲ΩwK(𝐱𝐲δ)𝑑𝐲𝑑𝐱+O(δ2)for0<δ1,{\rm Area}(\Gamma)=\frac{C_{0}}{\delta^{4}}\int_{\mathbf{x}\in\Omega_{\rm m}}\int_{\mathbf{y}\in\Omega_{\rm w}}K\left(\frac{\mathbf{x}-\mathbf{y}}{\delta}\right)d\mathbf{y}d\mathbf{x}+O(\delta^{2})\quad for\quad 0<\delta\ll 1, (3.3)

where

C0=(01B(𝟎,1){y3>s}K(𝐲)d𝐲ds)1C_{0}=\left(\int_{0}^{1}\int_{B(\mathbf{0},1)\cap\{y_{3}>s\}}K(\mathbf{y})\,d\mathbf{y}\,ds\right)^{-1}

is a constant, B(𝟎,A)B(\mathbf{0},A) for any A>0A>0 is the ball centered at the origin 𝟎\mathbf{0} with radius AA, and y3y_{3} is the third component of the position vector 𝐲\mathbf{y}. The kernel function K=K(𝐱)K=K(\mathbf{x}) (𝐱3\mathbf{x}\in\mathbb{R}^{3}) is chosen to be non-negative, compactly supported in the closure of the unit ball B1(𝟎)B_{1}(\mathbf{0}) of 3{\mathbb{R}}^{3}, and spherically symmetric (i.e., it is a function of |𝐱||{\mathbf{x}}|). In our implementation, we set K(𝐱)=sin2(π|𝐱|)K(\mathbf{x})=\sin^{2}(\pi|\mathbf{x}|) if |𝐱|1|\mathbf{x}|\leq 1 and 00 elsewhere. The small parameter δ>0\delta>0 is the rescaled kernel radius, defined as the radius of the ball of the support of K(|𝐱|/δ).K(|{\mathbf{x}}|/\delta).

Discretization of the VISM free energy in the solvation region. By employing the center-point numerical integration rule, one can discretize the double-integral in (3.3) with an optimal choice δ=λh,\delta=\lambda\sqrt{h}, where λ>0\lambda>0 is a constant. Consequently, we obtain the following expression of an approximation of the surface energy, the first term in (3.1) [31]:

γ0Area(Γ)=γ0C0h4λ4𝐱jΩm𝐱kΩw|𝐱k𝐱j|λhK(𝐱j𝐱k)+O(h),\displaystyle\gamma_{0}\mbox{Area}\,(\Gamma)=\frac{\gamma_{0}C_{0}h^{4}}{\lambda^{4}}\sum_{{\mathbf{x}}_{j}\in\Omega_{\rm m}}\sum_{\begin{subarray}{c}{\mathbf{x}}_{k}\in\Omega_{\rm w}\\ |{\mathbf{x}}_{k}-{\mathbf{x}}_{j}|\leq\lambda\sqrt{h}\end{subarray}}K({\mathbf{x}}_{j}-{\mathbf{x}}_{k})+O(h),

where 𝐱jΩm{\mathbf{x}}_{j}\in\Omega_{\rm m} and 𝐱kΩw{\mathbf{x}}_{k}\in\Omega_{\rm w} are the centers of grid cells in Ωm\Omega_{\rm m} and Ωw\Omega_{\rm w}, respectively. The second term in (3.1) can be approximated by the center-point integration rule:

ΩΩmU(𝐫)dV𝐫=h3𝐱jΩwU(𝐱j)+O(h).\int_{\Omega\setminus\Omega_{\rm m}}U({\mathbf{r}})\,dV_{{\mathbf{r}}}=h^{3}\sum_{{\mathbf{x}_{j}}\in\Omega_{\rm w}}U({\mathbf{x}}_{j})+O(h).

Therefore, these approximations and (3.1) lead to the approximation

GVISM[Γ,𝐑]\displaystyle G_{\rm VISM}[\Gamma,{\mathbf{R}}] γ0C0h4λ4𝐱jΩm𝐱kΩw|𝐱k𝐱j|λhK(𝐱j𝐱k)\displaystyle\approx\frac{\gamma_{0}C_{0}h^{4}}{\lambda^{4}}\sum_{{\mathbf{x}}_{j}\in\Omega_{\rm m}}\sum_{\begin{subarray}{c}{\mathbf{x}}_{k}\in\Omega_{\rm w}\\ |{\mathbf{x}}_{k}-{\mathbf{x}}_{j}|\leq\lambda\sqrt{h}\end{subarray}}K({\mathbf{x}}_{j}-{\mathbf{x}}_{k})
+h3𝐱jΩwU(𝐱j)+3ΩU(𝐫)dV𝐫.\displaystyle\quad+h^{3}\sum_{{\mathbf{x}_{j}}\in\Omega_{\rm w}}U({\mathbf{x}}_{j})+\int_{{\mathbb{R}}^{3}\setminus\Omega}U({\mathbf{r}})\,dV_{{\mathbf{r}}}. (3.4)

The last integral can be written analytically as iterated integrals using the spherical coordinates and evaluated by one-dimensional numerical quadrature; cf. [5].

Flipping grid cells to decrease the energy. Given a solute-solvent interface defined by a binary level-set function, we relax its VISM free energy (3.4) by flipping the grid cells, i.e., by changing the sign of the binary level-set function on the grid cells. The flipping is only done for grid cells that around the interface. This is because that any grid cells centered at 𝐱jΩm{\mathbf{x}}_{j}\in\Omega_{\rm m} and 𝐱kΩw{\mathbf{x}}_{k}\in\Omega_{\rm w} with |𝐱j𝐱k|>λh|{\mathbf{x}}_{j}-{\mathbf{x}}_{k}|>\lambda\sqrt{h} do not contribute to the first term in (3.4).

We pick up a grid cell that is immediate next to be the interface, flip its sign, and calculate the change of the approximate energy based on (3.4). Note that the last term in (3.4) does not change if we flip a grid cell. If the cell is centered at 𝐱jΩm{\mathbf{x}}_{j}\in\Omega_{\rm m}, so the sign of the cell is 1-1, then the flip of the cell leads to the change of energy

Δ(Gsolv)j=γ0C0h4λ4𝐱kΩm|𝐱k𝐱j|λhK(𝐱j𝐱k)γ0C0h4λ4𝐱kΩw|𝐱k𝐱j|λhK(𝐱j𝐱k)+U(𝐱𝐣).\Delta(G_{\rm solv})_{j}=\frac{\gamma_{0}C_{0}h^{4}}{\lambda^{4}}\sum_{\begin{subarray}{c}{\mathbf{x}}_{k}\in\Omega_{\rm m}\\ |{\mathbf{x}}_{k}-{\mathbf{x}}_{j}|\leq\lambda\sqrt{h}\end{subarray}}K({\mathbf{x}}_{j}-{\mathbf{x}}_{k})-\frac{\gamma_{0}C_{0}h^{4}}{\lambda^{4}}\sum_{\begin{subarray}{c}{\mathbf{x}}_{k}\in\Omega_{\rm w}\\ |{\mathbf{x}}_{k}-{\mathbf{x}}_{j}|\leq\lambda\sqrt{h}\end{subarray}}K({\mathbf{x}}_{j}-{\mathbf{x}}_{k})+U(\mathbf{x_{j}}). (3.5)

Otherwise, if the cell is centered at 𝐱jΩw{\mathbf{x}}_{j}\in\Omega_{\rm w}, so the sign of the cell is +1+1, then the flip of the cell leads to the change of energy

Δ(Gsolv)j=γ0C0h4λ4𝐱kΩw|𝐱k𝐱j|λhK(𝐱j𝐱k)γ0C0h4λ4𝐱kΩm|𝐱k𝐱j|λhK(𝐱j𝐱k)U(𝐱𝐣).\Delta(G_{\rm solv})_{j}=\frac{\gamma_{0}C_{0}h^{4}}{\lambda^{4}}\sum_{\begin{subarray}{c}{\mathbf{x}}_{k}\in\Omega_{\rm w}\\ |{\mathbf{x}}_{k}-{\mathbf{x}}_{j}|\leq\lambda\sqrt{h}\end{subarray}}K({\mathbf{x}}_{j}-{\mathbf{x}}_{k})-\frac{\gamma_{0}C_{0}h^{4}}{\lambda^{4}}\sum_{\begin{subarray}{c}{\mathbf{x}}_{k}\in\Omega_{\rm m}\\ |{\mathbf{x}}_{k}-{\mathbf{x}}_{j}|\leq\lambda\sqrt{h}\end{subarray}}K({\mathbf{x}}_{j}-{\mathbf{x}}_{k})-U(\mathbf{x_{j}}). (3.6)

After calculating Δ(Gsolv)j\Delta(G_{\rm solv})_{j} by flipping grid cells near the interface, we put Δ(Gsolv)j\Delta(G_{\rm solv})_{j} in a Min-Heap. We flip the grid cell with the smallest Δ(Gsolv)j\Delta(G_{\rm solv})_{j} in the heap if Δ(Gsolv)j<0\Delta(G_{\rm solv})_{j}<0. With the new interface, we add energy changes for new grid cells near the new interface to the heap, delete old grid cells in the heap which are not near the new interface, update Δ(Gsolv)j\Delta(G_{\rm solv})_{j} for old grid cells near the new interface in the heap, then we sort the Min-Heap. This flipping process stops until all Δ(Gsolv)j0\Delta(G_{\rm solv})_{j}\geq 0, indicating the energy reaches a minimum.

Initial surfaces. Our method for minimizing the VISM free-energy functional is of steepest descent type. It starts with an initial surface and iteratively moves it with the free energy decreased in each step of the iteration. The final free-energy minimizing surface is a local minimizer of the functional and depends on the initial surface. Different initial surfaces can lead to different (meta)stable equilibrium conformations that are of interest; see Figure 1. In order to capture multiple local minimizers, we often use two types of initial surfaces. One is a loose initial surface that can be a large sphere enclosing all the solute atoms. The other is a tight initial surface that wraps up all the solute atoms tightly with vdW radii. Such a surface is the zero level-set of the continuous function

φ(𝐫)=min1iN(|𝐫𝐫i|di),\varphi(\mathbf{r})=\min_{1\leq i\leq N}(|\mathbf{r}-\mathbf{r}_{i}|-d_{i}),

where di>0d_{i}>0 is the vdW radius of the iith solute atom located at 𝐫i\mathbf{r}_{i} (i=1,,N).(i=1,\cdots,N). The binary level-set function for the surface can then be obtained by setting its value at the center of a grid cell to be the sign of φ\varphi-value at that center. Figure 2 shows a tight surface constructed by both a continuous and the corresponding binary level-set function.

Refer to caption
Refer to caption
Figure 2: A tight initial solute-solvent interface constructed as the union of vdW spheres centered at solute atoms (black dots) by a continuous level-set function (Left) and a binary level-set function (Right), respectively.

3.2 Adaptive-Mobility Gradient Descent Method for the Relaxation of Solute Atoms

With a fixed solute-solvent interface Γ\Gamma, we minimize the free energy G[Γ,𝐑]G[\Gamma,{\mathbf{R}}] defined in (2.1), (2.2), and (2.4) as a function of 𝐑=(𝐫1,,𝐫N){\mathbf{R}}=({\mathbf{r}}_{1},\dots,{\mathbf{r}}_{N}) by solving for a steady-state solution to the system of the gradient descent equations

d(𝐫n(t))ldt=Mnl(𝐫nG[Γ,𝐑])l,n=1,,N,l=1,2,3,\frac{d(\mathbf{r}_{n}(t))_{l}}{dt}=-M_{nl}(\nabla_{\mathbf{r}_{n}}G[\Gamma,\mathbf{R}])_{l},\quad n=1,\cdots,N,\quad l=1,2,3, (3.7)

where (𝐚)l({\bf a})_{l} denotes the llth component of a vector 𝐚𝟑\bf a\in{\mathbb{R}}^{3} (1l3)(1\leq l\leq 3) and all Mnl>0M_{nl}>0 are constants (called mobility constants). The formula of the gradient 𝐫nG[Γ,𝐑]\nabla_{\mathbf{r}_{n}}G[\Gamma,\mathbf{R}] is given in (A.1) in Appendix. We use the forward Euler method to solve these equations iteratively with a fixed time step.

Due to the complex molecular interactions of an underlying system, the gradient of G[Γ,𝐑]G[\Gamma,{\mathbf{R}}] can vary significantly with solute atoms and with different components. If the mobility constant MnlM_{nl} is too large, then the motion of the particle 𝐫n\mathbf{r}_{n} in its gradient descent direction may possibly overshoot and increase the free energy. If MnlM_{nl} is too small, the free energy may decrease very slowly. To improve the stability and efficiency, we therefore adaptively change the mobility constants MnlM_{nl} in each step of iteration based on the magnitude of gradient and the total free-energy value.

In our implementation, the mobility constants are chosen to be ωM\omega M, where the “base” mobility ω\omega is updated in each interaction step of the forward Euler method and MM is also adjustable. The adjustment of MM is based on the decrease or increase of the energy with a high energy threshold. It is controlled by a relative energy value δG>0\delta G^{*}>0 depending on iteration steps, and a shrinking parameter α(0,1)\alpha\in(0,1) that shrinks MM if the energy increases too much and too often tracked by a counting number NcntN_{\rm cnt} which has a threshold value NcntN_{\rm cnt}^{*}. Initially, we set M=1M=1 and Ncnt=0.N_{\rm cnt}=0.

Given all the atomic positions after a forward Euler iteration step, with some M>0M>0 and 0Ncnt<Ncnt0\leq N_{\rm cnt}<N_{\rm cnt}^{*}, and the corresponding energy G[Γ,𝐑]G[\Gamma,{\mathbf{R}}] calculated and denoted Gold.G_{\rm old}. We calculate all the gradient of G[Γ,𝐑]G[\Gamma,{\mathbf{R}}] at those positions and set

ω=1max1mN,1k3|(𝐫m(G[Γ,𝐑])k|.\omega=\frac{1}{\max_{1\leq m\leq N,1\leq k\leq 3}|(\nabla_{{\mathbf{r}}_{m}}(G[\Gamma,{\mathbf{R}}])_{k}|}. (3.8)

We then move the atomic positions in one time step by the forward Euler iteration for solving (3.7) with all Mnl=ωMM_{nl}=\omega M. We also calculate the energy for the new atomic positions and denote it by Gnew.G_{\rm new}. If Gnew<GoldG_{\rm new}<G_{\rm old}, then we accept the moved solute atomic positions, do not change the value of MM, increase NcntN_{\rm cnt} by 11, and continue the iteration. If Gnew>GoldG_{\rm new}>G_{\rm old}, then we choose the threshold δG\delta G^{*} to be some fraction of GoldG_{\rm old} and consider two cases. If GnewGold+δGG_{\rm new}\geq G_{\rm old}+\delta G^{*}, then we do not update the atomic positions but shrink MM to M:=αMM:=\alpha M reset Ncnt=0N_{\rm cnt}=0 and start over with the next iteration step. If Gnew<Gold+δGG_{\rm new}<G_{\rm old}+\delta G^{*}, then we check the counting number NcntN_{\rm cnt} and consider two cases:

  1. (1)

    If NcntNcntN_{\rm cnt}{\geq}N_{\rm cnt}^{*}, which means that the same MM has been used for NcntN_{\rm cnt}^{*} times, then we do not accept the new positions, shrink MM to M:=αMM:=\alpha M, and reset Ncnt=0.N_{\rm cnt}=0.

  2. (2)

    If Ncnt<NcntN_{\rm cnt}<N_{\rm cnt}^{*}, we accept the new atomic positions, keep the same MM, and increase NcntN_{\rm cnt} by 11.

Note that NcntN_{\rm cnt} is the number of steps where the same MM is used consecutively. In our implementation, we choose α=1/2\alpha=1/\sqrt{2}, Ncnt=5N_{\rm cnt}^{*}=5, and δG\delta G^{*} to be 5%5\% of GoldG_{\rm old}.

3.3 Numerical Algorithm

  1. Step 1.

    Initialization. Input all the model parameters from (2.2)–(2.4). In particular, position NN solute atoms with the center of geometry at the origin by a coordinate translation if necessary. Set the computational box Ω=(L,L)3\Omega=(-L,L)^{3} and discretize the box with a uniform finite-difference grid. Set an initial binary level-set function ϕ(0)\phi^{(0)} to define the initial solute-solvent interface Γ0\Gamma^{0}, solute region Ωm0\Omega_{\rm m}^{0}, and solvent region Ωw0\Omega_{\rm w}^{0}.

    Set counter Ncnt=0N_{\rm cnt}=0, count tolerance Ncnt=5N_{\rm cnt}^{*}=5, an initial uniform mobility constant M=1M=1, and the time step dt=1dt=1. Set the initial iteration number k=0k=0 and kmaxk_{\rm max}=3000=3000. Set the shrinking parameter α=1/2\alpha=1/\sqrt{2}. Set the error tolerance Tol1=1e{\rm Tol}_{1}=1e-44 for the gradient and Tol2=1e{\rm Tol}_{2}=1e-55 for atomic positions update.

  2. Step 2.

    Get the optimal solute-solvent interface Γk+1\Gamma^{k+1} with atomic positions 𝐑k{\mathbf{R}}^{k} by the binary level-set method.

    1. Step 2.1.

      Calculate by (3.5) and (3.6) the change of solvation free energy Δ(Gsolv)j\Delta(G_{\rm solv})_{j} on all grid cells next to the interface Γk\Gamma^{k}. Sort solvation energy change Δ(Gsolv)j\Delta(G_{\rm solv})_{j} in a Min-Heap.

    2. Step 2.2.

      Flipping Process:
      𝐰𝐡𝐢𝐥𝐞\mathbf{while} (Smallest Δ(Gsolv)j<0\Delta(G_{\rm solv})_{j}<0) 𝐝𝐨\mathbf{do}
      𝐅𝐥𝐢𝐩:~~~~\mathbf{Flip:} flip the corresponding grid cell with smallest Δ(Gsolv)j\Delta(G_{\rm solv})_{j}.
      𝐔𝐩𝐝𝐚𝐭𝐞:~~~~\mathbf{Update:} check for new grid cells next to the new interface, calculate Δ(Gsolv)j\Delta(G_{\rm solv})_{j}          for new grid cells, and update Δ(Gsolv)j\Delta(G_{\rm solv})_{j} for old grid cells in the heap.
      𝐒𝐨𝐫𝐭:~~~~\mathbf{Sort:} sort solvation energy change Δ(Gsolv)j\Delta(G_{\rm solv})_{j} in a Min-Heap.
      𝐞𝐧𝐝𝐰𝐡𝐢𝐥𝐞\mathbf{endwhile}

    3. Step 2.3.

      Define Γk+1\Gamma^{k+1} to be the optimal solute-solvent interface from the flipping process.

  3. Step 3.

    Update the solute atomic positions by solving the system of equations (3.7).

    1. Step 3.1.

      Calculate by (A.1) the gradient 𝐫nG[Γk+1,𝐑k]\nabla_{\mathbf{r}_{n}}G[\Gamma^{k+1},\mathbf{R}^{k}] for all n=1,,N.n=1,\cdots,N.

    2. Step 3.2.

      Test the convergence. If absolute values of 𝐫nG[Γk+1,𝐑k]\nabla_{\mathbf{r}_{n}}G[\Gamma^{k+1},\mathbf{R}^{k}] for each solute atom in each coordinate <Tol1<\rm{Tol}_{1}, then stop the algorithm.

    3. Step 3.3.

      Update positions of all moving solute atoms according to equation (3.7) and (3.8). Calculate the total free energy change δG[Γk+1,𝐑k+1]=G[Γk+1,𝐑k+1]G[Γk+1,𝐑k]\delta G[\Gamma^{k+1},\mathbf{R}^{k+1}]=G[\Gamma^{k+1},\mathbf{R}^{k+1}]-G[\Gamma^{k+1},\mathbf{R}^{k}]. Set δG=5%G[Γk+1,𝐑k]\delta G^{*}=5\%G[\Gamma^{k+1},\mathbf{R}^{k}].

    4. Step 3.4.

      Check the total free energy change:

      𝐢𝐟\mathbf{if} (OPENδG[Γk+1,𝐑k+1]>δG)\delta G[\Gamma^{k+1},\mathbf{R}^{k+1}]>\delta G^{*}) or (NcntNcntCLOSE(~N_{\rm cnt}\geq N_{\rm cnt}^{*} and 0<δG[Γk+1,𝐑k+1]δG0<\delta G[\Gamma^{k+1},\mathbf{R}^{k+1}]\leq\delta G^{*})

      Put all moving solute atoms back to 𝐑k\mathbf{R}^{k}.

      M=αMM=\alpha M, Ncnt=0N_{\rm cnt}=0, go to Step 3.3.

      𝐞𝐥𝐬𝐞\mathbf{else}
      Ncnt=Ncnt+1;N_{\rm cnt}=N_{\rm cnt}+1;
      𝐞𝐧𝐝𝐢𝐟\mathbf{endif}

  4. Step 4.

    Calculate the absolute error ΔG[Γk+1,𝐑k+1]abs\Delta G[\Gamma^{k+1},\mathbf{R}^{k+1}]_{\rm abs} and relative error ΔG[Γk+1,𝐑k+1]rel\Delta G[\Gamma^{k+1},\mathbf{R}^{k+1}]_{\rm rel}.

  5. Step 5.

    Test the convergence. If either ΔG[Γk+1,𝐑k+1]rel<Tol2\Delta G[\Gamma^{k+1},\mathbf{R}^{k+1}]_{\rm rel}<\rm{Tol}_{2} or ΔG[Γk+1,𝐑k+1]abs<Tol2\Delta G[\Gamma^{k+1},\mathbf{R}^{k+1}]_{\rm abs}<\rm{Tol}_{2} stays continuously for 100 steps, or if the number of iterations reaches to kmaxk_{\rm max}, stop the algorithm. Otherwise, go to Step 2.

We remark that there are two error tolerances and stopping criteria: One is a small tolerance 11e-44 for the gradient descent for updating the solute atomic positions. The other stop criterion is a small tolerance of relative difference or absolute difference of the total free energy. In our experiments, we set the relative difference stop criterion to be 11e-55, and absolute difference stop criteria to be 11e-55. To avoid the situation that the free energy functional decreases slowly because of small mobility factor MnlM_{nl}, we determine that the system stops only when the relative difference stop criterion or the absolute difference stop criterion is satisfied continuously for 100 steps.

4 GPU Implementation

In this section, we discuss the parallel implementation of aspects of our free-energy functional minimization algorithm for the fast execution of our programs.

Parallel computing concerns strategies for performing simultaneous computations, usually through the use of multiple processors. This approach has become more and more important as the abilities of individual processors reach their limits under Moore’s law. The recent advent of the use of the graphics processing unit (GPU) for general purpose parallel computing, instead of traditionally multiple central processing units (CPU’s), has allowed for algorithms that can take advantage of its high throughput and hundreds or thousands of cores to achieve new heights in speed. This has, for example, revolutionized the subject of deep learning in artificial intelligence.

We introduce parallel programming, using OpenCL, employing the GPU for operations in our free-energy functional minimization algorithm. The operations that are particularly amenable to this kind of parallelization are usually made up of a large number of smaller, simpler ones, to take advantage of the large number of cores in the GPU that, alternatively, must work in lockstep. We find such operations in our computations of the LJ and CFA of the electrostatics in the VISM free energy (2.2), the solute-solute interaction energy (2.4), and all of their derivatives, combined in (A.1). We separate the parallelization into two cases that are treated differently, one handling VISM LJ and electrostatic terms, and their derivatives, and the other handling solute-solute interaction terms and their derivatives.

For the first case, we begin by describing the procedure introduced in [31] for the LJ and CFA contributions, though in more general terms. These contributions notably both contain integrals of the form

3\Ωmf(𝐫)dV𝐫,\int_{{\mathbb{R}}^{3}\backslash\Omega_{\rm m}}f({\bf r})~dV_{\bf r},

where ff has some complexity in the computation of its values; in the case of LJ, f(𝐫)=i=1NULJ(|𝐫𝐫i|),f({\bf r})=\sum_{i=1}^{N}U_{LJ}(|{\bf r}-{\bf r}_{i}|), which requires some computation when the number of solute atoms is large. With far-field approximations handling the integral outside the computational box Ω\Omega, numerical quadrature for the rest takes the general form

kIαkf(𝐫k)Δ𝐱k,\sum_{k\in I}\alpha_{k}f({\bf r}_{k})\Delta{\bf x}_{k},

where 𝐱k{\bf x}_{k} are grid points of a grid in Ω\Omega, and for some αk\alpha_{k}\in{\mathbb{R}}. This summation is computationally intensive as ff needs to be evaluated over the grid; in fact, in our problem this needs to be performed each time step, when the atoms move. A GPU parallel implementation is introduced in [31] to handle the evaluation of ff over the grid which parallelizes over the grid points, passing out the computation of ff at each to the cores. This works especially well because there of the large number of grid points, typically hundreds of thousands or millions, the GPU cores can work on. Note, in the parlance of OpenCL, the grid points form the work-items, which are instead known as threads under CUDA.

We apply this idea here not only to LJ and electrostatic terms, but also to their derivative terms found in the gradient of the VISM free-energy (A.1). These terms also have integrands that grow in complexity with the number of solute atoms, thus slowing down computations in the case of large numbers of moving atoms. Thus, the same parallelization techniques can be adopted to improve runtimes.

For the solute-solute interaction terms and their derivatives, no integration is present and no grid points are involved. Instead, all terms involve a summation of some interaction between solute atoms. Consider, for example, a system’s solute-solute LJ interactions:

1iNjiULJ(|𝐫i𝐫j|).\sum_{1\leq i\leq N}\sum_{j\neq i}U_{LJ}(|{\bf r}_{i}-{\bf r}_{j}|).

For our parallel implementation, we consider separately the terms

jiULJ(|𝐫i𝐫j|),\sum_{j\neq i}U_{LJ}(|{\bf r}_{i}-{\bf r}_{j}|),

and parallelize by passing out these computations for each 1iN1\leq i\leq N to the cores. Note, however, there are far fewer solute atoms, typically in the hundreds or thousands, compared to the hundreds of thousands or millions of grid points. Thus, the parallelization may not be as efficient in comparison with that of our first case.

One additional note is that while double-precision machine numbers and their arithmetic are commonly available in CPU architectures, they are not universally supported on GPU’s, where, for traditional graphical purposes, single-precision has been adequate. And though more and more GPU architectures now do support double-precision, due to the expansion of GPU’s for general purpose computing, single-precision and even half-precision arithmetic operations are still used for faster calculations. The drawback in the use of single-precision instead of double-precision is in increased round-off error. This especially is of concern when performing a large number of operations, where round-off errors can accumulate to intolerable levels. In our application, we find such large numbers of operations in our sums, with sums over solute atoms, which can be in the thousands, and over grid points, which can be in the millions. For our sums, we adopt the strategy of summing-by-pairs [30], a binary tree-based approach to order the operations in such a way as to reduce round-off error. In our applications, we find this to result in a nearly negligible amount of error compared to double-precision results, allowing us to take advantage of the speed afforded by single-precision computations. In future work, we may consider computing with mixed-precision machine numbers to better balance round-off error and speed.

As we shall show below (cf. Tables  2, 3, and 7), the combined results of our choices in parallelization and operation orders for sums for single-precision arithmetic significantly improve in runtimes even in comparison to a ported CPU parallelization, where the program for parallelization using the GPU instead uses available CPU cores. In addition, the table reveals that there are few negative effects in our use of single-precision machine numbers rather than double-precision. Our resulting parallel GPU implementation serves as the linchpin of our computations, as without it, we would not be able to obtain results in any reasonable amount of time due to the requirements of the moving atoms.

5 Numerical Experiments and Applications

We first apply the binary level-set method and its GPU implementation to two molecular systems with fixed solute particles, a system of two parallel charged plates, and the protein BphC, and show that the binary level-set method is accurate in qualitatively reproducing the known results of those two systems. We then consider the full application of our model and numerical methods to two small molecular systems, a two-particle system and the ethane molecule, to show the convergence of our algorithm. Finally, we study the p53-MDM2 binding process with solute mechanical interactions to demonstrate the efficiency of our methods and GPU implementation. Table 1 summarizes the continuum model parameters used in all these numerical computations.

Table 1: Model parameters.
Parameter Symbol Value Unit
temperature TT 298298 K
solvent number density ρw\rho_{\rm w} 0.03330.0333 Å-3
surface tension γ0\gamma_{0} 0.1740.174 kBT/Å2{\rm k}_{\rm B}{\rm T}/\mbox{{\AA}}^{2}
solute dielectric constant εm\varepsilon_{\rm m} 11
solvent dielectric constant εw\varepsilon_{\rm w} 8080

5.1 Free-energy minimization with fixed solute atoms

We consider two molecular systems each with fixed solute atomic positions, and apply the binary level-set method with GPU implementation to minimize the solvation free-energy functional (2.2) of solute-solvent interfaces Γ\Gamma with all atomic positions 𝐫i{\mathbf{r}}_{i} (1iN)(1\leq i\leq N) fixed. Both systems have been studied extensively with continuous level-set method and CPU computations [29, 32, 34]. Here we show the qualitative accuracy, and efficiency, of our new algorithm and implementation.

Two parallel charged plates. Each of these two plates consists of 6×66\times 6 CH2CH_{2} atoms with a square length of about 3 nm. The two plates are placed at a center-to-center distance dd. In the following, we investigate how (a) the capillary evaporation, (b) the hydrophobic attraction, and (c) a possible hysteresis in the free energy are affected by charging up the plates. To this end, we assign central charges q1q_{1} and q2q_{2} to the first and second plates, respectively, with |q1|=|q2||q_{1}|=|q_{2}|. The total charges of these two plates are 36q136q_{1} and 36q236q_{2}, respectively. We study like-charged and oppositely charged plates by choosing the values of (q1,q2)(q_{1},q_{2}) to (+0.2e,+0.2e)(+0.2e,+0.2e), and (+0.2e,0.2e)(+0.2e,-0.2e). The atom-water LJ parameters are ε=0.262kBT\varepsilon=0.262\,k_{B}T, σ=3.15365Å\sigma=3.15365\,\mathring{A}, and the atom-atom LJ are ε=0.265kBT\varepsilon=0.265\,k_{B}T and σ=3.54Å\sigma=3.54\,\mathring{A}.

We first investigate the VISM surfaces of the two plates at different distances with the like-charge (+0.2e, +0.2e) with different initial configurations. Figure 3 shows a few snapshots of stable 3D equilibrium solute-solvent surfaces of the two parallel charged plates system obtained by the binary level set VISM calculations with loose or tight initial interface at d=9Åd=9\,\mathring{A}, d=13Åd=13\,\mathring{A}, and d=16Åd=16\,\mathring{A}. In the top row of Figure 3, with the loose initial interface, a stable capillary bubble remains between the two charged parallel plates at d=9Åd=9\,\mathring{A} and d=13Åd=13\,\mathring{A}, and the bubble becomes tighter along the enlarging distance. At d=16Åd=16\,\mathring{A}, the bubble disappears. Comparatively, with the tight initial interface, the equilibrium state is wet at d=9Åd=9\,\mathring{A}, d=13Åd=13\,\mathring{A}, and d=16Åd=16\,\mathring{A}.

Refer to caption
Refer to caption
Refer to caption

d=9d=9 Å  loose         d=13d=13 Å  loose         d=16d=16 Å  loose

Refer to caption
Refer to caption
Refer to caption

d=9d=9 Å  tight         d=13d=13 Å  tight         d=16d=16 Å  tight

Figure 3: Stable 3D equilibrium solute-solvent surfaces of the two parallel charged plates obtained by the binary level set VISM calculations with loose (top row) or tight (bottom row) initial interface at d=9Åd=9\,\mathring{A}, d=13Åd=13\,\mathring{A}, and d=16Åd=16\,\mathring{A}. Atomic charges are (+0.2e,+0,2e).

We now examine the potential of mean force (PMF) of the two-plate system with respect to the plate-plate separation distance dd. This is the VISM free-energy value as a function of dd, with an additive constant such that the free energy is 00 at the infinite plate-plate separation. For a given dd, we may have two VISM free-energy minimizing solute-solvent interfaces corresponding to a tight and a loose initial surface, respectively. We denote by GVISMpmf(d)G_{\rm VISM}^{\rm pmf}(d) the corresponding minimum free energy of one of the two branches, and denote by Ggeompmf(d),G_{\rm geom}^{\rm pmf}(d), GvdWpmf(d),G_{\rm vdW}^{\rm pmf}(d), and Gelecpmf(d)G_{\rm elec}^{\rm pmf}(d) the components of the PMF, corresponding to the first, second, and third terms in (2.2), respectively. Precise definition is given in Appendix.

Figure 4 displays the bimodal behavior and hysteresis of the two different PMF branches stemming from the equilibria of wet and dry states, i.e., the VISM free-energy minimizing surfaces corresponding to initial tight and loose surfaces. Atomic charges considered here are (+0.2e,-0,2e) and (+0,2e, +0,2e), respectively. We can see that like-charged and oppositely charged plates give different free-energy branches and hysteresis. For the like-charged cases in Figure 4, a strong hysteresis is presented for 8d15Å8\lesssim d\lesssim 15\mathring{A}. For the oppositely charged plates, strong hysteresis is presented for 6d8Å6\lesssim d\lesssim 8\mathring{A}.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 4: Different parts of the PMF of the two parallel charged plates with respect to the separation distance dd, with loose and tight initial surfaces. (a) The geometrical part GgeompmfG_{\rm geom}^{\rm pmf}. (b) The vdW part GvdWpmfG_{\rm vdW}^{\rm pmf}. The solute-solute vdW interactions are excluded in the curves in the main frame but included in those in the inset. (c) The electrostatic part GelecpmfG_{\rm elec}^{\rm pmf}. The solute charge-charge interactions are excluded in the curves in the main frame but included in those in the inset. (d) The total PMF GtotpmfG_{\rm tot}^{\rm pmf}. The values of (+0.2e,0,2e)(+0.2e,-0,2e) with tight initial interface are used as reference values to show the difference.

In Table 2, we show a comparison of the calculation speed and different parts of the free energy using the binary level-set method between GPU single precision code and CPU double precision code of the two charged parallel plates system. Three different grid sizes are shown. We can observe that the results for free-energy estimates from CPU double precision code and GPU single precision code are nearly the same. The improvement of speed using GPU can be obtained by comparing the time. The cost time of CPU code is around 5 times of the GPU code with three different grid sizes.

Table 2: Comparison of GPU (single precision) and CPU (double precision) for free energy (kBTk_{B}T) and its components of two parallel charged plates with different charges (+0.2e,0,2e)(+0.2e,-0,2e) at distance d=10Åd=10\mathring{A}. The unit of time is second.
Grid Total Energy Surface Energy vdW Energy CFA Total Time
Points GPU CPU GPU CPU GPU CPU GPU CPU GPU CPU
72372^{3} -2099.5 -2099.5 631.8 631.8 -98.3 -98.3 -2632.9 -2633.0 0.6 3.0
1443144^{3} -2090.8 -2090.8 640.3 640.3 -97.9 -97.9 -2633.1 -2633.2 4.0 21.2
2883288^{3} -2082.0 -2082.0 648.3 648.3 -110.4 -110.4 -2619.9 -2619.9 29.9 163.9

The protein BphC. In this example, we consider biphenyl-2, 3-diol-1, 2-dioxygenase (BphC), an enzyme protein (PDB code: 1dhy).

The functional unit of this protein is a homo-octamer, and each subunit consists of two domains. We set up a series of configurations where the two domains are increasingly separated from d=0d=0 to d=20Åd=20\,\mathring{A} apart, perpendicular to their interface. The domain separation dd is chosen here to be the reaction coordinate. Note that the zero domain separation corresponds to the native configuration in the crystal structure.

Refer to caption
Refer to caption
Refer to caption

d=8Åd=8\mathring{A} loose       d=12Åd=12\mathring{A} loose       d=16Åd=16\mathring{A} loose

Refer to caption
Refer to caption
Refer to caption

d=8Åd=8\mathring{A} tight       d=12Åd=12\mathring{A} tight       d=16Åd=16\mathring{A} tight

Figure 5: Stable 3D equilibrium solute-solvent surfaces of the BphC system obtained by the binary level set VISM calculations with loose (top) or tight (bottome) initial interface at d=8Åd=8\,\mathring{A}, d=12Åd=12\,\mathring{A}, and d=16Åd=16\,\mathring{A}.

Three pairs of stable equilibrium solute-solvent interfaces of BphC at d=8Åd=8\,\mathring{A}, d=12Åd=12\,\mathring{A}, and d=16Åd=16\,\mathring{A} with tight or loose initial interfaces are presented in Figure 5. The top row is with the loose initial interfaces, and the bottom row is with the tight initial interfaces. We observe that the equilibria of the loose initial interface wrap the two domains of BphC at d=8Åd=8\,\mathring{A} and d=12Åd=12\,\mathring{A}, and the equilibria surface becomes tighter along the increasing distance. At d=16Åd=16\,\mathring{A}, the interfaces of two domains separate, changing to the wet state. In contract, with the tight initial interface, all equilibria states are wet.

In Figure 6, different parts of the PMF of BphC with respect to the separation of two domains, from d=0d=0 to d=20Åd=20\mathring{A} obtained by our binary level set calculations using tight and loose initial surfaces are displayed. These PMFs exclude the solute-solute vdW interactions. We observe the bimodal hydration behavior: the branches of different parts of the PMF of BphC between 4Å4\,\mathring{A} and 14Å14\,\mathring{A}, indicating that initial interfaces can strongly affect the PMF of BphC.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 6: Different parts of the PMF of BphC with respect to the domain separations, with loose and tight initial surfaces. (a) The geometrical part GgeompmfG_{\rm geom}^{\rm pmf}. (b) The vdW part GvdWpmfG_{\rm vdW}^{\rm pmf}. The solute-solute vdW interactions are excluded in the curves in the main frame but included in those in the inset. (c) The electrostatic part GelecpmfG_{\rm elec}^{\rm pmf}. The solute charge-charge interactions are excluded in the curves in the main frame but included in those in the inset. (d) The total PMF GtotpmfG_{\rm tot}^{\rm pmf}. The solute-solute vdW interactions are excluded in the curves in the main frame but included in those in the inset.

In Table 3, we show a comparison of the calculation speed and different parts of the free energy with the binary level-set method between GPU single precision code and CPU double precision code of the BphC. Three different grid sizes are shown. We observe that the results from CPU double precision code and GPU single precision code are nicely consistent. With the grid size of 50350^{3}, 1003100^{3}, and 2003200^{3}, the time cost of CPU code is around 15 times, 78 times, and 216 times correspondingly to the time cost of the GPU code.

Table 3: Comparison of GPU (single precision) and CPU (double precision) for free energy (kBTk_{B}T) and its components of BphC with the native configuration in the crystal structure. The unit of time is second.
Grid Total Energy Surface Energy vdW Energy CFA Total Time
Points GPU CPU GPU CPU GPU CPU GPU CPU GPU CPU
50350^{3} 52133.7 52134.2 1588.2 1588.2 53116.8 53117.4 -2571.2 -2571.3 4.1 60.6
1003100^{3} 52251.8 52252.3 1658.3 1658.3 53130.4 53131.0 -2537.0 -2537.0 4.9 381.1
2003200^{3} 52303.7 52304.2 1654.3 1654.3 53146.7 53147.3 -2497.3 -2497.3 13.5 2911.0

5.2 Explicit-solute implicit-sovent free-energy minimization

In this section, we conduct numerical experiments on two molecuales that are treated as nonpolar systems (i.e., no charges) to demonstrate the efficiency of our free-energy minimization algorithm.

A two-atom molecule. We consider an artificial molecular system of two atoms. The solute-water LJ parameters are σ=3.57Å\sigma=3.57\,\mathring{A} and ε=0.431kBT\varepsilon=0.431\,k_{B}T. We additionally assume that the two atoms are bonded, with the spring constant in the bond stretching energy A=800kBT/Å2A=800\,k_{B}T/\mathring{A}^{2}. We set the computational box to be (8,8)3Å3(-8,8)^{3}\,\mathring{A}^{3}.

We design two sets of experiments on the optimization process and equilibria with different initial configurations. In the first set of experiments, Experiment 1.1.a and Experiment 1.1.b, we set the equilibrium bond length r0=3År_{0}=3\,\mathring{A}. In the second set of experiments, Experiment 1.2.a and Experiment 1.2.b, we set the equilibrium bond length r0=8År_{0}=8\,\mathring{A}. In each set of experiments, we test two types of initial configurations. In Experiment 1.1.a and Experiment 1.2.a, we place initially the two solute atoms far away from each other so that their distance is much larger than the equilibrium bond length. We place the two solute atoms at positions (7,0,0)(7,0,0) and (7,0,0)(-7,0,0), respectively. In Experiment 1.1.b and Experiment 1.2.b, we place initially the two solute atoms very close to each other so that their distance is smaller than the equilibrium distance. Specifically, we place the two solute atoms initially at positions (0.5,0,0)(0.5,0,0) and (0.5,0,0)(-0.5,0,0), respectively.

In Figure 7, the minimization processes of Experiment 1.1.a and Experiment 1.1.b are displayed. The red dots represent two atoms, and the blue segment represents the bond. In the top row of Figure 7, we can see that initially surface consists of two disconnected spheres, then two atoms get closer, and spheres merge, until the system reaches an equilibrium state. In the bottom row of Figure 7, initially, the two atoms are very close to each other, then the atoms are pushed apart due to the force from strong bonding energy, the interface is moved accordingly, and then the system reaches to an equilibrium state.

We observe from Table 4 that that atoms have the exact same positions and free energy in the equilibrium from the two experiments 1.1.a and 1.1.b, indicating that the molecular system in the two simulations reached the same equilibrium.

[Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image]
(a) (b) (c) (d)
[Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image]
(e) (f) (g) (h)
Figure 7: The free-energy minimization for a two-atom system. Top: Experiment 1.1.a. The snapshots are taken at (a) initial stage step 0, (b) step 5, (c) step 10, and (d) step 63, reaching nearly the steay state. Bottom: Experiment 1.1.b. The snapshots are taken at (e) initial stage step 0, (f) step 2, (g) step 4, and (h) step 53, reaching nearly the steay state.
Table 4: Comparison of experiments 1.1.a and 1.1.b of a two-atom system.
Experiment Initial position Final position Bond length Free Energy
1.1.a (7,0,0) (-7,0,0) (1.50,0,0) (-1.498,0,0) 3.00 21.85
1.1.b (0.5,0,0) (-0.5,0,0) (1.50,0,0) (-1.498,0,0) 3.00 21.85
[Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image]
(a) (b) (c) (d)
[Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image]
(e) (f) (g) (h)
Figure 8: The free-energy functional minimization algorithm for a two-atom system. Top: Experiment 1.2.a. The screenshots are taken at (a) initial stage step 0, (b) step 2, (c) step5, and (d) the steay state step 62. Bottom: Experiment 1.2.b. The screenshots are taken at (e) initial stage step 0, (f) step 3, (g) step 7, and (h) the steay state step 64.

Figure 8 shows the minimization processes of Experiment 1.2.a and Experiment 1.2.b. In the top row of Figure 8, we can see that initially surface consists of two disconnected spheres, then two atoms get closer, until the system reaches an equilibrium state. Comparing with the equilibrium of Experiment 1.1.a, the spheres are not merged due to a larger bond length 8Å8\mathring{A}. In the bottom row of Figure 8, initially, the two atoms are very close to each other, then the atoms are pushed apart due to the force from strong bonding energy, the interface moves and then splits apart, then the system reaches to an equilibrium state with which the interface consists of two separate spheres. Table 5 shows that the two experiments 1.2.a and 1.2.b reach the same equilibrium.

Table 5: Comparison of Experiments 1.2.a and 1.2.b of a two-atom system.
Experiment Initial position Final position Bond length Free Energy
1.2.a (7,0,0) (-7,0,0) (4.00,0,0) (-4.00,0,0) 8.00 33.93
1.2.b (0.5,0,0) (-0.5,0,0) (4.00,0,0) (-4.00,0,0) 8.00 33.93

An ethane molecule. We consider an ethane molecule C2H6C_{2}H_{6} in water and take from [16, 12, 13] the solute atomic positions and force field parameters. Other parameters are as follows: the carbon-water LJ parameters σ=3.4767Å\sigma=3.4767\,\mathring{A} and ε=0.2311kBT\varepsilon=0.2311\,k_{B}T, the hydrogen-water LJ parameters σ=3.1017Å\sigma=3.1017\,\mathring{A} and ε=0.0989kBT\varepsilon=0.0989\,k_{B}T, the carbon-carbon LJ parameters σ=3.4Å\sigma=3.4\,\mathring{A} and ε=0.344kBT\varepsilon=0.344\,k_{B}T, the carbon-hydrogen LJ parameters σ=3.025Å\sigma=3.025\,\mathring{A} and ε= 0.147kBT\varepsilon=\,0.147k_{B}T, and the hydrogen-hydrogen LJ parameters σ=2.650Å\sigma=2.650\,\mathring{A} and ε=0.063kBT\varepsilon=0.063\,k_{B}T.

In the ethane molecule, each atom is connected to other atoms through bonding, bending, and torsion structure. The effect of vdW interaction energy among unbonded pairs of solute atoms is relatively less important when compared with molecular mechanical interactions, so in our simulation experiment of the ethane molecule, we neglect the vdW interaction energy among unbonded pairs of solute atoms.

We design three different initial configurations of the ethane molecule from its equilibrium:

  1. \bullet

    In Experiment 2.1.a, we stretch all hydrogen-carbon bonds to be 2Å2\mathring{A}.

  2. \bullet

    In Experiment 2.1.b, we stretch or shrink all hydrogen-carbon bonds such that hydrogen-carbon bonds have the length of 1Å1\,\mathring{A}, 1.25Å1.25\,\mathring{A}, 1.5Å1.5\,\mathring{A}, 1.75Å1.75\,\mathring{A}, 2Å2\,\mathring{A}, and 2.25Å2.25\,\mathring{A}.

  3. \bullet

    In Experiment 2.2, we introduce a small fluctuation, then rotate one set of three hydrogen-carbon bonds 50 degrees with respect to the carbon-carbon bond.

In Table 6, the bond lengths of hydrogen-carbon bonds and the carbon-carbon bond in their equilibrium of Experiment 2.1.a, Experiment 2.1.b, and Experiment 2.2 are compared. It is clear that in the equilibrium, all hydrogen-carbon bonds in three experiments have the same length, which is consistent with the reference length of hydrogen-carbon bond 1.093Å1.093\,\mathring{A}. The carbon-carbon bond in each of the three experiments is the same as the reference length 1.508Å1.508\,\mathring{A}. This verifies the accuracy of our free-energy minimization algorithm.

Table 6: Comparison of bond lengths (Å\mathring{A}) of ethane in equilibrium from different initial configurations. Remark: H3, H4, and H5 are hydrogen atoms bonded with the carbon atom C1, H6, H7, and H8 are hydrogen atoms bonded with the carbon atom C2.
Experiments Experiment 2.1.a Experiment 2.1.b Experiment 2.2
Bond list Initial Length Final Length Initial Length Final Length Initial Length Final Length
C1-H3 2 1.093 1 1.093 1.090 1.093
C1-H4 2 1.093 1.25 1.093 1.090 1.093
C1-H5 2 1.093 1.5 1.093 1.090 1.093
C2-H6 2 1.093 1.75 1.093 1.090 1.093
C2-H7 2 1.093 2 1.093 1.090 1.093
C2-H8 2 1.093 2.25 1.093 1.090 1.093
C1-C2 1.77 1.508 1.77 1.508 1.540 1.508

Figure 9 displays the snapshots of minimization process of Experiment 2.2. The red dots represent carbon atoms, the blue dots represent the hydrogen atoms, the light blue segments and green segments represent the hydrogen-carbon bonds, and the black segment represents the carbon-carbon bond. It is captured that during the relaxation, the set of three hydrogen-carbon bonds rotated back to their equilibrium, and all hydrogen-carbon bonds have the same length. Free energy of steady state in Experiment 2.1.a is 3.692 kBTk_{B}T, the free energy of steady state in Experiment 2.1.b is 3.685 kBTk_{B}T, and the free energy of steady state in Experiment 2.2 is 3.687 kBTk_{B}T. Thus, the three experiments get to the same equilibria. We remark that the free energy here does not include the vdW interaction energy among unbonded pairs of solute atoms.

Refer to caption
Refer to caption
Refer to caption
Figure 9: The free-energy minimization for ethane from Experiment 2.2. Snapshot taken at step 0 (Left), step 200 (Middle), and step 1500, reaching to a steady state (Right).

In Figure 10, we plot the free energy vs. iteration steps in numerical computations for Experiment 2.1.a and Experiment 2.2. In Experiment 2.1.a, initially, the free energy is very large, that is because the stretch or shrink of the initial bond length causes a large value of the bonding energy. We can see that the free energy decays very fast in the first few steps, which is caused by the dominant force from the bonding energy. It takes around 1000 steps to adjust positions of solute atoms in ethane molecule to reach the equilibrium. In contract, the initial free energy of Experiment 2.2 in Figure 10 is a relatively small value, as we only introduced a small fluctuation to the initial atomic positions and the rotation of a set of three hydrogen-carbon bonds did not cause large free energy change. We observe that the rate of free-energy change at around the 3rd step and 200th computational step becomes slower and slower, which indicates that our free-energy minimization algorithm was adjusting the suitable mobility factor MM during the minimization process. Although the initial free energy is small, it takes more than 1400 steps to rotate the hydrogen-carbon bonds back to the right position and reach the equilibrium.

Refer to caption
Refer to caption
Figure 10: The free energy (kBT)(k_{B}T) vs. the computational step in the free-energy minimization for an ethane molecule in Experiment 2.1.a and Experiment 2.2. First 15 (50) computational steps are specified in the inset of each subfigure.

5.3 Simulation of protein-protein interactions

In this section, we choose a biologically important and realistic system, the p53/MDM2 protein complex, and investigate the binding behavior using our free-energy minimization model and algorithm. To make the calculations of molecular movement easier, the receptor protein MDM2 here is fixed.

We use the CHARMM36 force field [15, 2, 21, 20] for our VISM simulations for the binding of p53 and MDM2.

Table 7 shows the solvation free energy and its components obtained by our VISM simulations for the bound complex p53/MDM2, and the computational times of the simulations with the GPU single precision and the CPU double precision, respectively.

During those simulations, we relax the relative difference stop criterion and absolute difference stop criteria to be 11e-33, just for the efficiency comparison of the GPU code and the CPU code. We set the initial configuration of p53/MDM2 to be a tight initial interface for atomic position with small fluctuations of p53/MDM2 in the bound complex, where the bound complex is taken from the Protein Data Bank (PDB code: 1ycr.pdb). It can be observed in Table 7 that the difference between GPU code with single precision data type and CPU with double precision data type is less than 1%, but the cost time of CPU is more than 78 times, and 307 times slower than the cost time of GPU with number of grid points 50350^{3}, and 1003100^{3}, correspondingly.

Table 7: Comparison of GPU (single precision) and CPU (double precision) for free energy (kBTk_{B}T) and its components of p53/MDM2 in the steady state. The unit of time is minute.
Grid Total Energy Surface Energy vdW Energy CFA Total Time
Points GPU CPU GPU CPU GPU CPU GPU CPU GPU CPU
50350^{3} -214.0 -212.0 800.7 802.7 -453.1 -453.0 -561.6 -561.7 10.0 784.7
1003100^{3} -157.3 -159.1 833.8 834.0 -441.9 -440.6 -549.2 -552.4 16.7 5128.6
2003200^{3} -140.9 - 836.5 - -434.4 - -543.0 - 62.6 -

We further investigate the binding behavior of p53 and MDM2 with our free-energy minimization method and algorithm. Note that, here we use a grid size h=0.5Åh=0.5\,\mathring{A}, the relative difference stop criterion and absolute difference stop criterion are 11e-55. We construct the initial configuration with a tight initial interface by pulling p53 away from the MDM2 pocket in the bound complex along the line passing through the geometrical centers.

In Figure 11, a few snapshots of numerical results of p53/MDM2 are displayed, showing the minimization process. The position of the protein MDM2 is fixed, positions of p53 atoms are adjusted by the free-energy minimization process. We color each piece of surface according to whether its closet solute atom comes from MDM2 (red) or p53 (blue) to show the relative positions of MDM2 and p53. In the initial configuration, the protein p53 and the receptor protein MDM2 are separated as we can observe a hole between them; that is a small region filled with water. In the process, the relative positions of p53 and MDM2 are adjusted, p53 and MDM2 become closer and closer. In the equilibrium, the hole disappears, and the two proteins are combined together.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 11: The free-energy minimization for p53/MDM2. The snapshots are taken at (a) initial stage, i.e., step 0, (b) step 100, (c) step 200, and (d) step 377, reaching nearly the steady state. Note that, in order to show the relative positions of MDM2 and p53, we color each piece of surface according to whether its closest solute atom comes from MDM2 (red) or p53 (blue).

6 Conclusions

This work presents the development of a GPU parallel free-energy minimization method and algorithm with the fast binary level-set method and an adaptive-mobility gradient descent method for the variational explicit-solute implicit-solvent (VESIS) molecular simulations. Minimization of the free-energy functional determines an equilibrium interface and an equilibrium molecular structure.

Our free-energy minimization is an iterative process with two stages. In the first stage, we fix solute atoms, then minimize the solvation free energy to obtain an optimal solute-solvent interface. In the second stage, with a fixed interface, we relax the solute atoms using a gradient descent type method.

The proposed minimization algorithm is implemented in parallel on GPUs with single precision.

We have presented a series of numerical experiments and have demonstrated the accuracy and efficiency of our numerical methods and algorithm for the free-energy minimization. In particular, our numerical experiments of potentials of mean force for two charged systems, two charged parallel plates, and the protein BphC, have shown that VISM with the binary level-set method can capture well the sensitive response of capillary evaporation to the charge in hydrophobic confinement and the polymodal hydration behavior. Moreover, our numerical experiments for small molecular systems, the two-atom system and an ethane molecule, have demonstrated that our algorithm can capture topological changes of the solute-solvent interfaces as well as describe the equilibrium molecular structure. A key application of our algorithm is for large biomolecular simulations. We have applied our free-energy minimization method and algorithm to a realistic system, the p53/MDM2 protein complex. Our model and method describes the relaxation process of the binding of these two molecules.

To verify the performance of our GPU parallel implementation of our algorithm, we have compared for different molecular systems our computational results and computational times with both of the CPU with double precision and the GPU with single precision. We observe that the GPU implementation is much more efficient than the CPU implementation. The GPU with single precision combining the pairwise summation can efficiently limit the grow of round-off errors. For small molecular systems such as the two charged parallel plates the computational time with the CPU is around 5 times of that with the GPU. For a relatively large molecular system, such as p53/MDM2, and fine finite-difference grids, our GPU implementation works especially well, reaching a speed about 100 times faster than that of the CPU implementation. In the meantime, both implementations lead to the same minimum free energies and even their individual components.

To speed up the computations further, our immediate next step is to construct a hybrid CPU-GPU architecture to combine CPU parallel computing and GPU parallel computing together. For the CPU parallel computing, we can use a standard domain decomposition approach. The communication between sub-domains is based on the message-passing interface (MPI).

With our fast algorithm and GPU code, we can now carry out flexible VESIS-Monte Carlo simulations for the binding of two proteins in which both the solute-solvent interface and the set of solute atomic positions change in each step of the Monte Carlo move.

Appendix

Gradient of G[Γ,𝐑].G[\Gamma,{\mathbf{R}}].

Fix nn with 1nN.1\leq n\leq N. We have

𝐫nG[Γ,𝐑]\displaystyle\nabla_{\mathbf{r}_{n}}G[\Gamma,\mathbf{R}] =18π2ε0(1εw1εm)Ωw(i=1NQi(𝐫𝐫i)|𝐫𝐫i|3)(Qn|𝐫𝐫n|3)dV𝐫\displaystyle=\frac{1}{8\pi^{2}\varepsilon_{0}}\left(\frac{1}{\varepsilon_{\rm w}}-\frac{1}{\varepsilon_{\rm m}}\right)\int_{\Omega_{\rm w}}\left(\sum_{i=1}^{N}\frac{Q_{i}(\mathbf{r}-\mathbf{r}_{i})}{|\mathbf{r}-\mathbf{r}_{i}|^{3}}\right)\left(\frac{Q_{n}}{|\mathbf{r}-\mathbf{r}_{n}|^{3}}\right)dV_{\mathbf{r}}
+ρ0ΩwUsw(|𝐫n𝐫|)𝐫n𝐫|𝐫n𝐫|dV𝐫+(i,j)δniGelecss(|𝐫i𝐫j|)𝐫i𝐫j|𝐫i𝐫j|\displaystyle\qquad+\rho_{0}\int_{\Omega_{\rm w}}U^{\prime}_{sw}(|\mathbf{r}_{n}-\mathbf{r}|)\frac{\mathbf{r}_{n}-\mathbf{r}}{|\mathbf{r}_{n}-\mathbf{r}|}dV_{\mathbf{r}}+\sum_{(i,j)^{\prime}}\delta_{ni}G_{\rm elec}^{{}^{\prime}\rm ss}(|\mathbf{r}_{i}-\mathbf{r}_{j}|)\frac{\mathbf{r}_{i}-\mathbf{r}_{j}}{|\mathbf{r}_{i}-\mathbf{r}_{j}|}
+(i,j)δniUss(|𝐫i𝐫j|)𝐫i𝐫j|𝐫i𝐫j|+(i,j)δniAij(|rijr0ij|)𝐫i𝐫j|𝐫i𝐫j|\displaystyle\qquad+\sum_{(i,j)^{\prime}}\delta_{ni}U^{\prime}_{ss}(|\mathbf{r}_{i}-\mathbf{r}_{j}|)\frac{\mathbf{r}_{i}-\mathbf{r}_{j}}{|\mathbf{r}_{i}-\mathbf{r}_{j}|}+\sum_{(i,j)}\delta_{ni}A_{ij}(|r_{ij}-r_{0ij}|)\frac{\mathbf{r}_{i}-\mathbf{r}_{j}}{|\mathbf{r}_{i}-\mathbf{r}_{j}|}
+(i,j,k)𝐫nWbend(𝐫i,𝐫j,𝐫k)+(i,j,k,l)𝐫nWtorsion(𝐫i,𝐫j,𝐫k,𝐫l),\displaystyle\qquad+\sum_{(i,j,k)}\nabla_{\mathbf{r}_{n}}W_{\rm bend}(\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k})+\sum_{(i,j,k,l)}\nabla_{\mathbf{r}_{n}}W_{\rm torsion}(\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k},\mathbf{r}_{l}), (A.1)

where δni=1\delta_{ni}=1 if n=in=i and 00 otherwise.

Force calculations of molecular mechanical interactions.

For fixed 𝐫i,𝐫j\mathbf{r}_{i},\mathbf{r}_{j}, and 𝐫k\mathbf{r}_{k}, denote the vector from 𝐫j\mathbf{r}_{j} to 𝐫i\mathbf{r}_{i} by 𝐪ji=𝐫i𝐫j\mathbf{q}_{ji}=\mathbf{r}_{i}-\mathbf{r}_{j} for any ii and jj and the length of 𝐪ji\mathbf{q}_{ji} by qji=|𝐪ji|q_{ji}=|\mathbf{q}_{ji}|. We have

𝐫nWbend(𝐫i,𝐫j,𝐫k)=Bijk(θijkθ0ijk)𝐫nθijk,n=i,j,k,\nabla_{\mathbf{r}_{n}}W_{\rm bend}(\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k})=B_{ijk}(\theta_{ijk}-\theta_{0ijk})\nabla_{\mathbf{r}_{n}}\theta_{ijk},\quad n=i,j,k,

where

𝐫iθijk\displaystyle\nabla_{\mathbf{r}_{i}}\theta_{ijk} =1sinθijk(𝐪ji𝐪jkqji3qjk𝐪ji1qjiqjk𝐪jk),\displaystyle=\frac{1}{\sin\theta_{ijk}}\left(\frac{\mathbf{q}_{ji}\cdot\mathbf{q}_{jk}}{q_{ji}^{3}q_{jk}}\mathbf{q}_{ji}-\frac{1}{q_{ji}q_{jk}}\mathbf{q}_{jk}\right),
𝐫kθijk\displaystyle\nabla_{\mathbf{r}_{k}}\theta_{ijk} =1sinθijk(𝐪ji𝐪jkqjk3qji𝐪ji1qjiqjk𝐪ji),\displaystyle=\frac{1}{\sin\theta_{ijk}}\left(\frac{\mathbf{q}_{ji}\cdot\mathbf{q}_{jk}}{q_{jk}^{3}q_{ji}}\mathbf{q}_{ji}-\frac{1}{q_{ji}q_{jk}}\mathbf{q}_{ji}\right),
𝐫jθijk\displaystyle\nabla_{\mathbf{r}_{j}}\theta_{ijk} =1sinθijk[(1qjiqjkcosθijkqji2)𝐫ji+(1qjiqjkcosθijkqjk2)𝐫jk].\displaystyle=\frac{1}{\sin\theta_{ijk}}\left[\left(\frac{1}{q_{ji}q_{jk}}-\frac{\cos\theta_{ijk}}{q_{ji}^{2}}\right)\mathbf{r}_{ji}+\left(\frac{1}{q_{ji}q_{jk}}-\frac{\cos\theta_{ijk}}{q_{jk}^{2}}\right)\mathbf{r}_{jk}\right].

Recall for for fixed 𝐫i,𝐫j,𝐫k\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k}, and 𝐫l\mathbf{r}_{l} that

Wtorsion(𝐫i,𝐫j,𝐫k,𝐫l)=n=06Cn[1+cos(nτψn)],W_{\rm torsion}(\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k},\mathbf{r}_{l})=\sum_{n=0}^{6}C_{n}[1+\cos(n\tau-\psi_{n})],

where ψn\psi_{n} is the phase factor, which is introduced to shift the zero of the torsion potential. The phase angles ψn\psi_{n} are usually chosen so that terms with positive CnC_{n} has minima at 180180^{\circ} (i.e., for odd nn, ψn=0\psi_{n}=0^{\circ} and for even nn, ψn=180\psi_{n}=180^{\circ} ). We denote

𝐪1=𝐪ij,𝐪2=𝐪jk,𝐪3=𝐪kl,\displaystyle\mathbf{q}_{1}=\mathbf{q}_{ij},\quad\mathbf{q}_{2}=\mathbf{q}_{jk},\quad\mathbf{q}_{3}=\mathbf{q}_{kl},
𝐮=𝐪1×𝐪2,𝐯=𝐪2×𝐪3,\displaystyle\mathbf{u}=\mathbf{q}_{1}\times\mathbf{q}_{2},\quad\mathbf{v}=\mathbf{q}_{2}\times\mathbf{q}_{3},
τ=τijkl,Λ=Λijkl=cosτ=𝐮𝐯|𝐮||𝐯|,\displaystyle\tau=\tau_{ijkl},\quad\Lambda=\Lambda_{ijkl}=\cos\tau=\frac{\mathbf{u}\cdot\mathbf{v}}{|\mathbf{u}||\mathbf{v}|},
Cn=Cn,ijkl,n=1,2,3,4,5,6.\displaystyle C_{n}=C_{n,{ijkl}},\quad n=1,2,3,4,5,6.

Due to the fact that ψn=0\psi_{n}=0^{\circ} or 180180^{\circ}, we derive

𝐫nWtorsion(𝐫i,𝐫j,𝐫k,𝐫l)\displaystyle\nabla_{\mathbf{r}_{n}}W_{\rm torsion}(\mathbf{r}_{i},\mathbf{r}_{j},\mathbf{r}_{k},\mathbf{r}_{l})
=𝐫nΛ[(C1cos(ψ1)3C3cos(ψ3)+5C5cos(ψ5))\displaystyle\quad=\nabla_{\mathbf{r}_{n}}\Lambda[(C_{1}\cos(\psi_{1})-3C_{3}\cos(\psi_{3})+5C_{5}\cos(\psi_{5}))
+Λ(4C2cos(ψ2)16C4cos(ψ4)+36C6cos(ψ6))+Λ2(12C3cos(ψ3)60C5cos(ψ5))\displaystyle\qquad+\Lambda(4C_{2}\cos(\psi_{2})-16C_{4}\cos(\psi_{4})+36C_{6}\cos(\psi_{6}))+\Lambda^{2}(12C_{3}\cos(\psi_{3})-60C_{5}\cos(\psi_{5}))
+Λ3(32C4cos(ψ4)192C6cos(ψ6))+Λ4(80C5cos(ψ5))+Λ5(192C6cos(ψ6))],\displaystyle\qquad+\Lambda^{3}(32C_{4}\cos(\psi_{4})-192C_{6}\cos(\psi_{6}))+\Lambda^{4}(80C_{5}\cos(\psi_{5}))+\Lambda^{5}(192C_{6}\cos(\psi_{6}))],

where

𝐫iΛ=𝐪1Λ,\displaystyle\nabla_{\mathbf{r}_{i}}\Lambda=-\nabla_{\mathbf{q}_{1}}\Lambda,
𝐫jΛ=𝐪1Λ𝐪2Λ,\displaystyle\nabla_{\mathbf{r}_{j}}\Lambda=\nabla_{\mathbf{q}_{1}}\Lambda-\nabla_{\mathbf{q}_{2}}\Lambda,
𝐫kΛ=𝐪2Λ𝐪3Λ,\displaystyle\nabla_{\mathbf{r}_{k}}\Lambda=\nabla_{\mathbf{q}_{2}}\Lambda-\nabla_{\mathbf{q}_{3}}\Lambda,
𝐫lΛ=𝐪3Λ,\displaystyle\nabla_{\mathbf{r}_{l}}\Lambda=\nabla_{\mathbf{q}_{3}}\Lambda,

and

𝐪1Λ=(𝐪2×𝐯)|𝐮|2(𝐮𝐯)(𝐪2×𝐮)|𝐮|3|𝐯|,\displaystyle\nabla_{\mathbf{q}_{1}}\Lambda=\frac{(\mathbf{q}_{2}\times\mathbf{v})|\mathbf{u}|^{2}-(\mathbf{u}\cdot\mathbf{v})(\mathbf{q}_{2}\times\mathbf{u})}{|\mathbf{u}|^{3}|\mathbf{v}|},
𝐪2Λ=(𝐪1×𝐯)|𝐮|2+(𝐮𝐯)(𝐪1×𝐮)|𝐮|3|𝐯|+(𝐪3×𝐮)|𝐯|2(𝐮𝐯)(𝐪3×𝐯)|𝐮||𝐯|3,\displaystyle\nabla_{\mathbf{q}_{2}}\Lambda=\frac{(-\mathbf{q}_{1}\times\mathbf{v})|\mathbf{u}|^{2}+(\mathbf{u}\cdot\mathbf{v})(\mathbf{q}_{1}\times\mathbf{u})}{|\mathbf{u}|^{3}|\mathbf{v}|}+\frac{(\mathbf{q}_{3}\times\mathbf{u})|\mathbf{v}|^{2}-(\mathbf{u}\cdot\mathbf{v})(\mathbf{q}_{3}\times\mathbf{v})}{|\mathbf{u}||\mathbf{v}|^{3}},
𝐪3Λ=(𝐪2×𝐮)|𝐯|2+(𝐮𝐯)(𝐪2×𝐯)|𝐮||𝐯|3.\displaystyle\nabla_{\mathbf{q}_{3}}\Lambda=\frac{(-\mathbf{q}_{2}\times\mathbf{u})|\mathbf{v}|^{2}+(\mathbf{u}\cdot\mathbf{v})(\mathbf{q}_{2}\times\mathbf{v})}{|\mathbf{u}||\mathbf{v}|^{3}}.

Potentials of Mean Force.

The potential of mean force (PMF) is a general term for the effective interaction between solutes that stems from direct solute-solute interactions and that is mediated by the solvent. It is usually defined with respect to a reaction coordinate as the difference between the free energy of solvated state at a given coordinate dd and that at a fixed, reference coordinate drefd_{ref}. Here, we recall the definition of PMF for our VISM [29].

For a solute-solvent interface Γ\Gamma, we denote by Ggeom[Γ]G_{\rm geom}[\Gamma], GvdW[Γ]G_{\rm vdW}[\Gamma], and Gelec[Γ]G_{\rm elec}[\Gamma] the first, second, and last term in GVISM[Γ]G_{\rm VISM}[\Gamma] (2.2), respectively. Fix now a finite coordinate dd. Denote by Γd\Gamma_{d} a corresponding VISM optimal surface, i.e., a stable equilibrium solute-solvent interface minimizing locally the VISM solvation free-energy functional. We define the (total) PMF to be the sum of its separate contributions

Gtotpmf(d)=Ggeompmf(d)+GvdWpmf(d)+Gelecpmf(d),G_{tot}^{\rm pmf}(d)=G_{\rm geom}^{\rm pmf}(d)+G_{\rm vdW}^{\rm pmf}(d)+G_{\rm elec}^{\rm pmf}(d),

where

Ggeompmf(d)=Ggeom[Γd]Ggeom[Γ],\displaystyle G_{\rm geom}^{\rm pmf}(d)=G_{\rm geom}[\Gamma_{d}]-G_{\rm geom}[\Gamma_{\infty}],
GvdWpmf(d)=GvdW[Γd]GvdW[Γ]+i=1Mj=M+1NUi,j(|𝐱i𝐱j|),\displaystyle G_{\rm vdW}^{\rm pmf}(d)=G_{\rm vdW}[\Gamma_{d}]-G_{\rm vdW}[\Gamma_{\infty}]+\sum_{i=1}^{M}\sum_{j=M+1}^{N}U_{i,j}(|\mathbf{x}_{i}-\mathbf{x}_{j}|),
Gelecpmf(d)=Gelec[Γd]Gelec[Γ]+14πεmε0i=1Mj=M+1NQiQj|𝐱𝐢𝐱𝐣|.\displaystyle G_{\rm elec}^{\rm pmf}(d)=G_{\rm elec}[\Gamma_{d}]-G_{\rm elec}[\Gamma_{\infty}]+\frac{1}{4\pi\varepsilon_{m}\varepsilon_{0}}\sum_{i=1}^{M}\sum_{j=M+1}^{N}\frac{Q_{i}Q_{j}}{|\mathbf{x_{i}}-\mathbf{x_{j}}|}.

Here a quantity at \infty is understand as the limit of that quantity at a coordinate dd^{\prime} as dd^{\prime}\rightarrow\infty. The double-sum terms above are the solute-solute vdW and charge-charge interactions.

As dd becomes large, the VISM optimal solute solvent interface Γd\Gamma_{d} becomes the union of two separate VISM optimal solute-solvent interface ΓI\Gamma_{I} and ΓII\Gamma_{II}, both independent of dd. They are obtained by minimizing the VISM free energy functional for the corresponding groups of fixed, solute atoms. If we denote by GΓIG_{\Gamma_{I}} and GΓIIG_{\Gamma_{II}} the corresponding minimum VISM free energies for these individual groups of atoms, then GΓ=GΓI+GΓIIG_{\Gamma_{\infty}}=G_{\Gamma_{I}}+G_{\Gamma_{II}} Similarly, each component of the VISM free energy is the sum of that for the two groups of solute atoms, i.e., GG in the above equation can be replaced by GgeomG_{\rm geom}, or GvdWG_{\rm vdW} or GelecG_{\rm elec}.

Acknowledgment. This work was supported in part by an AMS Simons Travel Grant (SL), the US National Science Foundation through grant DMS-1913144 (LTC &\& BL), and the US National Institutes of Health through grant R01GM132106 (BL). The authors thank Dr. Clarisse G. Ricci and Professor Shenggao Zhou for helpful discussions.

References

  • [1] P. W. Bates, Z. Chen, Y. H. Sun, G. W. Wei, and S. Zhao. Geometric and potential driving formation and evolution of biomolecular surfaces. J. Math. Biol., 59:193–231, 2009.
  • [2] R. B. Best, X. Zhu, J. Shim, P. E. M. Lopes, M. Jeetain, M. Feig, , and A. D. MacKerell Jr. Optimization of the additive CHARMM all-atom protein force field targeting improved sampling of the backbone ϕ\phi, ψ\psi and side-chain χ\chi1 and χ\chi2 dihedral angles. J. Chem. Theory Comput., 8(9):3257–3273, 2012.
  • [3] L.-T. Cheng, J. Dzubiella, J. A. McCammon, and B. Li. Application of the level-set method to the implicit solvation of nonpolar molecules. J. Chem. Phys., 127:084503, 2007.
  • [4] L.-T. Cheng, Y. Xie, J. Dzubiella, J. A. McCammon, J. Che, and B. Li. Coupling the level-set method with molecular mechanics for variational implicit solvation of nonpolar molecules. J. Chem. Theory Comput., 5:257–266, 2009.
  • [5] Li-Tien Cheng, Bo Li, and Zhongming Wang. Level-set minimization of potential controlled hadwiger valuations for molecular solvation. Journal of computational physics, 229(22):8497–8510, 2010.
  • [6] J. Dzubiella, J. M. J. Swanson, and J. A. McCammon. Coupling hydrophobicity, dispersion, and electrostatics in continuum solvent models. Phys. Rev. Lett., 96:087802, 2006.
  • [7] J. Dzubiella, J. M. J. Swanson, and J. A. McCammon. Coupling nonpolar and polar solvation free energies in implicit solvent models. J. Chem. Phys., 124:084905, 2006.
  • [8] S. Esdog¯\bar{g}lu, M. Jacobs, and P. Zhang. Kernels with prescribed surface tension and mobility for threshold dynamics schemes. J. Comput. Phys., 337:62–83, 2017.
  • [9] F. Gibou and R. Fedkiw. A fast hybrid k-means level set algorithm for segmentation. In 4th Annual Hawaii International Conference on Statistics and Mathematics, pages 281–291, 2005.
  • [10] Z. Guo, B. Li, J. Dzubiella, L.-T. Cheng, J. A. McCammon, and J. Che. Evaluation of hydration free energy by the level-set variational implicit-solvent model with the coulomb-field approximation. J. Chem. Theory Comput., 9:1778–1787, 2013.
  • [11] Z. Guo, B. Li, J. Dzubiella, L.-T. Cheng, J. A. McCammon, and J. Che. Heterogeneous hydration of p53/mdm2 complex. J. Chem. Theory Comput., 10:1302–1313, 2014.
  • [12] T. A. Halgren. Merck molecular force field. I. Basis, form, scope, parameterization, and performance of MMFF94. J. Comput. Chem., 17:490–519, 1996.
  • [13] T. A. Halgren. Merck molecular force field. II. MMFF94 van der Waals and electrostatic parameters for intermolecular interactions. J. Comput. Chem., 17:520–552, 1996.
  • [14] AJ Hopfinger. Computer-assisted drug design. Journal of medicinal chemistry, 28(9):1133–1139, 1985.
  • [15] J. Huang, S. Rauscher, G. Nawrocki, T. Ran, M. Feig, B. L. de Groot, H. Grubmüller, and A. D. MacKerell. CHARMM36: An improved force field for folded and intrinsically disordered proteins. In 61st Annual Meeting of the Biophysical Society, pages 175a–176a, 2017.
  • [16] W. L. Jorgensen, D. S. Maxwell, and J. Tirado-Rives. Development and testing of the OPLS all-atom force field on conformational energetics and properties of organic liquids. J. Amer. Chem. Soc., 118(45):11225–11236, 1996.
  • [17] J. Lie, M. Lysaker, and X.-C. Tai. A binary level set model and some applications to Mumford–Shah image segmentation. IEEE Trans. Image Proc., 15:1171–1181, 2006.
  • [18] J. Lie, M. Lysaker, and X.-C. Tai. A variant of the level set method and applications to image segmentation. Math. Comput, 75(255):1155–1174, 2006.
  • [19] K. Lum, D. Chandler, and J. D. Weeks. Hydrophobicity at small and large length scales. J. Phys. Chem. B, 103:4570–4577, 1999.
  • [20] A. D. MacKerell Jr., D. Bashford, M. L. D. R. Bellott, R. L. Dunbrack Jr, J. D. Evanseck, M. J. Field, S. Fischer, J. Gao, H. Guo, S. Ha, et al. All-atom empirical potential for molecular modeling and dynamics studies of proteins. The J. Phys. Chem. B, 102(18):3586–3616, 1998.
  • [21] A. D. MacKerell Jr., M. Feig, and Charles L. Brooks. Improved treatment of the protein backbone in empirical force fields. J. Amer. Chem. Soc., 126(3):698–699, 2004.
  • [22] B. Merriman, J. Bence, and S. Osher. Diffsion generated motion by mean curvature. In J. Taylor, editor, Computational Crystal Growers Workshop, pages 73–83. Amer. Math. Soc., 1992.
  • [23] R. Ramirez and D. Borgis. Density functional theory of solvation and its relation to implicit solvent models. J. Phys. Chem. B, 109:6754–6763, 2005.
  • [24] C. G. Ricci, B. Li, L.-T. Cheng, J. Dzubiella, and J. A. McCammon. Tailoring the variational implicit solvent method for new challenges: Biomolecular recognition and assembly. Front. Mol. Biosci., 5(13), 2018.
  • [25] S. J. Ruuth. Efficient algorithms for diffusion-generated motion by mean curvature. J. Comput. Phys., 144:603–625, 1998.
  • [26] S. J. Ruuth and B. Merriman. Convolution-thresholding methods for interface motion. J. Comput. Phys., 169:678–707, 2001.
  • [27] S. J. Ruuth, B. Merriman, and S. Osher. Convolution generated motion as a link between cellular automata and continuum pattern dynamics. J. Comput. Phys., 151:836–861, 1999.
  • [28] D. Wang, H. Li, X. Wei, and X.-P. Wang. An efficient iterative thresholding method for image segmentation. J. Comput. Phys., 350:657–667, 2017.
  • [29] Z. Wang, J. Che, L.-T. Cheng, J. Dzubiella, B. Li, and J. A. McCammon. Level-set variational implicit solvation with the Coulomb-field approximation. J. Chem. Theory Comput., 8:386–397, 2012.
  • [30] D. S. Watkins. Fundamentals of matrix computations, volume 64. John Wiley & Sons, 2004.
  • [31] Z. Zhang, C. G. Ricci, C. Fan, L.-T. Cheng, B. Li, and J. A. McCammon. Coupling Monte Carlo, variational implicit solvation, and binary level-set for simulations of biomolecular binding. J. Chem. Theory Comput., 17:2465–2478, 2021.
  • [32] S. Zhou, L.-T. Cheng, J. Dzubiella, B. Li, and J. A. McCammon. Variational implicit solvation with Poisson–Boltzmann theory. J. Chem. Theory Comput., 10(4):1454–1467, 2014.
  • [33] S. Zhou, L.-T. Cheng, H. Sun, J. Che, J. Dzubiella, B. Li, and J. A. McCammon. LS-VISM: A software package for analysis of biomolecular solvation. J. Comput. Chem., 36:1047–1059, 2015.
  • [34] S. Zhou, H. Sun, L.-T. Cheng, J. Dzubiella, B. Li, , and J. A. McCammon. Stochastic level-set variational implicit-solvent approach to solute-solvent interfacial fluctuations. J. Chem. Phys., 145:054114, 2016.