kegga error from edgeR
1
0
Entering edit mode
Biologist ▴ 110
@biologist-9801
Last seen 2.9 years ago

Hi,

I'm doing differential analysis with edgeR. In that package goana function worked well for Gene ontology but kegga is giving some error.

head(de)
           logFC unshrunk.logFC   logCPM       PValue         FDR
58527   2.919535       2.919771 5.010376 4.367288e-06 0.003949316
111    -4.106972      -4.107831 4.357303 1.555287e-06 0.002932518
55969   3.894210       3.895717 3.333907 6.711165e-06 0.004988639
23492  -2.348775      -2.348888 5.475329 4.212049e-06 0.003949316
23268  -2.445401      -2.445518 5.516678 2.048047e-06 0.003181348
143244  3.754845       3.757757 2.245613 4.540069e-06 0.003949316

keg <- kegga(de, species="Hs")

Error in `[[<-.data.frame`(`*tmp*`, s, value = c("0.00394931550141463",  : 
  replacement has 7 rows, data has 30

Any help is greatly appreciated !! thank you.

edger r bioconductor pathway analysis kegg • 892 views
ADD COMMENT
0
Entering edit mode
@gordon-smyth
Last seen 34 minutes ago
WEHI, Melbourne, Australia

When you run kegga() in edgeR, the de argument is supposed to be a fitted model object (DGELRT or DGEExact). Please type help("kegga.DGELRT") for documentation.

You have seem to have instead input a data.frame. That will generally give an error because kegga() isn't intended to accept a data.frame. Even it doesn't give an error, the results will be nonsense because kegga will try to interpret each column of the data.frame as a vector of gene IDs.

goana() and kegga() are exactly the same in this respect. If kegga() gives an error, then goana() will also give an error if run on the same arguments.

I don't know what your data.frame represents. It looks like you might have run glmTreat and then extracted the data.frame from the table component of the topTags output. Wouldn't it be simpler to just run kegga and goana in the documented way? You can use

lrt <- glmTreat( ... )
k <- kegga(lrt)
g <- goana(lrt)

Apart from being correct, wouldn't that be easier? It cuts out several steps you seem to have done.

 

ADD COMMENT
0
Entering edit mode

For goana() I have given a dataframe which looks like above. It worked. I don't why it is not working for kegga()

ADD REPLY
0
Entering edit mode

Sorry, but what you say is not right. You cannot give give a data.frame to either goana() or kegga(). It's just wrong, and it will generally give an error. Even if the functions don't generate an error, the results will still be nonsense.

Why not just follow the documented way to run these functions?

ADD REPLY

Login before adding your answer.

Traffic: 234 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