liana.rs.translate_column#
- liana.rs.translate_column(resource, map_df, column, replace=True, one_to_many=1)#
Generate orthologs for a given column in a DataFrame.
- Parameters:
- resource
DataFrame Input DataFrame.
- map_df
DataFrame DataFrame with orthology mappings, where the first column is the source and the second column is the target for mapping.
- column
str Column name to translate.
- replace
bool(default:True) Whether to replace the original column with the translated values. Default is True. If False, it will create a new column with the prefix
orthology_.- one_to_many
int(default:1) Maximum number of orthologs allowed per gene. Default is 1.
- resource
Notes
This function generates orthologs for a given column in a DataFrame. It handles complex names by splitting them into subunits and generating all possible combinations of orthologs. It assumes that subunits are separated by an underscore (“_”).
- Return type:
- Returns:
Resulting DataFrame with translated column.
- Raises:
ValueError – If the
mapping_dfdoes not contain ‘source’ and ‘target’ columns orone_to_manyis not an integer
Examples
map_dfmaps human symbols (source) to the target organism (target).liana.rs.get_hcop_orthologs()builds one; it is written out here to keep the example offline:>>> import pandas as pd >>> import liana as li >>> resource = li.rs.select_resource("consensus").head(3) >>> map_df = pd.DataFrame( ... {"source": ["LGALS9", "PTPRC", "MET", "CD44"], "target": ["Lgals9", "Ptprc", "Met", "Cd44"]} ... ) >>> li.rs.translate_column(resource, map_df, column="ligand") ligand receptor 0 Lgals9 PTPRC 1 Lgals9 MET 2 Lgals9 CD44
With
replace=Falsethe translation is added as anorthology_ligandcolumn instead of overwritingligand. Useliana.rs.translate_resource()to do both sides at once.