A Java Application to Characterize Biomolecules and Nanomaterials in Electrolyte Aqueous Solutions

The electrostatic, entropic and surface interactions between a macroion (nanoparticle or biomolecule), surrounding ions and water molecules play a fundamental role in the behavior and function of colloidal systems. However, the molecular mechanisms governing these phenomena are still poorly understood. One of the major limitations in procuring this understanding is the lack of appropriate computational tools. Additionally, only experts in the field with an extensive background in programming, who are trained in statistical mechanics, and have access to supercomputers are able to study these systems. To overcome these limitations, in this article, we present a free, multiplatform, portable Java software, which provides experts and non-experts in the field an easy and efficient way to obtain an accurate molecular characterization of electrical and structural properties of aqueous electrolyte mixture solutions around both cylindricaland spherical-like macroions under multiple conditions. The Java software does not require outstanding skills, and comes with detailed user-guide documentation. The application is based on the so-called Classical Density Functional Theory Solver (CSDFTS), which was successfully applied to a variety of rod-like biopolymers, rigidlike globular proteins, nanoparticles, and nano-rods. CSDFTS implements several electrolyte and macroion models, uses different level of approximation and takes advantage of high performance Fortran90 routines and optimized libraries. These features enable the software to run on single processor computers at low-to-moderate computational cost depending on the computer performance, the grid resolution, and the characterization of the macroion and the electrolyte solution, among other factors. As a unique feature, the software comes with a graphical user interface (GUI) that allows users to take advantage of the visually guided setup of the required input data to properly characterize the system and configure the solver. Several examples on nanomaterials and biomolecules are provided to illustrate the use of the GUI and the solver performance. aEmail: marcelo.marucho@utsa.edu, website: http://physics.utsa.edu/Faculty/Marucho/Marucho.html 1 ar X iv :1 80 1. 07 20 1v 1 [ ph ys ic s. co m pph ] 1 9 Ja n 20 18


I. INTRODUCTION
A rich and complex, yet not fully understood, electrical double layer (EDL) formation arises when a nanoparticle or biomolecule is immersed in a liquid solution [1][2][3]. In such conditions, the structural and thermodynamic properties of the liquid surrounding the macroion are shown to be very different from those corresponding to the bulk phase, which in turn, have a high impact on the behaviors and functions of the macroion. For instance, physicochemical properties of nanomaterials such as particle size (PS), shape, Zeta potential (ZP), and surface charge density (SCD) have significant effects on their stability, circulation in blood and absorption into cell membranes [4][5][6][7]. Alteration of the pH and electrolyte conditions modify the SCD and ZP, which affect the binding of nanomaterials to biological tissue and target them to specific sites inside the cell. Whereas, in biophysics [8][9][10], the formation of high order structures, including bundles and networks, involve interactions between highly charged linker proteins and biopolymers that are often modulated by the biological environment. The environment has been shown to have a profound impact on biological functions. For instance, ZP and SCD in microfilaments, nucleic acids, and globular proteins play a fundamental role in the stabilization of these systems due to charge residue groups on their surface. Extremely positive or negative ZP values cause larger repulsive forces. This repulsion between macroions with similar electric charge prevents aggregation of the macroions and thus ensures easy redispersion. Adversely, altering the ZP to the point at which it exhibits zero net charge may decrease stabilization forces and promote agglomeration.
Beyond the substantial progress done in the characterization of these colloidal systems, the complex interplay between the physicochemical properties of macroions and biological environment still remains elusive due to the lack of appropriate methodologies. Conventional computational tools and approaches are limited by their approximations and computational cost. Certainly, the current understanding of EDL properties of macroions is based mainly on mean-field theories like the non linear Poisson-Boltzmann (NLPB) formalism and its modifications [10], which consider electrostatic potential interactions only. Furthermore, the poor resolution and sensitivity of current experimental techniques limit our ability to obtain information on the molecular mechanisms governing these phenomena. Thus, they may be inappropriate to explore a large number of colloidal systems. Additionally, scientific software developed to characterize solvation and electrical double layers of nanomaterials and biomolecules might be helpful in understanding these phenomena. However, they usually require specialized training and expertise in computational biology, expensive commercial licenses, and access to clusters or supercomputers, which are often an obstacle for many researchers, experimentalists, even students lacking these requirements. Thus, it is essential to develop not only more accurate and efficient approaches, but also readily accessible, friendly implementation of a software package that provides experts and non-experts a visualized guide (graphical user interface) to perform these calculations without limitations [11].
In this article, we present a free, multi-platform and portable Java software which provides both experts and non-experts in the field an easy and efficient way to get an accurate molecular characterization of the EDL properties for biomolecules and nanomaterials at infinite dilution. The application is based on the so-called Classical Solvation Density Function Theory (CSDFT) and its modifications, which have been shown to be particularly useful in studying multiple environmental scenarios for a variety of rod-like [12,13] and spherical [14][15][16] rigid-like macroions without computational restriction. CSDFT extends the capabilities of NLPB formalism, eliminating the extremely high computational demands of full atomistic simulation calculations without losing important structural features of complex EDL properties (see Figure 1). It considers not only the electric, but also the entropic and many-body interactions. This feature has been particularly useful for identifying and characterizing dominant interactions and molecular mechanisms governing the behavior and function of In the next sections, we explain how to install, run and use the software. We also include examples to illustrate the solver performance and applicability. In Appendix A, we provide a brief summary of the approach and computational scheme implemented by the software to solve the CSDFT numerically.

