[docs]deflr(adata:AnnData,db_filepath:str,sep:str="\t",source:str="connectomedb",copy:bool=False,)->AnnData|None:"""Add significant Ligand-Receptor pairs into AnnData object Parameters ---------- adata: AnnData The data object to add L-R info into db_filepath: str The path to the CPDB results file sep: str Separator of the CPDB results file source: str Source of LR database (default: connectomedb, can also support 'cellphonedb') copy: bool Copy flag indicating copy or direct edit Returns ------- adata: AnnData The data object that L-R added into """adata=adata.copy()ifcopyelseadataifsource=="cellphonedb":cpdb=pd.read_csv(db_filepath,sep=sep)adata.uns["cpdb"]=cpdblr=cpdb["interacting_pair"].to_list()lr2=[iforiinlrif"complex"notini]lr3=[iforiinlr2if" "notini]lr4=[iforiinlr3ifi.count("_")==1]adata.uns["lr"]=lr4print("cpdb results added to adata.uns['cpdb']")print("Added ligand receptor pairs to adata.uns['lr'].")elifsource=="connectomedb":ctdb=pd.read_csv(db_filepath,sep=sep,quotechar='"',encoding="latin1")adata.uns["lr"]=(ctdb["Ligand gene symbol"]+"_"+ctdb["Receptor gene symbol"]).values.tolist()print("connectomedb results added to adata.uns['ctdb']")print("Added ligand receptor pairs to adata.uns['lr'].")returnadataifcopyelseNone