schrodinger.analysis.substructure module

Functionality for generating connected molecule substructures.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.analysis.substructure.ConnectedMoleculeChain(st1, atlist1, st2, atlist2)

Bases: object

Superpose st2 and st1 by moving each molecule independently.

This is accomplished by fixing the first molecule of st1 (with atoms in the atom list), and aligning all molecules in st2 that contain atoms which map to the atoms in this molecule of st1. These atoms are now fixed and all molecules in st1 which contain atoms which map to the now-fixed atoms of st2 are aligned to the existing fixed st1/st2 molecules. This fixing and aligning is continued until all molecules in the ensemble connected to the first molecule in st1 is completed. If this did not include all molecules in the st1/st2 system, the next, non-fixed st1 molecule is used to start a new fixing/aligning chain. If there are still un-fixed molecules when all the st1 molecules are fixed, then these atoms only appear in st2 and so are fixed at the input st2 locations.

Parameters:
  • st1 (Structure) – first structure
  • atlist1 (list of ints) – list of atom indexes for structure 1
  • st2 (Structure) – second structure
  • atlist2 (list of ints) – list of atom indexes for structure 2
Returns:

rmsd, st2 and st1 rotated and translated to align

__init__(st1, atlist1, st2, atlist2)

Initialize self. See help(type(self)) for accurate signature.

getConnectivityChain()

Build a chain of which structure moves, which atoms are fixed, and the corresponding moving atoms.

Parameters:
  • return – The chain has the format (st_moving, fixed_list, moving_list) where st_moving is 0 for the first structure and 1 for the second, and the lists are lists of ints.
  • type – 3-tuple of int, list of ints, list of ints
__class__

alias of builtins.type

__delattr__

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'schrodinger.analysis.substructure', '__doc__': '\n Superpose st2 and st1 by moving each molecule independently.\n\n This is accomplished by fixing the first molecule of st1 (with atoms in the atom\n list), and aligning all molecules in st2 that contain atoms which map to the atoms\n in this molecule of st1. These atoms are now fixed and all molecules in st1 which\n contain atoms which map to the now-fixed atoms of st2 are aligned to the existing\n fixed st1/st2 molecules. This fixing and aligning is continued until all molecules\n in the ensemble connected to the first molecule in st1 is completed. If this did not\n include all molecules in the st1/st2 system, the next, non-fixed st1 molecule is\n used to start a new fixing/aligning chain. If there are still un-fixed molecules\n when all the st1 molecules are fixed, then these atoms only appear in st2 and so\n are fixed at the input st2 locations.\n\n :param st1: first structure\n :type st1: Structure\n\n :param atlist1: list of atom indexes for structure 1\n :type atlist1: list of ints\n\n :param st2: second structure\n :type st2: Structure\n\n :param atlist2: list of atom indexes for structure 2\n :type atlist2: list of ints\n\n :return: rmsd, st2 and st1 rotated and translated to align\n ', '__init__': <function ConnectedMoleculeChain.__init__>, '_initializeChain': <function ConnectedMoleculeChain._initializeChain>, '_setMovingParts': <function ConnectedMoleculeChain._setMovingParts>, '_getNewConnections': <function ConnectedMoleculeChain._getNewConnections>, 'getConnectivityChain': <function ConnectedMoleculeChain.getConnectivityChain>, '__dict__': <attribute '__dict__' of 'ConnectedMoleculeChain' objects>, '__weakref__': <attribute '__weakref__' of 'ConnectedMoleculeChain' objects>})
__dir__() → list

default dir() implementation

__eq__

Return self==value.

__format__()

default object formatter

__ge__

Return self>=value.

__getattribute__

Return getattr(self, name).

__gt__

Return self>value.

__hash__

Return hash(self).

__init_subclass__()

This method is called when a class is subclassed.

The default implementation does nothing. It may be overridden to extend subclasses.

__le__

Return self<=value.

__lt__

Return self<value.

__module__ = 'schrodinger.analysis.substructure'
__ne__

Return self!=value.

__new__()

Create and return a new object. See help(type) for accurate signature.

__reduce__()

helper for pickle

__reduce_ex__()

helper for pickle

__repr__

Return repr(self).

__setattr__

Implement setattr(self, name, value).

__sizeof__() → int

size of object in memory, in bytes

__str__

Return str(self).

__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

__weakref__

list of weak references to the object (if defined)