Institute for General, Inorganic and Theoretical Chemistry, Center for Molecular Biosciences Innsbruck (CMBI), University of Innsbruck, A-6020 Innsbruck, Austria.
J Chem Inf Model. 2021 Apr 26;61(4):1533-1538. doi: 10.1021/acs.jcim.0c01375. Epub 2021 Mar 13.
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. is available free of charge on GitHub (https://github.com/liedllab/X-Entropy).
是一个 Python 包,用于计算给定分布的熵,在本例中,是基于二面角分布的熵。二面角熵提供了一种对齐独立的局部蛋白质柔性度量方法。我们方法的关键特点是使用插件带宽选择的高斯核密度估计(KDE),这在 C++后端中得到了完全实现,并使用 OpenMP 进行了并行化。我们进一步提供了一个 Python 前端,其中包含用于经典坐标二面角熵计算的预定义包装函数,使用一维逼近。这使得该包非常容易包含在任何基于 Python 的分析工作流程中。此外,前端允许对 C++后端进行完全访问,因此 KDE 可以用于任何可分箱的一维输入数据。在本应用说明中,我们讨论了实现和使用细节,并说明了潜在的应用。特别是,我们在计算从高斯分布中抽取的样本的熵及其解析解方面对我们的模块的性能进行了基准测试。此外,我们分析了与执行 KDE 分析的成熟的 Python 库相比,这个模块的计算性能。可以在 GitHub(https://github.com/liedllab/X-Entropy)上免费获得。