[BioC] HTqPCR problems
Heidi Dvinge
heidi at ebi.ac.uk
Tue Jun 26 21:48:32 CEST 2012
> Hi,
> I'm having some troubles selectively sub-setting, and graphing up QPCR
> data within HTqPCR for Biomark plates (both 48.48 and 96.96 plates). I'd
> like to be able to visualize specific genes, with specific groups we run
> routinely on our Biomark system. Typical runs are across multiple plates,
> and have multiple biological replicates, and usually 2 or more technical
> replicates (although we are moving away from technical reps, as the CVs
> are so tight).
>
> Can anyone help with this? Heidi?
>
> raw6=readCtData(files="Chip6.csv", format="BioMark", n.features=48,
> n.data=48, samples=samples)
> #Ive read the samples in from a separate file, as when you read it in, it
> doesnt take the sample names supplied in the biomark output#
> #Next, I want to plot genes of interest, with samples of interest, and I'm
> having trouble getting an appropriate output#
>
> g=featureNames(raw6)[1:2]
> plotCtOverview(raw6, genes=g, groups=groupID$Treatment, col=rainbow(5))
>
> #This plots 1 gene across all 48 samples#
> #but the legend doesnt behave, its placed on top of the plot, and I cant
> get it to display in a non-overlapping fashion#
> #I've tried all sorts of things in par, but nothing seems to shift the
> legend's position#
>
As the old saying goes, whenever you want a job done well, you'll have to
do it yourself ;). In this case, the easiest thing is probably to use
legend=FALSE in plotCtOverview, and then afterwards add it yourself in the
desired location using legend(). That way, if you have a lot of different
features or groups to display, you can also use the ncol parameter in
legend to make several columns within the legend, such as 3x4 instead of
the default 12x1.
Alternatively, you can use either xlim or ylim in plotCtOverview to add
some empty space on the side where there's then room for the legend.
> #I now want to plot a subset of the samples for specific genes#
>> LOY=subset(groupID,groupID$Treatment=="LO" | groupID$Treatment== "LFY")
>> LOY
> Sample Treatment
> 2 L20 LFY
> 5 L30 LFY
> 7 L45 LO
> 20 L40 LO
> 27 L43 LO
> 33 L29 LFY
> 36 L38 LO
> 40 L39 LO
> 43 L23 LFY
>
>
>> plotCtOverview(raw6, genes=g, groups=LOY, col=rainbow(5))
> Warning messages:
> 1: In split.default(t(x), sample.split) :
> data length is not a multiple of split variable
> 2: In qt(p, df, lower.tail, log.p) : NaNs produced
>>
Does it make sense if you split by groups=LOY$Treatment? It looks like the
object LOY itself is a data frame, rather than the expected vector.
Also, you may have to 'repeat' the col=rainbow() argument to fit your
number of features.
>
> #it displays the two groups defined by treatment, but doesnt do so nicely,
> very skinny bars, and the legend doesnt reflect what its displaying#
> #again, I've tried monkeying around with par, but not sure what HTqPCR is
> calling to make the plots#
>
If the bars are very skinny, it's probably because you're displaying a lot
of features. Nothing much to do about that, except increasing the width or
your plot :(.
\Heidi
> please help!
>
> thanks
>
> Simon.
>
> _______________________________________________
> 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
>
More information about the Bioconductor
mailing list