Full text
37,894 characters
· extracted from
preprint-html
· click to expand
PyPE_RESP: A tool to facilitate and standardize derivation of RESP charges | bioRxiv /* */ /* */ <!-- <!-- /*! * yepnope1.5.4 * (c) WTFPL, GPLv2 */ (function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0];var j=d.createElement(s);var dl=l!='dataLayer'?'&l='+l:'';j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;j.type='text/javascript';j.async=true;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-M677548'); Skip to main content Home About Submit ALERTS / RSS Search for this keyword Advanced Search New Results PyPE_RESP: A tool to facilitate and standardize derivation of RESP charges Marco Lapsien , Michele Bonus , Lianne Gahan , Adélaïde Raguin , View ORCID Profile Holger Gohlke doi: https://doi.org/10.1101/2025.01.07.631713 Marco Lapsien † Institute for Pharmaceutical and Medicinal Chemistry & Bioeconomy Science Center (BioSC), Heinrich Heine University Düsseldorf , 40225 Düsseldorf, Germany Find this author on Google Scholar Find this author on PubMed Search for this author on this site Michele Bonus † Institute for Pharmaceutical and Medicinal Chemistry & Bioeconomy Science Center (BioSC), Heinrich Heine University Düsseldorf , 40225 Düsseldorf, Germany Find this author on Google Scholar Find this author on PubMed Search for this author on this site Lianne Gahan ‡ Institute for Computational Cell Biology & Bioeconomy Science Center (BioSC), Heinrich Heine University Düsseldorf , 40225 Düsseldorf, Germany Find this author on Google Scholar Find this author on PubMed Search for this author on this site Adélaïde Raguin ‡ Institute for Computational Cell Biology & Bioeconomy Science Center (BioSC), Heinrich Heine University Düsseldorf , 40225 Düsseldorf, Germany Find this author on Google Scholar Find this author on PubMed Search for this author on this site Holger Gohlke † Institute for Pharmaceutical and Medicinal Chemistry & Bioeconomy Science Center (BioSC), Heinrich Heine University Düsseldorf , 40225 Düsseldorf, Germany § Institute of Bio- and Geosciences (IBG-4: Bioinformatics) , Forschungszentrum Jülich, 52425 Jülich, Germany Find this author on Google Scholar Find this author on PubMed Search for this author on this site ORCID record for Holger Gohlke For correspondence: gohlke{at}uni-duessel-dorf.dels Abstract Full Text Info/History Metrics Supplementary material Preview PDF Abstract We introduce PyPE_RESP, a tool to facilitate and standardize partial atomic charge derivation using the RESP approach. PyPE_RESP builds upon the open-source Python package RDKit for chemoinformatics and the AMBER suite for molecular simulations. PyPE_RESP provides an easy setup of multi-conformer and multi-molecule Restrained Electrostatic Potential (RESP) fitting while allowing a comprehensive definition of charge constraint groups through multiple methods. As a command line tool, PyPE_RESP can be integrated into batch processes. The software enables the derivation of partial atomic charges for additive and polarizable force fields. It outputs constraint group and non-constraint group charges to give an immediate overview of the fit result. PyPE_RESP will be distributed with AmberTools and compatible with most computing platforms. Download figure Open in new tab Introduction The accurate representation of electrostatic interactions is essential for developing, extending, and applying empirical force fields used in molecular dynamics simulations. 1 Considering the prominent use of wide-spread additive force fields such as from the AMBER family 2 , 3 , 4 or CHARMM family, 5 , 6 and the on-going development of polarizable force fields such as the atomic multipole-optimized energetics for biomolecular applications (AMOEBA) force field, 7 , 8 this statement holds regardless of the type of force field being developed. Although various methods for deriving partial atomic charges have been described, 9 the restrained electrostatic potential (RESP) approach is still the main charge derivation method used in modern AMBER force fields. 10 , 11 This can be attributed to its capability to reproduce the quantum mechanical molecular electrostatic potential (ESP) while producing chemically sensible charge distributions. 12 Though RESP was initially developed to obtain fixed atom-centered partial charges for additive force fields, it has been further evolved into the RESP-ind and RESP-perm models implemented in PyRESP 13 with induced and permanent dipole moments for polarizable force fields. A major drawback of the RESP method lies in its setup requirements, as multiple preparation steps must be carried out before obtaining atomic charges for the system of interest. These steps include: Extraction of electrostatic potential (ESP) information from Gaussian 14 output files ( via espgen 15 ) Generation of input files for PyRESP ( via Py-RESP_GEN 16 ) Insertion of charge constraint and atom equivalency information into PyRESP input files. While tasks i) and ii) can be automated by dedicated software, task iii) either requires manual editing of input files or creating custom scripts to adhere to the RESP input file format. It additionally requires the manual definition of charge constraint groups (CCGs), meaning a group of atoms whose charge is fixed during fitting, by referencing the respective atom indices. The latter can be tedious and error-prone when Py-RESP needs to be invoked for multiple molecules. Further complications arise when multiple conformers of a given molecule are considered. Currently, Py-RESP_GEN is only capable of producing PyRESP input files for one structure at a time, which therefore involves additional file management by the user to obtain a concatenated PyRESP input file. This also applies to the ESP information, which must be concatenated into a single file. Finally, the obtained RESP charges must be manually input into a structure file (e.g., mol2 format), as charges will only be written to a parameter file created by PyRESP. These concerns have already been tackled to some extent by the development of the RESP ESP charge derive (R.E.D.) server. 17 Although the R.E.D. server covers tasks i) and ii) well and offers various functionalities, such as integrated geometry optimization and ESP calculation using Gaussian, its syntax for defining CCGs can be overwhelming if many structures need to be parameterized. This is also reflected in the server’s naming convention for output files, which can impede the identification of a desired molecular fragment. Additionally, the use of an external server always carries a risk of experiencing periods of downtime and requires uploading research data. Furthermore, antechamber 15 , a tool within the AMBER molecular dynamics suite, is capable of rapidly deriving RESP charges, but is limited to single conformer fitting. Therefore, the conformational bias of RESP charges is neglected in this approach 18 . To overcome these issues, we developed PyPE_RESP, a Python-based workflow to conveniently and systematically execute multi-conformer and multi-mole-cule RESP fitting within the realm of AMBER, using Gaussian for ESP computation. PyPE_RESP will be distributed under a GPL license together with Amber-Tools 15 ( https://ambermd.org/AmberTools.php ). Workflow description The PyPE_RESP workflow minimizes the user’s manual work while providing flexible setups and reliable and reproducible results of charge fitting. A flowchart of the main steps of PyPE_RESP is presented in Figure 1 . PyPE_RESP builds upon existing tools (antechamber 15 , espgen, PyRESP_GEN 16 , and Py-RESP 13 ) and manages their in- and outputs, enabling it to be adaptable towards specific properties of each system to be parametrized and forming an “all-in-one” solution for RESP charge derivation. The sole input files required are the Gaussian output files containing the ESP information for each conformer of each molecule. These files must be gathered in a dedicated directory. All other specifications for the RESP run are managed by flags submitted via the PyPE_RESP command line interface (CLI) or a PyPE_RESP input file. The latter is convenient for the repetitive processing of multiple molecules. Most flags in the CLI utilize PyPE_RESP’s inherent enumeration of CCGs, which is illustrated in Figure 2 . Download figure Open in new tab Figure 1: Flowchart highlighting the most important steps in the PyPE_RESP workflow. After locating each Gaussian output file, mol2 and ESP files are created simultaneously (I). Then, the number of conformers per unique molecule is identified by comparing the International Chemical Identifier (InChI) of each molecule (II). First-stage and secondstage PyRESP input files are created by executing PyRESP_GEN and subsequently concatenated to yield two PyRESP input files (III). Depending on the charge constraint level chosen, CCGs are defined based on the information supplied on the command line and appended to the PyRESP input files. The atom equivalency information (i.e., declaring that atoms of all conformers are treated equally) is also appended to the PyRESP input files (IV). Next, PyRESP is executed to start the fitting process (V). The resulting partial atomic charges are written to a newly generated mol3 file for each molecule together with the molecule’s connectivity points, meaning atoms connected to, but not part of a constraint group, determined by PyPE_RESP. The derived charges are analyzed based on the mol3 files by utilizing the atom indices of each constraint group to match the corresponding atom charges (VI). Additionally, the sum of charges for each constraint group and the sum of charges of each atom not belonging to the constraint group are calculated. This information is written in a log file and a csv file. Download figure Open in new tab Figure 2: Illustration of PyPE_RESP’s inherent constraint group enumeration on arbitrary constraints. An intermolecular CCG between the methyl group of compound 1 (green) and the hydroxyl group of compound 2 (red) is defined. Additionally, an intramolecular CCG comprising the hydroxyl group of compound 1 (blue) is defined. Each constraint group is identified using SMARTS substructure matching utilizing the -sm (--smarts_match) flag. Constraint groups are indexed (starting from 1) based on the order they are defined under the -sm (or -cl for atom indexing) flag. The assigned indices are then used by the -c (--combine) flag to determine, which of the constraint groups are used to define intermolecular charge constraints (dashed box). Changing the order in which CCGs are defined (e.g., swapping the positions of CCGs at positions 1 and 2) without changing index references in the -c flag leads to altered targeting behavior. Here, this leads to the faulty definition of an intermolecular CCG between the hydroxyl and methyl groups of compound 1 , while the hydroxyl group of compound 2 is used to define an intramolecular CCG. Definition of charge constraint groups During the electrostatic parametrization of fragments derived from large molecules, they are often equipped with a capping group that mimics the chemical environment in the assembled molecule. Since these capping groups are only attached temporarily, charge constraints are applied to account for their removal after partial atomic charges have been derived. PyPE_RESP indexes each CCG (starting from 1) in the order they are defined under the respective CLI flag. This index can be used to specify if a CCG is part of an intermolecular group constraint (e.g., for considering capping groups). Whether group constraints are considered during the RESP fit is managed by setting the constraint level using the --constraints flag. It can be set to ignore charge constraints (0) or allow intramolecular charge constraints (1) and/or intermolecular charge constraints (2). Consequently, the definition of CCGs is only allowed if at least intramolecular constraints are chosen. CCGs can be defined in two ways. First, by utilizing the --con_list flag to supply groups of atom indices to be constrained. The atom indices can be taken directly from the Gaussian output files that PyPE_RESP uses as inputs. Still, a visual inspection of the molecule’s three-dimensional structure is most likely required to determine all indices of atoms of a group constraint. While visualization software exists that can read Gaussian output files, common molecule visualization software, such as VMD 19 or PyMOL, 20 cannot do this without further modification. To overcome this, PyPE_RESP allows to carry out a conversion run if the --mol2_only flag is supplied. In this case, PyPE_RESP will generate mol2 files for each Gaussian output file found using antechamber and exit afterward. Second, defining CCGs is based on matching substructures of molecules generated from SMARTS patterns by utilizing the RDKit Open-source cheminformatics package. 21 These can be supplied under the --smarts_match flag ( Figure 2 ). Both --con_list and --smarts_match follow the same syntax where the molecule to assign the CCG to is specified, followed by a colon and the SMARTS pattern to be used for substructure matching, or the comma-separated atom indices. Molecules are indexed starting from 1 and can be referenced by their index to define CCGs. Indexing is either determined automatically based on the ascending alphabetical order of filenames or by specifying wildcard patterns matching the respective filenames, which will be resolved using Python’s glob module. The --smarts_match and --con_list flags are mutually exclusive, i.e., all CCGs must be either defined by SMARTS patterns or atom indices. Additionally, PyPE_RESP only accepts unambiguous SMARTS patterns and raises an error if multiple substructure matches are found for a given pattern. The use of SMARTS patterns often requires less initial setup than defining CCGs by atom indices but can create long and complex character sequences to match a specific functional group. To verify whether a pattern matches one or multiple substructures the --test_smarts flag can be utilized. It returns the number of substructure matches per molecule, along with the atom indices corresponding to each match for every SMARTS pattern passed as an argument. If a pattern is found to be ambiguous, a warning is displayed. An incorrectly specified SMARTS string will force the program to exit. SMARTS patterns often include atoms that are required to ensure unambiguity but are not meant to be part of the final CCG. To neglect these atoms later during fitting, “SMARTS slicing” can be applied by enclosing the parts of the SMARTS pattern to be neglected in pipe symbols ( Figure 2 ). PyPE_RESP recognizes these symbols and removes the atom indices corresponding to the enclosed section after the full pattern has been used for substructure matching. Setting fit properties Besides defining single CCGs, one needs to consider how intermolecular charge constraints are defined. This is done with the –c ( --combine) flag, which specifies which CCGs are used to define intermolecular charge constraints. The --combine flag identifies CCGs from --smarts_match or --con_list definitions based on their order-dependent indices ( Figure 2 ). Each CCG index not referenced under the --combine flag will be used to define an intramolecular CCG. The assignments of constraint group and molecular charges are another crucial step in RESP charge derivation. While molecular charges do not need to be defined as they are taken from the respective Gaussian input file, constraint group charges are set to zero by default, but can be assigned by specifying the group charge during the definition of the respective constraint group (see Examples section). Besides the traditional RESP method, PyPE_RESP also allows using the RESP-ind and RESP-perm models that are integrated into the PyRESP software. The associated flags (--ptype and --polariz ) are identical to those used in PyRESP and PyRESP_GEN. These flags do not need to be specified if the usual point-charge model (“chg”) is chosen. PyRESP execution can be prohibited by supplying the --no_pyresp flag, which stops PyPE_RESP after the generation of PyRESP input files, to allow for analysis by the user. PyPE_RESP also provides insights and statistics for each run carried out. A log file is created that documents the key steps during the generation of the PyRESP input files. It includes the number of unique molecules found and the number of conformers per molecule detected. Moreover, a second log file is created after the successful execution of PyRESP, which contains the fit statistics provided by PyRESP and highlights the sum of charges for each CCG, the sum of charges of all atoms that do not belong to the respective constraint group, and the difference between these two sums. This information is also stored in a csv file to facilitate integration into data analysis software for further inspection. Examples Each one of the following example cases ( Figure 3 ) will be carried out as a multi-conformer RESP fit. Refer to the Supporting Information (SI) for details on conformer generation. The described examples focus on using the PyPE_RESP CLI instead of PyPE_RESP input files. Alternatively, input files, including Gaussian output files and PyPE_RESP input files, for each example are provided in the SI. Download figure Open in new tab Figure 3: Example compounds to illustrate the use of PyPE_RESP. 3 : (1 R ,2 S )-1-(4-hydroxyphenyl)propane-1,2,3-triol; 4 : (2 R ,4 S )-2,4-dimethylpentanedioate; 5 : (2 S )-2-((4 R )-3-hydroxy-2-oxo-4-(2-oxopropyl)pyrrolidin-1-yl)butanamide; 6 : (2 R )-methyl-2-(3-benzoylphenyl)propanoate. Intramolecular CCGs are highlighted in red, whereas groups that are part of an intermolecular charge constraint are shown in blue. CASE A: Using SMARTS patterns to define CCGs. The benefits of SMARTS slicing to define an intramolecular CCG can be illustrated using the hydroxyl group bound to the carbon atom at position two of molecule 3 ( Figure 3 ). Since this compound possesses multiple hydroxyl groups, the unambiguous SMARTS pattern to identify the group of interest must include the neighboring aliphatic carbon atom as well as the aromatic carbon attached to it. This results in the following SMARTS pattern: HOCCc. The three carbon atoms in this sequence are not meant to be part of the final CCG and, therefore, must be neglected during fitting using SMARTS slicing. To achieve this, the three carbon atoms must be enclosed in pipe symbols. The whole pattern must also be enclosed in quotation marks to prevent interpretation by the shell. Thus, the full command to identify the 2-OH group for an intramolecular CCG is: pype-resp.py –constraints 1 --smarts_match 1:”HO|CCc|” . Notably, the hydrogen atom is not enclosed in square brackets, unlike required by the SMARTS language convention. PyPE_RESP adds the brackets automatically, although they will be recognized if added by the user. Identification of the target molecule by its index (1) was chosen here for convenience as it is the only molecule to be parametrized. A wildcard pattern to identify the molecule would also work. CASE B: Defining intramolecular CCGs using atom indices and the RESP-ind model CCG definition via SMARTS patterns can become difficult when dealing with symmetric molecules, and defining them by the respective atom indices can then be easier. For example, this occurs when targeting one of the two methyl groups of molecule 4 ( Figure 3 ) to define an intramolecular CCG. A SMARTS pattern will always also match the molecule’s other methyl group and therefore is ambiguous. PyPE_RESP offers two possibilities to solve this issue. One option is to carry out a test run by supplying the --test_smarts flag with the SMARTS pattern C(H)(H)(H), which retrieves the atom indices corresponding to the two methyl groups. The indices of one of these groups can then be used to define a CCG using the --con_list flag in a production run. Alternatively, one can carry out a PyPE_RESP run with the --mol2_only flag to generate mol2 files, which can then be visualized to obtain the atom indices of the methyl group atoms. Both approaches reveal the atoms with indices 1, 12, 13, and 14 to be part of the target functional group. Atomic partial charges for the compound can be obtained using the RESP-ind model, for which the “ind” keyword must be supplied under the --ptype flag. The use of the RESP-ind and RESP-perm models requires information about individual atomic polarizabilities. The absolute or relative path to a file containing this information can be supplied under the --polariz flag (an example is provided in the Supporting Information). Finally, the charge of the constraint group for the methyl moiety must be set to −1 by adding the colon-separated charge after the definition of the constraint group. The full command is: pype-resp.py --constraints 1 --con_list 1:1,12,13,14:-1 --ptype ind --polariz Polarizability_info.txt CASE C: Defining intermolecular constraints by SMARTS matching and wildcard patterns If multiple molecules need to be parametrized, it is reasonable to identify them via wildcard patterns instead of their CCG indices to avoid mismatches. The --combine flag is required to manage which of the defined constraint groups will form intermolecular CCGs. Any constraint group not mentioned under the flag is used to define an intramolecular CCG instead. Taking molecule 5 and molecule 6 ( Figure 3 ), the hydroxyl group attached to the pyrrolidine ring of 5 should be constrained together with the methyl group of 6 . The carbonyl carbon and carbonyl oxygen of 5 should additionally form an intramolecular CCG, whose charge should be set to −1. This results in the definition of three CCGs, with two being constrained together. The typical command that achieves this is: pype-resp.py --constraints 2 –-smarts_match butanamide:”OH” propanoate:”C(H)(H)(H)|O|” butanamide:”|[C;H3] | C=O”:-1 --combine 1,2:0 As highlighted in Figure 2 , the order in which arguments are supplied under the --smarts_match flag is important, since in this case --combine forces the first and second SMARTS patterns specified to form an intermolecular CCG. This example also illustrates how the charge for intermolecular constraint groups can be set. Similar to intramolecular CCGs, the charge is set after specifying which constraint groups are part of the respective intermolecular CCG. As mentioned above, if the charge is supposed to be zero, no specification is needed, and it is only specified here for illustration purposes. Finally, note that wildcard patterns identifying the respective molecules do not contain asterisks. These are added automatically by PyPE_RESP during the globing process. Discussion We present PyPE_RESP to facilitate and standardize the derivation of atomic partial charges following the RESP procedure. PyPE_RESP uses the RDKit opensource chemoinformatics package and those built into PyPE_RESP of AmberTools to derive charges for additive or polarizable force fields, while providing multiple means to define CCGs in non-trivial cases. PyPE_RESP improves the reproducibility of parameterization tasks, which would otherwise be carried out by hand, and provides informative post-run statistics that allow evaluating the fitting process. While most of these features are also implemented in the R.E.D. server, PyPE_RESP offers the benefit of being executed locally. This circumvents depending on an external server, which eliminates issues arising from downtime periods as well as the need to upload scientific data, and makes the resubmission of jobs easier if minor mistakes in the command or input file were detected in a prior run. We acknowledge that the syntax required by PyPE_RESP can be overwhelming initially. However, in the context of force field design, or comprehensive molecular design and analysis studies, where numerous compounds must be parameterized, the benefits of PyPE_RESP’s systematic approach stand out. Similarly, creating SMARTS patterns to target components of complex molecules such as multi-ring systems can be troublesome, e.g., if they are intertwined. In such a case, an inexperienced user may need to go through a lengthy trial-and-error process to match the desired substructure. Such scenarios can be prevented, however, by falling back to the definition of CCGs via atom indices, further highlighting that PyPE_RESP’s functionality can be adapted according to system complexity. Although PyPE_RESP offers a range of options to cover the needs of most RESP charge derivation procedures, it does not yet account for niche cases, where additional fine-tuning of parameters or reorientation of molecules before fitting is required. Finally, PyPE_RESP is compatible with most operating systems. This includes common Linux distributions, MacOS, and Windows 11 by using the Windows Subsystem for Linux (WSL). ASSOCIATED CONTENT Supporting Information Details on the generation of conformer ensembles and ESP calculation for each compound discussed in the Examples section are described in the SI. Additionally, the Gaussian output files per conformer for each molecule discussed in the Examples section, along with PyPE_RESP input files and all files generated by PyPE_RESP for each example case, are provided. This material is available free of charge via the Internet at http://pubs.acs.org AUTHOR INFORMATION Author Contributions HG designed the study; ML wrote the software code; MB and LG supported software design; ML, AR, and HG wrote the manuscript; MB and LG revised the manuscript; HG and AR secured funding. Funding Sources Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany’s Excellence Strategy – EXC 2048/1 – project (ID 390686111) and a grant from the Ministry of Innovation, Science, and Research of North-Rhine Westfalia (NRW) within the framework of the NRW Strategieprojekt BioSC (No. 313/323-400-002 13) by the BOOST FUND 2.0 project “OptiCellu”. Notes The authors declare no competing financial interest. ACKNOWLEDGMENTS We are grateful for the computational infrastructure and support provided by the “Zentrum für Informationsund Medientechnologie” (ZIM) at Heinrich Heine University Düsseldorf and the computing time provided by the John von Neumann Institute for Computing (NIC) to HG on the supercomputer JUWELS at Jülich Supercomputing Centre (JSC) (user IDs: VSK33, lignin). We acknowledge the developers of AMBER and the RDKit cheminformatics package for making their software available publicly. ABBREVIATIONS AMBER Assisted Model Building with Energy Refinement AMOEBA Atomic Multipole Optimized Energetics for Biomolecular Applications CCG Charge constraint group CLI Command Line Interface ESP Electrostatic Potential InChI International Chemical Identifier R.E.D. RESP ESP charge Derive RESP Restrained Electrostatic Potential SMARTS SMILES Arbitrary Target Specification WSL Windows Subsystem for Linux. REFERENCES (1). ↵ Allen , M. P. ; Tildesley , D. J. Computer Simulation of Liquids ; Oxford University Press , 2017 . (2). ↵ Wang , J. ; Wolf , R. M. ; Caldwell , J. W. ; Kollman , P. A. ; Case , D. A. Development and testing of a general amber force field . Journal of Computational Chemistry 2004 , 25 ( 9 ), 1157 – 1174 . OpenUrl CrossRef PubMed Web of Science (3). ↵ Tian , C. ; Kasavajhala , K. ; Belfon , K. A. A. ; Raguette , L. ; Huang , H. ; Migues , A. N. ; Bickel , J. ; Wang , Y. ; Pincay , J. ; Wu , Q. ; et al. ff19SB: Amino-Acid-Specific Protein Backbone Parameters Trained against Quantum Mechanics Energy Surfaces in Solution . Journal of Chemical Theory and Computation 2020 , 16 ( 1 ), 528 – 552 . OpenUrl CrossRef (4). ↵ Galindo-Murillo , R. ; Robertson , J. C. ; Zgarbová , M. ; Šponer , J. ; Otyepka , M. ; Jurečka , P. ; Cheatham , T. E. , III. Assessing the Current State of Amber Force Field Modifications for DNA . Journal of Chemical Theory and Computation 2016 , 12 ( 8 ), 4114 – 4127 . OpenUrl CrossRef (5). ↵ Vanommeslaeghe , K. ; Hatcher , E. ; Acharya , C. ; Kundu , S. ; Zhong , S. ; Shim , J. ; Darian , E. ; Guvench , O. ; Lopes , P. ; Vorobyov , I. ; et al. CHARMM general force field: A force field for drug-like molecules compatible with the CHARMM all-atom additive biological force fields . Journal of Computational Chemistry 2010 , 31 ( 4 ), 671 – 690 . OpenUrl CrossRef PubMed Web of Science (6). ↵ Vanommeslaeghe , K. ; MacKerell , A. D. CHARMM additive and polarizable force fields for biophysics and computer-aided drug design . Biochimica et Biophysica Acta (BBA) - General Subjects 2015 , 1850 ( 5 ), 861 – 871 . OpenUrl CrossRef PubMed (7). ↵ Zhang , C. ; Lu , C. ; Jing , Z. ; Wu , C. ; Piquemal , J.-P. ; Ponder , J. W. ; Ren , P. AMOEBA Polarizable Atomic Multipole Force Field for Nucleic Acids . Journal of Chemical Theory and Computation 2018 , 14 ( 4 ), 2084 – 2108 . OpenUrl CrossRef (8). ↵ Ponder , J. W. ; Wu , C. ; Ren , P. ; Pande , V. S. ; Chodera , J. D. ; Schnieders , M. J. ; Haque , I. ; Mobley , D. L. ; Lambrecht , D. S. ; DiStasio , R. A. , Jr. ; et al. Current Status of the AMOEBA Polarizable Force Field . The Journal of Physical Chemistry B 2010 , 114 ( 8 ), 2549 – 2564 . OpenUrl CrossRef PubMed (9). ↵ Wiberg , K. B. ; Rablen , P. R. Atomic Charges . The Journal of Organic Chemistry 2018 , 83 ( 24 ), 15463 – 15469 . OpenUrl CrossRef PubMed (10). ↵ Bayly , C. I. ; Cieplak , P. ; Cornell , W. ; Kollman , P. A. A well-behaved electrostatic potential based method using charge restraints for deriving atomic charges: the RESP model . The Journal of Physical Chemistry 1993 , 97 ( 40 ), 10269 – 10280 . OpenUrl CrossRef Web of Science (11). ↵ D.A. Case , H. M. A., K. Belfon , I.Y. Ben-Shalom , J.T. Berryman , S.R. Brozell , D.S. Cerutti , T.E. Cheatham , III, G.A. Cisneros , V.W.D. Cruzeiro , T.A. Darden , N. Forouzesh , G. Giambasu , T. Giese , M.K. Gilson , H. Gohlke , A.W. Goetz , J. Harris , S. Izadi , S.A. Izmailov , K. Kasavajhala , M.C. Kaymak , E. King , A. Kovalenko , T. Kurtzman , T.S. Lee , P. Li , C. Lin , J. Liu , T. Luchko , R. Luo , M. Machado , V. Man , M. Manathunga , K.M. Merz , Y. Miao , O. Mikhailovskii , G. Monard , H. Nguyen , K. A. O’Hearn , A. Onufriev , F. Pan , S. Pantano , R. Qi , A. Rahnamoun , D.R. Roe , A. Roitberg , C. Sagui , S. Schott-Verdugo , A. Shajan , J. Shen , C.L. Simmerling , N.R. Skrynnikov , J. Smith , J. Swails , R.C. Walker , J. Wang , J. Wang , H. Wei , X. Wu , Y. Wu , Y. Xiong , Y. Xue , D.M. York , S. Zhao , Q. Zhu , and P.A. Kollman . Amber 2023 . 2023 . (12). ↵ Wang , J. ; Cieplak , P. ; Kollman , P. A. How well does a restrained electrostatic potential (RESP) model perform in calculating conformational energies of organic and biological molecules? Journal of Computational Chemistry 2000 , 21 ( 12 ), 1049 – 1074 . OpenUrl CrossRef Web of Science (13). ↵ Zhao , S. ; Wei , H. ; Cieplak , P. ; Duan , Y. ; Luo , R. PyRESP: A Program for Electrostatic Parameterizations of Additive and Induced Dipole Polarizable Force Fields . Journal of Chemical Theory and Computation 2022 , 18 ( 6 ), 3654 – 3670 . OpenUrl CrossRef (14). ↵ Frisch , M. J. ; Trucks , G. W. ; Schlegel , H. B. ; Scuseria , G. E. ; Robb , M. A. ; Cheeseman , J. R. ; Scalmani , G. ; Barone , V. ; Petersson , G. A. ; Nakatsuji , H. ; et al. Gaussian 16 Rev . C.01 . 2016 . (15). ↵ Case , D. A. ; Aktulga , H. M. ; Belfon , K. ; Cerutti , D. S. ; Cisneros , G. A. ; Cruzeiro , V. W. D. ; Forouzesh , N. ; Giese , T. J. ; Götz , A. W. ; Gohlke , H. ; et al. AmberTools . Journal of Chemical Information and Modeling 2023 , 63 ( 20 ), 6183 – 6191 . OpenUrl CrossRef PubMed (16). ↵ Zhu , Q. ; Wu , Y. ; Zhao , S. ; Cieplak , P. ; Duan , Y. ; Luo , R. Streamlining and Optimizing Strategies of Electrostatic Parameterization . Journal of Chemical Theory and Computation 2023 , 19 ( 18 ), 6353 – 6365 . OpenUrl CrossRef (17). ↵ Vanquelef , E. ; Simon , S. ; Marquant , G. ; Garcia , E. ; Klimerak , G. ; Delepine , J. C. ; Cieplak , P. ; Dupradeau , F.-Y. R.E.D. Server: a web service for deriving RESP and ESP charges and building force field libraries for new molecules and molecular fragments . Nucleic Acids Research 2011 , 39 ( Suppl_2 ), W511 – W517 . (acccessed 15.07.2024 ). OpenUrl CrossRef PubMed Web of Science (18). ↵ Williams , D. E. Alanyl dipeptide potential-derived net atomic charges and bond dipoles, and their variation with molecular conformation . Biopolymers 1990 , 29 ( 10-11 ), 1367 – 1386 . OpenUrl CrossRef (19). ↵ Humphrey , W. , Dalke , A. and Schulten , K. VMD - Visual Molecular Dynamics . J. Molec. Graphics 1996 , 14 , 33 – 38 . OpenUrl CrossRef (20). ↵ Schrodinger, LLC . The PyMOL Molecular Graphics System, Version 1.8 . 2015 . (21). ↵ Landrum , G. RDKit: Open-source cheminformatics . https://www.rdkit.org (accessed August 28th, 2024 ). 2010 . View the discussion thread. Back to top Previous Next Posted January 08, 2025. Download PDF Supplementary Material Email Thank you for your interest in spreading the word about bioRxiv. NOTE: Your email address is requested solely to identify you as the sender of this article. Your Email * Your Name * Send To * Enter multiple addresses on separate lines or separate them with commas. You are going to email the following PyPE_RESP: A tool to facilitate and standardize derivation of RESP charges Message Subject (Your Name) has forwarded a page to you from bioRxiv Message Body (Your Name) thought you would like to see this page from the bioRxiv website. Your Personal Message CAPTCHA This question is for testing whether or not you are a human visitor and to prevent automated spam submissions. Share PyPE_RESP: A tool to facilitate and standardize derivation of RESP charges Marco Lapsien , Michele Bonus , Lianne Gahan , Adélaïde Raguin , Holger Gohlke bioRxiv 2025.01.07.631713; doi: https://doi.org/10.1101/2025.01.07.631713 Share This Article: Copy Citation Tools PyPE_RESP: A tool to facilitate and standardize derivation of RESP charges Marco Lapsien , Michele Bonus , Lianne Gahan , Adélaïde Raguin , Holger Gohlke bioRxiv 2025.01.07.631713; doi: https://doi.org/10.1101/2025.01.07.631713 Citation Manager Formats BibTeX Bookends EasyBib EndNote (tagged) EndNote 8 (xml) Medlars Mendeley Papers RefWorks Tagged Ref Manager RIS Zotero Tweet Widget Facebook Like Google Plus One Subject Area Biophysics Subject Areas All Articles Animal Behavior and Cognition (7635) Biochemistry (17691) Bioengineering (13892) Bioinformatics (41937) Biophysics (21452) Cancer Biology (18588) Cell Biology (25504) Clinical Trials (138) Developmental Biology (13378) Ecology (19899) Epidemiology (2067) Evolutionary Biology (24320) Genetics (15609) Genomics (22506) Immunology (17736) Microbiology (40394) Molecular Biology (17181) Neuroscience (88605) Paleontology (666) Pathology (2832) Pharmacology and Toxicology (4824) Physiology (7641) Plant Biology (15156) Scientific Communication and Education (2045) Synthetic Biology (4294) Systems Biology (9825) Zoology (2271)
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.