Pyrite – Unlocking Docking

Pyrite – Unlocking Docking

Bachelor thesis, completing the bachelor of Pharmaceutical Sciences at VU Amsterdam.

Grade: 9.5

I am further pursuing the Pyrite project within the group of Daan Geerke together with David Poole.

Thesis abstract:

Pyrite is a new, open, extensible, and accessible, Python-based framework for molecular docking that aims to allow straightforward testing and development of existing and novel docking methods. We introduce (i) a grid-based binding pocket detection and scoring algorithm that guides searching to plausible binding sites, (ii) a crowding and niching strategy that enforces pose diversity, and (iii) seamless integration with existing biochemical tools and optimization suites such as rdkit, SciPy, and pygmo. Benchmarking on the 2024 PDBbind demo set shows that using the Pocket function accelerates searching 2-6 × compared to the Vina and Piecewise Linear Potential functions while maintaining, or in blind docking even surpassing, their accuracy. An example reference workflow — pocket + crowding for search with ant colony optimization, Piecewise Linear Potential for refinement — shows an accuracy of 37 ± 6 % of poses within 2 Å RMSD for autoboxed docking, and 16 ± 3 % in whole-protein mode. Error analysis reveals that most errors stem from searching errors, rather than scoring problems. Overly stringent pocket-depth filters and insufficient niching result in accuracy loss in the searching phase. Both problems are addressed in Pyrites development roadmap.

Beyond research, a pilot practicum with third-year Pharmaceutical Sciences students demonstrated Pyrite’s educational value: all participants, despite having minimal coding background, implemented custom physics-based scoring functions within one lab day and reported heightened interest in both docking and programming. Taken together, Pyrite offers a transparent and easily extensible package that lowers the barrier to innovation in molecular docking methods and teaching. Ongoing efforts focus on improving the performance and accuracy of Pyrite, and introducing additional functionalities that improve the development and learning experience.