Source code for scrnatools.tools._isoform_preprocessing
"""
Performs basic preprocessing of kallisto isoform data.
From scrnatools package
Created on Mon Jan 10 15:57:46 2022
@author: joe germino (joe.germino@ucsf.edu)
"""
# external imports
from anndata import AnnData
import scanpy as sc
from pandas import DataFrame
import numpy as np
# scrnatools package imports
from .._configs import configs
logger = configs.create_logger(__name__.split('_', 1)[1])
# -------------------------------------------------------function----------------------------------------------------- #
[docs]def isoform_preprocessing(
adata: AnnData,
ec: DataFrame,
):
"""Performs basic preprocessing of kallisto isoform data.
Args:
adata (AnnData): The AnnData containing kallisto isoform data.
ec (DataFrame): The equivalence class matrix to rename vars with.
"""
adata.obs_names_make_unique()
# Filter out equivalence classes with no counts
ngenes = adata.shape[1]
sc.pp.filter_genes(adata, min_counts=1)
logger.info(f"Filtered {ngenes - adata.shape[1]} ecs with no counts")
# Filter cells with no ecs
ncells = adata.shape[0]
sc.pp.filter_cells(adata, min_genes=1)
logger.info(f"Filtered {ncells - adata.shape[0]} cells with no ecs")
# rename vars to be ecs
ec = ec.iloc[np.array(adata.var_names, dtype=int)]
adata.var_names = ec.loc[:, 1].values