GithubHelp home page GithubHelp logo

kull-centre / bme Goto Github PK

View Code? Open in Web Editor NEW
20.0 6.0 7.0 111.83 MB

Integrating Molecular Simulation and Experimental Data

License: GNU General Public License v3.0

Python 15.27% Jupyter Notebook 84.73%

bme's Introduction

https://app.travis-ci.com/KULL-Centre/BME.svg?branch=main

Integrating Molecular Simulation and Experimental Data: A Bayesian/Maximum Entropy Approach

This is a Python script to perform ensemble reweighting using the Bayesian/MaxEnt (BME) approach. You may want to use this code when you have a molecular simulation for which calculated averages do not match available experimental data (eg chemical shifts, NOE, scalar couplings, SAXS, etc.). In this case, you can use the experimental data to perform an a posteriori correction of your simulation. The correction comes in the form of a new set of weights, one per frame in your simulation, so that calculated averages match the experimental data within some uncertainty. For a detailed description of the algorithm see our manuscript here

@incollection{bottaro2020integrating,
title={Integrating molecular simulation and experimental data: a Bayesian/maximum entropy reweighting approach},
author={Bottaro, Sandro and Bengtsen, Tone and Lindorff-Larsen, Kresten},
booktitle={Structural Bioinformatics},
pages={219--240},
year={2020},
publisher={Springer}
}

Requirements

  1. Python>=3.4
  2. Numpy, Scipy, Sklearn, Pandas
  3. Jupyter and Matplotlib (for notebooks only)

Download

You can download a .zip file by clicking on the green button above or using git

git clone https://github.com/sbottaro/BME.git

Examples

The notebook folder contains more detailed examples in form of jupyter notebooks.

  • Example_01: Introduction
  • Example_02: How to chose the regularization parameter $theta$
  • Example_03: How to handle different types of data simultaneously
  • Example_04: Iterative BME (iBME)
  • Example_05: How to set non-uniform initial weights

BME has been used in several integrative studies, including:

  • Computing, Analyzing, and Comparing the Radius of Gyration and Hydrodynamic Radius in Conformational Ensembles of Intrinsically Disordered Proteins (Preprint) (CODE)
  • Integrating NMR and Simulations Reveals Motions in the UUCG Tetraloop (Article) (CODE)
  • Structure and dynamics of a nanodisc by integrating NMR, SAXS and SANS experiments with molecular dynamics simulations (Article) (CODE)
  • Bayesian-Maximum-Entropy Reweighting of IDP Ensembles Based on NMR Chemical Shifts (Article)
  • Side chain to main chain hydrogen bonds stabilize a polyglutamine helix in a transcription factor (`Article https://www.nature.com/articles/s41467-019-09923-2`_)
  • Interplay of folded domains and the disordered low-complexity domain in mediating hnRNPA1 phase separation (Article) (CODE)
  • Combining molecular dynamics simulations with small-angle X-ray and neutron scattering data to study multi-domain proteins in solution (Article) (CODE)
  • Architecture and assembly dynamics of the essential mitochondrial chaperone complex TIM9·10·12 (ARTICLE)
  • Properdin oligomers adopt rigid extended conformations supporting function (ARTICLE)
  • Refinement of alpha-Synuclein Ensembles Against SAXS Data: Comparison of Force Fields and Methods (ARTICLE)
  • Structural basis of client specificity in mitochondrial membrane-protein chaperones (ARTICLE)
  • Order and disorder – an integrative structure of the full-length human growth hormone receptor (ARTICLE)
  • Structural Basis of Membrane Protein Chaperoning through the Mitochondrial Intermembrane Space (ARTICLE)

Contacts, references and other stuff

For further questions, send an email to sandro_dot_bottaro(guesswhat)dot_bio_dot_ku_dot_dk You may consider reading and citing the following relevant references as well:

@article{rozycki2011saxs,
title={SAXS ensemble refinement of ESCRT-III CHMP3 conformational transitions},
author={R{\'o}{\.z}ycki, Bartosz and Kim, Young C and Hummer, Gerhard},
journal={Structure},
volume={19},
number={1},
pages={109--116},
year={2011},
publisher={Elsevier}
}
@article{bottaro2018conformational,
 title={Conformational ensembles of RNA oligonucleotides from integrating NMR and molecular simulations},
 author={Bottaro, Sandro and Bussi, Giovanni and Kennedy, Scott D and Turner, Douglas H and Lindorff-Larsen, Kresten},
 journal={Science Advances},
 volume={4},
 number={5},
 pages={eaar8521},
 year={2018},
 publisher={American Association for the Advancement of Science}
 }
@article{hummer2015bayesian,
title={Bayesian ensemble refinement by replica simulations and reweighting},
author={Hummer, Gerhard and K{\"o}finger, J{\"u}rgen},
journal={The Journal of chemical physics},
volume={143},
number={24},
pages={12B634\_1},
year={2015},
publisher={AIP Publishing}
}
@article{cesari2016combining,
title={Combining simulations and solution experiments as a paradigm for RNA force field refinement},
author={Cesari, Andrea and Gil-Ley, Alejandro and Bussi, Giovanni},
journal={Journal of chemical theory and computation},
volume={12},
number={12},
pages={6192--6200},
year={2016},
publisher={ACS Publications}
}
@article{cesari2018using,
title={Using the maximum entropy principle to combine simulations and solution experiments},
author={Cesari, Andrea and Rei{\ss}er, Sabine and Bussi, Giovanni},
journal={Computation},
volume={6},
number={1},
pages={15},
year={2018},
publisher={Multidisciplinary Digital Publishing Institute}
}

bme's People

Contributors

rcrehuet avatar sbottaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

bme's Issues

Python2 style print statements

Hi,

Very interesting software, congrats! Just to let you know I had a little play with the software and I noticed that some print statements in scripts toy_model.py and example1.py are python2 instead of the stated python3.

Best,

Jordi

Regtests

There are no regtests. This should be fixed soon.

trust-constr not implemented

Trust region method is not working when using bounds. I was not able to fix this, so L_BFGS is used when bounds are present. Would be nice to have trust-constr implemented as it should be faster.

Using BME with PRE data

Dear developer,
Thank you for bringing the Bayesian maximum entropy approach to the MD community. I have previously used the BME method with NMR NOE data and found good success. I am now trying to use BME with PRE data.

I have calculated the gamma value per frame from a set of long Gaussian accelerated MD simulations of a IDP bound to a folded protein. We have experimental PRE data for each residue in the IDP from four different PRE probes at different positions on the folded partner. What I am looking for is to use BME to derive weights for the MD ensemble that agree with the experimental PRE.

The potential issue is, the relationship between gamma and PRE intensity ratio is an exponential one where very small values of PRE ratios result from very large values of gamma. Here is the relation between gamma and PRE ratio from the DEERpredict article:

image

Since the BME weight optimization happens using the gamma values (range of gamma is from 0 - Inf), this seems to be an issue, where very large values of gamma in certain frames may dominate the averages and introduce large errors in the derived weights. One way to address this might be to cap the gamma values at an arbitrary threshold before running the BME optimization, but I was wondering if you have any better ideas.

Thanks in advance. I hope, I could explain the problem sufficiently. If not, feel free to let me know.

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.