This is a test version of Biostars. For the public version, visit https://www.biostars.org.
EDASeq - Problem "longer object length is not a multiple of shorter object length"

Hello,

I'm having a really bad time with R, indeed I'm really new in R programming. I'm trying to analyse some RNA-Seq data, I have 10 samples (5 controls, 5 treatment). I have loaded the raw count (the file is separated as the first column gene name, the following columns samples). Therefore I have a table with (n rows and 10 columns).

# I transformed it in a matrix
x <- as.matrix(table)

# And created an object called samples
samples <- as.factor(c(rep("Control", 5), rep("Treatment", 5))

# And then used EDASeq package
set <- newSeqExpressionSet(x, phenoData <- data.frame(samples, row.names <- colnames(x)) # the matrix "x" created before

It should work, but I got a Error message

Error in assayDataNew(counts = counts, normalizedCounts = normalizedCounts,  :
  'AssayData' elements with different rowNames
In addition: Warning message:
In eltRowNames == rownames(assayData[[elt]]) :
  longer object length is not a multiple of shorter object length

Anybody can really help me? If I am not wrong, I should get this kind of error if the colnames in x is different of the phenoData rownames. But since I used row.names <-colnames(x) it should work but It is not the case =/

I'll appreciate any help,

Regards

rna-seq edaseq

1 answer

For future bioconductor related questions, you might get a quicker response here: https://support.bioconductor.org/

There is mismatch in dimensions when running newSeqExpressionSet()

Try assigning it separately not within the function:

pd = data.frame(samples)
rowNames(pd) = colNames(x)
set <- newSeqExpressionSet(x, pd)

Also, make sure the names are unique (ctrl1 ctrl2 ctrl3 not just ctrl)

Log in to answer this question.