II. OVERVIEW
The software allows the user to use a variety of models and approaches. It provides four macroion models: nanoparticle, nanorod, globular protein, and rod-like biopolymer. For each of these models, there are two approaches to characterize the macroion size and the surface charge density: experimental and protonation/deprotonation models for nanomaterials applications, and experimental and molecular structure models for biophysics applications. Additionally, the software comes with two electrolyte approaches: NLPB and CSDFT. These approaches include 3 ion size types (Crystal, Effective and Hydrated), and two solvent models (implicit and explicit). As a unique feature, the Java application comes with a graphical user interface (GUI) which eliminates the arduous and error-prone manual entry of data, and substantially reduces the time spent on the setup of the information required to characterize the macroion and the electrolyte solution. Additionally, each GUI screen provides helpful information about how to fill out the input data by simply holding the mouse pointer over the corresponding text or blank box. The GUI also provides default values for key input parameters and preselects some relevant algorithms to speed up the setup of the input data. However, they may be easily changed at any time. Moreover, the GUI tests all the input data before running the CSDFTS to avoid the incorrect use of the software and prevent meaningless results. At the end of the calculations, the GUI generates two-dimension plots of the selected output files to provide graphical representations of the structural and electrostatic properties of the macroion EDL. Finally, all the output data files are properly saved and organized in the designated folder for post-analysis purposes.

