Compare MNN and Seurat transfer
MNN does batch correction by reducedMNN
etc. (for each query cell, MNN pair specific batch vector s are weighted by Gaussian kernel, and distance is from the query cell to the cells in the MNN set of query dataset), and then find KNN on corrected space for each query cell to **transfer information.**
https://static-content.springer.com/esm/art%3A10.1038%2Fnbt.4091/MediaObjects/41587_2018_BFnbt4091_MOESM65_ESM.pdf
When Seurat uses TransferData
, it doesn’t do batch effect, but by default uses reference PCA structure to find anchors, and then transfers information using kernel weighted mean.
Find anchors on reference PCA
Seurat has an option (set by default) to project the PCA structure of a reference onto the query, instead of learning a joint structure with CCA.
Transfer kernel weighted information of anchors
When IntegrateEmbeddings
https://satijalab.org/seurat/reference/integratedata
Compute the anchor integration matrix as the difference between the two expression matrices for every pair of anchor cells
Compute the transformation matrix as the product of the integration matrix and the weights matrix.
Subtract the transformation matrix from the original expression matrix.