Package: propkatraj
README: propkatrajpropkatraj.pycan 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 predictorPROPKA 3to 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 softwarePROPKA 3(used as a
Python package)MDAnalysispandasSeeINSTALL.mdfor how to install everything.UsageThepropkatraj.PropkaTrajclass contains all
functionality. Import it withfrompropkatrajimportPropkaTrajIt takes aMDAnalysis.AtomGrouporMDAnalysis.Universeinstance as an
argument to initialize and runs PROPKA on each frame of the trajectory when
calling therun()method. Seehelp(PropkaTraj)for more details.pkatraj=PropkaTraj(atomgroup,select='protein',skip_failure=False)Runs:program:`propka`onthetitrateableresiduesoftheselectedAtomGrouponeachframeinthetrajectory.Parameters----------atomgroup::class:`MDAnalysis.Universe`or:class:`MDAnalysis.AtomGroup`GroupofatomscontainingtheresiduesforpKaanalysis.Pleasenotethat:class:`MDAnalysis.UpdatingAtomGroup`arenotsupportedandwillbeautomaticallyconvertedto:class:`MDAnalysis.AtomGroup`.select:strSelectionstringtouseforselectingasubsectionofatomstousefromtheinput``atomgroup``.Note:passingnon-proteinresiduesto:program:`propka`mayleadtoincorrectresults(seenotes).[`protein`]skip_failure:boolIfsetto``True``,skipframeswhere:program:`propka`fails.Alistoffailedframesismadeavailablein:attr:`PropkaTraj.failed_frames_log`.If``False``raiseaRuntimeErrorexceptiononthoseframes.[`False`]Notes-----Currentlyonlythedefaultbehavioursupplementedwiththe`--quiet`flagof:program:`propka`isused.Temporary:program:`propka`filesarewritteninthecurrentworkingdirectory.Thiswillleavea``current.pka``and``current.propka_input``file.Thesearethetemporaryfilesforthefinalframeandcanberemovedsafely.Currentknownissues:1.DuetothecurrentbehaviouroftheMDAnalysisPDBWriter,non-proteinatomsarewrittentoPDBsusing`ATOM`recordsinsteadof`HETATM`.Thisislikelytoleadtoundefinedbehaviourin:program:`propka`,whichwilllikelyexpect`HETATM`inputs.Werecommenduserstoonlypassproteinatomsfornow.Seethefollowingissueformoredetails:https://github.com/Becksteinlab/propkatraj/issues/24pkatraj.run()PerformthecalculationParameters----------start:int,optionalstartframeofanalysisstop:int,optionalstopframeofanalysisstep:int,optionalnumberofframestoskipbetweeneachanalysedframeverbose:bool,optionalTurnonverbosityCalling therun()method creates apandas.DataFrame,
accessed throughresults.pkas, 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 theDataFrameto
obtain statistics as shown in theDocumentation. For example,
you can get a summary of the statistics of the timeseries in the following
manner:pkatraj.results.pkas.describe()DocumentationSee the Jupyter notebookdocs/propkatraj-example.ipynbfor how to usepropkatraj.PropkaTrajon an example trajectory and
how to plot the data withseaborn.CitationIf you usepropkatrajin published work please cite Reference 1 for
PROPKA 3.1 and Reference 2 for the ensemble method itself. Reference 3
is for the software if you need a specific software citation.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.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.David Dotson, Irfan Alibay, Rick Sexton, Shujie Fan, Armin Zijajo, Oliver Beckstein.
(2020). Becksteinlab/propkatraj: 1.1.x. Zenodo.https://doi.org/10.5281/zenodo.3228425ContactPlease raise issues in theissue tracker.