[BioC] Question regarding cellhts2 output
Wolfgang Huber
whuber at embl.de
Sun Jun 17 23:58:23 CEST 2012
Dear Meraj
I am not aware of an easy way to get at an FDR from data as yours, but
FPR you can get as follows: pool the data from the negative controls
with the rest of your data, as if the negative controls were tested
genes. Then estimate FPR from how many of them are found as 'hits'.
For this to be valid, you need to make sure that the variation in the
negative controls represents the variation otherwise, e.g. at the very
least you want to convince yourself that edge-effects or gradients are
negligible.
Best wishes
Wolfgang
Jun/17/12 8:48 AM, maziz at tgen.org scripsit::
> I am using CellHTS2 to calculate Bscores. My experiment has only one replicate.
> There are approx 900 genes (x4 siRNA).
>
> From: Meraj Aziz
> Sent: Saturday, June 16, 2012 5:05 PM
> To: 'Joseph Barry'
> Cc: 'bioconductor at r-project.org'
> Subject: RE: Question regarding cellhts2 output
>
> Hi,
>
> Is there a way to calculate the False Discovery Rate (FDR) for an RNAi
> Experiment.
>
> Thanks,
> Meraj
>
>
> From: Joseph Barry [mailto:joseph.barry at embl.de]<mailto:[mailto:joseph.barry at embl.de]>
> Sent: Wednesday, June 13, 2012 2:45 PM
> To: Meraj Aziz
> Subject: Re: Question regarding cellhts2 output
>
> Hi Meraj,
>
> Yes, that would be great. Thanks for being understanding.
>
> Best wishes,
> Joseph
>
> On Jun 13, 2012, at 7:49 PM,<maziz at tgen.org<mailto:maziz at tgen.org>> <maziz at tgen.org<mailto:maziz at tgen.org>> wrote:
>
> So next time I ask a question I will include bioconductor at r-project.org<mailto:bioconductor at r-project.org>
> In my CC.
>
> I apologize for this.
>
> Thanks,
> Meraj
>
> From: Joseph Barry [mailto:joseph.barry at embl.de]<mailto:[mailto:joseph.barry at embl.de]>
> Sent: Wednesday, June 13, 2012 2:55 AM
> To: Meraj Aziz
> Subject: Re: Question regarding cellhts2 output
>
> Hi Meraj,
>
> The negative/positive controls are defined by the user, and their "significance" varies greatly from experiment to experiment. Some have no negative controls, others do. It depends on experimental design. Most of the time they are for quality control, as you say. However, the normalization method "negatives" does make use of this information. See the package documentation for further details.
>
> As regards the assignment of probabilities, I would not interpret the Z or Bscores in this way. Each well can be viewed as being independent from the others (again depending on exp design) so you are not really sampling in the way you are suggesting. The setting of a threshold is usually an arbitrary choice based on the data. It is fine to just state your threshold and present the results directly.
>
> I am happy to answer any further questions, should you have any. However, it would be great if you could send any such questions out through the bioconductor mailing list so that other users may contribute to the discussion and benefit from the commentary.
>
> Many thanks,
> Joseph
>
> On Jun 13, 2012, at 1:46 AM,<maziz at tgen.org<mailto:maziz at tgen.org>> <maziz at tgen.org<mailto:maziz at tgen.org>> wrote:
>
>
> Hi Joseph
>
> One more question regarding CellHTS2 is the use of negative controls.
> When I run CellHTS2 with Bscore normalization, what is the significance of the negative
> Controls on the plates. Are negative and positive controls only for quality control and visualization
> purpose or are they actually used somehow in the Bscore calculations.
>
> Thanks,
> Meraj
>
>
>
> From: Meraj Aziz
> Sent: Tuesday, June 12, 2012 1:12 PM
> To: 'Joseph Barry'
> Subject: RE: Question regarding cellhts2 output
>
> Hi Joseph,
>
> Thanks for your reply.
> The reason i was interested in knowing if my screen was normally distributed is using
> the Bscores (assuming the scores are standard deviations from the median) to assign probability
> to each siRNA (using something like Zscore to Probability tables/calculators).
>
> The outcome from Z/Bscore to probability should give the probability that the given siRNA effect observed by chance is x%.
>
> For example:
>
> So at threshold "2" (Bscore) the probability is 0.023 or 2.23%.
> This 2.23% means that the probability of a siRNA giving you the observed effect by chance
> Is less than 2.23%.
> For threshold "3" the probability is 0.00135 or 0.135%.
>
> For that I need to be sure we are assumption of normality is true or not.
>
> I hope I am interpreting the results from CellHTS2 Bscore normalization the right way.
> Our aim is to justify why we are using a particular Bscore cutoff.
>
> Thanks,
> Meraj
>
>
> From: Joseph Barry [mailto:joseph.barry at embl.de]<mailto:[mailto:joseph.barry at embl.de]>
> Sent: Tuesday, June 12, 2012 12:07 PM
> To: Meraj Aziz
> Subject: Re: Question regarding cellhts2 output
>
> Hi Meraj,
>
> The density plot just shows the distribution of scores for your screen and conveniently marks the positions of positive/negative controls. Your screen is not fully normal as it does not have the classical bell shape. However I would not read too much into whether a screen is normally distributed or not. Scores which seem to break the trend (such as your SMG1) tend to lie further from the line on the Q-Q plot but I would not waste too much time looking at this. They are primarily for quality control, to check that the distribution does not look "funny".
>
> Best wishes,
> Joseph
>
> On Jun 12, 2012, at 8:18 PM,<maziz at tgen.org<mailto:maziz at tgen.org>> wrote:
>
> Hi Joseph
>
> The Q-Q plots gives a measure of testing for normality of our RNAi distribution.
> Attached is my screens Q-Q plot.
>
> What does the density plot imply and is my screen normally distributed?
> You have been really helpful.
>
> Thanks,
> Meraj
>
>
>
>
> From: Joseph Barry [mailto:joseph.barry at embl.de]<mailto:[mailto:joseph.barry at embl.de]>
> Sent: Monday, June 11, 2012 12:55 PM
> To: Meraj Aziz
> Subject: Re: Question regarding cellhts2 output
>
> Hi Meraj,
>
> My apologies, I had not spotted the line:
>
> xsc=scoreReplicates(xn, sign = "-", method = Score)
>
> , which is calculating the zscore at this stage and multiplying by -1. This is absolutely fine.
>
> Therefore I don't think there is anything wrong with your analysis. I would not be concerned that you get a score of -76 s.d.. This is perfectly reasonable, given that the standard deviation is ~0.07, i.e. the scores seem high simply because you divide by a small number.
>
> Hope this helps,
> Joseph
>
> On Jun 11, 2012, at 9:26 PM, Joseph Barry wrote:
>
> Hi Meraj,
>
> I noticed in your output that
> VarianceAdjust="none"
> so I guess that you have not divided by the MAD (or standard deviation) using cellHTS2, but have rather done this as a post-processing step?
>
> Can you check that you have not made a mistake in calculating the zscore? In R, I quickly manually divided by MAD and obtained a more conservative range:
>
> range(x$normalized_r1_ch1/mad(x$normalized_r1_ch1, na.rm=TRUE), na.rm=TRUE)
> [1] -12.46033 63.93462
>
> The median is zero, as it should be, so the subtraction of the median is working fine.
>
> As a solution, I recommend you reanalyze your data with the VarianceAdjust="byPlate" option turned on.
>
> Best wishes,
> Joseph
>
>
>
> On Jun 11, 2012, at 9:04 PM,<maziz at tgen.org<mailto:maziz at tgen.org>> <maziz at tgen.org<mailto:maziz at tgen.org>> wrote:
>
> Attached is my output from CellHTS2.
> So I was interested in gene "SMG1" and at a cutoff of "-2 BScore"
> I get all 4 siRNA, which is good. But the score in the negative goes upto
> -76.26 Standard deviations which seems a lot.
>
> My parameters are as follows:
>
> orgDir=getwd()
> setwd("/temp/cellHTS2/JOB5676000587616137010")
> Indir="/temp/cellHTS2/JOB5676000587616137010"
> zz<- file("/temp/cellHTS2/JOB5676000587616137010_RUN1370378843309182339/R_OUTPUT.TXT", open="w")
> sink(file=zz,type="message" )
> Name="SCNA_with_pos_ctrl"
> Outdir_report="/temp/cellHTS2/JOB5676000587616137010_RUN1370378843309182339"
> LogTransform=FALSE
> PlateList="Platelist.txt"
> Plateconf="PlateConfig.txt"
> Description="Description.txt"
> NormalizationMethod="Bscore"
> NormalizationScaling="additive"
> VarianceAdjust="none"
> SummaryMethod="mean"
> Screenlog="Screenlog.txt"
> Score="zscore"
> Annotation="GeneIDs.txt"
> library(cellHTS2)
> x=readPlateList(PlateList, name = Name, path = Indir)
> x=configure(x, descripFile=Description, confFile=Plateconf, logFile=Screenlog,path=Indir)
> xn=normalizePlates(x, scale =NormalizationScaling , log =LogTransform,method=NormalizationMethod, varianceAdjust=VarianceAdjust)
> comp=compare2cellHTS(x, xn)
> xsc=scoreReplicates(xn, sign = "-", method = Score)
> xsc=summarizeReplicates(xsc, summary = SummaryMethod)
> scores=Data(xsc)
> ylim=quantile(scores, c(0.001, 0.999), na.rm = TRUE)
> xsc=annotate(xsc, geneIDFile = Annotation)
> out=writeReport(raw = x, normalized = xn, scored = xsc, outdir = Outdir_report, force = TRUE, settings = list(xrange = c(0.5,3),zrange = c(-4, 8), ar = 1))
> setwd(orgDir)
> sink()
>
> Any comments from you will really help guiding me towards the right direction.
>
> meraj
>
> From: Joseph Barry [mailto:joseph.barry at embl.de]<mailto:[mailto:joseph.barry at embl.de]>
> Sent: Monday, June 11, 2012 11:53 AM
> To: Meraj Aziz
> Cc: bioconductor at r-project.org<mailto:bioconductor at r-project.org>
> Subject: Re: Question regarding cellhts2 output
>
> Hi Meraj,
>
> One clarification: the Bscore method in cellHTS2 does not automatically divide by the MAD. One must explicitly specify varianceAdjust="byPlate" to enforce this.
>
> Best wishes,
> Joseph
>
>
> On Jun 11, 2012, at 8:37 PM, Joseph Barry wrote:
>
>
>
> Hi Meraj,
>
> I would recommend that you use the method="median" and varianceAdjust="byPlate" (or alternatively "byExperiment" or "byBatch", depending on the context) options to normalizePlates. This will subtract the median and divide by the median absolute deviation (MAD), which is slightly more robust than the classical zscore, where one subtracts the mean and divides by the standard deviation.
>
> The Bscore normalization method subtracts the plate median and divides by the plate MAD, but also applies a two-way median polish to correct for row and column effects. Thus it is essentially a zscore with a few more bells and whistles attached, if you will. The references at the bottom of the ?Bscore documentation explain this in more detail and will help you to decide whether or not this is appropriate for your data.
>
> (cc'd to the bioconductor mailing list for future googlers :) )
>
> Best wishes,
> Joseph
>
> On Jun 11, 2012, at 8:11 PM,<maziz at tgen.org<mailto:maziz at tgen.org>> <maziz at tgen.org<mailto:maziz at tgen.org>> wrote:
>
>
>
> Hi Joseph
>
> I have a question regarding the scores generated by cellhts2.
> I would really appreciate if you can answer them.
>
> In your paper
> http://genomebiology.com/content/pdf/gb-2006-7-7-r66.pdf
> you mention zscore as the basis of your score. Online
> cellhts2 does not have a zscore normalization mechanism/option.
>
> Question is:
> 1) How can I only choose zscore normalization.
> 2) And if I choose Bscore normalization. Is the score really standard
> deviation from the mean/median.
>
> In the R_OUTPUT file I see:
> NormalizationMethod="Bscore"
> Score="zscore"
> (what exactly does this imply)
>
> Thank you for your help
>
> Meraj
>
>
> <CellHTS2_output_SCNA_project.xlsx>
>
>
> <density.pdf><qqplot.pdf>
>
>
>
>
> [[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
--
Best wishes
Wolfgang
Wolfgang Huber
EMBL
http://www.embl.de/research/units/genome_biology/huber
More information about the Bioconductor
mailing list