schrodinger.application.canvas.fingerprint module¶
Higher-level wrappers to the Canvas Fingerprint generation and manipulation classes.
Copyright Schrodinger, LLC. All rights reserved.
-
class
schrodinger.application.canvas.fingerprint.
CanvasFingerprintGenerator
(logger, default_type='Linear')¶ Bases:
object
A class to encapsulate canvas finger print generation. Fingerprints may be generated and returned as Fingerprint objects or may be written to a file.
-
FINGERPRINT_TYPES
= ['Linear', 'Radial', 'MolPrint2D', 'Atom Pairs', 'Atom Triplets', 'Topological Torsions', 'Dendritic']¶
-
SHORT_FINGERPRINT_TYPES
= ['linear', 'radial', 'molprint2D', 'pairwise', 'triplet', 'torsion', 'dendritic']¶
-
ATOM_TYPING_SCHEMES
= [' 1. All atoms equivalent; all bonds equivalent.', ' 2. Atoms distinguished by HB acceptor/donor; all bonds equivalent.', ' 3. Atoms distinguished by hybridization state; all bonds equivalent', ' 4. Atoms distinguished by functional type: {H}, {C}, {F,Cl}, {Br,I}, {N,0}, {S}, {other}; bonds by hybridization.', ' 5. Mol2 atom types; all bonds equivalent.', ' 6. Atoms distinguished by whether terminal, halogen, HB acceptor/donor bonds distinguished by bond order', ' 7. Atomic number and bond order', ' 8. Atoms distinguished by ring size, aromaticity, HB acceptor/donor, ionization potential, whether terminal, whether halogen; bonds distinguished by bond order', ' 9. Carhart atom types (atom-pairs approach); all bonds equivalent.', '10. Daylight invariant atom types; bonds distinguished by bond order.', '11. Same as 7, but aromatic distinguished from non-aromatic', '12. Same as 10, but cyclic aliphatic distinguished from acyclic aliphatic']¶
-
PRECISION
= ['32', '64']¶
-
DEFAULT_ATOM_TYPING_SCHEMES
= {'dendritic': 10, 'linear': 10, 'molprint2D': 5, 'pairwise': 9, 'radial': 4, 'torsion': 10, 'triplet': 10}¶
-
__init__
(logger, default_type='Linear')¶ Initialize self. See help(type(self)) for accurate signature.
-
debug
(output)¶ Wrapper for debug logging, just to simplify logging
-
getDefaultAtomTypingScheme
()¶ Once the fingerprint type has been set then this method will return the default atom typing scheme appropriate for that fingerprint type
-
getDescription
()¶ Returns a string representing a summary of the current fingerprint settings
-
getCurrentType
()¶ Returns the name of the fingerprint type current set:
-
setType
(fp_type)¶ Set the type of fingerprints to be generated by this generator. The type must be one of the values in the class variable CanvasFingerPrintGenerator.FINGERPRINT_TYPE
-
setPrecision
(precision)¶ Set the number of bits to be used for fingerprint generation.
-
getPrecision
()¶ Returns the current number of bits used for fingerprinting
-
setAtomBondTyping
(atom_bond_typing)¶ Set the atom typing scheme. This must be an integer from 1 to the number of atom typing schemes. The atom typing schemes are described in the class variable ATOM_TYPING_SCHEMES
-
getCurrentAtomBondTyping
()¶ Returns the current atom bond typing value
-
generate
(st, chmmol=False)¶ Return a fingerprint object using the current settings for type, bit width and atom typing for the Structure object st
Parameters: st (schrodinger.structure.Structure or canvas.base.chmmol object) – structure to generate the fingerprint for
-
open
(filename)¶ Open a file to which fingerprints are to be written
-
write
(st, fingerprint_id, chmmol=False)¶ Create a fingerprint from the structure ‘st’ and add it to the file with the ID ‘fingerprint_id’. If a file has not been opened then raise an exception
Parameters: st (schrodinger.structure.Structure or canvas.base.chmmol object) – structure to generate the fingerprint for
-
close
()¶ Close the file which was previously open for finger print generation
-
-
class
schrodinger.application.canvas.fingerprint.
CanvasFingerprintGeneratorCLI
(logger, default_type='Linear')¶ Bases:
schrodinger.application.canvas.fingerprint.CanvasFingerprintGenerator
A subclass of the canvas fingerprint generator which is to be used from a program with a command line interface. This class has methods for defining options in an option parser and for applying those options once they’ve been parsed. The idea is to provide a standard command line interface for setting the fingerprint options
-
__init__
(logger, default_type='Linear')¶ Initialize self. See help(type(self)) for accurate signature.
-
addOptions
(parser)¶ Add options for fingerprint type, atom typing scheme and number of bits to use. The parser argument is an instance of a SingleDashOptionParser.
-
parseOptions
(options)¶ Examine the options and set the internal state to reflect them.
-
getOptionDesc
()¶ A method which returns a summary of the options supported by the fingerprint generator
-
getAtomBondTypingSchemeDescription
()¶ Return a string which contains a description of the atom and bond typing schemes available for fingerprint generation
-
getFingerprintDescription
()¶ Return a string which contains a description of the atom and bond typing schemes available for fingerprint generation
-
ATOM_TYPING_SCHEMES
= [' 1. All atoms equivalent; all bonds equivalent.', ' 2. Atoms distinguished by HB acceptor/donor; all bonds equivalent.', ' 3. Atoms distinguished by hybridization state; all bonds equivalent', ' 4. Atoms distinguished by functional type: {H}, {C}, {F,Cl}, {Br,I}, {N,0}, {S}, {other}; bonds by hybridization.', ' 5. Mol2 atom types; all bonds equivalent.', ' 6. Atoms distinguished by whether terminal, halogen, HB acceptor/donor bonds distinguished by bond order', ' 7. Atomic number and bond order', ' 8. Atoms distinguished by ring size, aromaticity, HB acceptor/donor, ionization potential, whether terminal, whether halogen; bonds distinguished by bond order', ' 9. Carhart atom types (atom-pairs approach); all bonds equivalent.', '10. Daylight invariant atom types; bonds distinguished by bond order.', '11. Same as 7, but aromatic distinguished from non-aromatic', '12. Same as 10, but cyclic aliphatic distinguished from acyclic aliphatic']¶
-
DEFAULT_ATOM_TYPING_SCHEMES
= {'dendritic': 10, 'linear': 10, 'molprint2D': 5, 'pairwise': 9, 'radial': 4, 'torsion': 10, 'triplet': 10}¶
-
FINGERPRINT_TYPES
= ['Linear', 'Radial', 'MolPrint2D', 'Atom Pairs', 'Atom Triplets', 'Topological Torsions', 'Dendritic']¶
-
PRECISION
= ['32', '64']¶
-
SHORT_FINGERPRINT_TYPES
= ['linear', 'radial', 'molprint2D', 'pairwise', 'triplet', 'torsion', 'dendritic']¶
-
close
()¶ Close the file which was previously open for finger print generation
-
debug
(output)¶ Wrapper for debug logging, just to simplify logging
-
generate
(st, chmmol=False)¶ Return a fingerprint object using the current settings for type, bit width and atom typing for the Structure object st
Parameters: st (schrodinger.structure.Structure or canvas.base.chmmol object) – structure to generate the fingerprint for
-
getCurrentAtomBondTyping
()¶ Returns the current atom bond typing value
-
getCurrentType
()¶ Returns the name of the fingerprint type current set:
-
getDefaultAtomTypingScheme
()¶ Once the fingerprint type has been set then this method will return the default atom typing scheme appropriate for that fingerprint type
-
getDescription
()¶ Returns a string representing a summary of the current fingerprint settings
-
getPrecision
()¶ Returns the current number of bits used for fingerprinting
-
open
(filename)¶ Open a file to which fingerprints are to be written
-
setAtomBondTyping
(atom_bond_typing)¶ Set the atom typing scheme. This must be an integer from 1 to the number of atom typing schemes. The atom typing schemes are described in the class variable ATOM_TYPING_SCHEMES
-
setPrecision
(precision)¶ Set the number of bits to be used for fingerprint generation.
-
setType
(fp_type)¶ Set the type of fingerprints to be generated by this generator. The type must be one of the values in the class variable CanvasFingerPrintGenerator.FINGERPRINT_TYPE
-
write
(st, fingerprint_id, chmmol=False)¶ Create a fingerprint from the structure ‘st’ and add it to the file with the ID ‘fingerprint_id’. If a file has not been opened then raise an exception
Parameters: st (schrodinger.structure.Structure or canvas.base.chmmol object) – structure to generate the fingerprint for
-