MNN batch correction of pre-computed PCA
Entering edit mode
tahvdbrand ▴ 10
Last seen 19 months ago

Hi there,

I wonder whether it might be possible to perform MNN batch correction in PC space.

The reason I'd like to do this is because I'm working with single cell ATAC-seq instead of single cell RNA-seq and since the data is (effectively) binary, the processing steps are somehwat different. It doesn't make sense to calculate log expression matrices for example, which is the recommended input for batchelor::fastMNN().

Therefore, my idea was to compute a PCA on the combined datasets (using TF-IDF weighting followed by SVD) and subsequently use the MNN batch correction. I think it might be possible in theory since the documentation of bachelor::fastMNN() states: "It performs a multi-sample PCA via multiBatchPCA and subsequently performs all calculations in the PC space". A possibly relevant detail here is that I remove PC1 which captures cell sequencing depth almost perfectly, but is not biologically interesting.

My question is, (1) is this possible and how would I go about doing this and (2) does this approach makes sense? Any advice is appreciated!

Best wishes, Teun

single cell batchelor • 232 views
Entering edit mode

I totally overlooked the batchelor::reducedMNN function which exactly does what I want. Sorry for so hastily posting a question!

Entering edit mode
Aaron Lun ★ 27k
Last seen 8 hours ago
The city by the bay

Yep, you got it. Note that reducedMNN doesn't do the cosine normalization, but I don't think that's really necessary in general anyway. We had one dataset where it was clearly beneficial and I've been loathe to get rid of it since, despite my general and persistent ambition to simplify all of these algorithms.

Entering edit mode

It worked beautifully for the scATACseq datasets too, thanks Aaron and Laleh for this method


Login before adding your answer.

Traffic: 209 users visited in the last hour
Help About
Access RSS

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

Powered by the version 2.3.6