schrodinger.application.bioluminate.interaction_calculator module

This module defines the InteractionCalculator class, which can be used for finding interactions between two groups of atoms.

schrodinger.application.bioluminate.interaction_calculator.approx_eq(val1, val2)
schrodinger.application.bioluminate.interaction_calculator.lipophilic_ChemScore_value(atom1, atom2, distance=None, cutoff=None)

Calculates a lipophilic score between an atom pair utilizing their van der Waals radii. An optional argument is available to avoid computation of the iter-atom distance within the function. The empirical function form is adopted from ChemScore:

Empirical scoring functions: I. The development of a fast empirical scoring function to estimate the binding affinity of ligands in receptor complexes. Eldridge, Murray, Auton, Paolini, and Mee. JCAMD, 1997 (11).

Parameters:
  • atom1 (structure.StructureAtom) – first atom (usually a lipophilic ligand atom)

  • atom2 (structure.StructureAtom) – second atom (usually a lipophilic receptor atom)

  • distance (float) – inter-atom distance

  • cutoff (float) – distance beyond which to always return 0.0

Returns:

emperical function value

Return type:

float

class schrodinger.application.bioluminate.interaction_calculator.InteractionParams

Bases: object

A class to store settings for interaction parameters

__init__()

Initialize the class using the default param

paramDict()

Return a dictionary of all interaction parameters. Note that changes to this dictionary will change the instance variables as well.

Returns:

A dictionary of all interaction parameters

Return type:

dict

class schrodinger.application.bioluminate.interaction_calculator.ResTuple(res)

Bases: _ResTuple

A class to store a residue. Unlike schrodinger.structure._Residue, two ResTuple objects that describe the same residue are equal (and their hashes are equal). This class will also strip spaces from inscode and pdbres.

classmethod init(*args, **kwargs)

Initialize a class instance directly instead of from a _Residue object. This function allows for the output of __repr__() to be evaluated and is intended for use in testing.

Returns:

The initialized instance

Return type:

ResTuple

class schrodinger.application.bioluminate.interaction_calculator.Interactions

Bases: object

Store data about all the interactions made by a single residue

H_BOND = 'hb'
PI_STACK = 'pi stack'
SALT_BRIDGE = 'salt bridge'
CLASH = 'clash'
DISULFIDE = 's-s'
__init__()

Initialize an instance of this class with 0 interactions

classmethod init(**kwargs)

Initialize a class instance from existing interaction dictionaries. This function allows for the output of __repr__() to be evaluated and is intended for use in testing.

Returns:

The initialized instance

Return type:

Interactions

numHbonds()

Return the number of hydrogen bonds

Returns:

The number of hydrogen bonds

Return type:

int

numPiStacks()

Return the number of pi stacks

Returns:

The number of pi stacks

Return type:

int

numSaltBridges()

Return the number of salt bridges

Returns:

The number of salt bridges

Return type:

int

numDisulfides()

Return the number of disulfide bonds

Returns:

The number of disulfide bonds

Return type:

int

numClashs()

Return the number of steric clashes

Returns:

The number of steric clashes

Return type:

int

numSpecificInteractions()

Return the total number of specific interactions (i.e. ignoring non- specific interactions such as buried SASA)

Returns:

The total number of specific interactions

Return type:

int

allInteractingResidues()

Return a list of all residues that this one interacts with (not counting nearby residues)

Returns:

A set of ResTuple objects

Return type:

set

interactionSummary()

Create the interaction summary to display in the specific interactions column.

Returns:

The interaction summary

Return type:

str

nearbyRes()

Return the nearby residues

Returns:

A tuple of - The nearby residues (as strings), sorted by distance - The sorted residue distances (floats)

Return type:

tuple

class schrodinger.application.bioluminate.interaction_calculator.InteractingResidue(res, interactions)

Bases: object

Store information about a residue and the interactions it makes

__init__(res, interactions)

Initialize an instance from existing ResTuple and Interactions objects

