I conducted differential expression analysis using limma over several datasets separatly. Now I have several dataframes containing the differential expression analysis for those datasets, and I want to show them on a volcano plot using the MetaVolcanoR package. If it matters, each dataframe contains a different number of genes. All of them together have about 1900 genes, with 322 duplicate genes. Of course these genes are the most important since they show up in more than one dataset.
According to the guide for this package, it accepts a list of dataframes that contain the genes and that is exactly what I did. It's not working:
Error in `dplyr::mutate()`:
! Problem while computing `deg = ifelse(...)`.
✖ `deg` must be size 1, not 5.
Run `rlang::last_error()` to see where the error occurred.
Warning messages:
1: Problem while computing `deg = ifelse(...)`.
ℹ longer object length is not a multiple of shorter object length
2: Problem while computing `deg = ifelse(...)`.
ℹ longer object length is not a multiple of shorter object length
3: Problem while computing `deg = ifelse(...)`.
ℹ longer object length is not a multiple of shorter object length
4: Problem while computing `deg = ifelse(...)`.
ℹ longer object length is not a multiple of shorter object length
5: Problem while computing `deg = ifelse(...)`.
ℹ longer object length is not a multiple of shorter object length
6: Problem while computing `deg = ifelse(...)`.
ℹ longer object length is not a multiple of shorter object length
This is my code. deg
are the dataframes containing the genes:
totalDEG = list(deg1, deg2, deg3, deg4, deg5, deg6)
meta_degs_vote <- votecount_mv(diffexp=totalDEG,
pcriteria='adj.P.Val',
foldchangecol='logFC',
genenamecol = 'symbol' ,
geneidcol=NULL,
pvalue=0.05,
foldchange = c(-2:2),
metathr=0.01,
collaps=FALSE,
jobname="MetaVolcano",
outputfolder=".",
draw='HTML')
A small sample from the list of dataframes. Please have a look:
list(structure(list(logFC = c(-7.27165840952755, -4.88122110881833,
-6.30403520245801, -6.8999676658889, -8.13498951031712, -5.32413783113649
), AveExpr = c(-2.58650721158596, 3.61120284397814, -2.9750929146731,
3.77018383049359, -0.810972490709042, 1.65932418607214), t = c(-9.0553181002117,
-6.82620260804813, -8.48983929556853, -6.06314640365836, -6.57611123280085,
-6.08421330131609), P.Value = c(6.52481248651775e-08, 2.95624449971451e-06,
1.61686397946798e-07, 1.26952738955763e-05, 4.72484047815294e-06,
1.21817558764285e-05), adj.P.Val = c(0.0021469243005638, 0.0324240896728687,
0.00266006461902072, 0.0425873774609022, 0.0388665377732861,
0.0425873774609022), B = c(3.93526797954365, 3.76986589394228,
3.07593517182545, 2.93364582997393, 2.78712609618446, 2.48083026475185
)), row.names = c("CT55", "RSAD2", "NONHSAG055530", "SERPINA3",
"MAGEA3", "ELOVL2"), class = "data.frame"), structure(list(logFC = c(-1.11702292814244,
-1.00881339314944, -1.29247483340359, -1.678804336036, -0.877301841172139,
-0.882994503750135), AveExpr = c(-1.04650550960762, 2.3264480164653,
1.89169499858488, 1.85255219430914, 3.017518955549, 3.24731558132494
), t = c(-5.50653192580488, -5.18990981628195, -5.19737421339365,
-5.19357612170011, -5.16155285521296, -5.00851768836733), P.Value = c(1.36714704185616e-07,
6.07519509403496e-07, 5.86918245169044e-07, 5.97314354344639e-07,
6.92387529999473e-07, 1.39075321882931e-06), adj.P.Val = c(0.00226891723066448,
0.00229817268957425, 0.00229817268957425, 0.00229817268957425,
0.00229817268957425, 0.00297000171237909), B = c(5.78292151217496,
5.75319693459223, 5.74841163529183, 5.72216201772023, 5.67676638224385,
5.04092739413463)), row.names = c("C4orf50", "EOMES", "FCRL3",
"CXCL13", "SLAMF6", "TOX"), class = "data.frame"), structure(list(
logFC = c(-0.565887124026144, 0.612912631013749, -0.618398238451896,
-0.667091570949291, -0.892065809446931, -1.58344446295073
), AveExpr = c(2.75051982430423, 4.52932455304796, 4.40916124787407,
3.49506443574801, -0.305786556309331, 2.75701352117834),
t = c(-6.45466482244236, 5.50739226476167, -5.22815126014602,
-5.21073977458381, -5.33075404093159, -5.1367248495367),
P.Value = c(4.36358632890185e-10, 7.84679183670794e-08, 3.21918341064428e-07,
3.50880529362477e-07, 1.92897841200425e-07, 5.048066324975e-07
), adj.P.Val = c(7.40587871741222e-06, 0.000443919170175357,
0.000951953129638619, 0.000951953129638619, 0.000818465540213404,
0.000951953129638619), B = c(12.3621067175863, 7.68387994397188,
6.37209400308848, 6.28105629010098, 6.12986402238888, 5.94569278120403
)), row.names = c("REXO5", "PCDHGC3", "ESPL1", "SGO1", "RDM1",
"CXCL9"), class = "data.frame"))