[BioC] modifyWeights Problem

Gordon K Smyth smyth at wehi.EDU.AU
Fri Feb 5 00:33:51 CET 2010


Dear Stephen,

The normalization process that you outline doesn't make sense, as least to 
me.  In my opinion, you cannot sensibly combine two-dimensional loess 
(which is what maNorm is doing) with one-dimensional loess (which is what 
normalizeWithinArrays is doing).

You say that this is your first microarray analysis, so I wonder what 
causes you to want to do it this way.  There is no documentation I know of 
that recommends it.  Similarly, no published papers that recommend it.

I can't help thinking you're making it unnecessarily hard for yourself. 
Why not follow the documentation, and do something simple and easy that 
works?

I might also add that two-dimensional loess is a marray package function, 
not a limma function.  And your desired normalization process seems to 
have nothing to do with modifyWeights.  So it's not really my problem!

Best wishes
Gordon

On Thu, 4 Feb 2010, stephen sefick wrote:

> There are housekeeping genes that should not be differentially
> expressed.  I was trying to up weight these in the normalization
> process.  Also, I am sorry if I am a bother, but what I am trying to
> recreate in the normalization process is this:
>
> background normalization
> two dimensional normalization for spatial and then print tip loess
> scale normalization between arrays
>
> #MA <- maNormMain(as(RG, "marrayRaw"),  f.loc = list(maNorm2D(weights=w)))
> MA <- maNorm(as(RG, "marrayRaw"), norm="twoD")
> MA <- normalizeWithinArrays(as(MA, "MAList"))
> ##################################################################
>
> #MA <- normalizeWithinArrays(RG)
>
> #scale normalization between arrays
> WA <- normalizeBetweenArrays(as(MA, "MAList"), method="scale")
>
> I appreciate everyone's help.  I will work on this tomorrow, and try
> to form my questions more coherently.
>
>
> thanks,
>
> Stephen
>
> On Thu, Feb 4, 2010 at 4:51 PM, Gordon K Smyth <smyth at wehi.edu.au> wrote:
>>
>>
>>> Date: Wed, 3 Feb 2010 23:31:40 -0600
>>> From: stephen sefick <ssefick at gmail.com>
>>> To: bioc-devel at stat.math.ethz.ch
>>> Subject: [Bioc-devel] modifyWeights Problem
>>> Content-Type: text/plain; charset=UTF-8
>>>
>>> I am using the limma packages for the first time, and I need help with
>>> the modifyWeights function.  I have about three years of experience
>>> with R programing, but this is the first time that I have run an
>>> analysis with a bioconductor package.  I have included the code below.
>>> I know that this is not a reproducible example and I would gladly
>>> give any more information requested.  I am trying to modify the
>>> weights of genes that I know are housekeeping genes (upweight).  I can
>>> not get the modifyWeights function to work to save my life.  The
>>> weights array is 6400, 6.  The control status vector is 12800- that
>>> seems like only two of the arrays are being represented???????  I
>>> don't know what is wrong.  Any help would be greatly appreciated
>>> thanks,
>>>
>>> Stephen Sefick
>>>
>>> library(limma)
>>> library(marray)
>>> library(convert)
>>> library(statmod)
>>> #read in targets file
>>> targets <- readTargets("targets.txt", row.names="Name")
>>> #weight everything with flags !cutoff=0!
>>> RG <- read.maimages(targets$FileName, source="genepix",
>>> wt.fun=wtflags(cutoff=-50 weight=0))
>>> #read .gal file
>>> #remove extra tab in file
>>>
>>> a <- readGAL()
>>
>> It is highly unlikely that you need to read a GAL file.  The limma User's
>> Guide tells you that you only need to do this with SPOT input, not with
>> GenePix.
>>
>> It is obvious from the information you give that whatever GAL file you are
>> reading, it doesn't match your GenePix files, because it has twice as many
>> rows.
>>
>>> b <- a[,-6]
>>> RG$genes<-b
>>> #spot types file
>>> spottypes <- readSpotTypes()
>>> RG$genes$Status <- controlStatus(spottypes, RG$genes)
>>>
>>> ##################CHANGE weighting for spot types#####################
>>> ######################################################################
>>> multiply <- c(1,0,2,0,1,0,1,1,1)
>>> ######################################################################
>>> ######################################################################
>>>
>>> a <- unique(RG$genes$ID)
>>> status=RG$genes$Status
>>> w <- modifyWeights(RG$weights, RG$genes$Status, a, c(0, 1))
>>
>> Have you looked at the help page for modifyWeights?  I'd think a quick read
>> would tell you that your input arguments aren't the right dimensions, so
>> there's no chance of this call working correctly.
>>
>> I also wonder what you're trying to achieve with modifyWeights, and whether
>> you need it at all?  This function is only needed for special situations.
>>
>> Best wishes
>> Gordon
>>
>>> --
>>> Stephen Sefick
>>
>> ______________________________________________________________________
>> The information in this email is confidential and intended solely for the
>> addressee.
>> You must not disclose, forward, print or use it without the permission of
>> the sender.
>> ______________________________________________________________________
>>
>
>
>
> -- 
> Stephen Sefick
>
> Let's not spend our time and resources thinking about things that are
> so little or so large that all they really do for us is puff us up and
> make us feel like gods.  We are mammals, and have not exhausted the
> annoying little problems of being mammals.
>
> 								-K. Mullis
>

______________________________________________________________________
The information in this email is confidential and intend...{{dropped:5}}


More information about the Bioconductor mailing list