CmDock is an open-source program intended for simulating molecular docking. It leverages a genetic algorithm to search for the optimal conformation of a small molecule (ligand) docked onto the surface of a protein. This thesis presents an improvement to the mentioned program by implementing two versions of a scoring function based on piecewise linear potential. The first one executes on the central processing unit (CPU), while the second one utilizes parallel computation capabilities of graphics processing units (GPUs) and is based on a prototype in OpenCL. We have compared the results of both versions; we evaluated the accuracy and speed on three protein-ligand complexes. Compared to the established scoring function, we achieved better accuracy when docking onto one of the three proteins, while docking on the other two was less successful. CmDock utilizing GPU accelerated scoring function achieves around 3x speedup over the equivalent CPU-based version and is around 8x faster than the existing version. Inspecting only the fully parallelizable part, we have observed up to 76x reduction in computation time when using GPU acceleration.
|