Finally, when using alternative starts, the way the results are handled should be taken into consideration. This will be unique to each specific problem. Here are some methods that may be useful:
opts.SetMaxOverlays(opts.GetNumInertialStarts() * opts.GetNumUserStarts())
OEShapeDatabaseOptions.SetMaxOverlays allows the user to specifiy how many overlay results to return per conformer. In the above example, SetMaxOverlays has been set to return all possible overlays per conformer. This can be used along side the OEShapeDatabaseOptions.SetMaxConfs and/or OEShapeDatabaseOptions.SetLimit options:
In this case, the results will be filtered twice. First, only the top 5 conformers for each molecule will be kept. For these 5 conformers all overlays will be kept. Finally, during sorting, only the top 50 scores of all overlays for the top 5 conformers per molecule will remain.
It is not recommended to return all overlay results for all conformers of large databases as this will leak memory rapidly.
Please send any feedback about this tutorial to firstname.lastname@example.org using the tutorial title as the subject header.