# Manually define clusters in Seurat and determine marker genes

I want to define two clusters of cells in my dataset and find marker genes that are specific to one and the other. Is there a way to do this in Seurat? Say, if I produce two subsets by the SubsetData function, is there a way to feed them into some other function that would calculate marker genes? If not, what other packages would you recommend for doing that?

If you look here:

https://satijalab.org/seurat/seurat_clustering_tutorial_part2.html

I just need a way to define ident myself, the number of levels (2) and assign numbers to each cell (0, 1), and then run DE between 0 and 1 clusters which is obvious how to do afterwards.

• A related issue was answered on github. Just as an alternative reference to the excellent answers below) – Tapper Mar 14 '19 at 17:31

## 2 Answers

I think you are looking to FindAllMarkers function from Seurat. As you said, you just have to define your ident, that have to have the structure of a table (cell names as names and cluster as value):

pident=as.factor(clusters)
names(pident)=cellNames
object1@ident=pident


And then run the FindAllMarkers function:

FindAllMarkers(object1, min.pct = 0.25, min.diff.pct = 0.25)


You can specify several parameters in this function (type of DE to perform, thresholds of expression, etc).

Seurat has functions for adding metadata and setting identities. Get unique cell names:

cell.labels <- seuratobject@ident


Replace column and its name with your cluster labels (e.g.), then:

seuratobject <- AddMetaData(seuratobject, metadata=cell.labels)
seuratobject <- SetAllIdent(seuratobject, id='yourclusterlabels')


Because you want to contrast two clusters against each other, I suggest using FindMarkers() as opposed to FindAllMarkers():

FindMarkers(object, ident.1, ident.2)


It can also compare combinations of clusters.