def scimm_like(readsf, k, soft_assign): new_k = determine_k(soft_assign, k) priors = imm_cluster.update_priors([1.0 / new_k] * new_k, readsf, {}, {}, soft_assign) (likelihood, read_probs) = imm_cluster.get_read_probs(priors, {}, {}, soft_assign) return likelihood
def get_entropy(readsf, k, soft_assign): new_k = determine_k(soft_assign, k) priors = imm_cluster.update_priors([1.0 / new_k] * new_k, readsf, {}, {}, soft_assign) (like, read_probs) = imm_cluster.get_read_probs(priors, {}, {}, soft_assign) entropy = 0.0 for r in read_probs: for c in range(len(read_probs[r])): if read_probs[r][c] > 0: entropy += -read_probs[r][c] * math.log(read_probs[r][c]) return entropy
def get_entropy(readsf, k, soft_assign): new_k = determine_k(soft_assign, k) priors = imm_cluster.update_priors([1.0/new_k]*new_k, readsf, {}, {}, soft_assign) (like, read_probs) = imm_cluster.get_read_probs(priors, {}, {}, soft_assign) entropy = 0.0 for r in read_probs: for c in range(len(read_probs[r])): if read_probs[r][c] > 0: entropy += -read_probs[r][c]*math.log(read_probs[r][c]) return entropy