carmonalab / ProjecTILs

Interpretation of cell states using reference single-cell maps
GNU General Public License v3.0
234 stars 27 forks source link

Losing KLRC1 signal after running ProjecTILs #26

Closed Abnaveed closed 2 years ago

Abnaveed commented 2 years ago

Hey

Whenever I run ProjecTILS on a Seurat object with my T cells, the resulting file loses KLRC1 signal. It says there is no expression of it in any assay. I know from feature plots and gene expression data that it is highly expressed in the cluster subset I am projecting on ProjecTILS.

I am assuming this has something to do with how gene names are being converted. Is there a way to fix this ?

Thank you

mass-a commented 2 years ago

Hello Abdullah, the package internally uses a conversion table for human/mouse orthologs stored at ProjecTILs::Hs2Mm.convert.table. This table is derived from BioMart and should be fairly complete, but we know that some genes are missing. That is the case for your gene of interest KLRC1:

tab <- ProjecTILs::Hs2Mm.convert.table
tab[grep("^KLR",tab$Gene.HS),]
Gene.stable.ID.HS Gene.HS Gene.MM                                Alt.symbol                                  Alt.symbol.HS
2876    ENSG00000134539   KLRD1   Klrd1                                     Klrd1                                          KLRD1
3103    ENSG00000183542   KLRC4  Clec2m                  Clec2m,Klre1,Klri1,Klri2 KLRC4,KLRC4-KLRK1,KLRC3,KLRC2,KLRC1,AC068775.1
3232    ENSG00000213809   KLRK1   Klrk1                                     Klrk1                                          KLRK1
6487    ENSG00000139187   KLRG1   Klrg1                                     Klrg1                                          KLRG1
8195    ENSG00000111796   KLRB1   Klrb1 Klrb1c,Klrb1,Klrb1a,Klrb1b,Klrb1f,Gm44511                                          KLRB1
11877   ENSG00000188883   KLRG2   Klrg2                                     Klrg2                                          KLRG2

I have added a new parameter to the function make.projection (in the development version of ProjecTILs, to be installed with remotes::install_github("carmonalab/ProjecTILs", ref="dev")) that should allow you to specify a custom table of orthologs. For example, you could add KLRC1 to the existing table with:

mytab <- rbind(ProjecTILs::Hs2Mm.convert.table, c("ENSG00000134545","KLRC1","Klrc1","Klrc1","KLRC1"))

and then specify this new table when you run the projection:

query.projected <- make.projection(query.seurat, ref=ref, ortholog_table=mytab)

Let us know if this works for you!

-m