Package schrodinger :: Package application :: Package matsci :: Module enumeration :: Class StructureAlchemist
[hide private]
[frames] | no frames]

Class StructureAlchemist

object --+    
         |    
 Alchemist --+
             |
            StructureAlchemist
Known Subclasses:

An abstract base Alchemist class for Alchemists that transmute Structures - subclasses will probably need to re-implement the performTransmutation and allTransmutationsCompleted methods.

Instance Methods [hide private]
 
__init__(self, master, targets, new_items, path, child=None)
Create an Alchemist object
 
runTransmutations(self, data, used=None)
Begin transmuating atoms.

Inherited from Alchemist: allTransmutationsCompleted, performTransmutation

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

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, master, targets, new_items, path, child=None)
(Constructor)

 

Create an Alchemist object

Parameters:
  • path (str) - The path to a temporary file to write structures to

    See parent class for additional documentation

Overrides: object.__init__

runTransmutations(self, data, used=None)

 

Begin transmuating atoms.

This Alchemist will determine what target atoms to transmute based on its set of original targets minus those targets that have been used by previous Alchemists. Each time this Alchemist transmute an atom, it calls its child Alchemist to do its mutations (which calls its child Alchemist each time it transmutes an atom). Thus is the iterative process of transmutating all possible combinations achieved.

If this Alchemist does not have any children, than it is the last in the Alchemist line and it should add a new project entry each time it transmutes an atom.

Parameters:
  • struct (schrodinger.structure.Structure) - The structure object with the transmuted atoms
  • used (list of int) - The atom indexes of the transmuted atoms by parent Alchemists. The last atom in this list is used to ensure that this Alchemist does not mutate any target already covered by parent Alchemists.
Overrides: Alchemist.runTransmutations