def split_keys(profiles, bin_sites, random_state=1234):
"""Balanced split over binding/non-binding sequences."""
random.seed(random_state)
pos_keys = bin_sites.keys()
neg_keys = list(set(profiles.keys()) - set(pos_keys))
random.shuffle(pos_keys)
random.shuffle(neg_keys)
len_pos = len(pos_keys)
pos_keys1 = pos_keys[:len_pos / 2]
pos_keys2 = pos_keys[len_pos / 2:]
len_neg = len(neg_keys)
neg_keys1 = neg_keys[:len_neg / 2]
neg_keys2 = neg_keys[len_neg / 2:]
return [pos_keys1, pos_keys2, neg_keys1, neg_keys2]
评论列表
文章目录