Cargando…

X-Entropy: A Parallelized Kernel Density Estimator with Automated Bandwidth Selection to Calculate Entropy

[Image: see text] X-Entropy is a Python package used to calculate the entropy of a given distribution, in this case, based on the distribution of dihedral angles. The dihedral entropy facilitates an alignment-independent measure of local protein flexibility. The key feature of our approach is a Gaus...

Descripción completa

Detalles Bibliográficos
Autores principales: Kraml, Johannes, Hofer, Florian, Quoika, Patrick K., Kamenik, Anna S., Liedl, Klaus R.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: American Chemical Society 2021
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8154256/
https://www.ncbi.nlm.nih.gov/pubmed/33719418
http://dx.doi.org/10.1021/acs.jcim.0c01375
_version_ 1783698972225830912
author Kraml, Johannes
Hofer, Florian
Quoika, Patrick K.
Kamenik, Anna S.
Liedl, Klaus R.
author_facet Kraml, Johannes
Hofer, Florian
Quoika, Patrick K.
Kamenik, Anna S.
Liedl, Klaus R.
author_sort Kraml, Johannes
collection PubMed
description [Image: see text] X-Entropy is a Python package used to calculate the entropy of a given distribution, in this case, based on the distribution of dihedral angles. The dihedral entropy facilitates an alignment-independent measure of local protein flexibility. The key feature of our approach is a Gaussian kernel density estimation (KDE) using a plug-in bandwidth selection, which is fully implemented in a C++ backend and parallelized with OpenMP. We further provide a Python frontend, with predefined wrapper functions for classical coordinate-based dihedral entropy calculations, using a 1D approximation. This makes the package very straightforward to include in any Python-based analysis workflow. Furthermore, the frontend allows full access to the C++ backend, so that the KDE can be used on any binnable one-dimensional input data. In this application note, we discuss implementation and usage details and illustrate potential applications. In particular, we benchmark the performance of our module in calculating the entropy of samples drawn from a Gaussian distribution and the analytical solution thereof. Further, we analyze the computational performance of this module compared to well-established python libraries that perform KDE analyses. X-Entropy is available free of charge on GitHub (https://github.com/liedllab/X-Entropy).
format Online
Article
Text
id pubmed-8154256
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher American Chemical Society
record_format MEDLINE/PubMed
spelling pubmed-81542562021-05-27 X-Entropy: A Parallelized Kernel Density Estimator with Automated Bandwidth Selection to Calculate Entropy Kraml, Johannes Hofer, Florian Quoika, Patrick K. Kamenik, Anna S. Liedl, Klaus R. J Chem Inf Model [Image: see text] X-Entropy is a Python package used to calculate the entropy of a given distribution, in this case, based on the distribution of dihedral angles. The dihedral entropy facilitates an alignment-independent measure of local protein flexibility. The key feature of our approach is a Gaussian kernel density estimation (KDE) using a plug-in bandwidth selection, which is fully implemented in a C++ backend and parallelized with OpenMP. We further provide a Python frontend, with predefined wrapper functions for classical coordinate-based dihedral entropy calculations, using a 1D approximation. This makes the package very straightforward to include in any Python-based analysis workflow. Furthermore, the frontend allows full access to the C++ backend, so that the KDE can be used on any binnable one-dimensional input data. In this application note, we discuss implementation and usage details and illustrate potential applications. In particular, we benchmark the performance of our module in calculating the entropy of samples drawn from a Gaussian distribution and the analytical solution thereof. Further, we analyze the computational performance of this module compared to well-established python libraries that perform KDE analyses. X-Entropy is available free of charge on GitHub (https://github.com/liedllab/X-Entropy). American Chemical Society 2021-03-13 2021-04-26 /pmc/articles/PMC8154256/ /pubmed/33719418 http://dx.doi.org/10.1021/acs.jcim.0c01375 Text en © 2021 The Authors. Published by American Chemical Society Permits the broadest form of re-use including for commercial purposes, provided that author attribution and integrity are maintained (https://creativecommons.org/licenses/by/4.0/).
spellingShingle Kraml, Johannes
Hofer, Florian
Quoika, Patrick K.
Kamenik, Anna S.
Liedl, Klaus R.
X-Entropy: A Parallelized Kernel Density Estimator with Automated Bandwidth Selection to Calculate Entropy
title X-Entropy: A Parallelized Kernel Density Estimator with Automated Bandwidth Selection to Calculate Entropy
title_full X-Entropy: A Parallelized Kernel Density Estimator with Automated Bandwidth Selection to Calculate Entropy
title_fullStr X-Entropy: A Parallelized Kernel Density Estimator with Automated Bandwidth Selection to Calculate Entropy
title_full_unstemmed X-Entropy: A Parallelized Kernel Density Estimator with Automated Bandwidth Selection to Calculate Entropy
title_short X-Entropy: A Parallelized Kernel Density Estimator with Automated Bandwidth Selection to Calculate Entropy
title_sort x-entropy: a parallelized kernel density estimator with automated bandwidth selection to calculate entropy
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8154256/
https://www.ncbi.nlm.nih.gov/pubmed/33719418
http://dx.doi.org/10.1021/acs.jcim.0c01375
work_keys_str_mv AT kramljohannes xentropyaparallelizedkerneldensityestimatorwithautomatedbandwidthselectiontocalculateentropy
AT hoferflorian xentropyaparallelizedkerneldensityestimatorwithautomatedbandwidthselectiontocalculateentropy
AT quoikapatrickk xentropyaparallelizedkerneldensityestimatorwithautomatedbandwidthselectiontocalculateentropy
AT kamenikannas xentropyaparallelizedkerneldensityestimatorwithautomatedbandwidthselectiontocalculateentropy
AT liedlklausr xentropyaparallelizedkerneldensityestimatorwithautomatedbandwidthselectiontocalculateentropy