schrodinger.structutils.interactionfp module

Calculate structural interaction fingerprints.

The fingerprints are similar to those described in Deng et al, J. Med Chem (2004), 47, 337.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.structutils.interactionfp.StructuralInteractionFingerprintGenerator

Bases: object

A class which generates Structural Interaction Fingerprints. Based on the work described in: J. Med. Chem., 47 (2), 337-344, 2004. ‘Structural Interaction Fingerprint (SIFt): A Novel Method for Analyzing Three-Dimensional Protein-Ligand Binding Interactions’

ACCEPTOR_POS = 5
ANY_CONTACT = 'Any Contact'
AROMATIC_POS = 7
AROMATIC_RESIDUE = 'Aromatic Residue'
AROMATIC_RESIDUES = 'res. PHE, TYR, TRP, TYO'
BACKBONE_INTERACTION = 'Backbone Interaction'
BACKBONE_POS = 1
CHARGED_POS = 8
CHARGED_RESIDUE = 'Charged Residue'
CHARGED_RESIDUES = 'res. ARG, ASP, GLU, LYS, HIP, CYT, SRO, TYO, THO'
CONTACT_POS = 0
DONOR_POS = 6
HYDROGEN_BOND_ACCEPTOR = 'Hydrogen Bond Acceptor'
HYDROGEN_BOND_DONOR = 'Hydrogen Bond Donor'
HYDROPHOBIC_POS = 4
HYDROPHOBIC_RESIDUE = 'Hydrophobic Residues'
HYDROPHOBIC_RESIDUES = 'res. PHE, LEU, ILE, TYR, TRP, VAL, MET, PRO, CYS, ALA, CYX'
INTERACTION_NAMES = ['Any Contact', 'Backbone Interaction', 'Sidechain Interaction', 'Polar Residues', 'Hydrophobic Residues', 'Hydrogen Bond Acceptor', 'Hydrogen Bond Donor', 'Aromatic Residue', 'Charged Residue']
NUM_BITS_PER_RESIDUE = 9
POLAR_POS = 3
POLAR_RESIDUE = 'Polar Residues'
POLAR_RESIDUES = 'res. ARG, ASP, GLU, HIS, ASN, GLN, LYS, SER, THR, ARN, ASH, GLH, HID, HIE, LYN'
SIDECHAIN_INTERACTION = 'Sidechain Interaction'
SIDECHAIN_POS = 2
generateFingerprint(ligand, id, receptor_region, ligand_title=None, nonpolar_hydrogens=False)

Generate a structural interaction fingerprint for the given ligand with id. The receptor_region parameter is a list of receptor atom numbers corresponding to the receptor residues that are to be considered as interacting with the ligand. No other residues will be considered (their bits in the fingerprint will all be 0). If receptor_region is None then it will be calculated automatically

The fingerprints generated are stored in internal lists and can be accessed via other methods (or written to disk ).

Parameters:
  • ligand (Structure class object) – the ligand structure to calculate fingerprints for
  • id (str) – the entry id of the ligand in the project table
  • receptor_region (None or list) – custom list of atoms in the receptor site. If None or empty list, the receptor set in setReceptorStructure() will be used.
  • ligand_title (str) – the name of the ligand being calculated
  • nonpolar_hydrogens (boolean) – True if nonpolar hydrogens should be included in the calculation, False if not.
getFingerprintString(ligand_index, residue_index)

Returns a string which summarizes the interactions between between ligand ‘ligand_index’ and residue ‘residue_index’

getInteractionMatrix(which_interaction)

Returns a tuple containing: i) matrix of 0s and 1s for the specified interaction. The matrix is only generated between the first and last residue which had an interaction with any ligand 2) An array of length N where each element is the total number of bits turned on across all ligands the current interaction and N is the number of residues which have an interaction 3) An array of length M where each element is the number of bits turned on for the i’th ligand across all residues and M is the number of Ligands

Returns None, None, None if no interactions were found.

getLigandID(idx)

Return the ID for the idx’th ligand

getLigandTitle(idx)

Returns the title for the idx’th ligand (if it exists)

getMaxRes()

Return the last residue index for which an interaction is detected

getMinRes()

Return the first residue index for which an interaction is detected

getReceptorID()

Returns the ID (usually an entry ID) associated with the structure

getResidueID(idx)

Return the ID for the idx’th residue

getResidueType(idx)

Returns the PDB residue type for the idx’th residue

reset()

Clear all the lists of fingerprints and associated data

setHbondParameters(dist, donor_angle, acceptor_angle)

Set the hydrogen bonding parameters, maximum distance, minimum donor angle and mi mum acceptor angle

setIncludeAcceptor(include)

Set whether we will include the hydrogen bond acceptor contact bit

setIncludeAromatic(include)

Set whether we will include the aromatic residue contact bit

setIncludeBackbone(include)

Set whether we will include the backbone contact bit

setIncludeCharged(include)

Set whether we will include the charged residue contact bit

setIncludeContact(include)

Set whether we will include the generalized contact bit

setIncludeDonor(include)

Set whether we will include the hydrogen bond donor contact bit

setIncludeHydrophobic(include)

Set whether we will include the hydrophobic residue contact bit

setIncludePolar(include)

Set whether we will include the polar residue contact bit

setIncludeSidechain(include)

Set whether we will include the side-chain contact bit

setInteractionCutoff(cutoff=4.0, h_cutoff=2.5)

Sets the maximum interaction cutoff. No atom interactions beyond this distance will be counted

setReceptorStructure(receptor_st, id)

Set the structure to be treated as the receptor and setup some lists and sets of atoms we’ll use in calculating subsequent interactions:

writeCSVFile(file_name, all_props=False, for_binaryFP=False)

Write the stored fingerprints to a CSV file given by file_name

Parameters:
  • all_props (bool) – Whether to also export all CT-level properties.
  • for_binaryFP – Whether to add “BIT” prefix to the binary column headers.
Bype for_binaryFP:
 

bool

writeFPFile(file_name, all_props=False)

Write the stored fingerprints to a Canvas FP file given by ‘file_name’

Parameters:all_props (bool) – Whether to also export all CT-level properties.
schrodinger.structutils.interactionfp.chm_sparse_bitset_from_string(on_string)

Convert the on_string to a canvas fingerprint

Parameters:on_string (str) – ‘,’ or ‘ ‘ separated string of keys whose bits should be set
Returns:finger print bitset
Return type:canvas.ChmSparseBitset