Calculate BCV in edgeR - sample without replicates
1
0
Entering edit mode
Bade ▴ 310
@bade-5877
Last seen 3.4 years ago
Delaware
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]]
edgeR edgeR • 3.1k views
ADD COMMENT
0
Entering edit mode
@ryan-c-thompson-5618
Last seen 8 months ago
Scripps Research, La Jolla, CA
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
ADD COMMENT
0
Entering edit mode
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 > >
ADD REPLY
0
Entering edit mode
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 >>
ADD REPLY
0
Entering edit mode
Hi Ryan, Thanks for the explanation. Best. Atul On 12/19/2013 02:01 PM, Ryan wrote: > 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 >>> > > >
ADD REPLY

Login before adding your answer.

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