Package schrodinger :: Package structutils :: Module interactionfp :: Class StructuralInteractionFingerprintGenerator
[hide private]
[frames] | no frames]

Class StructuralInteractionFingerprintGenerator

object --+
         |
        StructuralInteractionFingerprintGenerator

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'

Instance Methods [hide private]
 
__init__(self)
Constructor - no args
 
reset(self)
Clear all the lists of fingerprints and associated data
 
setHbondParameters(self, dist, donor_angle, acceptor_angle)
Set the hydrogen bonding parameters, maximum distance, minimum donor angle and mi mum acceptor angle
 
setInteractionCutoff(self, cutoff=4.0, h_cutoff=2.5)
Sets the maximum interaction cutoff.
 
setIncludeContact(self, include)
Set whether we will include the generalized contact bit
 
setIncludeBackbone(self, include)
Set whether we will include the backbone contact bit
 
setIncludeSidechain(self, include)
Set whether we will include the side-chain contact bit
 
setIncludePolar(self, include)
Set whether we will include the polar residue contact bit
 
setIncludeHydrophobic(self, include)
Set whether we will include the hydrophobic residue contact bit
 
setIncludeAcceptor(self, include)
Set whether we will include the hydrogen bond acceptor contact bit
 
setIncludeDonor(self, include)
Set whether we will include the hydrogen bond donor contact bit
 
setIncludeCharged(self, include)
Set whether we will include the charged residue contact bit
 
setIncludeAromatic(self, include)
Set whether we will include the aromatic residue contact bit
 
getMinRes(self)
Return the first residue index for which an interaction is detected
 
getMaxRes(self)
Return the last residue index for which an interaction is detected
 
getLigandID(self, idx)
Return the ID for the idx'th ligand
 
getLigandTitle(self, idx)
Returns the title for the idx'th ligand (if it exists)
 
getResidueType(self, idx)
Returns the PDB residue type for the idx'th residue
 
getResidueID(self, idx)
Return the ID for the idx'th residue
 
getReceptorID(self)
Returns the ID (usually an entry ID) associated with the structure
 
setReceptorStructure(self, 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:
 
generateFingerprint(self, ligand, id, receptor_region, ligand_title=None, nonpolar_hydrogens=False)
Generate a structural interaction fingerprint for the given ligand with id.
 
writeFPFile(self, file_name)
Write the stored fingerprints to a Canvas FP file given by 'file_name'
 
writeCSVFile(self, file_name)
Write the stored fingerprints to a CSV file given by 'file_name'
 
__len__(self)
Return the length of the fingerprint list
 
__getitem__(self, idx)
Return the fingerprint given by 'idx'.
 
__iter__(self)
An iterator for the fingerprints
 
getInteractionMatrix(self, which_interaction)
Returns a tuple containing: i) matrix of 0s and 1s for the specified interaction.
 
getFingerprintString(self, ligand_index, residue_index)
Returns a string which summarizes the interactions between between ligand 'ligand_index' and residue 'residue_index'

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  POLAR_RESIDUES = "res. ARG, ASP, GLU, HIS, ASN, GLN, LYS, SER,...
  HYDROPHOBIC_RESIDUES = "res. PHE, LEU, ILE, TYR, TRP, VAL, MET...
  AROMATIC_RESIDUES = "res. PHE, TYR, TRP, TYO"
  CHARGED_RESIDUES = "res. ARG, ASP, GLU, LYS, HIP, CYT, SRO, TY...
  NUM_BITS_PER_RESIDUE = 9
  CONTACT_POS = 0
  BACKBONE_POS = 1
  SIDECHAIN_POS = 2
  POLAR_POS = 3
  HYDROPHOBIC_POS = 4
  ACCEPTOR_POS = 5
  DONOR_POS = 6
  AROMATIC_POS = 7
  CHARGED_POS = 8
  ANY_CONTACT = "Any Contact"
  BACKBONE_INTERACTION = "Backbone Interaction"
  SIDECHAIN_INTERACTION = "Sidechain Interaction"
  POLAR_RESIDUE = "Polar Residues"
  HYDROPHOBIC_RESIDUE = "Hydrophobic Residues"
  HYDROGEN_BOND_ACCEPTOR = "Hydrogen Bond Acceptor"
  HYDROGEN_BOND_DONOR = "Hydrogen Bond Donor"
  AROMATIC_RESIDUE = "Aromatic Residue"
  CHARGED_RESIDUE = "Charged Residue"
  INTERACTION_NAMES = [ANY_CONTACT, BACKBONE_INTERACTION, SIDECH...
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self)
(Constructor)

 

Constructor - no args

Overrides: object.__init__

setInteractionCutoff(self, cutoff=4.0, h_cutoff=2.5)

 

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

generateFingerprint(self, 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.

__getitem__(self, idx)
(Indexing operator)

 

Return the fingerprint given by 'idx'. If this is an integer then return the idx'th item. If this is a string then treat it as an ligand ID

getInteractionMatrix(self, 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.


Class Variable Details [hide private]

POLAR_RESIDUES

Value:
"res. ARG, ASP, GLU, HIS, ASN, GLN, LYS, SER, THR, ARN, ASH, GLH, HID,\
 HIE, LYN"

HYDROPHOBIC_RESIDUES

Value:
"res. PHE, LEU, ILE, TYR, TRP, VAL, MET, PRO, CYS, ALA, CYX"

CHARGED_RESIDUES

Value:
"res. ARG, ASP, GLU, LYS, HIP, CYT, SRO, TYO, THO"

INTERACTION_NAMES

Value:
[ANY_CONTACT, BACKBONE_INTERACTION, SIDECHAIN_INTERACTION, POLAR_RESID\
UE, HYDROPHOBIC_RESIDUE, HYDROGEN_BOND_ACCEPTOR, HYDROGEN_BOND_DONOR, \
AROMATIC_RESIDUE, CHARGED_RESIDUE]