schrodinger.structutils.interactions.salt_bridge module¶
Find salt-bridge interactions.
Examples¶
Find all salt bridge interactions within a protein:
st = structure.Structure.read("protein.mae.gz")
for atom1, atom2 in get_salt_bridges(st):
print(f"Salt bridge between atoms {atom1.index} and {atom2.index}")
Find all salt bridges within a single protein chain:
st = structure.Structure.read("protein.mae.gz")
atoms = st.chain["C"].getAtomIndices()
for atom1, atom2 in get_salt_bridges(st, atoms):
print(f"Salt bridge between atoms {atom1.index} and {atom2.index}")
Find all salt bridges between a protein and a ligand:
with StructureReader("protein_and_ligand.mae.gz") as reader:
prot, lib = reader
for atom1, atom2 in get_salt_bridges(prot, struc2=lig):
print(f"Salt bridge between atoms {atom1.index} and {atom2.index}")
- class schrodinger.structutils.interactions.salt_bridge.OrderBy(value)¶
Bases:
enum.Enum
An enumeration.
- AnionCation = 1¶
- InputOrder = 2¶
- schrodinger.structutils.interactions.salt_bridge.get_salt_bridges(struc1, group1=None, struc2=None, group2=None, cutoff=5, order_by=OrderBy.AnionCation)¶
Calculate all salt bridges within or between the specified atoms. If struc2 or group2 are given, then this function will return salt bridges between the two structures/groups of atoms. If neither struc2 nor group2 are given, then this function will return salt bridges within a single structure/group of atoms.
- Parameters
struc1 (
schrodinger.structure.Structure
) – The structure to analyzegroup1 (list) – The list of atom indices in
struc1
to analyze. If not given, all atoms in struc1 will be analyzed.struc2 (
schrodinger.structure.Structure
) – The second structure to analyze. Ifgroup2
is given butstruc2
is not, thenstruc1
will be used.group2 (list) – The list of atom indices in
struc2
to analyze. Ifstruc2
is given butgroup2
is not, then all atoms instruc2
will be analyzed.cutoff (float) – The maximum distance allowed for salt bridges
order_by (
OrderBy
) – How the returned salt bridge atom should be ordered. IfOrderBy.AnionCation
, then each salt bridge will be returned as a tuple of (anion atom, cation atom). IfOrderBy.InputOrder
, then each salt bridge will be returned as a tuple of (atom from struc1/group1, atom from struc2/group2).
- Returns
A list of salt bridges, where each salt bridge is represented by a tuple of two
schrodinger.structure._StructureAtom
objects.- Return type
list
- schrodinger.structutils.interactions.salt_bridge.get_salt_bridge_params(cutoff: Optional[float] = None) structure.SaltBridgeParams ¶
Return salt bridge
SaltBridgeParams
object with the given criteria. :param cutoff: Seeget_salt_bridges
. :return:SaltBridgeParams
with the given salt bridge criteria.