System Requirements
The software requires at least 500 MB of disk space to install. Additional disc space is required to save the output files generated by each simulation, which may be as large as 1Gb or more. The available RAM memory required to run the software depends on many factors. Based on the examples presented in this article, most simulations require only a few Gbs whereas highly demanding calculations may demand up to 12 Gbs.
The software is portable, e.g. it does not require external libraries, leave its files or settings on the host computer, or modify the existing system and its configuration. The software comes with Java 1.8 which is configured by the installer to run the GUI. The Fortran90 codes are distributed as binary files. For biophysics applications, the software requires the molecular structure visualization java tool "Jmol" (http://jmol.sourceforge.net/) [17] and either the java based protein volume "provol" (gmlab.bio.rpi.edu/) [18] or the Unix based "v3" (http://3vee.molmovdb.org/volumeCalc.php) [19] applications. These open sources are compiled and distributed along with the software. To use the latter application, the user's computer needs to have the GNU "gawk" application installed (https://www.gnu.org/software /gawk/). The software also includes "pdb2pqr" and "propka" binary files with the necessary libraries to perform molecular structure calculations (http://apbs-pdb2pqr.readthedocs.io /en/latest/pdb2pqr/index.html) [20]. Additionally, the GUI requires a variety of the user's computer applications, which are a part of the basic operating systems. In particular, the GUI uses "Activity Monitor", "procexp.exe", and "gnome-system-monitor" (or "top") applications for Mac, Windows and Linux users, respectively, to monitor the user's computer performance. It also uses "Terminal.app", "cmd.exe" and "gnome-terminal" (or "xterm") for Mac, Windows, and Linux users, respectively, to display CSDFT calculations.

Installation
The software is distributed as a single zip file containing the self-installer application. The user does not need "Root" or "Admin" permissions to install the software on the user's home directory. The user may unzip the file on the desktop directory, open the resulting folder, then double-click the self-installer application to run the wizard setup and follow a number of module steps (See Figure 2). The installer creates the folder "CSDFTS" in the chosen directory to save the software source files, including the GUI executable "CSDFTSsoftware". If selected, the installer also creates an icon on the desktop for easy access to run the GUI. The software was successfully installed and tested on a variety of operating systems (Windows 7 and 10, Sierra, Centos 7, Ubuntu 14, Fedora 24, Debian 8) and provides an uninstaller application for easy removal. During the first simulation the GUI creates a folder named "CSDFTS_Workspace" in "My Documents" and "$HOME" directory for Windows and Unix operating systems, respectively. Within this folder, the GUI creates one sub-folder per each simulation to save and organize all the corresponding output data files. The name of the sub-folders follows the convention: Analysis_<<macroion-electrolyte>>_<<Date>>__<<Time>>, where <<macroion-elec-trolyte>> is the macroion and electrolyte model selected by the user, <<Date>> is the current date, and <<Time>> is the real time when the model was selected (see Figure 3).
The GUI generates the following output files: "DensityProfile.dat (normalized ions and water density profile distributions"); "ElectrostaticPotential.dat" (mean electrostatic potential); "IntegrateCharge.dat" (the integrated charge), and "IonContributions.dat"(normalized electrostatic potential energy, particle crowding entropy energy, and ion-ion electrostatic correlation energy to the ionic potential of mean force). Explicit expressions for these properties are provided in Appendix A. The size of these files may vary depending on the number of ions species, number of grid points, and electrolyte model. These files are formatted in a multi-column arrangement where the row number corresponds to the number of grid points, the first column contains the discretized distance in unit of Å and the remaining column(s) provide the numerical solution(s) (see Table I). Other relevant data including SCD, ZP, and PS are saved in the log file "out.txt", whereas information on the input data and solver configuration are included in the files "inp.in" and "input.file" for spherical and cylindrical macroions, respectively. If the molecular structure option is selected for biophysical applications, the GUI generates the following additional files: "input.pdb" (copy of the molecular structure uploaded by the user); "input.pqr" (pdb2pqr output data); "input.propka" (propka output data) ; "out.pdb" (molecular structure information with heterogem atoms removed); "out.xyzr" (atomic positions in xyzr format); "vol.txt" (3v and provol output data including information on the macroion surface and volume as well as the number of residues and atoms); "lengthandcharge.txt" (total macroion charge and dimensions), and "radiusandcharge.txt" (parameters characterizing the macroion radius and charge density).

A. GUI Description
In this section we describe the screen sequence generated by the GUI. The first, second and third screens correspond to "project window", "model window", and "results visualization window", respectively. Each screen provides information to help the user fill out the input data by moving the mouse pointer over the corresponding text or blank box (see Figure 4).

