Skip to content
Snippets Groups Projects
main_methods.py 731 B
Newer Older
import loompy
import pandas as pd


def loom_to_pandas_df(file_name="testfiles/test.loom"):
    """
    :param file_name: the name of the loom file (default is: "testfiles/test.loom")
    :return: pandas DataFrame
    """
    df = pd.DataFrame  # Empty DataFrame - to return in case of wrong formatting

    if file_name[-4:] != ".loom":
        print(f"{file_name} is not a valid file name. Only use '.loom' files!")

    with loompy.connect(file_name) as ds:
        try:
            df = pd.DataFrame(data=ds[:, :], index=ds.ra.Gene, columns=ds.ca.input_name)
        except AttributeError or ValueError or OSError:
            raise Exception(f"The loom file {file_name} does not exist or has no valid format!")

    return df