Question: edgeR for with no Replicate
0
3.9 years ago by
Nashik
Sushant Pawar0 wrote:

Hi all,

(edgeR Page no. 21,22 User Guide)

I am running program of edgeR for without replicate . I am getting one one error so please help me in that .

====================================

> bcv=0.2
> library(edgeR)
> counts=matrix(rnbinom(40,size=1/bcv^2,mu=10),20,2)
> y=DGEList(counts=counts,group=1:2)
> et=exactTest(y,dispersion = bcv^2)
> et
An object of class "DGEExact"
$table logFC logCPM PValue 1 -0.4284000 15.82489 0.6982242 2 -0.2791370 16.10715 0.8677253 3 0.2291273 15.68416 1.0000000 4 0.8075674 15.98288 0.3752598 5 -0.2777101 15.62054 0.8292796 15 more rows ...$comparison
[1] "1" "2"

$genes NULL > y1=y > y1$samples$group=1 > y0=estimateCommonDisp(y1[housekeeping,]) Error in y1[housekeeping, ] : error in evaluating the argument 'i' in selecting a method for function '[': Error: object 'housekeeping' not found ======================== edger without replicate • 1.3k views ADD COMMENTlink modified 3.9 years ago by Yunshun Chen510 • written 3.9 years ago by Sushant Pawar0 Answer: edgeR for with no Replicate 1 3.9 years ago by Yunshun Chen510 Australia Yunshun Chen510 wrote: The error message reads: object 'housekeeping' not found. Clearly you haven't defined housekeeping. In the edgeR user's guide, it reads "For example, suppose that housekeeping is an index variable..." You can not simply copying the code from the user's guide and expect it to run without defining the object. ADD COMMENTlink modified 3.9 years ago • written 3.9 years ago by Yunshun Chen510 is it should be the vector or single gene name . give some example ADD REPLYlink written 3.9 years ago by Sushant Pawar0 is it should be the vector or single gene name ? . give some example ADD REPLYlink written 3.9 years ago by Sushant Pawar0 It should be an index variable (a vector of row indices). ADD REPLYlink written 3.9 years ago by Yunshun Chen510 but what type of Genes we should store in that variable ? ADD REPLYlink written 3.9 years ago by Sushant Pawar0 Actually i am new to this field , I have add this to gene. again i am getting some warning . so please help me . ============================= housekeeping=c("REG3A","GP2") > housekeeping=c("REG3A","GP2") > y0=estimateCommonDisp(y1[housekeeping,]) > y$common.dispersion=y0\$common.dispersion
> et=exactTest(y)
There were 50 or more warnings (use warnings() to see the first 50)
  full precision may not have been achieved in 'qbeta'
44: In qbeta(0.5, alpha1[!all.zero], alpha2[!all.zero]) :
full precision may not have been achieved in 'qbeta'
45: In qbeta(0.5, alpha1[!all.zero], alpha2[!all.zero]) :
full precision may not have been achieved in 'qbeta'
46: In qbeta(0.5, alpha1[!all.zero], alpha2[!all.zero]) :
full precision may not have been achieved in 'qbeta'
47: In qbeta(0.5, alpha1[!all.zero], alpha2[!all.zero]) :
full precision may not have been achieved in 'qbeta'
48: In qbeta(0.5, alpha1[!all.zero], alpha2[!all.zero]) :
full precision may not have been achieved in 'qbeta'
49: In qbeta(0.5, alpha1[!all.zero], alpha2[!all.zero]) :
full precision may not have been achieved in 'qbeta'
50: In qbeta(0.5, alpha1[!all.zero], alpha2[!all.zero]) :
full precision may not have been achieved in 'qbeta'
1

Estimating the dispersion from two housekeeping genes is not reliable. You need a decently sized set of about 50 - 100 genes that are expected to be constant across most biological conditions. Things that come to mind are actin, core metabolic proteins, etc. REG3A and GP2 would not be obvious choices.