Source code for scrnatools.tools._read_kallisto_tcc_matrix

"""
Reads in a kallisto bustools isoform matrix.
From scrnatools package

Created on Mon Jan 10 15:57:46 2022

@author: joe germino (joe.germino@ucsf.edu)
"""

# external imports
import scanpy as sc
import pandas as pd
from pandas import DataFrame
from typing import Tuple
from anndata import AnnData
import numpy as np

# scrnatools package imports
from .._configs import configs

logger = configs.create_logger(__name__.split('_', 1)[1])


# -------------------------------------------------------function----------------------------------------------------- #


[docs]def read_kallisto_tcc_matrix( sample_path: str, ) -> Tuple[AnnData, DataFrame]: """Reads in a kallisto bustools isoform matrix. Args: sample_path (str): The path to and sample name for the mtx, barcodes, and ec files from kallisto bustools output. Returns: Tuple[AnnData, DataFrame]: An AnnData with the tcc data and the ec matrix. """ logger.info(f"Reading sample: {sample_path}") data = sc.read_mtx(f"{sample_path}.mtx") data.obs_names = pd.read_csv( f"{sample_path}.barcodes.txt", header=None ).values.T[0] ec = pd.read_csv(f"{sample_path}.ec.txt", sep='\t', header=None) data.var_names = np.array(np.arange(data.shape[1]), dtype=str) return data, ec