Hi Henrik, Thank you, that was helpful.
I run to another problem though. I am trying to perform ExonRmaPlm(csQN, merge=TRUE) but this produces a following error: 20140226 23:25:33| Identifying CDF cell indices...done Error in vector("double", nbrOfCells * nbrOfArrays) : vector size cannot be NA In addition: Warning message: In nbrOfCells * nbrOfArrays : NAs produced by integer overflow 20140226 23:28:35| Reading probe intensities from 5622 arrays...done 20140226 23:28:35| Fitting chunk #1 of 1 of 'expression' units (code=1) with various dimensions...done 20140226 23:28:35| Unit dimension #3 (various dimensions) of 3...done 20140226 23:28:35| Fitting the model by unit dimensions (at least for the large classes)...done 20140226 23:28:35| Unit type #1 ('expression') of 1...done 20140226 23:28:35| Fitting ExonRmaPlm for each unit type separately...done 20140226 23:28:35|Fitting model of class ExonRmaPlm…done I testes whether it worked anyway, but the expression is zero across all arrays when I access it. Do you know what could be causing the problem? Best, Damian The code I run is below: library(aroma.affymetrix) library(aroma.core) setOption(aromaSettings, "memory/ram", 500.0); verbose <- Arguments$getVerbose(-8, timestamp=TRUE) chipType <- "HuEx-1_0-st-v2-core" cdf <- AffymetrixCdfFile$byChipType(chipType) #print(cdf) cs <- AffymetrixCelSet$byName("experiment1", cdf=cdf) bc <- RmaBackgroundCorrection(cs) csBC <- process(bc,verbose=verbose) qn <- QuantileNormalization(csBC, typesToUpdate="pm") target <- getTargetDistribution(qn, verbose=verbose) qn <- QuantileNormalization(csBC, typesToUpdate="pm", targetDistribution=target) csQN <- process(qn, verbose=verbose) csPLM <- ExonRmaPlm(csQN, mergeGroups=TRUE) fit(csPLM, verbose=verbose) date() ces <- getChipEffectSet(csPLM) gExprs <- extractDataFrame(ces, units=1:3, addNames=TRUE) > sessionInfo() R version 3.0.2 (2013-09-25) Platform: x86_64-unknown-linux-gnu (64-bit) locale: [1] LC_CTYPE=C LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] preprocessCore_1.23.0 aroma.light_1.31.8 matrixStats_0.8.14 [4] aroma.affymetrix_2.11.1 aroma.core_2.11.0 R.devices_2.8.2 [7] R.filesets_2.3.0 R.utils_1.29.8 R.oo_1.17.0 [10] affxparser_1.34.0 R.methodsS3_1.6.1 loaded via a namespace (and not attached): [1] aroma.apd_0.4.0 base64enc_0.1-1 digest_0.6.4 DNAcopy_1.35.1 [5] PSCBS_0.40.4 R.cache_0.9.2 R.huge_0.6.0 R.rsp_0.9.28 [9] tools_3.0.2 On Thursday, February 20, 2014 1:21:25 PM UTC-5, Henrik Bengtsson wrote: > > On Tue, Feb 18, 2014 at 7:30 PM, Damian Plichta > <damian....@gmail.com <javascript:>> wrote: > > Thanks, that helped a lot. It took me less than 3 hours to perform the > > background correction. > > > > Now I'm wondering if for the next step, quantile normalization, I could > do a > > similar trick. Is there a way to precompute the target empirical > > distribution based on all arrays and then do the normalization on chunks > of > > data (thus in an independent manner)? I can see the option > > targetDistribution under QuantileNormalization. > > # Calculate the target distribution based on *all* arrays [not > parallalized] > qn <- QuantileNormalization(dsC, typesToUpdate="pm") > target <- getTargetDistribution(qn, verbose=verbose) > > # Normalize array by array toward the same target distribution [in chucks] > dsCs <- extract(dsC, 1:100) > qn <- QuantileNormalization(dsCs, typesToUpdate="pm", > targetDistribution=target) > csNs <- process(qn, verbose=verbose) > > Hope this helps > > /Henrik > > > > > Kind regards, > > > > Damian Plichta > > > > On Monday, February 17, 2014 4:03:54 PM UTC-5, Henrik Bengtsson wrote: > >> > >> Hi. > >> > >> On Sun, Feb 16, 2014 at 6:53 PM, Damian Plichta > >> <damian....@gmail.com> wrote: > >> > Hi, > >> > > >> > I'm processing around 5500 affymetrix exon arrays. The > >> > RmaBackgroundCorrection() is pretty slow, 1-2 minutes/array. I played > >> > with > >> > setOption(aromaSettings, "memory/ram", X) and increased X up to 100 > but > >> > it > >> > didn't have any effect on this stage of analysis. > >> > >> If you don't notice any difference in processing time by changing > >> "memory/ram" from the default (1.0) to 100, then the memory is not > >> your bottleneck. > >> > > >> > Any way to speed the process up? > >> > >> If you haven't already, make sure to read "How to: Improve processing > >> time": > >> > >> http://aroma-project.org/howtos/ImproveProcessingTime > >> > >> If you have access to multiple machines on the same file system, you > >> can do poor mans parallel processing for the *background correction*, > >> because each array is corrected independently of the others. You can > >> do this by processing a subset of arrays per computer, e.g. > >> > >> dsR <- AffymetrixCelSet$byName("MyDataSet", chipType="HuEx-1_0-st-v2") > >> dsR <- extract(dsR, 1:100) > >> bg <- RmaBackgroundCorrection(dsS) > >> dsC <- process(bg, verbose=verbose) > >> > >> Repeat on another machine with 101:200, and so on. > >> > >> When all arrays have been background corrected, you can move back to > >> your original script - all arrays background corrected are already > >> saved to file and will therefore not be redone. > >> > >> /Henrik > >> > >> > > >> > Kind regards, > >> > > >> > Damian Plichta > >> > > >> > -- > >> > -- > >> > When reporting problems on aroma.affymetrix, make sure 1) to run the > >> > latest > >> > version of the package, 2) to report the output of sessionInfo() and > >> > traceback(), and 3) to post a complete code example. > >> > > >> > > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "aroma.affymetrix" group with website http://www.aroma-project.org/. > >> > To post to this group, send email to aroma-af...@googlegroups.com > >> > To unsubscribe and other options, go to > >> > http://www.aroma-project.org/forum/ > >> > > >> > --- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "aroma.affymetrix" group. > >> > To unsubscribe from this group and stop receiving emails from it, > send > >> > an > >> > email to aroma-affymetr...@googlegroups.com. > >> > For more options, visit https://groups.google.com/groups/opt_out. > > > > -- > > -- > > When reporting problems on aroma.affymetrix, make sure 1) to run the > latest > > version of the package, 2) to report the output of sessionInfo() and > > traceback(), and 3) to post a complete code example. > > > > > > You received this message because you are subscribed to the Google > Groups > > "aroma.affymetrix" group with website http://www.aroma-project.org/. > > To post to this group, send email to > > aroma-af...@googlegroups.com<javascript:> > > To unsubscribe and other options, go to > http://www.aroma-project.org/forum/ > > > > --- > > You received this message because you are subscribed to the Google > Groups > > "aroma.affymetrix" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to aroma-affymetr...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/groups/opt_out. > -- -- When reporting problems on aroma.affymetrix, make sure 1) to run the latest version of the package, 2) to report the output of sessionInfo() and traceback(), and 3) to post a complete code example. You received this message because you are subscribed to the Google Groups "aroma.affymetrix" group with website http://www.aroma-project.org/. To post to this group, send email to aroma-affymetrix@googlegroups.com To unsubscribe and other options, go to http://www.aroma-project.org/forum/ --- You received this message because you are subscribed to the Google Groups "aroma.affymetrix" group. To unsubscribe from this group and stop receiving emails from it, send an email to aroma-affymetrix+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.