Units Description
DensityProfile.dat The first column is for distances. The second column corresponds to the first ion species selected in ion model section, and so on.
If the CSDFT is selected, the last column corresponds to water ElectrostaticPotential.dat KT/e The first column is for distances. The order of the columns in each set of contributions is the following: first column corresponds to the first selected ion species, and so on. The Project window shown in Figure 5 is the main screen which provides user access to the Menu, Information and Model Sections.
The menu section, located at the top left corner of the window, contains the File, Tools and Help menus. The File Menu contains the Results Visualization and Exit options (see Figure 6(a)). The Results Visualization option may be used after running the simulation. This option allows users to select output file(s) and visualize the solution(s) in two dimensional plot(s).
The Tools Menu contains the Browse PDB files, Crystal Ion Library, Effective Ion Library and Hydrated Ion Library options (see Figure 6(b)). The tool Browse PDB files is used for biophysical applications only. It allows users to open a web browser and download protein molecular structure(s) from the protein data base web page (http://www.rcsb.org/). The user may use this tool at anytime. The Ion Library tools provide the user access to the tables pretabulated with specific information on ion species, valences and diameters that are required to characterize the electrolyte aqueous solution. These tools can be used to redefine existing ion species and define new ion species as well. The last menu in Figure 6(c) is the Help Menu which provides access to the user's guide, software license and contact information.
The Solute Geometry Model section is located at the central-bottom part of the window. To select the macroion (solute), the user has four options: Nanoparticles and nanorods for nanomaterials applications, or globular proteins and rod-biopolymers for biophysical applications.
The Electrolyte Aqueous Solution Model is located right below the Solute geometry model. CSDFTS offers two electrolyte aqueous solution theories. NLPB uses an implicit solvent model and considers electric interactions only, whereas, CSDFT uses an explicit solvent model (SPM) and considers not only the electric, but also the entropic and ion-ion correlation interactions. More information on solvent and ion models is provided in Appendix A. The selection of the EDL model mainly depends on the computational resources, the electrolyte conditions, physicochemical properties of the solute, and the accuracy required for the numerical solution (illustrative examples are provided below). As a rule of thumb, NLPB is more efficient, but less accurate than CSDFT. It is worth mentioning that CSDFT is a unique feature of the software, whereas NLPB theory is included for testing and comparison purposes, mostly. Indeed, there are other efficient programs based on implicit solvent models such as APBS [21] and MPBEC [22] who provide the solution for both symmetric and asymmetric macroion shapes.

Model Window: system and solver configuration
Once the Solute Geometry Model and the Electrolyte Aqueous Solution Model are selected in the project window, the GUI automatically opens a second screen, the model window. In this screen, most of the text based user interaction occurs (see Figure 7). It contains the following modules: Electrolyte Model, Solute Model, and Numerical Scheme and Runtime Options.
The Ion Model section shown in Figure 8 allows users to characterize the electrolyte solution by providing the bulk concentration [ρ 0 i ] and the valence z i for each ion species i. In NLPB theory, ions are represented as point-like particles, and consequently, there is no need to define the ion sizes. Whereas, in CSDFT each ionic species i is represented by  charged hard spheres of diameter d i . In this case, CSDFTS offers a pretabulated crystal, effective and hydrated ionic diameter types, which are estimated using different experimental techniques [23]. To characterize the electrolyte solution, the user has to select the first ion species and its properties, then click the button "Add", and subsequently repeat the procedure to add more ion species. The "Delete" and "Update" buttons allow users to remove and change the properties of a previously selected ion. Once the user selects all the ion species (e.g. valence and bulk concentration), the electroneutrality condition (e.g.    For nanomaterials it is required to provide the effective radius which is usually obtained from experiments. For biomolecules there are two ways to characterize the solute size. The user may either provide this information from experiments (Experimental data model ) or it can be estimated from the molecular structure (Molecular structure model ).
A novel feature of the software is the option to calculate the macroion surface charge density σ arising from the protonation/deprotonation reactions of the dissociable functional groups at the solid/liquid interface. The user can also click the Illustration buttons to visualize the different options and models (see Figure 11). For nanomaterials, this charging / discharging mechanism has traditionally been described using surface complexation models (SCMs), where titration of surface groups is described by the pH level and an ensemble of mass balance equilibria with associated equilibrium constants (see Appendix A). This approach is included in the protonation/deprotonation model where the user has to provide the equilibrium constants pKa and pKb for protonation and deprotonation of the active functional group, respectively, as well as the number density of total functional groups on the surface N, and the pH level (see Figures 10 a)). The resulting SCD depends on the ZP and vise-versa. A different scenario is presented for globular proteins and rod-biopolymers since the titration is usually described by a set of empirical rules relating the protein structure to the equilibrium constant values of ionizable groups (residues). This mechanism is included in the Molecular structure model option where the user has to upload the molecular structure (pdb file), select a force field, and define the pH level as shown in Figure 10 b). This uncharged molecular structure in pdb format is used by the software to automatically run the pdb2pqr / propka application (http://sourceforge.net/projects/pdb2pqr/). This application assigns atomic charges and sizes, adds missing hydrogens, optimizes the hydrogen bonding network, and renormalizes atomic charges of the residues exposed to the surface due to pH effects (protonation/deprotonation process). Afterwards, the GUI uses the molecular structure in pdb format to automatically run either the provol (default) or 3v application to estimate the total macroion volume by rolling a probe particle of radius 1.4Å and using a grid mesh of 0.5Å. Finally, the GUI uses the information obtained from the total protein charge and volume to estimate the effective solute radius as well as the uniform surface charge density and Bjerrum length for spherical and cylindrical shapes, respectively. For each of these approaches, the GUI opens an external terminal window to display these calculations (see Figure 12). It also opens a RAM memory window to monitor the user's computer performance (see Figure 13). The GUI closes these windows once the calculations are over and enables the execution buttons "Generate the input file and run CSDFT manually" and "run CSDFT automatically" to run CSDFT.
Another important feature for biophysics applications is the molecular visualization tool. After all the aforementioned calculations are over, the user can visualize the uploaded Figure 11: Illustrations molecular structure which provides a detailed molecular characterization including the amino acid sequence and the number and type of residues exposed to the electrolyte (see Figure 14). Alternatively, the user may select the experimental data option to provide the values of these parameters from experiments. In this case, there is no waiting time to run CSDFTS.
The Thermodynamic Conditions option is used to define the electrolyte solution temperature. The default value displayed in Figure 15 corresponds to the room temperature.
The Numerical Scheme and Runtime Option section shown in Figure 17 allows the user to configure key parameters that play a fundamental role in the solver performance. They control the accuracy and computational cost. The tolerance number represents the numerical error required by the user to numerically obtain the normalized density profile solutions. A minimum of six digits of precision is highly recommended (default value). The radial grid resolution represents the regular separation distance h between two consecutive points in the domain discretized of the radial distance to solve CSDFT numerically. The value recommended for this parameter is 0.05Å which has been shown to work for most applications on Figure 12: CSDFTS calculations computers without RAM memory restrictions. The domain of the solution ranges from the macroion surface (e.g. the radius R) to the cutoff L. The latter is determined automatically by CSDFTS to provide the correct (long range) asymptotic behavior of the mean electrostatic potential, and consequently, satisfy the electroneutrality condition of the system. The number of grid points is calculated as follows N = (L − R)/h + 1. The Mixing Parameter is a number between 0 and 1 which helps the solver to reach stability and convergence in the solution iteratively. The default value for this parameter is 0.35. It is required for the protonation/deprotonation model only.
We note that the high resolution and tolerance generate high computational cost, allocated RAM memory, solver stability and accuracy, but slow the rate of convergence on the calculations. The user may use lower resolution to speed up the calculations and reduce the allocated RAM memory at the risk of loosing convergence in the CSDFTS iterations. In that case, the solver will stop the simulation after 10000 iterations. The user may also kill the process using standard approaches (e.g. "Ctrl+c", etc). More details on the numerical solver scheme are provided in Appendix A.
After all changes on preselected parameters and options are completed, all boxes are filled out and precalculations are over, the user may either press the button Generate the input file and run CSDFT manually or run CSDFT automatically. The GUI tests all the input data, and sends the user warning messages if unusual/nonphysical values are assigned to the required parameters or missing information is detected (see Figure 16).
We highly recommend the user to use the option run CSDFT automatically. The other option is mainly for those users that have computer skills and prefer to run the simulations using command line. In this case, the GUI generates the input file "inp.in" for spherical solutes and "inputfile.in" for cylindrical solutes. To run CSDFTS manually in Linux operating systems, for instance, the user should open a terminal, change the current directory to the corresponding output sub-folder directory and type "~/CSDFT/Linux/sphere_linux.sh Figure 13: User's computer performance on Linux operating systems inp.in" for spherical solutes or "~/CSDFT/Linux/cylinder_linux.sh inputfile.in" for cylindrical solutes. A similar procedure should be performed for other operating systems.

Results Visualization
If the "run CSDFT automatically" option is selected, the results visualization window appears once the simulation is over. This screen allows the user to select the output file(s) and visualize the numerical solution(s) as a function of the radial separation distance in two dimension plot(s) (see Figures 18). To change the plot properties the user must right click on the desired plot (see Figure 18 c)). The user can also visualize the data on spreadsheets as shown in Figure 18 b).

