[BioC] HTqPCR: Calculate CV between replicates with in a plate

Heidi Dvinge heidi at ebi.ac.uk
Tue Feb 16 23:17:06 CET 2010


Hello Jeremy,

you'll need to tell readCtData how many samples are in each of your files,
using the n.data argument. In your case it sounds like the command should
be:

> dat = readCtData(files, path = path, SDS=TRUE, header=TRUE, n.data=2)

If you have multiple files, this could e.g. be:

> dat = readCtData(c("file1", "file2", "file3"), path = path, SDS=TRUE,
header=TRUE, n.data=c(6,1,2))

Please let me know if this doesn't work.

The reason for doing it this way is that SDS files typically contain some
additional information at the end after the actual data. Reading the
entire file might mess things up a bit, so instead readCtData just takes
the first n.data*n.features lines after the header from the file.

HTH
\Heidi


> Thanks for your reply Dr.Heidi,
>
> the input files are from ABI RQ analysis (tab delimited text files). I
> can directly read these files using the readCtData function.
> I see discussions about not able to read files from RQ analysis output
> if the text file is a compilation of more than 1 sample. I have the
> same problem. I use the development version of R and the HTqPCR.
> Please let me know if I am doing anything wrong.
>
>> dat = readCtData(files, path = path, SDS=TRUE, header=TRUE)
>> dat
> An object of class "qPCRset"
> Size:  384 features, 1 samples
> Feature types:           Endogenous Control, Target
> Feature names:           ITGA4-Hs00168433_m1 ITGA4-Hs00168433_m1
> ITGA4-Hs00168433_m1 ...
> Feature classes:
> Feature categories:      OK, Undetermined
> Sample names:            Test2_multipleplates NA NA ...
>
> The file contains two plates (samples). It should show Size:  384
> features, 2 samples
>
>  sessionInfo()
> R version 2.11.0 Under development (unstable) (2010-02-10 r51118)
> i386-pc-mingw32
>
> locale:
> [1] LC_COLLATE=English_United States.1252
> [2] LC_CTYPE=English_United States.1252
> [3] LC_MONETARY=English_United States.1252
> [4] LC_NUMERIC=C
> [5] LC_TIME=English_United States.1252
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
> [1] HTqPCR_1.1.0       limma_3.3.9        RColorBrewer_1.0-2 Biobase_2.7.4
>
> loaded via a namespace (and not attached):
> [1] affy_1.25.2          affyio_1.15.2        gdata_2.7.1
> [4] gplots_2.7.4         gtools_2.6.1         preprocessCore_1.9.0
> [7] tools_2.11.0
>
> Thank you
>
> On Sat, Feb 13, 2010 at 1:23 AM, Heidi Dvinge <heidi at ebi.ac.uk> wrote:
>> Hello Jeremy,
>>
>> there's no default way for calculating within-plate CVs in HTqPCR, since
>> it'll depend on the exact layout of the plate. Below is an example of
>> how
>> this can be done, using the dataframe "design" to indicate how wells on
>> the plate belong together. In your case it might be different of course.
>> How is this information stored in the input data files and/or the
>> qPCRset
>> object?
>>
>>> library(HTqPCR)
>>> # Use test data from the package as example here, with 6 plates
>>> data(qPCRraw)
>>> sampleNames(qPCRraw)  <- paste("Plate", 1:6, sep="")
>>> # What's the order of genes/rep/samples
>>> design        <- data.frame(Sample=paste("S", rep(1:4, each=96),
>>> sep="_"),
>> +               Gene=paste("Gene", rep(rep(1:32, each=3),4), sep="_"),
>> +               Replicate=paste("Rep", rep(1:3, 128), sep="_"))
>>> # Calculate the CV
>>> sd.gene       <- aggregate(exprs(qPCRraw), by=list(design$Sample,
>> design$Gene), sd)
>>> mean.gene <- aggregate(exprs(qPCRraw), by=list(design$Sample,
>> design$Gene), mean)
>>> cv.gene       <- sd.gene[,-c(1:2)]/mean.gene[,-c(1:2)]
>>> rownames(cv.gene)     <- paste(sd.gene[,1], sd.gene[,2], sep=":")
>>
>> HTH
>> \Heidi
>>
>>
>>> Dear list,
>>>
>>> I see that the package considers each plate as different sample and
>>> calculates CV  for genes across plates (samples) but not with in a
>>> plate.
>>> Unfortunately my plate design is different. I have 384 well plates
>>> with 3 replicates for 32 genes in first 4 rows of the plate. Likewise
>>> other 3 samples in the next 3 sections of 4 rows. So in total I have 4
>>> different clinical samples on a single plate.
>>> 32genes*3replicates*4samples=384 wells.
>>> Now I have gene 1 for sample 1 in first 3 wells of a plate. I want to
>>> calculate CV for this gene in 3 wells. Similarly for the remaining 32
>>> genes of the sample. Like wise I need to calculate CV for the same
>>> genes in 3 more samples in the same plate. I see that the package has
>>> no function to calculate CVs for plate in this pattern. My apologies
>>> if I am missing any thing. I would really appreciate any suggestions
>>> or else I will have to write my own script to analyze my Hi-Throughput
>>> data.
>>>
>>> Thank you
>>>
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives:
>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>
>>
>>
>>
>


------------------//------------------
 Heidi Dvinge

European Bioinformatics Institute
Wellcome Trust Genome Campus
Cambridge, CB10 1SD
heidi at ebi.ac.uk



More information about the Bioconductor mailing list