How can I find DEGs between groups in one cluster of scRNA-Seq Seurat object?
1
0
Entering edit mode
22 months ago
Zahra ▴ 110

Hi

I have a scRNA-Seq dataset consisting of 3 groups (control, Treat1, and Treat2). I created a Seurat object for it then plot a UMAP and finally, I found 6 clusters in my dataset. I want to find differentially expressed genes in the Treat1 group compared with the Control group in just one cluster.

As far as I know FindAllMarkers() function, finds differentially expressed genes between clusters but not between groups in one cluster. How can I find DEGs between groups in one cluster?

Thanks for any help.

Seurat scRNA-Seq • 2.4k views
ADD COMMENT
1
Entering edit mode

Assuming that condition (Treat and control) is in the metadata of seurat object, you would need to aggregate the counts by condition and clusters (AggregateExpression function). Then extract the count object / rows that belong to cluster of interest. Then create two dataframes: one with counts and another one metadata. create a deseq2 object with counts, metadata and design (condition). Run DESeq2 analysis.

ADD REPLY
0
Entering edit mode

cpad0112

Thanks for your reply. I have tried to perform the Pseudobulk method but my Seurat object doesn't have any information about the cell replicate. It means that each cell has just information about the cluster and the condition (e.g. ctrl or treat) belonged to but not the individual information (for example belonging to which biological replicate) and finally the DESeq2 can't find the DEGs.

Here is the head of my Seurart.object@meta.data :

    sample percent.mt nCount_RNA nFeature_RNA RNA_snn_res.0.8 seurat_clusters
oil_AAACCCAAGGACATCG-1    oil   5.841387       7025         2997               2               2
oil_AAACCCAAGGCCCAAA-1    oil   2.346340      11739         4156               6               6
oil_AAACCCAAGTCTGGAG-1    oil   2.236155       4776         2316               2               2
oil_AAACCCAAGTTACGGG-1    oil   1.958864       6114         2710               2               2
oil_AAACCCACACACCTGG-1    oil   1.743369      10654         3848               2               2
oil_AAACCCAGTACTTCCC-1    oil   4.561102       3479         1727               3               3
                       celltype
oil_AAACCCAAGGACATCG-1      HSC
oil_AAACCCAAGGCCCAAA-1      HSC
oil_AAACCCAAGTCTGGAG-1      HSC
oil_AAACCCAAGTTACGGG-1      HSC
oil_AAACCCACACACCTGG-1      HSC
oil_AAACCCAGTACTTCCC-1      HSC

sample column is the condition (oil/ccl4/bdl), and the celltype column is the cluster each cell belongs to (e.g. HSC, EC).

I would appreciate it if you could help me.

ADD REPLY
0
Entering edit mode
22 months ago
datanerd ▴ 520

you can subset the cluster (for example cluster 2)

cluster2<-subset(object, idents="2")
Idents(cluster2)<-" "   ##this will be he variable name for your 3 groups
markers<-FindMarkers(cluster2,ident.1="Control",ident.2="Treat1")

or you can directly do that in 1 line:

markers <- FindMarkers(data ident.1 = "Control",ident.2="Treat1", subset.ident = "2")
ADD COMMENT
0
Entering edit mode

This is between the clusters. OP wants comparison with in the cluster.

ADD REPLY

Login before adding your answer.

Traffic: 2052 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6