[BioC] Calculate BCV in edgeR - sample without replicates

Ryan rct at thompsonclan.org
Thu Dec 19 20:01:04 CET 2013


Hi Atul,

This has been asked before in a slightly different context, but in 
general it is acceptable to further subdivide your groups after 
estimating dispersions. At worst, you will end up with an overly 
conservative test because your dispersion estimation will overestimate 
the dispersion for your final set of groups. In your case, you are 
estimating dispersions with one group and then splitting that group into 
two.

-Ryan

On 12/19/13, 10:03 AM, Atul Kakrana wrote:
> Hi Ryan,
>
> Many thanks for your reply. Do you think it's theoretically correct to
> change the grouping before exact test for norm.tags2? I have no idea
> about how estimateDisp() works due to my non-statistics background and
> just want to make sure that I am not making any mistake.
>
> Best
>
> Atul
>
>
> On 12/18/2013 05:55 PM, Ryan wrote:
>> Hi Atul,
>>
>> I believe that all you need to do is to restore the correct grouping
>> before calling exactTest, i.e. something like:
>>
>> norm.tags2$samples$groups = c(1,2)
>>
>>
>> -Ryan
>> On Wed Dec 18 13:08:12 2013, Atul Kakrana wrote:
>>> Hi All,
>>>
>>> I am working on sRNA-seq data and with no replicates and using edgeR to
>>> identify differentially expressed tags and using an arbitrary BCV value
>>> (0.3) based on suggestion in edgeR manual:
>>>
>>> "Simply pick a reasonable dispersion value, based on your experience
>>> with similar data, and use that for exactTest or glmFit. Typical values
>>> for the common BCV (square- root-dispersion) for datasets arising from
>>> well-controlled experiments are 0.4 for human data, 0.1 for data on
>>> genetically identical model organisms or 0.01 for technical
>>> replicates. "
>>>
>>> But I came across this post which mentions a conservative way to
>>> calculate BCV:
>>> [BioC] EdgeR: general advice on using edgeR for sRNA analysis:
>>> https://stat.ethz.ch/pipermail/bioconductor/2013-August/054239.html
>>>
>>> I am getting an error calculating BCV using the approach discussed in
>>> post. Here is my code
>>>
>>> norm.tags2 <- norm.tags
>>> norm.tags2$samples$groups = c(1,1)
>>> norm.tags2 <-
>>> estimateDisp(norm.tags2,robust=TRUE,winsor.tail=c(0.05,0.2))
>>> results = exactTest(norm.tags,dispersion=norm.tags2$trended.dispersion)
>>>
>>> Error in exactTest(norm.tags, dispersion =
>>> norm.tags2$trended.dispersion) :
>>>     At least one element of given pair is not a group.
>>>    Groups are:
>>>
>>> I believe the error is because I have grouped samples as replicates for
>>> calculating BCV while they are being compared against each other in
>>> exactTest. Can I calculate the dispersion values from samples? rather
>>> than setting arbitrarily?
>>>
>>> I would really appreciate any help. Awaiting reply.
>>>
>>> Atul
>>>
>>>
>>>
>>>
>>>
>>>      [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives:
>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>



More information about the Bioconductor mailing list