Giter Club home page Giter Club logo

bssccpbiosim2022's Introduction

Alchemical Simulations with BioSimSpace

Aimed at

Anyone interested in learning to perform alchemical free energy calculations using the CCP-BioSim BioSimSpace Python environment for easy setup, running, management and analysis of biomolecular simulations.

Requirements

Knowledge of Python, e.g. as gained from the Python for Biomolecular Modellers workshop.

Basic knowledge of atomistic simulations.

Abstract

Alchemical free energy calculations can be used to efficiently compute binding free energies between a ligand and a protein or hydration free energies of a small molecule. In the last few years, the use of such methods has gained momentum not only within academia but also within the pharmaceutical industry. In order to run alchemical free energy simulations, a series of molecular dynamics simulations need to be carried out. During this workshop you will learn how to set up, run, and analyse both relative and absolute binding free energy calculations with BioSimSpace.

Training Material:

The workshop consists of a series of Jupyter notebooks. These are available on the workshop jupyter server and can be downloaded from the GitHub repository.

Once you have started the server, navigate to the workshops/ directory and you will find the notebooks there. These training materials will teach you more about BioSimSpace, including how to write your own BioSimSpace code. The material is split into three parts.

Part 1: Introduction to Alchemistry with BioSimSpace

Part 2: Relative Binding Free Energies with BioSimSpace

  • setup_rbfe.ipynb : This notebook shows how to prepare and deploy a network of relative binding free energy calculations.

  • analyse_rbfe.ipynb : This notebook shows how to analyse a network of relative binding free energies to generate estimates of protein-ligand binding affinities.

Part 3: Absolute Binding Free Energies with BioSimSpace

  • setup_abfe.ipynb : This notebook shows how to prepare an absolute binding free energy calculation for a protein-ligand complex using BioSimSpace.

  • analysis_abfe.ipynb :This notebook shows how to analyse an absolute binding free energy calculation of a protein-ligand complex using BioSimSpace.

bssccpbiosim2022's People

Contributors

annamherz avatar fjclark avatar jmichel80 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

bssccpbiosim2022's Issues

setup_RBFE import error

In the 2nd cell I get an OS Error

image

The instructions should be changed to

BSS.Notebook.View("inputs/protein.pdb").system()

alchemical_introduction section 5.1 RBFE between pairs of ligands

When using the alchemlyb library as the method, this should take about one minute to run.
--> highlight in bold one minute to run

''and the MBAR error is'' --> ''and the MBAR statistical uncertainty estimate is''
Have we established exactly how that uncertainty is calculated with alchemlyb ? Propagated 1 standard deviation of each free energy changes between neighboring windows?

image

When the above code is run the resulting uncertainty estimate for the RBFE (0.0847 kcal/mol) is not sqrt ( 0.0471^2 + 0.0499^2)

workshop footprint

The current version of the workshop after a fresh checkout has ~6.1 GB of data.

(base) julien@julien-QEMU-Virtual-Machine:~/Desktop/bssccpbiosim2022$ du -sch *
5.7G	absolute_binding_free_energies
4.0K	freenrgworkflows
166M	introduction_to_alchemistry
36K	LICENSE
4.0K	README.md
233M	relative_binding_free_energies
6.1G	total
(base) julien@julien-QEMU-Virtual-Machine:~/Desktop/bssccpbiosim2022$ 

Do we absolutely need all these ?
If necessary we could compress the simfile.dat files in the various absolute_binding_free_energies/example_output////output/lambda_/ folders which should reduce disk usage by a factor of x3.

setup_RBFE plotting the network

Is it possible to modify the plotting settings to create a higher resolution version of this figure ? Or to allow users to download a high res pic from the notebook and visualise with another software ?

image

Equilibration protocols

Currently the equilibration protocol in BSIigprep.py used by the RBFE pipeline does not wrap coordinates. This makes it difficult to visually inspect equilibrates boxes to check for issues with ligand binding modes before running FEP calculations.

Ideally the pipeline would include a step to wrap coordinates such that binding sites can be more easily visualised.

alchemical_introduction.ipynb: 2.3 visualising solvated merged molecules

In section 2.3 of the intro notebook for learning purposes it would be good for delegates to visuliase the state of the system they assembled after solvation.

However visualising the solvated system with

solvated = BSS.Solvent.tip3p(molecule=merged, box=3*[40*BSS.Units.Length.angstrom])
BSS.Notebook.View(solvated).system()

doesn't show the merged molecule.

image

Earlier visualisations of solutes loaded from PDB do work (section 1.1. of notebook)

setup RBFE exercises on editing netwok topologies

The exercises at the end of section 1.2 could be restructured. At the moment the users have no way of verifying that what they have done is correct, or is leading to an actual change in the networks.

Ideally the network would be plotted against after a modification.
At the moment this may not be easy to do with BioSimSpace since network generation and plotting are part of the same function.

BSS.Align.generateNetwork(ligands, plot_network=True, names=ligand_names)

Can we add to the tutorial code to allow simple visualisation of graphs using networkx/matplotlib functionality ? See e.g.

https://networkx.org/documentation/stable/reference/drawing.html

Longer term we could consider decoupling network generation and plotting from BSS.Align but I don't suggest we do this now as it may be tricky to achieve high quality visualisations.

analyse_RBFE import error

When executing thte 1st cell of this notebook I can get an import error for networkanalysis. Consequently the rest of the notebook cannot be executed.

image

This may be because the folder 'workshop/freenrgworkflows' is empty.
There may be an issue with the way the workshop materials are pushed onto the image.

freenrgworkflows at https://github.com/michellab/bssccpbiosim2022 is actually a link to another github repo

Can we introduce this dependency differently so it is easier to package and distribute the tutorial ?

alchemical_introduction. Improve clarity of instructions

In section 3.1.3 the sentence ''Hint: look at the engine keyword of FreeEnergy.Relative(). You might also want to change the working directory.'' lacks clarity. How are the delegates meant to look at the API from the Jupyter notebook, or to navigate to different folders and inspect the contents. More prompting is desirable to minimise the number of delegates who will need help to complete the exercise.

Alchemical introduction Section 5.2 overlap

In section 5.2

image

The API for BSS.FreeEnergy.Relative.checkOverlap should be revisited.
Returning a boolean is a confusing. False should mean that the overlap could not be checked, not that it has been checked and met a particular criteria.
I would avoid writing that the OM is 'okay' the language lacks precision. We also do not know how reliable the 'rule of 0.03' is.

For the tutorial it is better to simply plot the OM matrices and ask the delegates as an exercise to determine whether the runs pass the heuristic of the 'rule of 0.03'.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.