我使用 clustal omega 获得了 500 个蛋白质序列的距离矩阵(它们彼此同源)。
我想使用亲和力传播来聚类这些序列。
最初,因为我用手观察到距离矩阵只有 0 和 1 之间的值,0 距离 = 100% 的同一性,所以我推断我可以采取(1 - distance)
获得亲和力。
我运行了我的代码,集群看起来很合理,我认为一切都很好......直到我读到通常,亲和力矩阵是通过应用“热核”从距离矩阵计算出来的。就在那时,我脑海中的一切都乱了套。
我是否得到了不正确的亲和矩阵的概念?有没有一种简单的方法来计算亲和矩阵?scikit-learn 提供以下公式:
similarity = np.exp(-beta * distance / distance.std())
但什么是贝塔?我知道 distance.std() 是距离的标准偏差。
我现在对所涉及的概念(而不是实际的编码实现)感到非常困惑和迷失,所以非常感谢任何帮助!
PS 我已经尝试在 Biostars.org 上发帖,但我还没有得到答案......