Team Ai
Apppublic

MeMoModelling/gene-expression-bootstrapper

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
utils.py31 linesDownload Raw Back to utils
1import os2import pandas as pd3import re4import sys5 6def write_to_excel(output_filename, dfs_towrite, index = False, col_width=22):7    with pd.ExcelWriter(output_filename) as writer:8        for name, df in dfs_towrite.items():9            df.to_excel(writer, sheet_name = name, index = index)10            num_col = len(df.columns) if index else len(df.columns)-111            writer.sheets[name].set_column(0, num_col, col_width)12    print("Write to", output_filename)13 14def read_model_excel(model_excel_filename, sheet_name):15    if not os.path.isfile(model_excel_filename):16        raise FileNotFoundError(f"Missing model excel file, expected at {model_excel_filename}")17    if sheet_name not in pd.ExcelFile(model_excel_filename).sheet_names:18        raise ValueError(f"{sheet_name} are expected to be in the parsed model excel file - {model_excel_filename}")19    sheet_df = pd.read_excel(model_excel_filename, sheet_name=sheet_name)20    sheet_df = sheet_df.fillna("")21    return sheet_df22 23def read_mapping(mapping_filename):24    if not os.path.isfile(mapping_filename):25        raise FileNotFoundError(f"Missing mapping file, expected at {mapping_filename}")26 27    mapping_df = pd.read_excel(mapping_filename)28    mapping_df = mapping_df[mapping_df["has_mapping"] == True]29 30    mapping_dict = dict(zip(mapping_df["model_tag"], mapping_df["gene_id"]))31    return mapping_dict