obtain pKas for titreatable residues from a simulation trajectory
Project description
# README: propkatraj
`propkatraj.py` can be used to computationally estimate pKa values for
protein residues. We use an ensemble approach where many different
conformations are sampled with equilibrium molecular dynamics
simulations. We then apply the fast heuristic pKa predictor
[PROPKA 3.1](https://github.com/jensengroup/propka-3.1) to individual
frames of the trajectory. By analysing the statistics of the pKa
predictions a more consistent picture emerges than from a pKa
prediction of a single static conformation.
## Required software
* [PROPKA 3.1](https://github.com/jensengroup/propka-3.1) (used as a
Python package)
* [MDAnalysis](http://mdanalysis.org)
* [pandas](http://pandas.pydata.org/)
See [INSTALL.md](INSTALL.md) for how to install everything.
## Usage
The `propkatra.get_propka()` function contains all functionality.
from propkatraj import get_propka
It takes a `MDAnalysis.Universe` instance as argument and runs PROPKA on each
frame of the trajectory.
def get_propka(universe, sel='protein', start=None, stop=None, step=None):
Get and store pKas for titrateable residues near the binding site.
Parameters
----------
universe : :class:`MDAnalysis.Universe`
Universe to obtain pKas for.
sel : str, array_like
Selection string to use for selecting atoms to use from given
``universe``. Can also be a numpy array or list of atom indices to use.
start : int
Frame of trajectory to start from. `None` means start from beginning.
stop : int
Frame of trajectory to end at. `None` means end at trajectory end.
step : int
Step by which to iterate through trajectory frames. propka is slow,
so set according to how finely you need resulting timeseries.
Results
-------
pkas : :class:`pandas.DataFrame`
DataFrame giving estimated pKa value for each residue for each
trajectory frame. Residue numbers are given as column labels, times as
row labels.
The function returns a
[pandas.DataFrame](http://pandas.pydata.org/pandas-docs/stable/dsintro.html#dataframe)
which contains the time as the first column and the residue numbers as
subsequent columns. For each time step, the predicted pKa value for
this residue is stored. Process the `DataFrame` to obtain statistics
as shown in the [Documentation](#Documentation).
## Documentation
See the Jupyter notebook
[docs/propkatraj-example.ipynb](./docs/propkatraj-example.ipynb) for
how to use `propkatraj.get_propka` on an example trajectory and how to
plot the data with [seaborn](https://seaborn.pydata.org/).
## Citation
If you use `propkatraj` in published work please cite Reference 1 for
PROPKA 3.1 and Reference 2 for the ensemble method itself.
1. C. R. Søndergaard, M. H. M. Olsson, M. Rostkowski, and
J. H. Jensen. Improved treatment of ligands and coupling effects in
empirical calculation and rationalization of pKa values. *J
Chemical Theory and Computation*, 7(7):2284–2295, 2011. doi:
[10.1021/ct200133y](https://doi.org/10.1021/ct200133y).
2. C. Lee, S. Yashiro, D. L. Dotson, P. Uzdavinys, S. Iwata,
M. S. P. Sansom, C. von Ballmoos, O. Beckstein, D. Drew, and
A. D. Cameron. Crystal structure of the sodium-proton antiporter
NhaA dimer and new mechanistic insights. *J Gen Physiol*,
144(6):529–544, 2014. doi:
[10.1085/jgp.201411219](https://doi.org/10.1085/jgp.201411219).
## Contact
Please raise issues in the
[issue tracker](https://github.com/Becksteinlab/propkatraj/issues).
`propkatraj.py` can be used to computationally estimate pKa values for
protein residues. We use an ensemble approach where many different
conformations are sampled with equilibrium molecular dynamics
simulations. We then apply the fast heuristic pKa predictor
[PROPKA 3.1](https://github.com/jensengroup/propka-3.1) to individual
frames of the trajectory. By analysing the statistics of the pKa
predictions a more consistent picture emerges than from a pKa
prediction of a single static conformation.
## Required software
* [PROPKA 3.1](https://github.com/jensengroup/propka-3.1) (used as a
Python package)
* [MDAnalysis](http://mdanalysis.org)
* [pandas](http://pandas.pydata.org/)
See [INSTALL.md](INSTALL.md) for how to install everything.
## Usage
The `propkatra.get_propka()` function contains all functionality.
from propkatraj import get_propka
It takes a `MDAnalysis.Universe` instance as argument and runs PROPKA on each
frame of the trajectory.
def get_propka(universe, sel='protein', start=None, stop=None, step=None):
Get and store pKas for titrateable residues near the binding site.
Parameters
----------
universe : :class:`MDAnalysis.Universe`
Universe to obtain pKas for.
sel : str, array_like
Selection string to use for selecting atoms to use from given
``universe``. Can also be a numpy array or list of atom indices to use.
start : int
Frame of trajectory to start from. `None` means start from beginning.
stop : int
Frame of trajectory to end at. `None` means end at trajectory end.
step : int
Step by which to iterate through trajectory frames. propka is slow,
so set according to how finely you need resulting timeseries.
Results
-------
pkas : :class:`pandas.DataFrame`
DataFrame giving estimated pKa value for each residue for each
trajectory frame. Residue numbers are given as column labels, times as
row labels.
The function returns a
[pandas.DataFrame](http://pandas.pydata.org/pandas-docs/stable/dsintro.html#dataframe)
which contains the time as the first column and the residue numbers as
subsequent columns. For each time step, the predicted pKa value for
this residue is stored. Process the `DataFrame` to obtain statistics
as shown in the [Documentation](#Documentation).
## Documentation
See the Jupyter notebook
[docs/propkatraj-example.ipynb](./docs/propkatraj-example.ipynb) for
how to use `propkatraj.get_propka` on an example trajectory and how to
plot the data with [seaborn](https://seaborn.pydata.org/).
## Citation
If you use `propkatraj` in published work please cite Reference 1 for
PROPKA 3.1 and Reference 2 for the ensemble method itself.
1. C. R. Søndergaard, M. H. M. Olsson, M. Rostkowski, and
J. H. Jensen. Improved treatment of ligands and coupling effects in
empirical calculation and rationalization of pKa values. *J
Chemical Theory and Computation*, 7(7):2284–2295, 2011. doi:
[10.1021/ct200133y](https://doi.org/10.1021/ct200133y).
2. C. Lee, S. Yashiro, D. L. Dotson, P. Uzdavinys, S. Iwata,
M. S. P. Sansom, C. von Ballmoos, O. Beckstein, D. Drew, and
A. D. Cameron. Crystal structure of the sodium-proton antiporter
NhaA dimer and new mechanistic insights. *J Gen Physiol*,
144(6):529–544, 2014. doi:
[10.1085/jgp.201411219](https://doi.org/10.1085/jgp.201411219).
## Contact
Please raise issues in the
[issue tracker](https://github.com/Becksteinlab/propkatraj/issues).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
propkatraj-0.1.0.tar.gz
(3.9 kB
view details)
Built Distributions
propkatraj-0.1.0-py2.7.egg
(4.6 kB
view details)
File details
Details for the file propkatraj-0.1.0.tar.gz
.
File metadata
- Download URL: propkatraj-0.1.0.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 728dbaaffc37b83b8ea23c0273274ec5ff36ab9bd9ed821085e9f96d4e2147b8 |
|
MD5 | b789b10eaf368dec667332758b3b4435 |
|
BLAKE2b-256 | bbcbed76255345868756bc5142c0f0933390ed2fdb1e385956a8dae4482f8880 |
Provenance
File details
Details for the file propkatraj-0.1.0-py2.7.egg
.
File metadata
- Download URL: propkatraj-0.1.0-py2.7.egg
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71f0d2fe7d4961a71248c7c4a5ccfdc8da1e971e52e6ca7b6089e81ee3eb06da |
|
MD5 | bad1ba2a0db8e5a82632c609a6ddf503 |
|
BLAKE2b-256 | 313055bf07c9389a27041715b595c9a0f591fff86e1349b98dda6680aa79e966 |
Provenance
File details
Details for the file propkatraj-0.1.0-py2-none-any.whl
.
File metadata
- Download URL: propkatraj-0.1.0-py2-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01e095c18b4160b37fe8aa8b6cf909b502d66bb2e4b09a5138e0e04dba225267 |
|
MD5 | 758696cd325b57b9a5793b1ec0aa91eb |
|
BLAKE2b-256 | e236ab13efd8b5b2d9ee13fe92981e1236f437e5484d01e52ee562812af1a97e |