[BioC] HTqPCR : readCtData problem?

Stephen Taylor stephen.taylor at imm.ox.ac.uk
Wed Oct 27 08:40:34 CEST 2010

Dear Heidi,

> thanks for sending me the file, I've just tried playing with it.
> ndups is indeed for technical replicates, so you don't need that here.
> Apparently there's a bug hiding somewhere. The results look correct so the
> biological replicates are actually taken into account, but the entire
> output is repeated 3 times. Hence, each feature (miRNA in your case) is
> present 3 times, with identical t and p-values. This is the case even if
> the design file is manipulated to contain 2 replicates of each sample
> instead of 3. I.e. limmaCtData does not report an individual result for
> each biological replicate, but does consider them jointly as you would
> want.

That's a shame...I was hoping the high p values I am getting were due to the fact that
the biological replicates *weren't* being taken into account.

> I'll try to figure our why/when this happens, but in the meantime you can
> just ignore the duplication of the results. Sorry for the hassle this
> might cause you.

Thanks. No problem.

> It never ceases to amaze me what bugs I somehow manage to introduce into
> my code :)


> Just for my debugging purposes, how do you read in all 8 files containing
> your 24 samples? Do you run readCtData(files=c("file1", ..., "file8"),
> ...) with 3 samples in each file =>  qPCRset object with 384x24
> rows/columns? Or do you read each file into a separate qPCRset object =>  8
> qPCRset objects with 384x3 rows/columns and then combine them with
> cbind()?

As it says in the manual:

raw<-readCtData(files = files$File, path=".",SDS=TRUE,n.data=3,samples=samples_A)

 > files$File
[1] 1A.txt 2A.txt 3A.txt 4A.txt 5A.txt 6A.txt 7A.txt 8A.txt
Levels: 1A.txt 2A.txt 3A.txt 4A.txt 5A.txt 6A.txt 7A.txt 8A.txt


>> Dear Heidi,
>>> just to clear my mind here, exactly what type of replicates are we
>>> talking
>>> about?
>> Biological.
>>> 1) The same miRNA is present three times on the qPCR card for each
>>> sample?
>>> Per default, this isn't taken into account by limmaCtData. You'll need
>>> to
>>> resort your qPCRset by featureNames(), so that all triplicates are next
>>> to
>>> each other, and then call limmaCtData(..., ndups=3, spacing=1) to
>>> indicate
>>> the number of duplications (3) and the spacing between them (1, since
>>> they
>>> are adjacent in the resorted qPCRset). As I recall, there's an example
>>> of
>>> this in ?limmaCtData with duplicate spots.
>> These are separate arrays really because they are biological replicates.
>> Isn't ndups in limma is usually for technical
>> replicates?
>>> 2) The same miRNA is present three times on the qPCR card, but in
>>> different "lanes" belonging to different samples? In that case the
>>> qPCRset
>>> will ahve to be reformatted after readCtData, to reflect that there are
>>> multiple samples on each 384 well card. changeCtLayout () should give
>>> some
>>> examples on this, although I admit that the vignettes could use some
>>> more
>>> examples on this.
>>> I'm asking since in the example you present below, you say you're
>>> reading
>>> in a file with 3 samples (which BTW looks fine), but according to you
>>> design matrix you have 8 different samples.
>> So there are 8 files, each containing 3 x 384 wells for each biological
>> replicate, which is where the 24 comes from.
>> I have attached one of the files for you to look at ( I didn't include
>> this to BioC for that reason ).
>> I have got the user to export each file separately, so each replicate is
>> in a separate file. Will HTqPCR be able to
>> process this correctly in that case?
>> Kind regards and thanks,
>> Steve

More information about the Bioconductor mailing list