Skip to content

Code to generate the data and figures of the ion channel KcsA string method simulation project.

License

Notifications You must be signed in to change notification settings

sperezconesa/KcsA_string_method_FES

Repository files navigation

Free energy landscapes of KcsA inactivation

Authors: Sergio Pérez-Conesa and Lucie Delemotte



The bacterial ion channel KcsA has become a useful model of complex K+-ion channels thanks to its single pore domain structure whose sequence shares many similarities with eukaryotic channels. Like many physiologically-relevant ion channels, KcsA inacti vates after prolonged exposure to stimuli (in this case, a lowered pH). The inactivation mechanism has been heavily investigated, using structural, functional and simulations methods, but the molecular basis underlying the energetics of the process remain s actively debated. In this work, we use the ``string method with swarms of trajectories'' enhanced sampling technique to characterize the free energy landscape lining the KcsA inactivation process. After channel opening following a pH drop, KcsA presents metastable open states leading to an inactivated state. The final inactivation step consists of a constriction of the selectivty filter and entry of three water molecules into binding sites behind each selectivity filter subunit. Based our simulations, w e propose a key role for residue L81 in opening a gateway for water molecules to enter their buried sites, rather than for Y82 which has previously been suggested to act as a lid. In addition, since we found the energetically favored inactivation mechanis m to be dependent on the force field, our results also address the importance of parameter choice for this type of mechanism. In particular, inactivation involves passing through the fully-open state only when using the AMBER force field. In contrast, usi ng CHARMM, selectivity filter constriction proceeds directly from the partially open state. Finally, our simulations suggest that removing the co-purifying lipids stabilizes the partially open states, rationalizing their importance for the proper inactiva tion of the channel.

This code was developed by Sergio Pérez-Conesa. I am a member of the Delemottelab led by prof. Lucie Delemotte. All the explanations can be found in the article and the rest of code and data here

I am happy to connect and discuss this and other projects through github, linkedin, twitter, email etc. Feel free to suggest ways we could have improved this code.

You can find more updates on the Delemottelab on twitter and the rest of our publications.

If you want to cite this code, please use CITE.bib, thank you!

Published Preprint

Published Article: Coming soon 😉

Running the code

Recreate conda environment

To recreate the conda environment used:

conda env create -f environment.yml
conda activate string_sims
ipython kernel install --user --name=string_sims
pip install -e .

Use environment_exact.yml for the exact environment.

Getting additional data files

All the data, including the inference models, simulations etc. can be found in Open Software Foundation.

Project Organization

├── LICENSE
│
├── Makefile           <- Makefile with commands like `make update_data` or `make format`
│
├── README.md          <- The top-level README for developers using this project.
├── data
│   ├── external       <- Data from third party sources.
│   ├── raw            <- Raw data generated or colected for this work
│   ├── interim        <- Intermediate data that has been transformed.
│   └── processed      <- The final, canonical data sets for modeling.
│
├── models             <- MD and experimental models and input files
│
├── notebooks          <- Jupyter notebooks.
│
├── reports            <- Generated analysis as HTML, PDF, LaTeX, etc.
│   ├── tex            <- Latex input files
│   ├── figures        <- Figures of the data.
│   └── final_figures  <- Generated graphics and figures to be used in final report.
│
├── environment.yml    <- The necessary packages to install in conda environment.
│
├── environment_exact.yml   <- The exact package versions used.
│
├── setup.py           <- File to install python code
│
├── src                <- Source code for use in this project.
│   ├── analysis       <- Python code for analysis of data
│   ├── data           <- Python code for handling the data
│   ├── __init__.py    <- Makes src a Python module
│   └── data           <- Scripts to download or generate data
│
├── visualization                <- File to help visualize data and trajectories
│
└──

Project based on the cookiecutter for Molecular Dynamics. Which is itself based on the cookiecutter data science project template #cookiecutterdatascience


About

Code to generate the data and figures of the ion channel KcsA string method simulation project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published