B. Quick start
The user is recommended to follows these simple steps: • On the first screen, select the macroion type and subsequently the electrolyte model.
• On the second screen, select the ions and provide the corresponding concentrations.
Make sure to fulfill the electroneutrality condition. Next, define the solvent model.  The dielectric permittivity value may be changed if needed. If CSDFT was selected, the solvent concentration and molecule size may be also changed. Subsequently, configure the solver. The resolution and tolerance may be changed depending on the user's computer performance and available RAM memory. The default values may be used if there is no RAM memory restrictions. Otherwise, decrease the resolution accordingly. For nanomaterials applications and protonation / deprotonation models, the mixing parameter may be changed if needed. For biophysics applications and the molecular structure option, the protein volume application may be changed depending on the user's operating system. The default application works for all the operating systems whereas "3v" only works for Unix operating systems and requires the GNU gawk application installed on the user's computer. As a rule of thumb, the latter runs faster and requires less allocated RAM memory. Next, the temperature may be changed if needed. The last step is the selection of the solute model. For nanomaterials applications, select either the experimental or protonation / deprotonation option and provide the corresponding information. Now the software is ready to run the CSDFTS. For bio-  physics applications, select either the experimental or the molecular structure option and provide the corresponding information. In the latter case, select the force field and set up the pH before uploading the molecular structure. Wait until some calculations on the molecular structure are over. Afterwards, the molecular structure my be visualized. Finally, select either the "Generate the input file and run CSDFT manually" or "run CSDFT automatically".
• If the "run CSDFT automatically" was selected, an additional screen is available to visualize solutions in 2D plots.
• If there is any issue in the previous steps, close all screens and start over again. Double check that all the input data and selected options are appropriate for the required simulation and change those parameters to improve the CSDFTS convergence and the user's computer performance. In this section we analyze several macroions under different electrolyte conditions (see Table II). We ran these simulations on several operating systems and CPU processors. The results shown in the present article corresponds to those obtained on a single Intel Xeon 5680 and CentOS 7 operating system.
The   To illustrate numerical solutions, we show in Figure 19 the structural properties of the EDL predicted by CSDFT and NLPB for a myoglogin protein, whereas in Figure 20, we present the electric properties of the EDL corresponding to a actin filament . Certainly, this visualization is useful for analyzing the behavior of the electrostatic potential interactions and the ion-water distributions at short and long distances from the macroion. It is also relevant for analyzing the effective range, intensity, and nature of the driving force governing the potential of mean force for each ion species. An extensive analysis and discussion on structural and electrical properties of EDLs can be found elsewhere [10,12,[14][15][16]24].
Overall, the software offers diversity in applicability and analysis on many colloidal systems. For instance, running multiple simulations at different pH levels may provide a molecular understanding on the impact of pH on the ZP, SCD, and EDL properties of macroions, and consequently, their stability and aggregation. Furthermore, simulating different electrolyte solutions may be useful to understand the effects of biological fluids on biomolecules and their functions. It is also possible to perform multiple simulations for different macroion sizes, charges and shapes to study their influence on membrane absorption.

