scRNA-seq as pseudobulk for DEseq2: does AggregateExpression() normalize counts?
1
0
Entering edit mode
@03836aaf
Last seen 9 months ago
United States

Hi,

I'm using AggregateExpression() function to convert my scRNA-seq data into pseudobulk for differential expression with Deseq2. I'm wondering whether AggregateExpression() simply sums the counts for each gene in each cell, or if it also normalizes by the different numbers of cells that each sample has.

This is the Deseq2 plot for gene LRP6 showing it is differentially expressed in group MUT as compared to WT. Within the group MUT, however, I am wondering whether the sample highlighted in red has higher expression of this gene simply because it may have more cells (let's say for example 10,000), and the sample highlighted in blue has lower expression of this gene because it may have way less cells (let's say for example 500).

enter image description here

Could that be the case? And if so, how to avoid it?

pseudobulk seurat DESeq2 • 1.5k views
ADD COMMENT
0
Entering edit mode
ATpoint ★ 4.6k
@atpoint-13662
Last seen 12 hours ago
Germany

Seurat is not a Bioconductor package. Support for its functions are not provided here. If you want a Bioconductor function then use scuttle::aggregateAcrossCells() and for this the answer would be no, it sums raw counts and you need to normalize the pseudobulks.

ADD COMMENT
0
Entering edit mode

Thank you. Do you have any suggestion on how to perform the normalization?

ADD REPLY
0
Entering edit mode

Please don't post a comment as an answer. You can refer to the OSCA book for details on normalizing pseudobulk data.

ADD REPLY
0
Entering edit mode

I moved it just now.

ADD REPLY
0
Entering edit mode

From its characteristics it's no longer sparse and similar to bulk RNA-seq so any bulk RNA-seq method should do. I personally use the normalization methods from DESeq2 and edgeR a lot.

ADD REPLY

Login before adding your answer.

Traffic: 602 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6