Why does my SplitDotPlotGG plot show differential expression of a gene but Seurat::FindMarkers() function does not return it? I have analysed  and clustered my single cell rna seq data with methods in the Seurat package. After clustering, I obtained two main clusters: 0 and 1. I used the Seurat SplitDotPlotGG function to visualise the differential expression of a gene of interest X. 

SplitDotPlotGG(object,
               grouping.var = "clusterID", 
               genes.plot = c("geneX"),
               cols.use = c("blue", "red"), plot.legend = T) 




The plot shows clearly that there could be a significant differential expression of geneX between the conditions represented in clusters 0 and 1. However, I cannot see geneX in the list of differentially expressed genes returned when I run:

FindMarkers(object, ident.1 = 0, ident.2 = 1, genes.use = "geneX")


Is there be any explanation for this?
Thanks in advance.
You're showing groups 1 and 2 in the plot but comparing groups 0 and 1 in the differential expression test, so you need to instead set ident.1 = 1, ident.2 = 2 in FindMarkers.

The FindMarkers function by default only returns genes with >0.25 log fold-change expression, with >3 cells in each group. It's possible that these criteria are not being met for gene X. You can try changing these defaults, setting logfc.threshold = 0 to return all genes.