Explicit-Solute Implicit-Solvent Molecular Simulation with Binary Level-Set, Adaptive-Mobility, and GPU
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)
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)
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)
We implement our methods and algorithms in GPU, and test our code to verify its accuracy, stability, and efficiency.
- (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 and and . Equivalently, the interface is determined by a binary level-set function taking the value or 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 cf. Figure 1. We assume that there are atoms of these solute molecules, located at and carrying partial charges , respectively. A closed surface inside and enclosing all the solute atoms is called a solute-solvent interface or dielectric boundary. Such an interface, which may have several disjoint connected components, divides the entire solvation region into two parts. One is the solute region, denoted (m stands for molecule), which is the interior of the surface , and the other is the solvent region, denoted (w stands for water) and defined by (a bar denotes the closure of a set).
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]
| (2.1) |
over all possible solute-solvent interfaces and solute atomic positions 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]
| (2.2) |
The first term here is the solute-solvent interfacial energy, where is the surface tension constant. The second term describes the van der Waals (vdW) type interactions between the solute atoms located at and solvent molecules that are treated as a continuum, where is the bulk solvent density and each is a Lennard-Jones (LJ) potential of the form
| (2.3) |
where the length parameter and energy parameter can depend on individual solute atoms. The last term in (2.2) is the Coulomb-field approximation (CFA) of the electrostatic interaction energy, where is the vacuum permittivity, and and are the relative permittivities of the solvent and solute, respectively. Note that the integrals in (2.2) are over the region , instead of 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
| (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 of bounded solute atoms, , and and 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 such that both pairs of solute atoms and are bonded. For such a triplet, is the angle between the vectors and , is the corresponding equilibrium angle, and 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 such that , , and are all bonded. For such a quadruple , is the torsion angle that is the angle between the plane determined by and that determined by , is the multiplicity, is the phase factor, and all are constants.
3 Numerical Methods
We minimize the free-energy functional 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 that is a multi-variable function of the solute atomic positions 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 with 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 for some . The side length is chosen to be large enough so that the region includes all the solute atoms whose geometrical center can be shifted to the origin, if necessary; cf. Figure 1. This region is also our computational box. We cover it by a uniform finite-difference grid of size A solute-solvent interface is approximated by a binary level-set function that is defined on all the grid cells with and on cells interior and exterior to , respectively.
We discretize the VISM solvation free-energy functional (2.2) with all the solute atoms fixed at Let us first rewrite this functional as
| (3.1) |
where
| (3.2) |
Approximation of the surface energy. The surface area of the solute-solvent interface can be expressed as [31]
| (3.3) |
where
is a constant, for any is the ball centered at the origin with radius , and is the third component of the position vector . The kernel function () is chosen to be non-negative, compactly supported in the closure of the unit ball of , and spherically symmetric (i.e., it is a function of ). In our implementation, we set if and elsewhere. The small parameter is the rescaled kernel radius, defined as the radius of the ball of the support of
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 where is a constant. Consequently, we obtain the following expression of an approximation of the surface energy, the first term in (3.1) [31]:
where and are the centers of grid cells in and , respectively. The second term in (3.1) can be approximated by the center-point integration rule:
Therefore, these approximations and (3.1) lead to the approximation
| (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 and with 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 , so the sign of the cell is , then the flip of the cell leads to the change of energy
| (3.5) |
Otherwise, if the cell is centered at , so the sign of the cell is , then the flip of the cell leads to the change of energy
| (3.6) |
After calculating by flipping grid cells near the interface, we put in a Min-Heap. We flip the grid cell with the smallest in the heap if . 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 for old grid cells near the new interface in the heap, then we sort the Min-Heap. This flipping process stops until all , 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
where is the vdW radius of the th solute atom located at 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 -value at that center. Figure 2 shows a tight surface constructed by both a continuous and the corresponding binary level-set function.
3.2 Adaptive-Mobility Gradient Descent Method for the Relaxation of Solute Atoms
With a fixed solute-solvent interface , we minimize the free energy defined in (2.1), (2.2), and (2.4) as a function of by solving for a steady-state solution to the system of the gradient descent equations
| (3.7) |
where denotes the th component of a vector and all are constants (called mobility constants). The formula of the gradient 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 can vary significantly with solute atoms and with different components. If the mobility constant is too large, then the motion of the particle in its gradient descent direction may possibly overshoot and increase the free energy. If is too small, the free energy may decrease very slowly. To improve the stability and efficiency, we therefore adaptively change the mobility constants 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 , where the “base” mobility is updated in each interaction step of the forward Euler method and is also adjustable. The adjustment of is based on the decrease or increase of the energy with a high energy threshold. It is controlled by a relative energy value depending on iteration steps, and a shrinking parameter that shrinks if the energy increases too much and too often tracked by a counting number which has a threshold value . Initially, we set and
Given all the atomic positions after a forward Euler iteration step, with some and , and the corresponding energy calculated and denoted We calculate all the gradient of at those positions and set
| (3.8) |
We then move the atomic positions in one time step by the forward Euler iteration for solving (3.7) with all . We also calculate the energy for the new atomic positions and denote it by If , then we accept the moved solute atomic positions, do not change the value of , increase by , and continue the iteration. If , then we choose the threshold to be some fraction of and consider two cases. If , then we do not update the atomic positions but shrink to reset and start over with the next iteration step. If , then we check the counting number and consider two cases:
- (1)
If , which means that the same has been used for times, then we do not accept the new positions, shrink to , and reset
- (2)
If , we accept the new atomic positions, keep the same , and increase by .
Note that is the number of steps where the same is used consecutively. In our implementation, we choose , , and to be of .
3.3 Numerical Algorithm
- Step 1.
Initialization. Input all the model parameters from (2.2)–(2.4). In particular, position solute atoms with the center of geometry at the origin by a coordinate translation if necessary. Set the computational box and discretize the box with a uniform finite-difference grid. Set an initial binary level-set function to define the initial solute-solvent interface , solute region , and solvent region .
Set counter , count tolerance , an initial uniform mobility constant , and the time step . Set the initial iteration number and . Set the shrinking parameter . Set the error tolerance - for the gradient and - for atomic positions update.
- Step 2.
Get the optimal solute-solvent interface with atomic positions by the binary level-set method.
- Step 2.1.
- Step 2.2.
Flipping Process:
(Smallest )
flip the corresponding grid cell with smallest .
check for new grid cells next to the new interface, calculate for new grid cells, and update for old grid cells in the heap.
sort solvation energy change in a Min-Heap. - Step 2.3.
Define to be the optimal solute-solvent interface from the flipping process.
- Step 3.
Update the solute atomic positions by solving the system of equations (3.7).
- Step 3.1.
Calculate by (A.1) the gradient for all
- Step 3.2.
Test the convergence. If absolute values of for each solute atom in each coordinate , then stop the algorithm.
- Step 3.3.
- Step 3.4.
Check the total free energy change:
( or and )
Put all moving solute atoms back to .
, , go to Step 3.3.
- Step 3.1.
- Step 4.
Calculate the absolute error and relative error .
- Step 5.
Test the convergence. If either or stays continuously for 100 steps, or if the number of iterations reaches to , stop the algorithm. Otherwise, go to Step 2.
We remark that there are two error tolerances and stopping criteria: One is a small tolerance e- 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 e-, and absolute difference stop criteria to be e-. To avoid the situation that the free energy functional decreases slowly because of small mobility factor , 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
where has some complexity in the computation of its values; in the case of LJ, which requires some computation when the number of solute atoms is large. With far-field approximations handling the integral outside the computational box , numerical quadrature for the rest takes the general form
where are grid points of a grid in , and for some . This summation is computationally intensive as 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 over the grid which parallelizes over the grid points, passing out the computation of 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:
For our parallel implementation, we consider separately the terms
and parallelize by passing out these computations for each 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.
| Parameter | Symbol | Value | Unit |
|---|---|---|---|
| temperature | K | ||
| solvent number density | Å-3 | ||
| surface tension | |||
| solute dielectric constant | |||
| solvent dielectric constant |
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 with all atomic positions 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 atoms with a square length of about 3 nm. The two plates are placed at a center-to-center distance . 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 and to the first and second plates, respectively, with . The total charges of these two plates are and , respectively. We study like-charged and oppositely charged plates by choosing the values of to , and . The atom-water LJ parameters are , , and the atom-atom LJ are and .
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 , , and . In the top row of Figure 3, with the loose initial interface, a stable capillary bubble remains between the two charged parallel plates at and , and the bubble becomes tighter along the enlarging distance. At , the bubble disappears. Comparatively, with the tight initial interface, the equilibrium state is wet at , , and .
Å loose Å loose Å loose
Å tight Å tight Å tight
We now examine the potential of mean force (PMF) of the two-plate system with respect to the plate-plate separation distance . This is the VISM free-energy value as a function of , with an additive constant such that the free energy is at the infinite plate-plate separation. For a given , we may have two VISM free-energy minimizing solute-solvent interfaces corresponding to a tight and a loose initial surface, respectively. We denote by the corresponding minimum free energy of one of the two branches, and denote by and 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 . For the oppositely charged plates, strong hysteresis is presented for .
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.
| Grid | Total Energy | Surface Energy | vdW Energy | CFA | Total Time | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Points | GPU | CPU | GPU | CPU | GPU | CPU | GPU | CPU | GPU | CPU |
| -2099.5 | -2099.5 | 631.8 | 631.8 | -98.3 | -98.3 | -2632.9 | -2633.0 | 0.6 | 3.0 | |
| -2090.8 | -2090.8 | 640.3 | 640.3 | -97.9 | -97.9 | -2633.1 | -2633.2 | 4.0 | 21.2 | |
| -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 to apart, perpendicular to their interface. The domain separation is chosen here to be the reaction coordinate. Note that the zero domain separation corresponds to the native configuration in the crystal structure.
loose loose loose
tight tight tight
Three pairs of stable equilibrium solute-solvent interfaces of BphC at , , and 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 and , and the equilibria surface becomes tighter along the increasing distance. At , 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 to 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 and , indicating that initial interfaces can strongly affect the PMF of BphC.
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 , , and , the time cost of CPU code is around 15 times, 78 times, and 216 times correspondingly to the time cost of the GPU code.
| Grid | Total Energy | Surface Energy | vdW Energy | CFA | Total Time | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Points | GPU | CPU | GPU | CPU | GPU | CPU | GPU | CPU | GPU | CPU |
| 52133.7 | 52134.2 | 1588.2 | 1588.2 | 53116.8 | 53117.4 | -2571.2 | -2571.3 | 4.1 | 60.6 | |
| 52251.8 | 52252.3 | 1658.3 | 1658.3 | 53130.4 | 53131.0 | -2537.0 | -2537.0 | 4.9 | 381.1 | |
| 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 and . We additionally assume that the two atoms are bonded, with the spring constant in the bond stretching energy . We set the computational box to be .
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 . In the second set of experiments, Experiment 1.2.a and Experiment 1.2.b, we set the equilibrium bond length . 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 and , 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 and , 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.
|
|
|
|
|
| (a) | (b) | (c) | (d) |
|
|
|
|
|
| (e) | (f) | (g) | (h) |
| 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 |
|
|
|
|
|
| (a) | (b) | (c) | (d) |
|
|
|
|
|
| (e) | (f) | (g) | (h) |
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 . 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.
| 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 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 and , the hydrogen-water LJ parameters and , the carbon-carbon LJ parameters and , the carbon-hydrogen LJ parameters and , and the hydrogen-hydrogen LJ parameters and .
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:
-
In Experiment 2.1.a, we stretch all hydrogen-carbon bonds to be .
-
In Experiment 2.1.b, we stretch or shrink all hydrogen-carbon bonds such that hydrogen-carbon bonds have the length of , , , , , and .
-
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 . The carbon-carbon bond in each of the three experiments is the same as the reference length . This verifies the accuracy of our free-energy minimization algorithm.
| 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 , the free energy of steady state in Experiment 2.1.b is 3.685 , and the free energy of steady state in Experiment 2.2 is 3.687 . 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.
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 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.
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 e-, 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 , and , correspondingly.
| Grid | Total Energy | Surface Energy | vdW Energy | CFA | Total Time | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Points | GPU | CPU | GPU | CPU | GPU | CPU | GPU | CPU | GPU | CPU |
| -214.0 | -212.0 | 800.7 | 802.7 | -453.1 | -453.0 | -561.6 | -561.7 | 10.0 | 784.7 | |
| -157.3 | -159.1 | 833.8 | 834.0 | -441.9 | -440.6 | -549.2 | -552.4 | 16.7 | 5128.6 | |
| -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 , the relative difference stop criterion and absolute difference stop criterion are e-. 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.
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
Fix with We have
| (A.1) |
where if and otherwise.
Force calculations of molecular mechanical interactions.
For fixed , and , denote the vector from to by for any and and the length of by . We have
where
Recall for for fixed , and that
where is the phase factor, which is introduced to shift the zero of the torsion potential. The phase angles are usually chosen so that terms with positive has minima at (i.e., for odd , and for even , ). We denote
Due to the fact that or , we derive
where
and
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 and that at a fixed, reference coordinate . Here, we recall the definition of PMF for our VISM [29].
For a solute-solvent interface , we denote by , , and the first, second, and last term in (2.2), respectively. Fix now a finite coordinate . Denote by 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
where
Here a quantity at is understand as the limit of that quantity at a coordinate as . The double-sum terms above are the solute-solute vdW and charge-charge interactions.
As becomes large, the VISM optimal solute solvent interface becomes the union of two separate VISM optimal solute-solvent interface and , both independent of . They are obtained by minimizing the VISM free energy functional for the corresponding groups of fixed, solute atoms. If we denote by and the corresponding minimum VISM free energies for these individual groups of atoms, then Similarly, each component of the VISM free energy is the sum of that for the two groups of solute atoms, i.e., in the above equation can be replaced by , or or .
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 , and side-chain 1 and 2 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. Esdolu, 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.