def sortclusters(CoPaM, Mc, minGenesinClust = 11):
Mcloc = np.array(Mc)
[Np, K] = Mcloc.shape
largerThanMax = np.max(Mcloc) + 1
Cf = np.zeros(K, dtype=int) - 1
for i in range(Np-1,-1,-1):
C = np.argsort(Mcloc[i])[::-1]
M = Mcloc[i,C]
Cf[np.all([M >= minGenesinClust, Cf == 0], axis=0)] = C[np.all([M >= minGenesinClust, Cf == 0], axis=0)]
if i > 0:
Mcloc[i-1, Cf[Cf != 0]] = largerThanMax
Cf[Cf==-1] = np.setdiff1d(np.arange(K), Cf)
return np.array(CoPaM)[:, Cf]
# Clustering helping function for parallel loop
评论列表
文章目录