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