Parameters:
class schrodinger.application.bioluminate.interaction_calculator.InteractionCalculator(interaction_params=<schrodinger.application.bioluminate.interaction_calculator.InteractionParams object>, ignore_backbone=False)

Bases: object

Calculate all interactions between two groups of atoms

__init__(interaction_params=<schrodinger.application.bioluminate.interaction_calculator.InteractionParams object>, ignore_backbone=False)

Initialize an instance of the class using the specified parameters

Parameters:
  • interaction_params (interaction_calculator.InteractionParams) – The interaction parameters

  • ignore_backbone (bool) – Should the calculations ignore backbone-backbone interactions?

calculate(struc, asl_expressions)

Calculate all interactions

Parameters:
  • struc (schrodinger.structure.Structure) – The structure to analyze

  • asl_expressions (list of string) – A list of [asl_expresion for group 1, asl expression for group2]

compileOneToManyResults()

Compile all of the calculated interactions into a list of InteractingResidue objects. Each InteractionResidue object is a combined representation of all nearby interacting residues.

Returns:

A list of InteractingResidue objects, sorted by residue

Return type:

list

compileOneToOneResults()

Compile all of the calculated interactions into a list of InteractingResidue objects. Each InteractionResidue object should only store interaction data of a single nearby residue.

Returns:

List of individual InteractionResidue objects.

Return type:

list[InteractionResidue]

classmethod run(struc, asl_expressions, interaction_params=<schrodinger.application.bioluminate.interaction_calculator.InteractionParams object>, ignore_backbone=False, one_to_one_interactions=False)

A convenience function to initialize this class, calculate all interactions, and return the compiled results.

Parameters:
  • struc (schrodinger.structure.Structure) – The structure to analyze

  • asl_expressions (list of string) – A list of [asl_expresion for group 1, asl expression for group2]

  • interaction_params (interaction_calculator.InteractionParams) – The interaction parameters

  • ignore_backbone (bool) – Should the calculations ignore backbone-backbone interactions?

  • one_to_one_interactions (bool) – Whether to return a compiled one to one mapping or one to many mapping of interacting residues.

Returns:

A list of InteractingResidue objects describing all calculated interactions, sorted by residue

Return type:

list

class schrodinger.application.bioluminate.interaction_calculator.PiStackFinder(max_stack_dist=4.0)

Bases: object

Find pi-pi interactions in proteins

Variables:

NON_AROMATIC_RES (set) – A set of residue types that don’t contain aromatic side chains

NON_AROMATIC_RES = {'ALA', 'ARG', 'ASN', 'ASP', 'CYS', 'GLN', 'GLU', 'GLY', 'ILE', 'LEU', 'LYS', 'MET', 'PRO', 'SER', 'THR', 'VAL'}
__init__(max_stack_dist=4.0)

Initialize a new object using the specified interaction cutoffs

Parameters:

max_stack_dist (float) – The maximum distance between two ring centroids allowed for face-face interactions.

classmethod createIter(struc, group_strucs, max_stack_dist=4.0)

A convenience function to initalize the class and return an iterator

Parameters:
  • struc (schrodinger.structure.Structure) – The structure being analyzed

  • group_strucs (list) – A list of [Structure object for group 1, Structure object for group 2]

  • max_stack_dist (float) – The maximum distance between two ring centroids allowed for face-face interactions.

Returns:

An iterator that produces tuples of two atom number lists, representing (the ring atoms from group 1 involved in the stacking, the ring atoms from group 2 involved in the stacking

Return type:

iter

piStacksIterator(struc, group_strucs)

Create an iterator that iterates through all pi stacking between two groups of atoms

Parameters:
  • struc (schrodinger.structure.Structure) – The structure being analyzed

  • group_strucs (list) – A list of [Structure object for group 1, Structure object for group 2]

Returns:

An iterator that produces tuples of two atom number lists, representing (the ring atoms from group 1 involved in the stacking, the ring atoms from group 2 involved in the stacking

Return type:

iter

exception schrodinger.application.bioluminate.interaction_calculator.InteractionCalculatorError

Bases: Exception

An error that happens during InteractionCalculator calculations