# Import gene list to Seurat to define cell types

Is there a way to import gene list into Seurat to define cell type? The default cell types in Seurat is not enough for our research. For example, we want to mark a subtype of B cells in Seurat, but seems like Seurat only have general B cell, I'm planning to download gene list from Genomic Cytometry, and then import the gene list into Seurat and then Seurat define cell types in the cluster based on the gene list I import. Does Seurat support this function?

• Welcome to the site. Did you find anything on the vignette and on the several questions (and answers) posted online? – llrs Jun 20 '19 at 7:07
• I checked, but unfortunately I couldn't find any information. – SherlockLTS Jun 20 '19 at 23:52
• I am in roughly the same situation: I have a list of marker genes for each cell type, and I now I want to assign a cell type to each cell using this. Did you ended up finding solution and would you mind sharing? – fridaymeetssunday Jul 7 at 14:33

## 3 Answers

Seurat does not define cell types by name. It clusters and assigns each cell to a cluster, from 0 to X. If your data has the cell type (e.g. B,T, Mast cells) it means that someone annotate the clusters so that they have a biological meaning.

You can assign different names to the clusters by using the AddMetaData function.

sampleID  cellType
cell1     B
cell2     B
cell3     T
cell4     T

newMeta <- oldMEta
newMeta$$origType <- newMeta$$cellType
newMeta\$cellType <- c("B1","B","Treg","Tkill")

object <- AddMetaData(object, newMeta)

The new metadata should look like

sampleID  origType  cellType
cell1     B         B1
cell2     B         B
cell3     T         Treg
cell4     T         Tkill

You can then swap the labels using SetAllIdent(object = test, id = "cellType"). Your tSNE or uMAp, will now show the new cell types.

• Thank you so much for your answer. But actually I want to define a new subtype of B cells in the B cell cluster. I know the genes that express the new subtype of B cells, but the current Seurat cluster only showing the general B cell. I'm thinking about doing a subtype of B cells, and then import the the gene list to the Seurat to see if Seurat can show the subtype of B cells based on the gene list I provided. I'm not sure if Seurat can do this. – SherlockLTS Jun 20 '19 at 23:51
• Seurat does not use gene lists to cluster the data. What I usually do to look for sub-cell types, is to subset the dataset (only the cells from one cluster) and re-run the clustering/PCA steps to see how those cells (and only those cells) are clustering together. The expression of your genes will tell you if the sub-clusters contains specific sub-types. Have a look at the Seurat documentation under "Selecting particular cells and subsetting the Seurat object". – fra Jun 21 '19 at 7:05
• Hello, you mentioned that Seurat not use gene list to cluster data, but I thought that Seurat cluster cells based on the expression of certain genes, if a cells have high expression in certain genes, they will be define as a specific cell types, do you mean that this is not the case? – SherlockLTS Jun 25 '19 at 20:32
• Seurat clusters based on the expression of certain genes, but those genes will be determined independently for each experiment. By default, it would be the most variable genes. It does not know if those genes have been previously described to be associated with a specific cell type. – burger Jun 26 '19 at 1:27

You can use scID with your gene list to find the cells that match your gene list. You can then find which cluster in Seurat have these cells.

Maybe you can try Seurat::AddModuleScore(), then FeaturePlot() and see if some of your B cells are different. After plotting this on GenePlot(), perhaps you can set a cutoff, then assign identities.

Alternatively, use your B cell gene list in RunPCA(object, pc.genes = yourgenelist) instead of the usual variable genes. You can also subset B cells first with SubsetData(), and run the above.