# different gene expression in the monocle

As it is shown in the picture that we can get the pseudotime plot by using Monocle. I was wondering whether we can use some function like the Seurat FindMarker to find out the differential expression genes between the Double-KO and WT in the bottom right corner?

• If you already have the monocle object I wouldn't convert it to Seurat as to keep the scaling and normalisation that led to the pseudotime. Have a look at their documentation as there is a section exactly dedicated to what you want (cole-trapnell-lab.github.io/monocle-release/docs/…) – fra Nov 13 '19 at 17:11
• Hi fra, thank you for your advice. But I still cannot get the marker gene out easily as Seurat do – hua Nov 14 '19 at 5:14

Seurat FindMarker Doc Yes based upon the R documentation here it seems possible.

This Differential expression article seems to show this is how.

library(Seurat)
# list options for groups to perform differential expression on
levels(pbmc)
# Find differentially expressed features between CD14+ and FCGR3A+ Monocytes
monocyte.de.markers <- FindMarkers(pbmc, ident.1 = "CD14+ Mono", ident.2 = "FCGR3A+ Mono")
# view results
# Find differentially expressed features between CD14+ Monocytes and all other cells, only
# search for positive markers
monocyte.de.markers <- FindMarkers(pbmc, ident.1 = "CD14+ Mono", ident.2 = NULL, only.pos = TRUE)
# view results
# Pre-filter features that are detected at <50% frequency in either CD14+ Monocytes or FCGR3A+
# Monocytes
head(FindMarkers(pbmc, ident.1 = "CD14+ Mono", ident.2 = "FCGR3A+ Mono", min.pct = 0.5))
#...
# Test for DE features using the MAST package
head(FindMarkers(pbmc, ident.1 = "CD14+ Mono", ident.2 = "FCGR3A+ Mono", test.use = "MAST"))
head(FindMarkers(pbmc, ident.1 = "CD14+ Mono", ident.2 = "FCGR3A+ Mono", test.use = "DESeq2", max.cells.per.ident = 50))


Maybe something like this would work for you. Monocle export

  #replace the monocle_cds with your monocle
seurat <-exportCDS(monocle_cds, export_to = c("Seurat", "Scater"))
#This bellow will list the options for ident.1 and ident.2
levels(seurat)
# insert name from levels(seurat) command in parentheses
head(FindMarkers(seurat, ident.1 = "Double-KO+ Mono", ident.2 = "WT+ Mono", test.use = "DESeq2", max.cells.per.ident = 50))


Hopefully you are able to separate the two groups Double-KO and WT into ident.1 and ident.2 so you can use the function on them. Good luck. As long as the exportCDS function works on your data type you input for cds.

• this kind of findmarkers isn't monocle function and I was curious about the last code you give me that it may include all of the Double-KO and the WT not the specific cells in the bottom right corner. – hua Nov 13 '19 at 2:03
• As long as you can create the file it should work. library(Seurat) seurat <- readRDS(file = "../data/pbmc3k_final.rds") – Michael Hearn Nov 13 '19 at 2:17
• Did you mean that if I can export the data from the monocle to the Seurat? – hua Nov 13 '19 at 2:35
• Yes you need to readRDS or exportCDS to get the data you need then use levels to list ident to use. – Michael Hearn Nov 13 '19 at 2:39
• I have no idea whether I have use the correct code "seurat <- exportCDS(CM_cds,export_to = c("Seurat", "Scater")) levels(seurat) head(FindMarkers(seurat, ident.1 = "Double-KO+ Mono", ident.2 = "WT+ Mono", test.use = "DESeq2", max.cells.per.ident = 50)) " Thank you very much for your advice!!! – hua Nov 13 '19 at 4:02