Is it possible for a cell cluster to not have cells of a certain condition?
0
0
Entering edit mode
10 weeks ago

Hello, I'm new to seurat and bioinformatics in general. I've been doing data analysis on cells that have 5 different feeding conditions. After following the seurat pbmc tutorial, I made a violin plot showing the expression of a genetic marker, but I realized that one of my clusters only has cells for 4 of the conditions. There were almost 12k cells in total, so this did not make much sense to me as I thought all clusters would definitely have all conditions expressed. Is this possible?

0
Entering edit mode

Can you share your code and some basic QC plots, like a DimPlot of your samples split by condition, grouped by clusters, etc. It's difficult to give any advice without this information.

0
Entering edit mode

Okay so I used the raw data from NCBI GEO website and called it arc.data. Then, I created a seurat object

arc <- CreateSeuratObject(counts = arc.data, project = "arcuate median eminence", min.cells =3, min.features = 200, neames.field = 1, names.delim = '_')

0
Entering edit mode

Then I created some violin plots. The object has over 20k cells btw. I subsetted it just for neurons later, but these violin plots are for the entire thing.

0
Entering edit mode

I followed the pbmc tutorial for cut-offs (used 5600 nfeatures), data normalization, scaling, pca, umap.

arc <- subset(arc, subset = nFeature_RNA > 200 & nFeature_RNA < 5600 & percent.mt < 20)


I hope I don't need to continue with all the other code because it's basically the pbmc tutorial in seurat. But after I finished with everything, I clustered the cells, and made a list of the neurons

neuron.list <- WhichCells(arc, idents = c(0,1,2,3,4))


After, I removed doublets with the doubletFinder function. I made an object by subsetting for the singlets:

#This is the object with all neurons (doublets and singlets). arc.original is just a copy of the original arc object I made at the start.
neurons_orig<-subset(arc.original, cells = neuron.list)

#Singlets
neurons_orig.singlets <- subset(neurons_orig, DF_hi.lo == "Singlet")


There were 11 current identiites: arc1, arc2, arc3, Chow, FemaleFasted, MaleFasted, FemaleFed, High Fat, Fasted, MaleFed, Refed. I renamed these with:

new.group.identities <- c("Control", "Control", "Control", "LFD", "Fasted", "Fasted", "Control",
"HFD", "Fasted", "Control", "Refed")
names(new.group.identities) <- levels(neurons_orig.singlets)
neurons_orig<-RenameIdents(neurons_orig.singlets, new.group.identities)
levels(neurons_orig.singlets)

#I made a new metadata column for the identities, then i integrated data.
neurons_orig.singlets[["ids"]] <- Idents(object = neurons_orig.singlets)
neurons_int.list<-SplitObject(neurons_orig, split.by = "experiment.ids")
neurons_int.list <- lapply(X = neurons_int.list, FUN = function(x) {
x <- NormalizeData(x)
x <- FindVariableFeatures(x, selection.method = "vst", nfeatures = 2000)
})
neurons_int.features <- SelectIntegrationFeatures(object.list = neurons_int.list)
neurons.anchors <- FindIntegrationAnchors(object.list = neurons_int.list, anchor.features = neurons_int.features)
neurons.combined <- IntegrateData(anchorset = neurons.anchors)


Fast forward, I went through the cycle of redoing the pbmc tutorial (scale, pca, umap, etc.). I used 0.7 and 13 dimensions resolution to cluster.

I set the assay to "RNA", then I searched for conserved markers in each cluster. As a sample:

neuron.markers_0 <- FindConservedMarkers(neurons.combined, ident.1 = 0, grouping.var = ".ids", verbose = FALSE)


Now the problem is that when I did it with cluster 13, I got the following error:

neuron.marker_13 <- FindConserved Markers(neurons.combined, ident.1 = 13, grouping.var = "ids", verbose = FALSE)
#Error in ValidateCellGroups(object = object, cells.1 = cells.1, cells.2 = cells.2, : Cell group 1 has fewer than 3 cells


Also, after I subsetted for identity 13 (cluster 13) and made an object called cluster13.cells, I made a violin plot to see the distribution of a genetic marker in control ad high fat conditions, but this happens:

VlnPlot(cluster13.cells, features = "Ntrk2", idents = c("Control", "HFD"))