minimds.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:miniMDS 作者: seqcode 项目源码 文件源码
def infer_cluster(contactMat, cluster, alpha, classical=False):
    """Infers 3D coordinates for one cluster"""
    assert len(cluster.getPointNums()) == len(contactMat)

    at.makeSymmetric(contactMat)
    rowsums = np.array([sum(row) for row in contactMat])
    assert len(np.where(rowsums == 0)[0]) == 0 

    distMat = at.contactToDist(contactMat, alpha)
    at.makeSymmetric(distMat)

    if classical:   #classical MDS
        coords = st.cmds(distMat)
    else:
        mds = manifold.MDS(n_components=3, metric=True, random_state=np.random.RandomState(), verbose=0, dissimilarity="precomputed", n_jobs=-1)
        coords = mds.fit_transform(distMat)

    for i in range(len(cluster.getPoints())):   
        cluster.getPoints()[i].pos = coords[i]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号