Source code for pytximport.utils._remove_transcript_version
from typing import List, Optional, Tuple, Union
import pandas as pd
import xarray as xr
[docs]
def remove_transcript_version(
transcript_data: xr.Dataset,
transcript_target_map: Optional[pd.DataFrame] = None,
transcript_ids: Optional[List[str]] = None,
id_column: str = "transcript_id",
) -> Tuple[xr.Dataset, Union[pd.DataFrame, None], List[str]]:
"""Remove the transcript version from the transcript data and the transcript target map.
Args:
transcript_data (xr.Dataset): The transcript data.
transcript_target_map (Optional[pd.DataFrame], optional): The transcript target map. Defaults to None.
transcript_ids (Optional[List[str]], optional): The transcript ids. Defaults to None.
id_column (str, optional): The column name for the transcript ID. Defaults to "transcript_id".
Returns:
Tuple[xr.Dataset, pd.DataFrame, List[str]]: The transcript data, the transcript target map, and the transcript
ids.
"""
# Ignore the transcript version in both the data and the transcript gene map
if transcript_ids is None:
transcript_ids = transcript_data.coords[id_column].values # type: ignore
if transcript_target_map is not None:
transcript_target_map[id_column] = transcript_target_map[id_column].str.split(".").str[0]
transcript_ids = [transcript_id.split(".")[0] for transcript_id in transcript_ids] # type: ignore
transcript_data.coords[id_column] = transcript_ids
return transcript_data, transcript_target_map, transcript_ids