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: schrodinger.application.bioluminate.interaction_calculator._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