[BioC] Colouring limma MA plot
Wolfgang Huber
whuber at embl.de
Tue Apr 13 13:42:18 CEST 2010
Hi Adam,
Efficiency: have a look at the "ifelse" function for vectorised
if-functionality that allows you to avoid the for-loop in your
'bugs.colour' function.
Goodness: I don't think you need to be worrying about hijacking the
control status for your purpose, since it's the limma::plotMA function
that hijacked plot's "col" argument in the first place. However, if this
leads to serious trouble, the cleanest is probably to write your own
function on top of graphics::plot (or lattice::xyplot), since the added
functionality of limma::plotMA is not that complex.
Best wishes
Wolfgang
adam_pgsql scripsit 12/04/10 16:19:
> I am trying to colour a limma generated MA plot by fold change. I can do it this way:
>
> status <- bugs.colour(RG,1)
> attr(status,"values") <- c("nonsignificant", "present", "absent", "Blank", "Buffer", "ACTB", "GAPDH", "Positive")
> attr(status,"col") <- c("black", "red", "green", "black", "brown", "pink", "yellow", "orange", "grey")
> plotMA(RG, array=1, status=status)
>
> bugs.colour <- function(RG, array) {
> status <- RG$genes$Status
>
> for (i in 1:length(status)) {
> if (status[i] == "gene") {
> if (is.na(RG$other$LogRatio[i,array])) {
> status[i] = "nonsignificant"
> }
> else if (RG$other$LogRatio[i,array] > 0) {
> status[i] = "present"
> }
> else { status[i] = "absent" }
> }
> }
> status
> }
>
> but this seems to be a bit of a hack has i have hijacked the control status... my question is, is there a better more efficient way to do this?
>
> thanks
>
> adam
> _______________________________________________
> 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
--
Wolfgang Huber
EMBL
http://www.embl.de/research/units/genome_biology/huber
More information about the Bioconductor
mailing list