Boston De Novo Design
Regine Bohacek, PhD
 
HOME
AlleGrow Modeling Software
How AlleGrow works
Growing using Monte Carlo
Growing heterocycles
Growing side chains
Optimization and ranking
FLO +
lzm graphical interface
Free Trial Version
Consulting and Modeling Services
Workshops
Publications
Background
Contact Us

 

 

How AlleGrow Grows Molecules

Molecules are generated from a root.

The root atom is the atom which is used as a starting point for the generation of new molecules. AlleGrow will add atoms or small fragments to the root atom. Three different root atoms can be selected and "growth" will occur from each one.

At the start of the program, AlleGrow computes the "growth points" of the root atom. The growth points are vectors which indicate the regions where new atoms can be added to the root atom. AlleGrow selects one of the growth points randomly. Next a building block atom or small fragments is randomly selected from the AlleGrow building block list and added to the root atom. The new atom or atoms are attached to the root atom and evaluated. Do they fit into the binding site? If not, the atom is rejected and a new building block is randomly selected. If there is room in the binding site to accommodate the new atoms, then their chemical complementarily to binding site atoms is evaluated. If the complementarily is good, the probability that the new atom or atoms will be retained is high. If the complementarily is poor, the probability of acceptance is low but not zero. In this way, most of the atoms added form favorable interactions with binding site atoms but occasionally atoms are added that do not match the hydrophobicity of nearby binding site atoms but are necessary for the geometry of downstream atoms. This phenomenon is also observed in protein/ligand crystal structures of potent ligands.

Once new atoms are accepted, the growth point of each new atom is calculated and the procedure described above is repeated until a growth step produces at least the number of atoms per molecule that was specified by the user.

The program stops when the number of requested molecules has been generated.