I am trying to implement LIMMA room duplicate correlation strategy for my RNA-seq samples using blocking setup. I need to consider following points into account.
1. My samples are biologically paired and dependent also not all patients has its paired sample.
for instance, this is how my design table looks like,
I have 82 samples with more than half of patients has its paired sample and few of them doesn't. According to Limma from user guide, I have adapted to the following workflow. But I have a question, how limma voom fits into the workflow for a paired experimental design that uses duplicateCorrelation() to handle blocking on the same subject, how is the appropriate experimental design (taking subject blocking into account) fed to voom?
My design looks like,
combined_fac <- factor(paste( design_table$Condition)) design <- model.matrix(~0 + combined_fac) rownames(design)<-colnames(data) colnames(design)<-c("Non","PH")
## Then followed with estimating correlation, blocking is input with design and then the Contract for finding DE genes
y <- DGEList(data)
y <- calcNormFactors(y)
v <- voom(y, design)
corfit <- duplicateCorrelation(v, design, block =design_table$Patient
v <- voom(y, design, block =design_table$Patient, correlation =
fit <- lmFit(v, design, block = design_table$Patient, correlation =
cont_matrix <- makeContrasts( PHvsNon = PH-Non, levels=design)
fit2 <- contrasts.fit(fit, cont_matrix)
fit2 <- eBayes(fit2)
result_double <- topTable(fit2, number = nrow(data), sort.by ="none")
I wanted to make the understanding the workflow is right with for my experiment.? or what is the appropriate way to run voom such that it takes all of the necessary design information into its account?