Source code for bobaT.proc

from . import utils as ut

import os
import numpy as np


[docs] def binarize_data( data, phenotype_labels=None, threshold=0.5, save=False, save_dir=None, fname="binarized_data", ): if phenotype_labels is None: binaries = set() else: binaries = dict() for c in phenotype_labels["class"].unique(): binaries[c] = set() f = np.vectorize(lambda x: "0" if x < threshold else "1") for sample in data.index: b = ut.state2idx("".join(f(data.loc[sample]))) if phenotype_labels is None: binaries.add(b) else: binaries[phenotype_labels.loc[sample, "class"]].add(b) if save == True: if not os.path.exists(save_dir): os.makedirs(save_dir) with open(save_dir + os.sep + fname + ".csv", "w+") as outfile: for k in binaries.keys(): outfile.write(f"{k}: {binaries[k]}\n") return binaries