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)[source]
schrodinger.application.bioluminate.interaction_calculator.lipophilic_ChemScore_value(atom1, atom2, distance=None, cutoff=None)[source]

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[source]

Bases: object

A class to store settings for interaction parameters

__init__()[source]

Initialize the class using the default param

paramDict()[source]

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)[source]

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)[source]

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

__contains__(key, /)

Return key in self.

__len__()

Return len(self).

chain

Alias for field number 0

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

inscode

Alias for field number 2

pdbres

Alias for field number 3

resnum

Alias for field number 1

class schrodinger.application.bioluminate.interaction_calculator.Interactions[source]

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__()[source]

Initialize an instance of this class with 0 interactions

classmethod init(**kwargs)[source]

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()[source]

Return the number of hydrogen bonds

Returns

The number of hydrogen bonds

Return type

int

numPiStacks()[source]

Return the number of pi stacks

Returns

The number of pi stacks

Return type

int

numSaltBridges()[source]

Return the number of salt bridges

Returns

The number of salt bridges

Return type

int

numDisulfides()[source]

Return the number of disulfide bonds

Returns

The number of disulfide bonds

Return type

int

numClashs()[source]

Return the number of steric clashes

Returns

The number of steric clashes

Return type

int

numSpecificInteractions()[source]

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()[source]

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()[source]

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

Returns

The interaction summary

Return type

str

nearbyRes()[source]

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)[source]

Bases: object

Store information about a residue and the interactions it makes

__init__(res, interactions)[source]

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)[source]

Bases: object

Calculate all interactions between two groups of atoms

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

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)[source]

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()[source]

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()[source]

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)[source]

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)[source]

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)[source]

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)[source]

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)[source]

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[source]

Bases: Exception

An error that happens during InteractionCalculator calculations

__init__(*args, **kwargs)
args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.