This namespace contains constants representing how search data (molecules and pre-generated screens) are stored and searched in an OESubSearchDatabase object.
This namespace contains the following constants.
The default type is OESubSearchDatabaseType.InMemoryMultiThreaded.
This mode is memory intensive, but it provides the fastest way to search a dataset when utilizing all available processors on the machine.
When an OESubSearchDatabase is initialized with the OESubSearchDatabaseType.MolDatabaseMultiThreaded type, only the pre-generated screens are pre-loaded into memory. During the search, if a molecule can not be rejected based on its screen, then it has to be loaded from disk on-the-fly to perform atom-by-atom validation.
This mode is not as fast as OESubSearchDatabaseType.InMemoryMultiThreaded mode, however, it requires significantly less memory, allowing to searches on larger datasets. The performance loss is highly dependent on the query and its screening performance. If a significantly large number of hits can be pre-screened, searching only a couple thousands molecules can be done very fast even with the added I/O cost of loading molecules on the fly.
In both modes, searches can be executed in single or multi-treaded way based on the parameter (maximum number of processors) that was determined when the database was constructed.
- OESubSearchDatabase class