[BioC] HTqPCR

Heidi Dvinge heidi at ebi.ac.uk
Sun Sep 18 08:51:05 CEST 2011


Hi Bingbing

> Hi Heidi,
> After setting Ct values to NA with filterCategory for avoiding unreliable
> or undetermined data in part of the analysis, I normalized data with
> deltaCt method. The mean of each card is NA. I am confused because I
> thought only non-NAs were used for calculating means.

You're right, it was supposed to be that way. I just never use deltaCt
myself, so didn't test it after filterCategory.

I submitted a fix for this a couple of days ago, so it should now be in
HTqPCR v. 1.7.4. I suggest you either updated to that version (download +
install it manually unless you have R-devel), or wait with filterCategory
until after you've done the normalisation.

HTH
\Heidi

> Here is my code:
>
>>files <- read.delim("data/4HTqPCR/files.txt")
>> files
>          File Treatment
> 1 sample1.txt   Control
> 2 sample2.txt   Treated
>
>>comb <- readCtData(files = files$File, path = "data/4HTqPCR", n.features
>> = 96 *96, flag = 5, feature = 3, type = 6, position = 1, Ct = 2, sep =
>> "\t")
>> comb
> An object of class "qPCRset"
> Size:  9216 features, 2 samples
> Feature types:           sample1
> Feature names:           control1 control1 control2 ...
> Feature classes:
> Feature categories:      Undetermined, OK
> Sample names:            sample1 sample2 NA ...
>
>
>> raw.cat <- setCategory(q = comb, flag=TRUE, groups = files$Treatment)
> Categories after Ct.max and Ct.min filtering:
>              sample1 sample2
> OK              6518    6567
> Undetermined    2698    2647
> Unreliable         0       2
> Categories after standard deviation filtering:
>              sample1 sample2
> OK              6302    6341
> Undetermined    2698    2647
> Unreliable       216     228
>
> # set NA
>> comb.filtered <- filterCategory(raw.cat, na.categories = c("Unreliable",
>> "Undetermined"))
>> comb.filtered
> An object of class "qPCRset"
> Size:  9216 features, 2 samples
> Feature types:           sample1
> Feature names:           control1 control1 control2 ...
> Feature classes:
> Feature categories:      Undetermined, Unreliable, OK
> Sample names:            sample1 sample2 NA ...
>
> # normalization
>> d.norm <- normalizeCtData(comb.filtered, norm = "deltaCt", deltaCt.genes
>> = c("control1", "control2"))
> Calculating deltaCt values
>         Using control gene(s): control1 control2
>         Card 1: Mean=NA Stdev=1.96
>         Card 2: Mean=NA Stdev=1.83
>
>
> Thanks,
> Bingbing
>
>
> ----- Original Message -----
> From: "Bingbing Yuan" <byuan at wi.mit.edu>
> To: "Heidi Dvinge" <heidi at ebi.ac.uk>
> Sent: Friday, September 2, 2011 10:00:34 AM
> Subject: Re: HTqPCR
>
> Hi Heidi,
> I got it. Thanks for the very clear explanation.
> Bingbing
>
>
> ----- Original Message -----
> From: "Heidi Dvinge" <heidi at ebi.ac.uk>
> To: "Bingbing Yuan" <byuan at wi.mit.edu>
> Cc: bioconductor at r-project.org
> Sent: Friday, September 2, 2011 7:07:24 AM
> Subject: Re: HTqPCR
>
> Hi Bingbing,
>
>> Hi Heidi,
>> We downloaded the R-devel version, and all the functions and sample
>> fluidigm_sample.csv is included. Thank you!
>
> Glad you got it to work.
>
>> I have 2 samples of 96x96 fluidigm data. How can I display the layout of
>> the qPCR in the 2nd sample?
>
> In order to plot each array individually, you'll have to apply
> changeCtLayout to each of the 2 samples in your qPCRset individually.
> Otherwise you'll get an object of other dimensions that yu probably
> expect. E.g.:
>
>> # Locate test dta
>> exPath <- system.file("exData", package="HTqPCR")
>> exFiles <- "fluidigm_sample.csv"
>>
>> # Create qPCRset object
>> # Reading is same file twice, to pretend to have multiple samples
>> temp	<- readCtData(c(exFiles, exFiles), path=exPath, n.features=48*48,
> flag=9, feature=5, type=6, Ct=7, position=1, skip=12, sep=",")
>>
>> # Re-format data, to contain n.features individual genes
>> all.raw <- changeCtLayout(temp, sample.order=rep(1:48, each=48))
>> all.raw
> An object of class "qPCRset"
> Size:  48 features, 96 samples
> Feature types:		 Test
> Feature names:		 b actin b actin b actin ...
> Feature classes:
> Feature categories:	 OK
> Sample names:		 1:fluidigm_sample 1:fluidigm_sample 2:fluidigm_sample ...
>
> On my two arrays I have a total of 96 samples (or 2x96 in your case for
> the different dimension of the Fluidigm array). Hence, the final qPCRset
> object will have 96 columns, since these are considered to be all the
> individual samples that will be tested for differential expression further
> downstream.
>
> In order to process each of your original Fluidigm cards individually, you
> can say:
>
>> # Process each sample individually
>> for (n in 1:n.samples(temp)) {
> + 	# Re-format from 1x2304 samples in input file into 48x48 as on array
> + 	raw	<- changeCtLayout(temp[,n], sample.order=rep(1:48, each=48))
> + 	# Plot
> + 	plotCtArray(raw, main=paste("Sample ", n, ": ", sampleNames(temp)[n]))
> + }
>
> You'd probably want to write that to a file, or open a new window for each
> plot, but that's the general approach.
>
> Please let me know if this doesn't work.
> \Heidi
>
>
>>
>> Here is my qPCRset
>>> temp <- readCtData(path="data/4HTqPCR", file=files$File, n.features =
>>> 96*96, flag=5, feature=3, type=4, Ct=2, position =1, sep = "\t")
>>
>>>temp
>> An object of class "qPCRset"
>> Size:  9216 features, 2 samples
>> Feature types:           S01, S02, S03, S04, S05, S06, S07, S08, S09,
>> S10,
>> S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23, S24,
>> S25,
>> S26, S27, S28, S29, S30, S31, S32, S33, S34, S35, S36, S37, S38, S39,
>> S40,
>> S41, S42, S43, S44, S45, S46, S47, S48, S49, S50, S51, S52, S53, S54,
>> S55,
>> S56, S57, S58, S59, S60, S61, S62, S63, S64, S65, S66, S67, S68, S69,
>> S70,
>> S71, S72, S73, S74, S75, S76, S77, S78, S79, S80, S81, S82, S83, S84,
>> S85,
>> S86, S87, S88, S89, S90, S91, S92, S93, S94, S95, S96
>> Feature names:           control1 control1 control2 ...
>> Feature classes:
>> Feature categories:      Undetermined, OK
>> Sample names:            sample1 sample2 NA ...
>>
>>
>>> raw <- changeCtLayout(temp, sample.order = rep(1:96, each = 96))
>>> plotCtArray(raw)
>>
>>> raw2 <- changeCtLayout(temp, sample.order = rep(97:192, each = 96))
>>> plotCtArray(raw2)
>>
>> but, plotCtArray(raw) gave the same layout as plotCtArray(raw2)
>>
>>
>> Thanks,
>> Bingbing
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
> --
> Bingbing Yuan M.D. Ph.D.
> Bioinformatics Scientist
> Whitehead Institute for Biomedical Research
> tel: 617 258 6109
> byuan at wi.mit.edu
>



More information about the Bioconductor mailing list