Hello,
I am a researcher working with miRNAs in cats. We have used DESeq2 to analyse our data. The differential expression analysis was performed using DESeq2 v1.32.0 on raw counts with a model including an interaction between breed and heart status and without independent filtering. The following contrasts were evaluated: effect of heart condition (HCM vs. Healthy), effect of breed (Norwegian Forest vs. Domestic Short Hair cats) in healthy cats, effect of breed (Norwegian Forest vs. Domestic Short Hair cats) in HCM cats and differential effect of heart condition between breeds (interaction).
We analysed 12 cats, 6 of each breed (2 different cat breeds were included), and within each breed group 3 were healthy and three had heart disease. As per default in DESeq2, the adjusted p-value threshold (FDR) was set at 0.1 For each contrast, normalized counts of miRNAs with top lowest p-values were visualized using boxplots.
My question is: By evaluating these five contrasts in DESeq2 with the interaction: was this performed as a one-factor variance analysis where 4 groups are defined as combinations of breed and heart condition instead of a two factor variance analysis with an interaction?
I put some of the code below for the first part of the analysis. Thanks in advance for your reply. I can give you more information if needed.
Kind regards
Sofia Hanås Swedish researcher
Enter the body of text here
Code should be placed in three backticks as shown below
filt$heart_status <- relevel(filt$heart_status, "Healthy")
filt$breed <- relevel(filt$breed, "DSH")
filt$group <- factor(paste0(filt$heart_status, "_", filt$breed))
dds <- DESeqDataSetFromMatrix(countData = exprs(filt),
colData = pData(filt),
design = ~ 0 + group)
dds <- estimateSizeFactors(dds)
dds <- DESeq(dds)
design_oneGroupFactor <- model.matrix(~ 0+group, data = colData(dds))
contrasts <- limma::makeContrasts(
mainHeartCond=(groupHCM_DSH+groupHCM_NF)/2-(groupHealthy_DSH+groupHealthy_NF)/2,
breedEff_inHealthy=groupHealthy_NF-groupHealthy_DSH,
breedEff_inHCM=groupHCM_NF-groupHCM_DSH,
testInt=(groupHCM_NF-groupHCM_DSH)-(groupHealthy_NF-groupHealthy_DSH),
levels=colnames(design_oneGroupFactor))
rownames(contrasts) <- gsub("group", "", rownames(contrasts))
# include your problematic code here with any corresponding output
# please also include the results of running the following in an R session
sessionInfo( )
Hello Michael, Thanks for answering my question. It is not a design question. I just wanted to know: in the program in DESeq2, is the contrasts performed as one-factor variance analysis where 4 groups are defined as combinations with an interaction, or is these contrasts in DESeq2 performed as two factor variance analysis with an interaction? I have talked to my local statistician and she could not tell. So I am wondering about how this works in the DESeq2 program. Thank you in advance. Kind regards Sofia Hanås
DESeq2 is a GLM, and all the tests are described in the paper (2014).
To better discuss with the statistician you can just show the group variable you’ve created. DESeq2 uses the same design matrix as lm() and other basic R functions.