My experiment set up: 2 samples from WT mice, 2 samples from KO mice, all sequenced with 10x 3' scRNA-seq. The cell populations sorted for sequencing are the same.

Seurat offers the anchor transfer method to perform dimension reduction and clustering, but differential expression is still performed upon normalized, untransformed data matrices. 

Therefore, I was wondering if there are methods available to perform batch correction that can be used in differential expression. I would appreciate it if you could share your experience in dealing with this type of situation. 

Thanks a lot~ 
I personally like to aggregate cells per genotype and cluster into pseudobulks and then simply include the batch information into the design as we do in any normal RNA-seq setup such as `~batch+pseudobulkCluster`. Since you have replicates per genotype this comes then down to a normal 2 vs 2 comparison. That having said the few samples I analyzed were always made in a way that there was little batch effect so we processed one replicate of each genotype on the same day without any inter-platform or inter-species comparisons which probably is beyond simply including batch as a covariate. But for me that strategy worked out well so far. I personally use `sumCountsAcrossCells` from the scater package (assumes the SingleCellExperiment format) to get the pseudobulks and then edgeR or DESeq2 for the DE. 