V. FUTURE DIRECTIONS
Users will be notified to update the software when a new release is available. Additional features to be included in coming releases are: 1) modeling more complex charging mech- anism on the surface of nanomaterials including more than one active functional group and the release /adsorption of ions; 2) modeling solvent polarization effects [24]. Future work will be focused on modeling: 1) inhomogenous surface charge density and solutes with irregular shapes; 2) nanomaterials having surface functionalization; 3) ionic currents along biopolymers [13].

ACKNOWLEDGMENTS
This work was supported by NIH Grant 1SC2GM112578-03. The author warmly thanks technicians Esteban Valderrama and Samrita Neogi for their participation in programming and testing the software. In this approach, we consider a rigid charged macroion of effective radius R and uniform surface charge density σ surrounded by an electrolyte solution comprised of m ionic species. We use the solvent particle model to characterize the electrolyte. Each ionic species i is represented by bulk Molar concentration [ρ 0 i ], a charged hard sphere of diameter d i , and total charge q i = ez i , where e is the electron charge and z i is the corresponding ionic valence.
Additionally, the solvent molecules are represented as a neutral ion species whereas the solvent electrostatics is considered implicitly by using the continuum dielectric environment with a dielectric constant . The macroion-liquid interaction induces inhomogeneous ion profiles [ρ i (r)] which are calculated using CSDFT as follows [12,14]: the integrated charge (see Figure 1). Expression (2) is the formal solution of the PB equation for an homogeneous anisotropic dielectric media