diff --git a/pdb2pqr/pdb2pqr/ligand/__init__.py b/pdb2pqr/pdb2pqr/ligand/__init__.py index 3614edc98..50ae58a92 100644 --- a/pdb2pqr/pdb2pqr/ligand/__init__.py +++ b/pdb2pqr/pdb2pqr/ligand/__init__.py @@ -10,19 +10,42 @@ assert sys.version_info >= (3, 5) # TODO - this belongs in a configuration file somewhere other than here. -# PARSE radii data for C, N, O, S, H, Br, F, P are from Sitkoff et al's paper: -# -# Sitkoff D, Sharp KA, Honig B. Accurate Calculation of Hydration Free -# Energies Using Macroscopic Solvent Models. J Phys Chem 98 (7) 1978-88, -# 1994. J. Phys. Chem. 1994, 98, 7, 1978–1988 # -# See also the AMBER mailing list: http://amber.ch.ic.ac.uk/archive/. -# -# The van der Waals radius is used for chlorine. -PARSE_RADII = { - "C": 1.70, "N": 1.50, "O": 1.40, "S": 1.85, "H": 1.00, "Br":2.50, - "F": 1.20, "P": 1.90, "Cl": 1.75} - +# When using these tables, the most specific Sybyl atom type should be used +# first and then the generic element should be used +RADII = { + # NOTE - these are not the original PARSE radii but they are the ones + # included in the previous version of PDB2PKA so I'm preserving them for + # posterity. There's a claim they came from + # http://amber.ch.ic.ac.uk/archive/ but that link no longer works. + "not parse - do not use": { + "C": 1.70, "N": 1.50, "O": 1.40, "S": 1.85, "H": 1.00, "Br": 2.50, + "F": 1.20, "P": 1.90, "Cl": 1.75}, + # These are the PARSE radii from Table 4 of + # http://doi.org/10.1021/j100058a043 + "parse": { + "C.1": 2.00, "C.2": 2.00, "C.3": 2.00, "C": 1.70, "H": 1.00, + "O": 1.40, "N": 1.50, "S": 1.85}, + # These are the ZAP radii from Table 2 of + # http://doi.org/10.1021/jm070549%2B. Bondi radii should be used for + # atoms not found in this table. + "zap9": { + "C": 1.87, "H": 1.10, "O.co2": 1.76, "N": 1.40, "S": 2.15, "F": 2.40, + "Cl": 1.82, "I": 2.65}, + # These are the Bondi radii from Table 2 of + # http://doi.org/10.1021/jm070549%2B + "bondi-zap": { + "C": 1.7, "H": 1.20, "O.co2": 1.52, "N": 1.55, "S": 1.80, "F": 1.47, + "Cl": 1.75, "I": 1.98}, + # These are the Bondi radii from Table I of + # http://doi.org/10.1021/j100785a001. NOTE - there are some variations to + # the halogens in Table V that we might want to consider in the future. + "bondi": { + "H": 1.20, "He": 1.40, "C": 1.70, "N": 1.55, "O": 1.52, "F": 1.47, + "Ne": 1.54, "Si": 2.10, "P": 1.80, "S": 1.80, "Cl": 1.75, "Ar": 1.88, + "As": 1.85, "Se": 1.90, "Br": 1.85, "Kr": 2.02, "Te": 2.06, "I": 1.98, + "Xe": 2.16} +} # Numbers of valence electrons for the groups of the periodic table VALENCE_BY_GROUP = {1: 1, 2: 2, 13: 3, 14: 4, 15: 5, 16: 6, 17: 7, 18: 8} diff --git a/pdb2pqr/pdb2pqr/ligand/mol2.py b/pdb2pqr/pdb2pqr/ligand/mol2.py index d42222106..e2c4ad820 100644 --- a/pdb2pqr/pdb2pqr/ligand/mol2.py +++ b/pdb2pqr/pdb2pqr/ligand/mol2.py @@ -8,7 +8,9 @@ from collections import OrderedDict from itertools import combinations from numpy import array from numpy.linalg import norm +from . import peoe from . import VALENCE_BY_ELEMENT, NONBONDED_BY_TYPE +from . import RADII _LOGGER = logging.getLogger(__name__) @@ -105,6 +107,35 @@ class Mol2Atom: ) return pdb_fmt.format(a=self) + def assign_radius(self, primary_dict, secondary_dict): + """Assign radius to atom. + + TODO - it seems inconsistent that this function pulls radii from a + dictionary and the protein routines use force field files. + + Args: + primary_dict: primary dictionary of radii indexed by atom type or + element + secondary_dict: backup dictionary for radii not found in primary + dictionary + """ + radius = None + for rdict in [primary_dict, secondary_dict]: + if radius is not None: + break + for key in [self.type, self.element]: + if key in rdict: + radius = rdict[key] + break + if radius is not None: + self.radius = radius + else: + err = ( + "Unable to find radius parameter for self of type {type} in " + "radius dictionary: {ff}").format( + type=self.type, ff=primary_dict) + raise KeyError(err) + @property def coords(self): """Return coordinates as numpy vector.""" @@ -219,6 +250,38 @@ class Mol2Molecule: self.res_name = None self.res_seq = None + def assign_parameters( + self, primary_dict=RADII["zap9"], secondary_dict=RADII["bondi"]): + """Assign charges and radii to atoms in molecule. + + Args: + primary_dict: primary dictionary of radii indexed by atom type or + element + secondary_dict: backup dictionary for radii not found in primary + dictionary + """ + self.assign_radii(primary_dict, secondary_dict) + self.assign_charges() + + def assign_radii( + self, primary_dict, secondary_dict): + """Assign radii to atoms in molecule. + + Args: + primary_dict: primary dictionary of radii indexed by atom type or + element + secondary_dict: backup dictionary for radii not found in primary + dictionary + """ + for atom in self.atoms.values(): + atom.assign_radius(primary_dict, secondary_dict) + + def assign_charges(self): + """Assign charges to atoms in molecule.""" + for atom in self.atoms.values(): + atom.charge = atom.formal_charge + peoe.equilibrate(self.atoms.values()) + def find_atom_torsions(self, start_atom): """Set the torsion angles that start with this atom (name). diff --git a/pdb2pqr/pdb2pqr/ligand/parameterize.py b/pdb2pqr/pdb2pqr/ligand/parameterize.py deleted file mode 100644 index 32e4af26f..000000000 --- a/pdb2pqr/pdb2pqr/ligand/parameterize.py +++ /dev/null @@ -1,52 +0,0 @@ -"""Calculating and assigning ligand charges and radii.""" -import logging -from .mol2 import Mol2Molecule -from .peoe import equilibrate -from . import PARSE_RADII -from ..forcefield import ForcefieldAtom -from ..forcefield import ForcefieldResidue - - -_LOGGER = logging.getLogger(__name__) - - -class ParameterizedMolecule(Mol2Molecule): - """Ligand with charge and radius assignments.""" - - def __init__(self): - super().__init__() - self.ligand_properties = {} - - def update(self, ligand): - """Update self with latest version of ligand (if needed). - - Args: - ligand: latest version of ligand - """ - prev_atom_names = set(self.ligand_properties) - curr_atom_names = set(self.atoms) - if len(prev_atom_names ^ curr_atom_names) > 0: - self.reparameterize(ligand) - - def reparameterize(self, ligand): - """Reassign parameters given new ligand. - - Args: - ligand: latest version of ligand - """ - self.ligand_properties = {} - for atom in ligand.atoms.values(): - atom.charge = atom.formal_charge - equilibrate(ligand.atoms.values()) - for atom in ligand.atoms.values(): - elem = atom.element.capitalize() - charge = atom.charge - try: - radius = PARSE_RADII[elem] - atom.radius = radius - except KeyError: - raise KeyError( - "Unable to assign radius for element %s in atom %s" % ( - elem, atom)) - self.ligand_properties[atom.name] = { - "charge": charge, "radius": radius} diff --git a/pdb2pqr/pdb2pqr/main.py b/pdb2pqr/pdb2pqr/main.py index 3f11df080..89752e3c8 100644 --- a/pdb2pqr/pdb2pqr/main.py +++ b/pdb2pqr/pdb2pqr/main.py @@ -20,7 +20,7 @@ from . import hydrogens from . import forcefield from . import protein as prot from . import input_output as io -from .ligand.parameterize import ParameterizedMolecule +from .ligand.mol2 import Mol2Molecule from . import input_output as io from .config import VERSION, TITLE_FORMAT_STRING, CITATIONS, FORCE_FIELDS from .config import REPAIR_LIMIT @@ -263,7 +263,7 @@ def setup_molecule(pdblist, definition, ligand_path): ligand: ligand object (may be None) """ if ligand_path is not None: - ligand = ParameterizedMolecule() + ligand = Mol2Molecule() with open(ligand_path, "rt", encoding="utf-8") as ligand_file: ligand.read(ligand_file) raise NotImplementedError("Where do initial ligand charges come from?") diff --git a/pdb2pqr/tests/ligand_results.py b/pdb2pqr/tests/ligand_results.py index 45f9004d8..dc6f7e316 100644 --- a/pdb2pqr/tests/ligand_results.py +++ b/pdb2pqr/tests/ligand_results.py @@ -88,483 +88,439 @@ FORMAL_CHARGE_RESULTS = { "tetramethylammonium.mol2": 4*[0] + [1] + 12*[0] } - -PARTIAL_CHARGE_RESULTS = { +PARAMETER_RESULTS = { "1HPX-ligand.mol2": [ - {'name': 'C1', 'charge': -0.043081773453678196}, - {'name': 'N1', 'charge': -0.35678069534508244}, - {'name': 'O1', 'charge': -0.5711988943947174}, - {'name': 'S1', 'charge': -0.36230725415046}, - {'name': 'C2', 'charge': -0.07546448002333427}, - {'name': 'N2', 'charge': -0.703336840791423}, - {'name': 'O2', 'charge': -0.5909676444057169}, - {'name': 'S2', 'charge': -0.31326568130416904}, - {'name': 'C3', 'charge': 0.012184036151037315}, - {'name': 'N3', 'charge': -0.7139711103762134}, - {'name': 'O3', 'charge': -0.2919660371248733}, - {'name': 'C4', 'charge': -0.024891112570323084}, - {'name': 'N4', 'charge': -0.7120419698971743}, - {'name': 'O4', 'charge': -0.2689251910425875}, - {'name': 'C5', 'charge': -0.02721768449096584}, - {'name': 'N5', 'charge': -0.7179288700589408}, - {'name': 'O5', 'charge': -0.2884010361503686}, - {'name': 'C6', 'charge': 0.0753432557874654}, - {'name': 'O6', 'charge': -0.2912545916584642}, - {'name': 'C7', 'charge': -0.06673754373256466}, - {'name': 'C8', 'charge': -0.11391059914410395}, - {'name': 'C9', 'charge': -0.10324637080138911}, - {'name': 'C10', 'charge': 0.0955779782243598}, - {'name': 'C11', 'charge': 0.13325937240601735}, - {'name': 'C12', 'charge': -0.007454479991213576}, - {'name': 'C13', 'charge': 0.1300074666489752}, - {'name': 'C14', 'charge': 0.03316079200653884}, - {'name': 'C15', 'charge': 0.1162788489650129}, - {'name': 'C16', 'charge': -0.05012048448800629}, - {'name': 'C17', 'charge': 0.17629988149001455}, - {'name': 'C18', 'charge': 0.1273124481017021}, - {'name': 'C19', 'charge': 0.009718364614545697}, - {'name': 'C20', 'charge': 0.05373224349483613}, - {'name': 'C21', 'charge': 0.14236781888812639}, - {'name': 'C22', 'charge': -0.018858356195459093}, - {'name': 'C23', 'charge': -0.08872387572707603}, - {'name': 'C24', 'charge': -0.08872387572707603}, - {'name': 'C25', 'charge': -0.08872387572707603}, - {'name': 'C26', 'charge': 0.10593153852032608}, - {'name': 'C27', 'charge': -0.05782750620937734}, - {'name': 'C28', 'charge': -0.09940049289330599}, - {'name': 'C29', 'charge': -0.11788247675515531}, - {'name': 'C30', 'charge': -0.12669321002628098}, - {'name': 'C31', 'charge': -0.12840215383108972}, - {'name': 'C32', 'charge': -0.12669321002628098}, - {'name': 'C33', 'charge': -0.11788247675515531}, - {'name': 'HN2', 'charge': 0.47365062709293504}, - {'name': 'HN3', 'charge': 0.46813799183459115}, - {'name': 'HN5', 'charge': 0.4699450251195792}, - {'name': 'HO2', 'charge': 0.4135083335659837}, - {'name': 'H1', 'charge': 0.1930651515377243}, - {'name': 'H2', 'charge': 0.14930498376978826}, - {'name': 'H5', 'charge': 0.2004887586723136}, - {'name': 'H7', 'charge': 0.1568207646303434}, - {'name': 'H8', 'charge': 0.13234810374569977}, - {'name': 'H9', 'charge': 0.13832988708343302}, - {'name': '1H10', 'charge': 0.2090610332096663}, - {'name': '2H10', 'charge': 0.2090610332096663}, - {'name': '1H12', 'charge': 0.12111462041395545}, - {'name': '2H12', 'charge': 0.12111462041395545}, - {'name': 'H14', 'charge': 0.1675599590015787}, - {'name': 'H15', 'charge': 0.22760838606623204}, - {'name': '1H16', 'charge': 0.0852867334715187}, - {'name': '2H16', 'charge': 0.0852867334715187}, - {'name': 'H18', 'charge': 0.24317031751195953}, - {'name': '1H19', 'charge': 0.12776560931027464}, - {'name': '2H19', 'charge': 0.12776560931027464}, - {'name': '1H20', 'charge': 0.19565330098691133}, - {'name': '2H20', 'charge': 0.19565330098691133}, - {'name': '1H23', 'charge': 0.05671902293773316}, - {'name': '2H23', 'charge': 0.05671902293773316}, - {'name': '3H23', 'charge': 0.05671902293773316}, - {'name': '1H24', 'charge': 0.05671902293773316}, - {'name': '2H24', 'charge': 0.05671902293773316}, - {'name': '3H24', 'charge': 0.05671902293773316}, - {'name': '1H25', 'charge': 0.05671902293773316}, - {'name': '2H25', 'charge': 0.05671902293773316}, - {'name': '3H25', 'charge': 0.05671902293773316}, - {'name': 'H26', 'charge': 0.21276929701184144}, - {'name': '1H27', 'charge': 0.0838296767957033}, - {'name': '2H27', 'charge': 0.0838296767957033}, - {'name': '3H27', 'charge': 0.0838296767957033}, - {'name': 'H29', 'charge': 0.1344214537548114}, - {'name': 'H30', 'charge': 0.12944135663694809}, - {'name': 'H31', 'charge': 0.12895177093126134}, - {'name': 'H32', 'charge': 0.12944135663694809}, - {'name': 'H33', 'charge': 0.1344214537548114}], + {'name': 'C1', 'type': 'C.ar', 'charge': -0.043081773453678196, 'radius': 1.87}, + {'name': 'N1', 'type': 'N.ar', 'charge': -0.35678069534508244, 'radius': 1.4}, + {'name': 'O1', 'type': 'O.3', 'charge': -0.5711988943947174, 'radius': 1.52}, + {'name': 'S1', 'type': 'S.3', 'charge': -0.36230725415046, 'radius': 2.15}, + {'name': 'C2', 'type': 'C.ar', 'charge': -0.07546448002333427, 'radius': 1.87}, + {'name': 'N2', 'type': 'N.am', 'charge': -0.703336840791423, 'radius': 1.4}, + {'name': 'O2', 'type': 'O.3', 'charge': -0.5909676444057169, 'radius': 1.52}, + {'name': 'S2', 'type': 'S.3', 'charge': -0.31326568130416904, 'radius': 2.15}, + {'name': 'C3', 'type': 'C.ar', 'charge': 0.012184036151037315, 'radius': 1.87}, + {'name': 'N3', 'type': 'N.am', 'charge': -0.7139711103762134, 'radius': 1.4}, + {'name': 'O3', 'type': 'O.2', 'charge': -0.2919660371248733, 'radius': 1.52}, + {'name': 'C4', 'type': 'C.ar', 'charge': -0.024891112570323084, 'radius': 1.87}, + {'name': 'N4', 'type': 'N.am', 'charge': -0.7120419698971743, 'radius': 1.4}, + {'name': 'O4', 'type': 'O.2', 'charge': -0.2689251910425875, 'radius': 1.52}, + {'name': 'C5', 'type': 'C.ar', 'charge': -0.02721768449096584, 'radius': 1.87}, + {'name': 'N5', 'type': 'N.am', 'charge': -0.7179288700589408, 'radius': 1.4}, + {'name': 'O5', 'type': 'O.2', 'charge': -0.2884010361503686, 'radius': 1.52}, + {'name': 'C6', 'type': 'C.ar', 'charge': 0.0753432557874654, 'radius': 1.87}, + {'name': 'O6', 'type': 'O.2', 'charge': -0.2912545916584642, 'radius': 1.52}, + {'name': 'C7', 'type': 'C.ar', 'charge': -0.06673754373256466, 'radius': 1.87}, + {'name': 'C8', 'type': 'C.ar', 'charge': -0.11391059914410395, 'radius': 1.87}, + {'name': 'C9', 'type': 'C.ar', 'charge': -0.10324637080138911, 'radius': 1.87}, + {'name': 'C10', 'type': 'C.3', 'charge': 0.0955779782243598, 'radius': 1.87}, + {'name': 'C11', 'type': 'C.2', 'charge': 0.13325937240601735, 'radius': 1.87}, + {'name': 'C12', 'type': 'C.3', 'charge': -0.007454479991213576, 'radius': 1.87}, + {'name': 'C13', 'type': 'C.2', 'charge': 0.1300074666489752, 'radius': 1.87}, + {'name': 'C14', 'type': 'C.3', 'charge': 0.03316079200653884, 'radius': 1.87}, + {'name': 'C15', 'type': 'C.3', 'charge': 0.1162788489650129, 'radius': 1.87}, + {'name': 'C16', 'type': 'C.3', 'charge': -0.05012048448800629, 'radius': 1.87}, + {'name': 'C17', 'type': 'C.2', 'charge': 0.17629988149001455, 'radius': 1.87}, + {'name': 'C18', 'type': 'C.3', 'charge': 0.1273124481017021, 'radius': 1.87}, + {'name': 'C19', 'type': 'C.3', 'charge': 0.009718364614545697, 'radius': 1.87}, + {'name': 'C20', 'type': 'C.3', 'charge': 0.05373224349483613, 'radius': 1.87}, + {'name': 'C21', 'type': 'C.2', 'charge': 0.14236781888812639, 'radius': 1.87}, + {'name': 'C22', 'type': 'C.3', 'charge': -0.018858356195459093, 'radius': 1.87}, + {'name': 'C23','type': 'C.3', 'charge': -0.08872387572707603, 'radius': 1.87}, + {'name': 'C24', 'type': 'C.3', 'charge': -0.08872387572707603, 'radius': 1.87}, + {'name': 'C25', 'type': 'C.3', 'charge': -0.08872387572707603, 'radius': 1.87}, + {'name': 'C26', 'type': 'C.3', 'charge': 0.10593153852032608, 'radius': 1.87}, + {'name': 'C27', 'type': 'C.3', 'charge': -0.05782750620937734, 'radius': 1.87}, + {'name': 'C28', 'type': 'C.ar', 'charge': -0.09940049289330599, 'radius': 1.87}, + {'name': 'C29', 'type': 'C.ar', 'charge': -0.11788247675515531, 'radius': 1.87}, + {'name': 'C30', 'type': 'C.ar', 'charge': -0.12669321002628098, 'radius': 1.87}, + {'name': 'C31', 'type': 'C.ar', 'charge': -0.12840215383108972, 'radius': 1.87}, + {'name': 'C32', 'type': 'C.ar', 'charge': -0.12669321002628098, 'radius': 1.87}, + {'name': 'C33', 'type': 'C.ar', 'charge': -0.11788247675515531, 'radius': 1.87}, + {'name': 'HN2', 'type': 'H', 'charge': 0.47365062709293504, 'radius': 1.1}, + {'name': 'HN3', 'type': 'H', 'charge': 0.46813799183459115, 'radius': 1.1}, + {'name': 'HN5', 'type': 'H', 'charge': 0.4699450251195792, 'radius': 1.1}, + {'name': 'HO2', 'type': 'H', 'charge': 0.4135083335659837, 'radius': 1.1}, + {'name':'H1', 'type': 'H', 'charge': 0.1930651515377243, 'radius': 1.1}, + {'name': 'H2', 'type': 'H', 'charge': 0.14930498376978826, 'radius': 1.1}, + {'name': 'H5', 'type': 'H', 'charge': 0.2004887586723136, 'radius': 1.1}, + {'name': 'H7', 'type': 'H', 'charge': 0.1568207646303434, 'radius': 1.1}, + {'name': 'H8', 'type': 'H', 'charge': 0.13234810374569977, 'radius': 1.1}, + {'name': 'H9', 'type': 'H', 'charge': 0.13832988708343302, 'radius': 1.1}, + {'name': '1H10', 'type': 'H', 'charge': 0.2090610332096663, 'radius': 1.1}, + {'name': '2H10', 'type': 'H', 'charge': 0.2090610332096663, 'radius': 1.1}, + {'name': '1H12', 'type': 'H', 'charge': 0.12111462041395545, 'radius': 1.1}, + {'name': '2H12', 'type': 'H', 'charge': 0.12111462041395545, 'radius': 1.1}, + {'name': 'H14', 'type': 'H', 'charge': 0.1675599590015787, 'radius': 1.1}, + {'name': 'H15', 'type': 'H', 'charge': 0.22760838606623204, 'radius': 1.1}, + {'name': '1H16', 'type': 'H', 'charge': 0.0852867334715187, 'radius': 1.1}, + {'name': '2H16', 'type': 'H', 'charge': 0.0852867334715187, 'radius': 1.1}, + {'name': 'H18', 'type': 'H', 'charge': 0.24317031751195953, 'radius': 1.1}, + {'name': '1H19', 'type': 'H', 'charge': 0.12776560931027464, 'radius': 1.1}, + {'name': '2H19', 'type': 'H', 'charge': 0.12776560931027464, 'radius': 1.1}, + {'name': '1H20', 'type': 'H', 'charge': 0.19565330098691133, 'radius': 1.1}, + {'name': '2H20', 'type': 'H', 'charge': 0.19565330098691133, 'radius': 1.1}, + {'name': '1H23', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': '2H23', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': '3H23', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': '1H24', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': '2H24', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': '3H24', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': '1H25', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': '2H25', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': '3H25', 'type': 'H', 'charge': 0.05671902293773316, 'radius': 1.1}, + {'name': 'H26', 'type': 'H', 'charge': 0.21276929701184144, 'radius': 1.1}, + {'name': '1H27', 'type': 'H', 'charge': 0.0838296767957033, 'radius': 1.1}, + {'name': '2H27', 'type': 'H', 'charge': 0.0838296767957033, 'radius': 1.1}, + {'name': '3H27', 'type': 'H', 'charge': 0.0838296767957033, 'radius': 1.1}, + {'name': 'H29', 'type': 'H', 'charge': 0.1344214537548114, 'radius': 1.1}, + {'name': 'H30', 'type': 'H', 'charge': 0.12944135663694809, 'radius': 1.1}, + {'name': 'H31', 'type': 'H', 'charge': 0.12895177093126134, 'radius': 1.1}, + {'name': 'H32', 'type': 'H', 'charge': 0.12944135663694809, 'radius': 1.1}, + {'name': 'H33', 'type': 'H', 'charge': 0.1344214537548114, 'radius': 1.1}], "1QBS-ligand.mol2": [ - {'name': 'C1', 'charge': 0.2819290256115998}, - {'name': 'C3', 'charge': 0.044938629062860544}, - {'name': 'C4', 'charge': 0.029905546428555488}, - {'name': 'C5', 'charge': 0.029905546428555488}, - {'name': 'C6', 'charge': 0.044938629062860544}, - {'name': 'C20', 'charge': 0.02388740859601932}, - {'name': 'C21', 'charge': -0.06923087776665914}, - {'name': 'C22', 'charge': -0.10856468032765192}, - {'name': 'C23', 'charge': -0.11036338907520785}, - {'name': 'C24', 'charge': -0.08244776383718133}, - {'name': 'C25', 'charge': -0.11036338907520785}, - {'name': 'C26', 'charge': -0.10856468032765192}, - {'name': 'C27', 'charge': -0.021297911008685094}, - {'name': 'C30', 'charge': -0.04323885537049762}, - {'name': 'C31', 'charge': -0.09772541979676261}, - {'name': 'C32', 'charge': -0.11774626937995367}, - {'name': 'C33', 'charge': -0.12668933876013122}, - {'name': 'C34', 'charge': -0.12840215383108972}, - {'name': 'C35', 'charge': -0.12668933876013122}, - {'name': 'C36', 'charge': -0.11774626937995367}, - {'name': 'C60', 'charge': -0.04323885537049762}, - {'name': 'C61', 'charge': -0.09772541979676261}, - {'name': 'C62', 'charge': -0.11774626937995367}, - {'name': 'C63', 'charge': -0.12668933876013122}, - {'name': 'C64', 'charge': -0.12840215383108972}, - {'name': 'C65', 'charge': -0.12668933876013122}, - {'name': 'C66', 'charge': -0.11774626937995367}, - {'name': 'C70', 'charge': 0.02388740859601932}, - {'name': 'C71', 'charge': -0.06923087776665914}, - {'name': 'C72', 'charge': -0.10856468032765192}, - {'name': 'C73', 'charge': -0.11036338907520785}, - {'name': 'C74', 'charge': -0.08244776383718133}, - {'name': 'C75', 'charge': -0.11036338907520785}, - {'name': 'C76', 'charge': -0.10856468032765192}, - {'name': 'C77', 'charge': -0.021297911008685094}, - {'name': 'N2', 'charge': -0.7121260761527837}, - {'name': 'N7', 'charge': -0.7121260761527837}, - {'name': 'O1', 'charge': -0.19835509547371977}, - {'name': 'O4', 'charge': -0.6060823059727466}, - {'name': 'O5', 'charge': -0.6060823059727466}, - {'name': 'O27', 'charge': -0.6190964861641765}, - {'name': 'O77', 'charge': -0.6190964861641765}, - {'name': 'H1', 'charge': 0.1939484454048374}, - {'name': 'H2', 'charge': 0.1783837779801701}, - {'name': 'H3', 'charge': 0.1783837779801701}, - {'name': 'H4', 'charge': 0.1939484454048374}, - {'name': 'H5', 'charge': 0.1660607436631621}, - {'name': 'H6', 'charge': 0.1660607436631621}, - {'name': 'H7', 'charge': 0.13696512588510704}, - {'name': 'H8', 'charge': 0.13656070949143695}, - {'name': 'H9', 'charge': 0.13656070949143695}, - {'name': 'H10', 'charge': 0.13696512588510704}, - {'name': 'H11', 'charge': 0.1336796298532153}, - {'name': 'H12', 'charge': 0.1336796298532153}, - {'name': 'H13', 'charge': 0.08892832134853815}, - {'name': 'H14', 'charge': 0.08892832134853815}, - {'name': 'H15', 'charge': 0.13442892363549896}, - {'name': 'H16', 'charge': 0.12944135663694809}, - {'name': 'H17', 'charge': 0.12895177093126134}, - {'name': 'H18', 'charge': 0.12944135663694809}, - {'name': 'H19', 'charge': 0.13442892363549896}, - {'name': 'H20', 'charge': 0.08892832134853815}, - {'name': 'H21', 'charge': 0.08892832134853815}, - {'name': 'H22', 'charge': 0.13442892363549896}, - {'name': 'H23', 'charge': 0.12944135663694809}, - {'name': 'H24', 'charge': 0.12895177093126134}, - {'name': 'H25', 'charge': 0.12944135663694809}, - {'name': 'H26', 'charge': 0.13442892363549896}, - {'name': 'H27', 'charge': 0.1660607436631621}, - {'name': 'H28', 'charge': 0.1660607436631621}, - {'name': 'H29', 'charge': 0.13696512588510704}, - {'name': 'H30', 'charge': 0.13656070949143695}, - {'name': 'H31', 'charge': 0.13656070949143695}, - {'name': 'H32', 'charge': 0.13696512588510704}, - {'name': 'H33', 'charge': 0.1336796298532153}, - {'name': 'H34', 'charge': 0.1336796298532153}, - {'name': 'H35', 'charge': 0.4089032076940611}, - {'name': 'H36', 'charge': 0.4089032076940611}, - {'name': 'H37', 'charge': 0.40353983279195227}, - {'name': 'H38', 'charge': 0.40353983279195227}], + {'name': 'C1', 'type': 'C.2', 'charge': 0.2819290256115998, 'radius': 1.87}, + {'name': 'C3', 'type': 'C.3', 'charge': 0.044938629062860544, 'radius': 1.87}, + {'name': 'C4', 'type': 'C.3', 'charge': 0.029905546428555488, 'radius': 1.87}, + {'name': 'C5', 'type': 'C.3', 'charge': 0.029905546428555488, 'radius': 1.87}, + {'name': 'C6', 'type': 'C.3', 'charge': 0.044938629062860544, 'radius': 1.87}, + {'name': 'C20', 'type': 'C.3', 'charge': 0.02388740859601932, 'radius': 1.87}, + {'name': 'C21', 'type': 'C.ar', 'charge': -0.06923087776665914, 'radius': 1.87}, + {'name': 'C22', 'type': 'C.ar', 'charge': -0.10856468032765192, 'radius': 1.87}, + {'name': 'C23', 'type': 'C.ar', 'charge': -0.11036338907520785, 'radius': 1.87}, + {'name': 'C24', 'type': 'C.ar', 'charge': -0.08244776383718133, 'radius': 1.87}, + {'name': 'C25', 'type': 'C.ar', 'charge': -0.11036338907520785, 'radius': 1.87}, + {'name': 'C26', 'type': 'C.ar', 'charge': -0.10856468032765192, 'radius': 1.87}, + {'name': 'C27', 'type': 'C.3', 'charge': -0.021297911008685094, 'radius': 1.87}, + {'name': 'C30', 'type': 'C.3', 'charge': -0.04323885537049762, 'radius': 1.87}, + {'name': 'C31', 'type': 'C.ar', 'charge': -0.09772541979676261, 'radius': 1.87}, + {'name': 'C32', 'type': 'C.ar', 'charge': -0.11774626937995367, 'radius': 1.87}, + {'name': 'C33', 'type': 'C.ar', 'charge': -0.12668933876013122, 'radius': 1.87}, + {'name': 'C34', 'type': 'C.ar', 'charge': -0.12840215383108972, 'radius': 1.87}, + {'name': 'C35', 'type': 'C.ar', 'charge': -0.12668933876013122, 'radius': 1.87}, + {'name': 'C36', 'type': 'C.ar', 'charge': -0.11774626937995367, 'radius': 1.87}, + {'name': 'C60', 'type': 'C.3', 'charge': -0.04323885537049762, 'radius': 1.87}, + {'name': 'C61', 'type': 'C.ar', 'charge': -0.09772541979676261, 'radius': 1.87}, + {'name': 'C62', 'type': 'C.ar', 'charge': -0.11774626937995367, 'radius': 1.87}, + {'name': 'C63', 'type': 'C.ar', 'charge': -0.12668933876013122, 'radius': 1.87}, + {'name': 'C64', 'type': 'C.ar', 'charge': -0.12840215383108972, 'radius': 1.87}, + {'name': 'C65', 'type': 'C.ar', 'charge': -0.12668933876013122, 'radius': 1.87}, + {'name': 'C66', 'type': 'C.ar', 'charge': -0.11774626937995367, 'radius': 1.87}, + {'name': 'C70', 'type': 'C.3', 'charge': 0.02388740859601932, 'radius': 1.87}, + {'name': 'C71', 'type': 'C.ar', 'charge': -0.06923087776665914, 'radius': 1.87}, + {'name': 'C72', 'type': 'C.ar', 'charge': -0.10856468032765192, 'radius': 1.87}, + {'name': 'C73', 'type': 'C.ar', 'charge': -0.11036338907520785, 'radius': 1.87}, + {'name': 'C74', 'type': 'C.ar', 'charge': -0.08244776383718133, 'radius': 1.87}, + {'name': 'C75', 'type': 'C.ar', 'charge': -0.11036338907520785, 'radius': 1.87}, + {'name': 'C76', 'type': 'C.ar', 'charge': -0.10856468032765192, 'radius': 1.87}, + {'name': 'C77', 'type': 'C.3', 'charge': -0.021297911008685094, 'radius': 1.87}, + {'name': 'N2', 'type': 'N.am', 'charge': -0.7121260761527837, 'radius': 1.4}, + {'name': 'N7', 'type': 'N.am', 'charge': -0.7121260761527837, 'radius': 1.4}, + {'name': 'O1', 'type': 'O.2', 'charge': -0.19835509547371977, 'radius': 1.52}, + {'name': 'O4', 'type': 'O.3', 'charge': -0.6060823059727466, 'radius': 1.52}, + {'name': 'O5', 'type': 'O.3', 'charge': -0.6060823059727466, 'radius': 1.52}, + {'name': 'O27', 'type': 'O.3', 'charge': -0.6190964861641765, 'radius': 1.52}, + {'name': 'O77', 'type': 'O.3', 'charge': -0.6190964861641765, 'radius': 1.52}, + {'name': 'H1', 'type': 'H', 'charge': 0.1939484454048374, 'radius': 1.1}, + {'name': 'H2', 'type': 'H', 'charge': 0.1783837779801701, 'radius': 1.1}, + {'name': 'H3', 'type': 'H', 'charge': 0.1783837779801701, 'radius': 1.1}, + {'name': 'H4', 'type': 'H', 'charge': 0.1939484454048374, 'radius': 1.1}, + {'name': 'H5', 'type': 'H', 'charge': 0.1660607436631621, 'radius': 1.1}, + {'name': 'H6', 'type': 'H', 'charge': 0.1660607436631621, 'radius': 1.1}, + {'name': 'H7', 'type': 'H', 'charge': 0.13696512588510704, 'radius': 1.1}, + {'name': 'H8', 'type': 'H', 'charge': 0.13656070949143695, 'radius': 1.1}, + {'name': 'H9', 'type': 'H', 'charge': 0.13656070949143695, 'radius': 1.1}, + {'name': 'H10', 'type': 'H', 'charge': 0.13696512588510704, 'radius': 1.1}, + {'name': 'H11', 'type': 'H', 'charge': 0.1336796298532153, 'radius': 1.1}, + {'name': 'H12', 'type': 'H', 'charge': 0.1336796298532153, 'radius': 1.1}, + {'name': 'H13', 'type': 'H', 'charge': 0.08892832134853815, 'radius': 1.1}, + {'name': 'H14', 'type': 'H', 'charge': 0.08892832134853815, 'radius': 1.1}, + {'name': 'H15', 'type': 'H', 'charge': 0.13442892363549896, 'radius': 1.1}, + {'name': 'H16', 'type': 'H', 'charge': 0.12944135663694809, 'radius': 1.1}, + {'name': 'H17', 'type': 'H', 'charge': 0.12895177093126134, 'radius': 1.1}, + {'name': 'H18', 'type': 'H', 'charge': 0.12944135663694809, 'radius': 1.1}, + {'name': 'H19', 'type': 'H', 'charge': 0.13442892363549896, 'radius': 1.1}, + {'name': 'H20', 'type': 'H', 'charge': 0.08892832134853815, 'radius': 1.1}, + {'name': 'H21', 'type': 'H', 'charge': 0.08892832134853815, 'radius': 1.1}, + {'name': 'H22', 'type': 'H', 'charge': 0.13442892363549896, 'radius': 1.1}, + {'name': 'H23', 'type': 'H', 'charge': 0.12944135663694809, 'radius': 1.1}, + {'name': 'H24', 'type': 'H', 'charge': 0.12895177093126134, 'radius': 1.1}, + {'name': 'H25', 'type': 'H', 'charge': 0.12944135663694809, 'radius': 1.1}, + {'name': 'H26', 'type': 'H', 'charge': 0.13442892363549896, 'radius': 1.1}, + {'name': 'H27', 'type': 'H', 'charge': 0.1660607436631621, 'radius': 1.1}, + {'name': 'H28', 'type': 'H', 'charge': 0.1660607436631621, 'radius': 1.1}, + {'name': 'H29', 'type': 'H', 'charge': 0.13696512588510704, 'radius': 1.1}, + {'name': 'H30', 'type': 'H', 'charge': 0.13656070949143695, 'radius': 1.1}, + {'name': 'H31', 'type': 'H', 'charge': 0.13656070949143695, 'radius': 1.1}, + {'name': 'H32', 'type': 'H', 'charge': 0.13696512588510704, 'radius': 1.1}, + {'name': 'H33', 'type': 'H', 'charge': 0.1336796298532153, 'radius': 1.1}, + {'name': 'H34', 'type': 'H', 'charge': 0.1336796298532153, 'radius': 1.1}, + {'name': 'H35', 'type': 'H', 'charge': 0.4089032076940611, 'radius': 1.1}, + {'name': 'H36', 'type': 'H', 'charge': 0.4089032076940611, 'radius': 1.1}, + {'name': 'H37', 'type': 'H', 'charge': 0.40353983279195227, 'radius': 1.1}, + {'name': 'H38', 'type': 'H', 'charge': 0.40353983279195227, 'radius': 1.1}], "1US0-ligand.mol2": [ - {'name': 'C2', 'charge': -0.011692507946738866}, - {'name': 'C3', 'charge': -0.07564532850595106}, - {'name': 'C4', 'charge': 0.0995106215449818}, - {'name': 'C5', 'charge': 0.087912610051304}, - {'name': 'C6', 'charge': -0.06822502752899269}, - {'name': 'C7', 'charge': 0.071206877934909}, - {'name': 'BR8', 'charge': -0.1781415724110881}, - {'name': 'F9', 'charge': -0.24609828999108224}, - {'name': 'C11', 'charge': 0.01969593460035858}, - {'name': 'C13', 'charge': -0.012644223822613768}, - {'name': 'F14', 'charge': -0.24298404863346873}, - {'name': 'O15', 'charge': -0.564853763228142}, - {'name': 'S16', 'charge': -0.08677321834382315}, - {'name': 'N17', 'charge': -0.5406144014197267}, - {'name': 'C20', 'charge': 0.11379374529001238}, - {'name': 'C24', 'charge': -0.025165867794008426}, - {'name': 'C25', 'charge': 0.05247378966494793}, - {'name': 'C26', 'charge': -0.09820934352177407}, - {'name': 'C27', 'charge': 0.09943434454444673}, - {'name': 'C28', 'charge': -0.030058244343191105}, - {'name': 'C29', 'charge': -0.08190135488592247}, - {'name': 'C32', 'charge': 0.13523301177634597}, - {'name': 'O33', 'charge': -0.6823845278785808}, - {'name': 'O34', 'charge': -0.6823845278785808}, - {'name': 'H1', 'charge': 0.1785741592725812}, - {'name': 'H2', 'charge': 0.1460165676666413}, - {'name': 'H3', 'charge': 0.15178137252163487}, - {'name': 'H4', 'charge': 0.12305674443192938}, - {'name': 'H5', 'charge': 0.12305674443192938}, - {'name': 'H6', 'charge': 0.3361191041929824}, - {'name': 'H7', 'charge': 0.21824692354069947}, - {'name': 'H8', 'charge': 0.21824692354069947}, - {'name': 'H9', 'charge': 0.13902103205782942}, - {'name': 'H10', 'charge': 0.16785538090669733}, - {'name': 'H11', 'charge': 0.14654036016275432}], + {'name': 'C2', 'type': 'C.ar', 'charge': -0.011692507946738866, 'radius': 1.87}, + {'name': 'C3', 'type': 'C.ar', 'charge': -0.07564532850595106, 'radius': 1.87}, + {'name': 'C4', 'type': 'C.ar', 'charge': 0.0995106215449818, 'radius': 1.87}, + {'name': 'C5', 'type': 'C.ar', 'charge': 0.087912610051304, 'radius': 1.87}, + {'name': 'C6', 'type': 'C.ar', 'charge': -0.06822502752899269, 'radius': 1.87}, + {'name': 'C7', 'type': 'C.ar', 'charge': 0.071206877934909, 'radius': 1.87}, + {'name': 'BR8', 'type': 'Br', 'charge': -0.1781415724110881, 'radius': 1.85}, + {'name': 'F9', 'type': 'F', 'charge': -0.24609828999108224, 'radius': 2.4}, + {'name': 'C11', 'type': 'C.2', 'charge': 0.01969593460035858, 'radius': 1.87}, + {'name': 'C13', 'type': 'C.3', 'charge': -0.012644223822613768, 'radius': 1.87}, + {'name': 'F14', 'type': 'F', 'charge': -0.24298404863346873, 'radius': 2.4}, + {'name': 'O15', 'type': 'O.3', 'charge': -0.564853763228142, 'radius': 1.52}, + {'name': 'S16', 'type': 'S.3', 'charge': -0.08677321834382315, 'radius': 2.15}, + {'name': 'N17', 'type': 'N.pl3', 'charge': -0.5406144014197267, 'radius': 1.4}, + {'name': 'C20', 'type': 'C.3', 'charge': 0.11379374529001238, 'radius': 1.87}, + {'name': 'C24', 'type': 'C.ar', 'charge': -0.025165867794008426, 'radius': 1.87}, + {'name': 'C25', 'type': 'C.ar', 'charge': 0.05247378966494793, 'radius': 1.87}, + {'name': 'C26', 'type': 'C.ar', 'charge': -0.09820934352177407, 'radius': 1.87}, + {'name': 'C27', 'type': 'C.ar', 'charge': 0.09943434454444673, 'radius': 1.87}, + {'name': 'C28', 'type': 'C.ar', 'charge': -0.030058244343191105, 'radius': 1.87}, + {'name': 'C29', 'type': 'C.ar', 'charge': -0.08190135488592247, 'radius': 1.87}, + {'name': 'C32', 'type': 'C.2', 'charge': 0.13523301177634597, 'radius': 1.87}, + {'name': 'O33', 'type': 'O.co2', 'charge': -0.6823845278785808, 'radius': 1.76}, + {'name': 'O34', 'type': 'O.co2', 'charge': -0.6823845278785808, 'radius': 1.76}, + {'name': 'H1', 'type': 'H', 'charge': 0.1785741592725812, 'radius': 1.1}, + {'name': 'H2', 'type': 'H', 'charge': 0.1460165676666413, 'radius': 1.1}, + {'name': 'H3', 'type': 'H', 'charge': 0.15178137252163487, 'radius': 1.1}, + {'name': 'H4', 'type': 'H', 'charge': 0.12305674443192938, 'radius': 1.1}, + {'name': 'H5', 'type': 'H', 'charge': 0.12305674443192938, 'radius': 1.1}, + {'name': 'H6', 'type': 'H', 'charge': 0.3361191041929824, 'radius': 1.1}, + {'name': 'H7', 'type': 'H', 'charge': 0.21824692354069947, 'radius': 1.1}, + {'name': 'H8', 'type': 'H', 'charge': 0.21824692354069947, 'radius': 1.1}, + {'name': 'H9', 'type': 'H', 'charge': 0.13902103205782942, 'radius': 1.1}, + {'name': 'H10', 'type': 'H', 'charge': 0.16785538090669733, 'radius': 1.1}, + {'name': 'H11', 'type': 'H', 'charge': 0.14654036016275432, 'radius': 1.1}], "acetate.mol2": [ - {'name': 'OAC', 'charge': -0.6920003959699945}, - {'name': 'CAB', 'charge': 0.08786702981704235}, - {'name': 'OAD', 'charge': -0.6920003959699945}, - {'name': 'CAA', 'charge': -0.007013553584021696}, - {'name': 'HAB', 'charge': 0.10104910523565629}, - {'name': 'HAC', 'charge': 0.10104910523565629}, - {'name': 'HAA', 'charge': 0.10104910523565629}], + {'name': 'OAC', 'type': 'O.co2', 'charge': -0.6920003959699945, 'radius': 1.76}, + {'name': 'CAB', 'type': 'C.2', 'charge': 0.08786702981704235, 'radius': 1.87}, + {'name': 'OAD', 'type': 'O.co2', 'charge': -0.6920003959699945, 'radius': 1.76}, + {'name': 'CAA', 'type': 'C.3', 'charge': -0.007013553584021696, 'radius': 1.87}, + {'name': 'HAB', 'type': 'H', 'charge': 0.10104910523565629, 'radius': 1.1}, + {'name': 'HAC', 'type': 'H', 'charge': 0.10104910523565629, 'radius': 1.1}, + {'name': 'HAA', 'type': 'H', 'charge': 0.10104910523565629, 'radius': 1.1}], "acetonitrile.mol2": [ - {'name': 'NAC', 'charge': -0.3658493397941428}, - {'name': 'CAB', 'charge': 0.047166532439326746}, - {'name': 'CAA', 'charge': 0.0031209482290866543}, - {'name': 'HAB', 'charge': 0.10518728637524313}, - {'name': 'HAC', 'charge': 0.10518728637524313}, - {'name': 'HAA', 'charge': 0.10518728637524313}], + {'name': 'NAC', 'type': 'N.1', 'charge': -0.3658493397941428, 'radius': 1.4}, + {'name': 'CAB', 'type': 'C.1', 'charge': 0.047166532439326746, 'radius': 1.87}, + {'name': 'CAA', 'type': 'C.3', 'charge': 0.0031209482290866543, 'radius': 1.87}, + {'name': 'HAB', 'type': 'H', 'charge': 0.10518728637524313, 'radius': 1.1}, + {'name': 'HAC', 'type': 'H', 'charge': 0.10518728637524313, 'radius': 1.1}, + {'name': 'HAA', 'type': 'H', 'charge': 0.10518728637524313, 'radius': 1.1}], "acetylcholine.mol2": [ - {'name': 'CAI', 'charge': -0.008419213752965279}, - {'name': 'HAK', 'charge': 0.09728030818644891}, - {'name': 'HAL', 'charge': 0.09728030818644891}, - {'name': 'HAM', 'charge': 0.09728030818644891}, - {'name': 'CAH', 'charge': 0.1545682666391745}, - {'name': 'OAB', 'charge': -0.27967627950752316}, - {'name': 'OAG', 'charge': -0.5429502778137623}, - {'name': 'CAF', 'charge': 0.037889841506971396}, - {'name': 'HAI', 'charge': 0.1710371780188628}, - {'name': 'HAJ', 'charge': 0.1710371780188628}, - {'name': 'CAE', 'charge': 0.0572339093088662}, - {'name': 'HAG', 'charge': 0.16582144135089144}, - {'name': 'HAH', 'charge': 0.16582144135089144}, - {'name': 'NAD', 'charge': -0.6101582744216567}, - {'name': 'CAJ', 'charge': 0.016251330821632083}, - {'name': 'HAO', 'charge': 0.13079998580857152}, - {'name': 'HAP', 'charge': 0.13079998580857152}, - {'name': 'HAN', 'charge': 0.13079998580857152}, - {'name': 'CAA', 'charge': 0.016251330821632083}, - {'name': 'HAB', 'charge': 0.13079998580857152}, - {'name': 'HAC', 'charge': 0.13079998580857152}, - {'name': 'HAA', 'charge': 0.13079998580857152}, - {'name': 'CAC', 'charge': 0.016251330821632083}, - {'name': 'HAE', 'charge': 0.13079998580857152}, - {'name': 'HAF', 'charge': 0.13079998580857152}, - {'name': 'HAD', 'charge': 0.13079998580857152}], + {'name': 'CAI', 'type': 'C.3', 'charge': -0.008419213752965279, 'radius': 1.87}, + {'name': 'HAK', 'type': 'H', 'charge': 0.09728030818644891, 'radius': 1.1}, + {'name': 'HAL', 'type': 'H', 'charge': 0.09728030818644891, 'radius': 1.1}, + {'name': 'HAM', 'type': 'H', 'charge': 0.09728030818644891, 'radius': 1.1}, + {'name': 'CAH', 'type': 'C.2', 'charge': 0.1545682666391745, 'radius': 1.87}, + {'name': 'OAB', 'type': 'O.2', 'charge': -0.27967627950752316, 'radius': 1.52}, + {'name': 'OAG', 'type': 'O.3', 'charge': -0.5429502778137623, 'radius': 1.52}, + {'name': 'CAF', 'type': 'C.3', 'charge': 0.037889841506971396, 'radius': 1.87}, + {'name': 'HAI', 'type': 'H', 'charge': 0.1710371780188628, 'radius': 1.1}, + {'name': 'HAJ', 'type': 'H', 'charge': 0.1710371780188628, 'radius': 1.1}, + {'name': 'CAE', 'type': 'C.3', 'charge': 0.0572339093088662, 'radius': 1.87}, + {'name': 'HAG', 'type': 'H', 'charge': 0.16582144135089144, 'radius': 1.1}, + {'name': 'HAH', 'type': 'H', 'charge': 0.16582144135089144, 'radius': 1.1}, + {'name': 'NAD', 'type': 'N.3', 'charge': -0.6101582744216567, 'radius': 1.4}, + {'name': 'CAJ', 'type': 'C.3', 'charge': 0.016251330821632083, 'radius': 1.87}, + {'name': 'HAO', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}, + {'name': 'HAP', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}, + {'name': 'HAN', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}, + {'name': 'CAA', 'type': 'C.3', 'charge': 0.016251330821632083, 'radius': 1.87}, + {'name': 'HAB', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}, + {'name': 'HAC', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}, + {'name': 'HAA', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}, + {'name': 'CAC', 'type': 'C.3', 'charge': 0.016251330821632083, 'radius': 1.87}, + {'name': 'HAE', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}, + {'name': 'HAF', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}, + {'name': 'HAD', 'type': 'H', 'charge': 0.13079998580857152, 'radius': 1.1}], "adp.mol2": [ - {'name': 'O2B', 'charge': -0.9292599002864984}, - {'name': 'PB', 'charge': 0.2901422925812394}, - {'name': 'O3B', 'charge': -0.15563495903544203}, - {'name': 'O1B', 'charge': -0.10031235497346548}, - {'name': 'O3A', 'charge': -0.22961271227927002}, - {'name': 'PA', 'charge': 0.20924046046691175}, - {'name': 'O2A', 'charge': -0.9415448332469695}, - {'name': 'O1A', 'charge': -0.11862974402094492}, - {'name': "O5'", 'charge': -0.46621302263040854}, - {'name': "C5'", 'charge': 0.0798878056064067}, - {'name': "H5'", 'charge': 0.18839134309240957}, - {'name': 'H5S', 'charge': 0.18839134309240957}, - {'name': "C4'", 'charge': 0.0695445224862847}, - {'name': "H4'", 'charge': 0.20776211836320221}, - {'name': "O4'", 'charge': -0.5870759018169631}, - {'name': "C3'", 'charge': 0.03852622354001534}, - {'name': "H3'", 'charge': 0.17992130819444715}, - {'name': "O3'", 'charge': -0.6050957763635193}, - {'name': 'H8L', 'charge': 0.408917570005205}, - {'name': "C2'", 'charge': 0.04785444900747468}, - {'name': "H2'", 'charge': 0.18698431697045484}, - {'name': "O2'", 'charge': -0.6030269458228865}, - {'name': 'H8M', 'charge': 0.40956200683924104}, - {'name': "C1'", 'charge': 0.1072884172431409}, - {'name': "H1'", 'charge': 0.25190824252954014}, - {'name': 'N9', 'charge': -0.32267909962343944}, - {'name': 'C8', 'charge': 0.03749022549830809}, - {'name': 'H8', 'charge': 0.24861896888732188}, - {'name': 'N7', 'charge': -0.2902489369083555}, - {'name': 'C5', 'charge': 0.15701292932781932}, - {'name': 'C4', 'charge': 0.16341092847650182}, - {'name': 'N3', 'charge': -0.28837259982632546}, - {'name': 'C2', 'charge': 0.00966560470099504}, - {'name': 'H2', 'charge': 0.23340110948012485}, - {'name': 'N1', 'charge': -0.3751603212355695}, - {'name': 'H1', 'charge': 0.2881016272229071}, - {'name': 'C6', 'charge': 0.10850097968415028}, - {'name': 'N6', 'charge': -0.46957750571325696}, - {'name': 'H6', 'charge': 0.3719198204868037}], + {'name': 'O2B', 'type': 'O.3', 'charge': -0.9292599002864984, 'radius': 1.52}, + {'name': 'PB', 'type': 'P.3', 'charge': 0.2901422925812394, 'radius': 1.8}, + {'name': 'O3B', 'type': 'O.3', 'charge': -0.15563495903544203, 'radius': 1.52}, + {'name': 'O1B', 'type': 'O.2', 'charge': -0.10031235497346548, 'radius': 1.52}, + {'name': 'O3A', 'type': 'O.3', 'charge': -0.22961271227927002, 'radius': 1.52}, + {'name': 'PA', 'type': 'P.3', 'charge': 0.20924046046691175, 'radius': 1.8}, + {'name': 'O2A', 'type': 'O.3', 'charge': -0.9415448332469695, 'radius': 1.52}, + {'name': 'O1A', 'type': 'O.2', 'charge': -0.11862974402094492, 'radius': 1.52}, + {'name': "O5'", 'type': 'O.3', 'charge': -0.46621302263040854, 'radius': 1.52}, + {'name': "C5'", 'type': 'C.3', 'charge': 0.0798878056064067, 'radius': 1.87}, + {'name': "H5'", 'type': 'H', 'charge': 0.18839134309240957, 'radius': 1.1}, + {'name': 'H5S', 'type': 'H', 'charge': 0.18839134309240957, 'radius': 1.1}, + {'name': "C4'", 'type': 'C.3', 'charge': 0.0695445224862847, 'radius': 1.87}, + {'name': "H4'", 'type': 'H', 'charge': 0.20776211836320221, 'radius': 1.1}, + {'name': "O4'", 'type': 'O.3', 'charge': -0.5870759018169631, 'radius': 1.52}, + {'name': "C3'", 'type': 'C.3', 'charge': 0.03852622354001534, 'radius': 1.87}, + {'name': "H3'", 'type': 'H', 'charge': 0.17992130819444715, 'radius': 1.1}, + {'name': "O3'", 'type': 'O.3', 'charge': -0.6050957763635193, 'radius': 1.52}, + {'name': 'H8L', 'type': 'H', 'charge': 0.408917570005205, 'radius': 1.1}, + {'name': "C2'", 'type': 'C.3', 'charge': 0.04785444900747468, 'radius': 1.87}, + {'name': "H2'", 'type': 'H', 'charge': 0.18698431697045484, 'radius': 1.1}, + {'name': "O2'", 'type': 'O.3', 'charge': -0.6030269458228865, 'radius': 1.52}, + {'name': 'H8M', 'type': 'H', 'charge': 0.40956200683924104, 'radius': 1.1}, + {'name': "C1'", 'type': 'C.3', 'charge': 0.1072884172431409, 'radius': 1.87}, + {'name': "H1'", 'type': 'H', 'charge': 0.25190824252954014, 'radius': 1.1}, + {'name': 'N9', 'type': 'N.ar', 'charge': -0.32267909962343944, 'radius': 1.4}, + {'name': 'C8', 'type': 'C.ar', 'charge': 0.03749022549830809, 'radius': 1.87}, + {'name': 'H8', 'type': 'H', 'charge': 0.24861896888732188, 'radius': 1.1}, + {'name': 'N7', 'type': 'N.ar', 'charge': -0.2902489369083555, 'radius': 1.4}, + {'name': 'C5', 'type': 'C.ar', 'charge': 0.15701292932781932, 'radius': 1.87}, + {'name': 'C4', 'type': 'C.ar', 'charge': 0.16341092847650182, 'radius': 1.87}, + {'name': 'N3', 'type': 'N.ar', 'charge': -0.28837259982632546, 'radius': 1.4}, + {'name': 'C2', 'type': 'C.ar', 'charge': 0.00966560470099504, 'radius': 1.87}, + {'name': 'H2', 'type': 'H', 'charge': 0.23340110948012485, 'radius': 1.1}, + {'name': 'N1', 'type': 'N.ar', 'charge': -0.3751603212355695, 'radius': 1.4}, + {'name': 'H1', 'type': 'H', 'charge': 0.2881016272229071, 'radius': 1.1}, + {'name': 'C6', 'type': 'C.ar', 'charge': 0.10850097968415028, 'radius': 1.87}, + {'name': 'N6', 'type': 'N.2', 'charge': -0.46957750571325696, 'radius': 1.4}, + {'name': 'H6', 'type': 'H', 'charge': 0.3719198204868037, 'radius': 1.1}], "anthracene.mol2": [ - {'name': 'CAB', 'charge': -0.10948195185220932}, - {'name': 'HAB', 'charge': 0.13718781330297145}, - {'name': 'CAC', 'charge': -0.05951797220652635}, - {'name': 'CAD', 'charge': -0.090739817012503}, - {'name': 'HAD', 'charge': 0.14537539214857495}, - {'name': 'CAE', 'charge': -0.05951797220652635}, - {'name': 'CAF', 'charge': -0.10948195185220932}, - {'name': 'HAF', 'charge': 0.13718781330297145}, - {'name': 'CAG', 'charge': -0.1252004685570065}, - {'name': 'HAG', 'charge': 0.12969479174473472}, - {'name': 'CAN', 'charge': -0.1252004685570065}, - {'name': 'HAN', 'charge': 0.12969479174473472}, - {'name': 'CAM', 'charge': -0.10948195185220932}, - {'name': 'HAM', 'charge': 0.13718781330297145}, - {'name': 'CAL', 'charge': -0.05951797220652635}, - {'name': 'CAK', 'charge': -0.090739817012503}, - {'name': 'HAK', 'charge': 0.14537539214857495}, - {'name': 'CAJ', 'charge': -0.05951797220652635}, - {'name': 'CAI', 'charge': -0.10948195185220932}, - {'name': 'HAI', 'charge': 0.13718781330297145}, - {'name': 'CAH', 'charge': -0.1252004685570065}, - {'name': 'HAH', 'charge': 0.12969479174473472}, - {'name': 'CAA', 'charge': -0.1252004685570065}, - {'name': 'HAA', 'charge': 0.12969479174473472}], - "crown-ether.mol2": [ - {'name': 'CAB', 'charge': -0.0020089927963956975}, - {'name': 'HAB', 'charge': 0.1571150829116664}, - {'name': 'HAC', 'charge': 0.1571150829116664}, - {'name': 'OAA', 'charge': -0.6244423460538743}, - {'name': 'CAH', 'charge': -0.002008992796395719}, - {'name': 'HAJ', 'charge': 0.1571150829116664}, - {'name': 'HAK', 'charge': 0.1571150829116664}, - {'name': 'CAJ', 'charge': -0.0020089927963956975}, - {'name': 'HAN', 'charge': 0.1571150829116664}, - {'name': 'HAO', 'charge': 0.1571150829116664}, - {'name': 'OAL', 'charge': -0.6244423460538743}, - {'name': 'CAM', 'charge': -0.002008992796395719}, - {'name': 'HAR', 'charge': 0.1571150829116664}, - {'name': 'HAS', 'charge': 0.1571150829116664}, - {'name': 'CAN', 'charge': -0.0020089927963956975}, - {'name': 'HAT', 'charge': 0.1571150829116664}, - {'name': 'HAU', 'charge': 0.1571150829116664}, - {'name': 'OAO', 'charge': -0.6244423460538743}, - {'name': 'CAP', 'charge': -0.002008992796395719}, - {'name': 'HAV', 'charge': 0.1571150829116664}, - {'name': 'HAW', 'charge': 0.1571150829116664}, - {'name': 'CAQ', 'charge': -0.0020089927963956975}, - {'name': 'HAX', 'charge': 0.1571150829116664}, - {'name': 'HAY', 'charge': 0.1571150829116664}, - {'name': 'OAR', 'charge': -0.6244423460538743}, - {'name': 'CAK', 'charge': -0.002008992796395719}, - {'name': 'HAP', 'charge': 0.1571150829116664}, - {'name': 'HAQ', 'charge': 0.1571150829116664}, - {'name': 'CAI', 'charge': -0.0020089927963956975}, - {'name': 'HAL', 'charge': 0.1571150829116664}, - {'name': 'HAM', 'charge': 0.1571150829116664}, - {'name': 'OAG', 'charge': -0.6244423460538743}, - {'name': 'CAF', 'charge': -0.002008992796395719}, - {'name': 'HAH', 'charge': 0.1571150829116664}, - {'name': 'HAI', 'charge': 0.1571150829116664}, - {'name': 'CAE', 'charge': -0.0020089927963956975}, - {'name': 'HAF', 'charge': 0.1571150829116664}, - {'name': 'HAG', 'charge': 0.1571150829116664}, - {'name': 'OAD', 'charge': -0.6244423460538743}, - {'name': 'CAC', 'charge': -0.002008992796395719}, - {'name': 'HAE', 'charge': 0.1571150829116664}, - {'name': 'HAD', 'charge': 0.1571150829116664}], - "cyclohexane.mol2": [ - {'name': 'CAA', 'charge': -0.10295775116564801}, - {'name': 'HAA', 'charge': 0.051478875582824005}, - {'name': 'HAB', 'charge': 0.051478875582824005}, - {'name': 'CAB', 'charge': -0.10295775116564801}, - {'name': 'HAC', 'charge': 0.051478875582824005}, - {'name': 'HAD', 'charge': 0.051478875582824005}, - {'name': 'CAC', 'charge': -0.10295775116564801}, - {'name': 'HAE', 'charge': 0.051478875582824005}, - {'name': 'HAF', 'charge': 0.051478875582824005}, - {'name': 'CAF', 'charge': -0.10295775116564801}, - {'name': 'HAK', 'charge': 0.051478875582824005}, - {'name': 'HAL', 'charge': 0.051478875582824005}, - {'name': 'CAE', 'charge': -0.10295775116564801}, - {'name': 'HAI', 'charge': 0.051478875582824005}, - {'name': 'HAJ', 'charge': 0.051478875582824005}, - {'name': 'CAD', 'charge': -0.10295775116564801}, - {'name': 'HAH', 'charge': 0.051478875582824005}, - {'name': 'HAG', 'charge': 0.051478875582824005}], + {'name': 'CAB', 'type': 'C.ar', 'charge': -0.10948195185220932, 'radius': 1.87}, + {'name': 'HAB', 'type': 'H', 'charge': 0.13718781330297145, 'radius': 1.1}, + {'name': 'CAC', 'type': 'C.ar', 'charge': -0.05951797220652635, 'radius': 1.87}, + {'name': 'CAD', 'type': 'C.ar', 'charge': -0.090739817012503, 'radius': 1.87}, + {'name': 'HAD', 'type': 'H', 'charge': 0.14537539214857495, 'radius': 1.1}, + {'name': 'CAE', 'type': 'C.ar', 'charge': -0.05951797220652635, 'radius': 1.87}, + {'name': 'CAF', 'type': 'C.ar', 'charge': -0.10948195185220932, 'radius': 1.87}, + {'name': 'HAF', 'type': 'H', 'charge': 0.13718781330297145, 'radius': 1.1}, + {'name': 'CAG', 'type': 'C.ar', 'charge': -0.1252004685570065, 'radius': 1.87}, + {'name': 'HAG', 'type': 'H', 'charge': 0.12969479174473472, 'radius': 1.1}, + {'name': 'CAN', 'type': 'C.ar', 'charge': -0.1252004685570065, 'radius': 1.87}, + {'name': 'HAN', 'type': 'H', 'charge': 0.12969479174473472, 'radius': 1.1}, + {'name': 'CAM', 'type': 'C.ar', 'charge': -0.10948195185220932, 'radius': 1.87}, + {'name': 'HAM', 'type': 'H', 'charge': 0.13718781330297145, 'radius': 1.1}, + {'name': 'CAL', 'type': 'C.ar', 'charge': -0.05951797220652635, 'radius': 1.87}, + {'name': 'CAK', 'type': 'C.ar', 'charge': -0.090739817012503, 'radius': 1.87}, + {'name': 'HAK', 'type': 'H', 'charge': 0.14537539214857495, 'radius': 1.1}, + {'name': 'CAJ', 'type': 'C.ar', 'charge': -0.05951797220652635, 'radius': 1.87}, + {'name': 'CAI', 'type': 'C.ar', 'charge': -0.10948195185220932, 'radius': 1.87}, + {'name': 'HAI', 'type': 'H', 'charge': 0.13718781330297145, 'radius': 1.1}, + {'name': 'CAH', 'type': 'C.ar', 'charge': -0.1252004685570065, 'radius': 1.87}, + {'name': 'HAH', 'type': 'H', 'charge': 0.12969479174473472, 'radius': 1.1}, + {'name': 'CAA', 'type': 'C.ar', 'charge': -0.1252004685570065, 'radius': 1.87}, + {'name': 'HAA', 'type': 'H', 'charge': 0.12969479174473472, 'radius': 1.1}], + "cyclohexane.mol2": [ + {'name': 'CAA', 'type': 'C.3', 'charge': -0.10295775116564801, 'radius': 1.87}, + {'name': 'HAA', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'HAB', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'CAB', 'type': 'C.3', 'charge': -0.10295775116564801, 'radius': 1.87}, + {'name': 'HAC', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'HAD', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'CAC', 'type': 'C.3', 'charge': -0.10295775116564801, 'radius': 1.87}, + {'name': 'HAE', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'HAF', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'CAF', 'type': 'C.3', 'charge': -0.10295775116564801, 'radius': 1.87}, + {'name': 'HAK', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'HAL', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'CAE', 'type': 'C.3', 'charge': -0.10295775116564801, 'radius': 1.87}, + {'name': 'HAI', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'HAJ', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'CAD', 'type': 'C.3', 'charge': -0.10295775116564801, 'radius': 1.87}, + {'name': 'HAH', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}, + {'name': 'HAG', 'type': 'H', 'charge': 0.051478875582824005, 'radius': 1.1}], "ethanol.mol2": [ - {'name': 'CAA', 'charge': -0.09830853015557071}, - {'name': 'HAA', 'charge': 0.04965533009730527}, - {'name': 'HAB', 'charge': 0.04965533009730527}, - {'name': 'HAC', 'charge': 0.04965533009730527}, - {'name': 'CAB', 'charge': -0.05333201263132795}, - {'name': 'HAD', 'charge': 0.1136006498229285}, - {'name': 'HAE', 'charge': 0.1136006498229285}, - {'name': 'OAC', 'charge': -0.6256712436819194}, - {'name': 'HAF', 'charge': 0.4011444965310452}], + {'name': 'CAA', 'type': 'C.3', 'charge': -0.09830853015557071, 'radius': 1.87}, + {'name': 'HAA', 'type': 'H', 'charge': 0.04965533009730527, 'radius': 1.1}, + {'name': 'HAB', 'type': 'H', 'charge': 0.04965533009730527, 'radius': 1.1}, + {'name': 'HAC', 'type': 'H', 'charge': 0.04965533009730527, 'radius': 1.1}, + {'name': 'CAB', 'type': 'C.3', 'charge': -0.05333201263132795, 'radius': 1.87}, + {'name': 'HAD', 'type': 'H', 'charge': 0.1136006498229285, 'radius': 1.1}, + {'name': 'HAE', 'type': 'H', 'charge': 0.1136006498229285, 'radius': 1.1}, + {'name': 'OAC', 'type': 'O.3', 'charge': -0.6256712436819194, 'radius': 1.52}, + {'name': 'HAF', 'type': 'H', 'charge': 0.4011444965310452, 'radius': 1.1}], "fatty-acid.mol2": [ - {'name': 'OAA', 'charge': -0.6905415761361866}, - {'name': 'CAB', 'charge': 0.09491530638614049}, - {'name': 'OAL', 'charge': -0.6905415761361866}, - {'name': 'CAC', 'charge': 0.012573264939255872}, - {'name': 'HAC', 'charge': 0.11848768797200306}, - {'name': 'HAD', 'charge': 0.11848768797200306}, - {'name': 'CAD', 'charge': -0.07742980670292797}, - {'name': 'HAE', 'charge': 0.06140059278092227}, - {'name': 'HAF', 'charge': 0.06140059278092227}, - {'name': 'CAE', 'charge': -0.076959643935905}, - {'name': 'HAG', 'charge': 0.07285165771612633}, - {'name': 'HAH', 'charge': 0.07285165771612633}, - {'name': 'CAF', 'charge': -0.24236491728150775}, - {'name': 'HAI', 'charge': 0.16485599597989423}, - {'name': 'CAG', 'charge': -0.2426026937449157}, - {'name': 'HAJ', 'charge': 0.1648388876026803}, - {'name': 'CAH', 'charge': -0.07965667787077134}, - {'name': 'HAK', 'charge': 0.07232360507910963}, - {'name': 'HAL', 'charge': 0.07232360507910963}, - {'name': 'CAI', 'charge': -0.09862724378017657}, - {'name': 'HAM', 'charge': 0.05403847507524275}, - {'name': 'HAN', 'charge': 0.05403847507524275}, - {'name': 'CAJ', 'charge': -0.10608184708836539}, - {'name': 'HAO', 'charge': 0.04966180988232633}, - {'name': 'HAP', 'charge': 0.04966180988232633}, - {'name': 'CAK', 'charge': -0.11173869603286389}, - {'name': 'HAR', 'charge': 0.04061118893012504}, - {'name': 'HAS', 'charge': 0.04061118893012504}, - {'name': 'HAQ', 'charge': 0.04061118893012504}], + {'name': 'OAA', 'type': 'O.co2', 'charge': -0.6905415761361866, 'radius': 1.76}, + {'name': 'CAB', 'type': 'C.2', 'charge': 0.09491530638614049, 'radius': 1.87}, + {'name': 'OAL', 'type': 'O.co2', 'charge': -0.6905415761361866, 'radius': 1.76}, + {'name': 'CAC', 'type': 'C.3', 'charge': 0.012573264939255872, 'radius': 1.87}, + {'name': 'HAC', 'type': 'H', 'charge': 0.11848768797200306, 'radius': 1.1}, + {'name': 'HAD', 'type': 'H', 'charge': 0.11848768797200306, 'radius': 1.1}, + {'name': 'CAD', 'type': 'C.3', 'charge': -0.07742980670292797, 'radius': 1.87}, + {'name': 'HAE', 'type': 'H', 'charge': 0.06140059278092227, 'radius': 1.1}, + {'name': 'HAF', 'type': 'H', 'charge': 0.06140059278092227, 'radius': 1.1}, + {'name': 'CAE', 'type': 'C.3', 'charge': -0.076959643935905, 'radius': 1.87}, + {'name': 'HAG', 'type': 'H', 'charge': 0.07285165771612633, 'radius': 1.1}, + {'name': 'HAH', 'type': 'H', 'charge': 0.07285165771612633, 'radius': 1.1}, + {'name': 'CAF', 'type': 'C.2', 'charge': -0.24236491728150775, 'radius': 1.87}, + {'name': 'HAI', 'type': 'H', 'charge': 0.16485599597989423, 'radius': 1.1}, + {'name': 'CAG', 'type': 'C.2', 'charge': -0.2426026937449157, 'radius': 1.87}, + {'name': 'HAJ', 'type': 'H', 'charge': 0.1648388876026803, 'radius': 1.1}, + {'name': 'CAH', 'type': 'C.3', 'charge': -0.07965667787077134, 'radius': 1.87}, + {'name': 'HAK', 'type': 'H', 'charge': 0.07232360507910963, 'radius': 1.1}, + {'name': 'HAL', 'type': 'H', 'charge': 0.07232360507910963, 'radius': 1.1}, + {'name': 'CAI', 'type': 'C.3', 'charge': -0.09862724378017657, 'radius': 1.87}, + {'name': 'HAM', 'type': 'H', 'charge': 0.05403847507524275, 'radius': 1.1}, + {'name': 'HAN', 'type': 'H', 'charge': 0.05403847507524275, 'radius': 1.1}, + {'name': 'CAJ', 'type': 'C.3', 'charge': -0.10608184708836539, 'radius': 1.87}, + {'name': 'HAO', 'type': 'H', 'charge': 0.04966180988232633, 'radius': 1.1}, + {'name': 'HAP', 'type': 'H', 'charge': 0.04966180988232633, 'radius': 1.1}, + {'name': 'CAK', 'type': 'C.3', 'charge': -0.11173869603286389, 'radius': 1.87}, + {'name': 'HAR', 'type': 'H', 'charge': 0.04061118893012504, 'radius': 1.1}, + {'name': 'HAS', 'type': 'H', 'charge': 0.04061118893012504, 'radius': 1.1}, + {'name': 'HAQ', 'type': 'H', 'charge': 0.04061118893012504, 'radius': 1.1}], "glycerol.mol2": [ - {'name': 'OAB', 'charge': -0.6193219106971865}, - {'name': 'HAG', 'charge': 0.4033320347133161}, - {'name': 'CAA', 'charge': -0.025227212803925057}, - {'name': 'HAA', 'charge': 0.1316040991547254}, - {'name': 'HAB', 'charge': 0.1316040991547254}, - {'name': 'CAC', 'charge': -0.00300604112002907}, - {'name': 'HAC', 'charge': 0.16288785945019288}, - {'name': 'OAD', 'charge': -0.6115908338990877}, - {'name': 'HAD', 'charge': 0.4077267965256133}, - {'name': 'CAE', 'charge': -0.025227212803925054}, - {'name': 'HAE', 'charge': 0.1316040991547254}, - {'name': 'HAF', 'charge': 0.1316040991547254}, - {'name': 'OAF', 'charge': -0.6193219106971865}, - {'name': 'HAH', 'charge': 0.4033320347133161}], + {'name': 'OAB', 'type': 'O.3', 'charge': -0.6193219106971865, 'radius': 1.52}, + {'name': 'HAG', 'type': 'H', 'charge': 0.4033320347133161, 'radius': 1.1}, + {'name': 'CAA', 'type': 'C.3', 'charge': -0.025227212803925057, 'radius': 1.87}, + {'name': 'HAA', 'type': 'H', 'charge': 0.1316040991547254, 'radius': 1.1}, + {'name': 'HAB', 'type': 'H', 'charge': 0.1316040991547254, 'radius': 1.1}, + {'name': 'CAC', 'type': 'C.3', 'charge': -0.00300604112002907, 'radius': 1.87}, + {'name': 'HAC', 'type': 'H', 'charge': 0.16288785945019288, 'radius': 1.1}, + {'name': 'OAD', 'type': 'O.3', 'charge': -0.6115908338990877, 'radius': 1.52}, + {'name': 'HAD', 'type': 'H', 'charge': 0.4077267965256133, 'radius': 1.1}, + {'name': 'CAE', 'type': 'C.3', 'charge': -0.025227212803925054, 'radius': 1.87}, + {'name': 'HAE', 'type': 'H', 'charge': 0.1316040991547254, 'radius': 1.1}, + {'name': 'HAF', 'type': 'H', 'charge': 0.1316040991547254, 'radius': 1.1}, + {'name': 'OAF', 'type': 'O.3', 'charge': -0.6193219106971865, 'radius': 1.52}, + {'name': 'HAH', 'type': 'H', 'charge': 0.4033320347133161, 'radius': 1.1}], "naphthalene.mol2": [ - {'name': 'CAB', 'charge': -0.10985826436427909}, - {'name': 'HAB', 'charge': 0.13714843913419308}, - {'name': 'CAC', 'charge': -0.06352790423000582}, - {'name': 'CAD', 'charge': -0.10985826436427909}, - {'name': 'HAD', 'charge': 0.13714843913419308}, - {'name': 'CAE', 'charge': -0.12522022371734542}, - {'name': 'HAE', 'charge': 0.1296940010624343}, - {'name': 'CAJ', 'charge': -0.12522022371734542}, - {'name': 'HAJ', 'charge': 0.1296940010624343}, - {'name': 'CAI', 'charge': -0.10985826436427909}, - {'name': 'HAI', 'charge': 0.13714843913419308}, - {'name': 'CAH', 'charge': -0.06352790423000582}, - {'name': 'CAG', 'charge': -0.10985826436427909}, - {'name': 'HAG', 'charge': 0.13714843913419308}, - {'name': 'CAF', 'charge': -0.12522022371734542}, - {'name': 'HAF', 'charge': 0.1296940010624343}, - {'name': 'CAA', 'charge': -0.12522022371734542}, - {'name': 'HAA', 'charge': 0.1296940010624343}], + {'name': 'CAB', 'type': 'C.ar', 'charge': -0.10985826436427909, 'radius': 1.87}, + {'name': 'HAB', 'type': 'H', 'charge': 0.13714843913419308, 'radius': 1.1}, + {'name': 'CAC', 'type': 'C.ar', 'charge': -0.06352790423000582, 'radius': 1.87}, + {'name': 'CAD', 'type': 'C.ar', 'charge': -0.10985826436427909, 'radius': 1.87}, + {'name': 'HAD', 'type': 'H', 'charge': 0.13714843913419308, 'radius': 1.1}, + {'name': 'CAE', 'type': 'C.ar', 'charge': -0.12522022371734542, 'radius': 1.87}, + {'name': 'HAE', 'type': 'H', 'charge': 0.1296940010624343, 'radius': 1.1}, + {'name': 'CAJ', 'type': 'C.ar', 'charge': -0.12522022371734542, 'radius': 1.87}, + {'name': 'HAJ', 'type': 'H', 'charge': 0.1296940010624343, 'radius': 1.1}, + {'name': 'CAI', 'type': 'C.ar', 'charge': -0.10985826436427909, 'radius': 1.87}, + {'name': 'HAI', 'type': 'H', 'charge': 0.13714843913419308, 'radius': 1.1}, + {'name': 'CAH', 'type': 'C.ar', 'charge': -0.06352790423000582, 'radius': 1.87}, + {'name': 'CAG', 'type': 'C.ar', 'charge': -0.10985826436427909, 'radius': 1.87}, + {'name': 'HAG', 'type': 'H', 'charge': 0.13714843913419308, 'radius': 1.1}, + {'name': 'CAF', 'type': 'C.ar', 'charge': -0.12522022371734542, 'radius': 1.87}, + {'name': 'HAF', 'type': 'H', 'charge': 0.1296940010624343, 'radius': 1.1}, + {'name': 'CAA', 'type': 'C.ar', 'charge': -0.12522022371734542, 'radius': 1.87}, + {'name': 'HAA', 'type': 'H', 'charge': 0.1296940010624343, 'radius': 1.1}], "pyrrole.mol2": [ - {'name': 'CAE', 'charge': -0.02725132001441914}, - {'name': 'HAE', 'charge': 0.104834463409739}, - {'name': 'HAF', 'charge': 0.104834463409739}, - {'name': 'CAD', 'charge': -0.19753848158167037}, - {'name': 'HAD', 'charge': 0.18534981863154645}, - {'name': 'CAA', 'charge': -0.1112561716335608}, - {'name': 'HAA', 'charge': 0.2699321111667989}, - {'name': 'NAB', 'charge': -0.44475473234270757}, - {'name': 'CAC', 'charge': -0.13358085588726296}, - {'name': 'HAC', 'charge': 0.24943070484179752}], + {'name': 'CAE', 'type': 'C.3', 'charge': -0.02725132001441914, 'radius': 1.87}, + {'name': 'HAE', 'type': 'H', 'charge': 0.104834463409739, 'radius': 1.1}, + {'name': 'HAF', 'type': 'H', 'charge': 0.104834463409739, 'radius': 1.1}, + {'name': 'CAD', 'type': 'C.2', 'charge': -0.19753848158167037, 'radius': 1.87}, + {'name': 'HAD', 'type': 'H', 'charge': 0.18534981863154645, 'radius': 1.1}, + {'name': 'CAA', 'type': 'C.2', 'charge': -0.1112561716335608, 'radius': 1.87}, + {'name': 'HAA', 'type': 'H', 'charge': 0.2699321111667989, 'radius': 1.1}, + {'name': 'NAB', 'type': 'N.2', 'charge': -0.44475473234270757, 'radius': 1.4}, + {'name': 'CAC', 'type': 'C.2', 'charge': -0.13358085588726296, 'radius': 1.87}, + {'name': 'HAC', 'type': 'H', 'charge': 0.24943070484179752, 'radius': 1.1}], "tetramethylammonium.mol2": [ - {'name': 'CAA', 'charge': 0.013840200623221964}, - {'name': 'HAA', 'charge': 0.12997929051575582}, - {'name': 'HAB', 'charge': 0.12997929051575582}, - {'name': 'HAC', 'charge': 0.12997929051575582}, - {'name': 'NAC', 'charge': -0.6151122886819584}, - {'name': 'CAB', 'charge': 0.013840200623221978}, - {'name': 'HAE', 'charge': 0.12997929051575582}, - {'name': 'HAF', 'charge': 0.12997929051575582}, - {'name': 'HAD', 'charge': 0.12997929051575582}, - {'name': 'CAE', 'charge': 0.013840200623221978}, - {'name': 'HAK', 'charge': 0.12997929051575582}, - {'name': 'HAL', 'charge': 0.12997929051575582}, - {'name': 'HAJ', 'charge': 0.12997929051575582}, - {'name': 'CAD', 'charge': 0.013840200623221978}, - {'name': 'HAH', 'charge': 0.12997929051575582}, - {'name': 'HAI', 'charge': 0.12997929051575582}, - {'name': 'HAG', 'charge': 0.12997929051575582}] + {'name': 'CAA', 'type': 'C.3', 'charge': 0.013840200623221964, 'radius': 1.87}, + {'name': 'HAA', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'HAB', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'HAC', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'NAC', 'type': 'N.3', 'charge': -0.6151122886819584, 'radius': 1.4}, + {'name': 'CAB', 'type': 'C.3', 'charge': 0.013840200623221978, 'radius': 1.87}, + {'name': 'HAE', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'HAF', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'HAD', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'CAE', 'type': 'C.3', 'charge': 0.013840200623221978, 'radius': 1.87}, + {'name': 'HAK', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'HAL', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'HAJ', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'CAD', 'type': 'C.3', 'charge': 0.013840200623221978, 'radius': 1.87}, + {'name': 'HAH', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'HAI', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}, + {'name': 'HAG', 'type': 'H', 'charge': 0.12997929051575582, 'radius': 1.1}] } diff --git a/pdb2pqr/tests/ligand_test.py b/pdb2pqr/tests/ligand_test.py index 83291a06a..46bd6319b 100644 --- a/pdb2pqr/tests/ligand_test.py +++ b/pdb2pqr/tests/ligand_test.py @@ -5,15 +5,15 @@ from pathlib import Path import pytest import pandas as pd from numpy.testing import assert_almost_equal -from pdb2pqr.ligand import parameterize +from pdb2pqr.ligand.mol2 import Mol2Molecule +from pdb2pqr.ligand import RADII import common from ligand_results import TORSION_RESULTS, RING_RESULTS -from ligand_results import FORMAL_CHARGE_RESULTS, PARTIAL_CHARGE_RESULTS +from ligand_results import FORMAL_CHARGE_RESULTS, PARAMETER_RESULTS _LOGGER = logging.getLogger(__name__) _LOGGER.warning("Need functional and regression test coverage for --ligand") -_LOGGER.error("Still haven't figured out radii") ALL_LIGANDS = set(TORSION_RESULTS) | set(RING_RESULTS) @@ -24,46 +24,44 @@ ALL_LIGANDS = sorted(list(ALL_LIGANDS)) @pytest.mark.parametrize("input_mol2", ALL_LIGANDS) -def test_parameterization(input_mol2): +def test_assign_parameters(input_mol2): """Testing basic aspects of code breaking.""" - ligand = parameterize.ParameterizedMolecule() + ligand = Mol2Molecule() mol2_path = Path("tests/data") / input_mol2 with open(mol2_path, "rt") as mol2_file: ligand.read(mol2_file) old_total_charge = 0 for atom in ligand.atoms.values(): - atom.charge = atom.formal_charge - old_total_charge += atom.charge - atom.old_charge = atom.charge - ligand.update(ligand) + old_total_charge += atom.formal_charge + ligand.assign_parameters() new_total_charge = 0 test_results = [] for atom in ligand.atoms.values(): test_row = { - "name": atom.name, "charge": atom.charge} + "name": atom.name, "type": atom.type, "charge": atom.charge, + "radius": atom.radius} test_results.append(test_row) new_total_charge += atom.charge _LOGGER.debug("Test results: %s", test_results) test_results = pd.DataFrame(test_results) test_results = test_results.set_index("name") - _LOGGER.debug("Test results:\n%s", test_results) + # _LOGGER.debug("Test results:\n%s", test_results.to_string()) _LOGGER.info( "Total charge: %5.2f -> %5.2f", old_total_charge, new_total_charge) - expected_results = pd.DataFrame(PARTIAL_CHARGE_RESULTS[input_mol2]) + expected_results = pd.DataFrame(PARAMETER_RESULTS[input_mol2]) expected_results = expected_results.set_index("name") - diff_results = test_results - expected_results - _LOGGER.debug( - "Difference between test and expected results:\n%s", - diff_results.to_string()) assert_almost_equal( test_results["charge"].to_numpy(), expected_results["charge"].to_numpy()) + assert_almost_equal( + test_results["radius"].to_numpy(), + expected_results["radius"].to_numpy(), verbose=True) @pytest.mark.parametrize("input_mol2", ALL_LIGANDS) def test_formal_charge(input_mol2): """Testing formal charge calculation.""" - ligand = parameterize.ParameterizedMolecule() + ligand = Mol2Molecule() mol2_path = Path("tests/data") / input_mol2 with open(mol2_path, "rt") as mol2_file: ligand.read(mol2_file) @@ -91,7 +89,7 @@ def test_formal_charge(input_mol2): @pytest.mark.parametrize("input_mol2", TORSION_RESULTS) def test_torsions(input_mol2): """Test assignment of torsion angles.""" - ligand = parameterize.ParameterizedMolecule() + ligand = Mol2Molecule() mol2_path = Path("tests/data") / input_mol2 with open(mol2_path, "rt") as mol2_file: ligand.read(mol2_file) @@ -125,7 +123,7 @@ def test_torsions(input_mol2): @pytest.mark.parametrize("input_mol2", ALL_LIGANDS) def test_rings(input_mol2): """Test assignment of torsion angles.""" - ligand = parameterize.ParameterizedMolecule() + ligand = Mol2Molecule() mol2_path = Path("tests/data") / input_mol2 with open(mol2_path, "rt") as mol2_file: ligand.read(mol2_file)