We are participating to the Google Summer of Code 2020!

Here are the ideas we have in mind to improve the AutoDock experience. Do you have a new and better idea to propose? Let us know!

  • Accurate small molecule electrostatics for drug discovery using a graph-convolutional neural network. In this project the student will adapt the work of Rathi el al. to calculate partial charges consistent with the AutoDock Suite of software for application in high throughput virtual screening, where millions of small molecules are simulated to identify promising lead compounds during the early stages of drug discovery.
    Expected outcome: the project will generate a fast predictive model to be integrated in the standard AutoDock docking pipeline.
    Skills: machine learning and optional experience with Python and Pandas dataframes.
    Mentors: Stefano Forli


  • Fast energy minimization of waters around a protein structure. We are exploring methods to improve the description of the desolvation energy and its contribution to ligand binding. This energy contribution is one of the main components dictating if a molecule can be a good or a bad binder for a given biological target. We have a method to predict the most likely position of water molecules (usually 50-150 total waters) on a given protein surface, which requires a final energy minimization step.
    Expected outcome: a modular, reusable energy minimization engine that can be integrated in other programs, possibly with Python bindings.
    Skills: Experience with high-performance coding (C++, GPU) programming, as well as Python.
    Mentors: Stefano Forli


  • Configuration GUI for AutoDock. Setting up a run of AutoDock can involve setting a myriad of parameters. Accessibility of different options would be greatly improved if these are presented in a well-structured user interface. Also, it is essential to properly prepare input structures, and validate them. We have existing command-line tools based on the OpenBabel library to generate accurate 3D models for ligands starting from any supported format (SMILES, Mol2, SDF, etc.) which can be integrated in the GUI. To manage and store large ligand collections, the GUI will integrate a SQLite database.
    Expected Outcome: A maintainable cross-platform UI for the configuration of one or even multiple current and future AutoDock versions.
    Skills: Experience with Python and Qt libraries is a requirement. Optionally, having experience with SQLite can be helpful.
    Mentors: Stefano Forli (forli_at_scripps-dot-edu), Michel Sanner (sanner_at_scripps-dot-edu)


  • C++ implementation of AutoDock CrankPep (ADCP). ADCP is our latest docking engine, designed specifically to dock peptides. Its  Monte Carlo search and coarse grain representation of the peptide are the key to it outstanding docking performances, making it one of the leading de-novo peptide docking engine. The current implementation relies on C code developed decades ago  for folding proteins. This antiquated architecture and implementation hinders the addition of new features such supporting non standard amino acids which are paramount for designing new drugs.
    Expected Outcome: A modern, efficient and extendable C++ implementation of the docking engine supporting the addition of new features that will greatly increases the impact of this tool software tool for drug design.
    Skills: C++, Object Oriented programming is required. Experience with Python and basic knowledge of biology and/or chemistry are helpful but optional.
    Mentors: Michel Sanner (sanner_at_scripps-dot-edu), Stefano Forli (forli_at_scripps-dot-edu)


  • Code maintenance and user experience. Over the past 30 years, numbers of great tools (AutoDock, AutoDock Vina, AutoDockFR, AutoSite, Raccoon, etc…) were developed by many people within the lab and gathered in the AutoDock Suite. This collection of tools is freely available and help researchers all around the world to find new potential therapeutic molecules . However, as can be expected, things break over time and become more difficult to use as the number of tools is growing, generating confusions among the user community.
    Expected outcome: A more clear and well-organized rearrangement of all the tools available, essential documentation, and a smoother user experience.
    Skills: Python, bash, git, Anaconda
    Mentors: Stefano Forli (forli_at_scripps-dot-edu), Michel Sanner (sanner_at_scripps-dot-edu)