polymerist.mdtools.openfftools.partialcharge.rescharge
Tools for handling library charges, both for computing from and applying to Molecules
Submodules
Classes
Charger class for applying library charges onto residue-mapped Molecules |
|
Class for storing substructure charge maps by residue |
|
Dataclass for more conveniently storing averaged charges for a residue group |
|
Interface for defining how any excess charge should be distributed within residues to ensure a given overall net charge |
|
Simplest possible strategy, distribute any excess charge in a residue according to a uniform distribution (spread evenly) |
Functions
|
Determine names and smallest residue numbers of all unique residues in charged molecule |
Takes a charged molecule and a collection of monomer-spec SMARTS and generates monomer-averages library charges for each repeating residue |
|
|
Takes an OpenFF Molecule and a residue-wise map of averaged partial charges and applies the mapped charges to the Molecule |
Package Contents
- polymerist.mdtools.openfftools.partialcharge.rescharge.find_repr_residues(offmol: openff.toolkit.topology.molecule.Molecule) dict[str, int][source]
Determine names and smallest residue numbers of all unique residues in charged molecule Used as representatives for generating labelled SMARTS strings
- polymerist.mdtools.openfftools.partialcharge.rescharge.compute_residue_charges(cmol: openff.toolkit.topology.molecule.Molecule, monomer_group: polymerist.polymers.monomers.repr.MonomerGroup, cds: polymerist.mdtools.openfftools.partialcharge.rescharge.redistribution.ChargeRedistributionStrategy | None = UniformDistributionStrategy(desired_net_charge=0.0)) polymerist.mdtools.openfftools.partialcharge.rescharge.rctypes.ChargesByResidue[source]
Takes a charged molecule and a collection of monomer-spec SMARTS and generates monomer-averages library charges for each repeating residue Can optionally specify a strategy for redistributing any excess charge (by default, will ensure charges are neutral)
Returns a ChargesByRresidue object containing a dict of mapped residue charges keyed by residue name
- polymerist.mdtools.openfftools.partialcharge.rescharge.apply_residue_charges(offmol: openff.toolkit.topology.molecule.Molecule, chgs_by_res: polymerist.mdtools.openfftools.partialcharge.rescharge.rctypes.ChargesByResidue) None[source]
Takes an OpenFF Molecule and a residue-wise map of averaged partial charges and applies the mapped charges to the Molecule
- class polymerist.mdtools.openfftools.partialcharge.rescharge.LibraryCharger[source]
Bases:
polymerist.mdtools.openfftools.partialcharge.molchargers.MolChargerCharger class for applying library charges onto residue-mapped Molecules
- charges_by_residue: polymerist.mdtools.openfftools.partialcharge.rescharge.rctypes.ChargesByResidue
- class polymerist.mdtools.openfftools.partialcharge.rescharge.ChargesByResidue[source]
Class for storing substructure charge maps by residue
- charges: dict[str, ChargeMap]
- class polymerist.mdtools.openfftools.partialcharge.rescharge.ChargedResidue[source]
Dataclass for more conveniently storing averaged charges for a residue group
- charges: ChargeMap
- residue_name: str
- SMARTS: str
- mol_fragment: rdkit.Chem.rdchem.Mol
- class polymerist.mdtools.openfftools.partialcharge.rescharge.ChargeRedistributionStrategy[source]
Bases:
abc.ABCInterface for defining how any excess charge should be distributed within residues to ensure a given overall net charge
- desired_net_charge: float = 0.0
- redistributed_charges(base_charges: polymerist.mdtools.openfftools.partialcharge.rescharge.rctypes.ChargeMap, fragment: rdkit.Chem.Mol) polymerist.mdtools.openfftools.partialcharge.rescharge.rctypes.ChargeMap[source]
Take a map of base charges and a structural fragment for a residue and a desired net charge (typically neutral, i.e. 0) and return a new charge map with the excess/deficit charge distributed in such a way as to make the residue have the desired net charge
- class polymerist.mdtools.openfftools.partialcharge.rescharge.UniformDistributionStrategy[source]
Bases:
ChargeRedistributionStrategySimplest possible strategy, distribute any excess charge in a residue according to a uniform distribution (spread evenly)