Dear Henrik, many thanks for your detailed explanation.
在 2015年5月29日星期五 UTC+2下午9:20:34,Henrik Bengtsson写道: > > So, there are few things here: > > 1. In the Aroma Framework, we always try to store estimates/signals on > the "original" scale, e.g. even if, say, chip-effect estimates are > original on the log scale, we unlog those before saving. That is a > policy with the rationale that all data can always be represented on > the "original" scale but not always on, say, the log scale. An > example of the latter is when a probe signal ends up being slightly > negative after calibration and normalization. If that would have been > stored on the log-scale we would have lost the information, i.e. it > would be stored as NaN. Same problem with a signal that is exactly > zero (-Inf on the log scale). Why bother? For instance, say you end > up with replicated probe signals for a single SNP where they all > fluctuate around zero. After averaging, the average signal may end up > non-negative. If we stored on the log scale the averaging would have > only been on the signals that were positive (because we lost the > non-positive one). So, that's that rational. > > 2. For methods estimating "CNs" it depends on their > approach/method/design: > > (a) For instance, the CRMA v1 and CRMA v2 methods (ours; happens to be > implemented in the Aroma Framework, but should never be referred to as > the "Aroma CN method", "aroma.affymetrix CN method" or similar), we > end up with "CN signals" that have not yet been standardized relative > to a reference. In other words, those signals are "all over the > place", because each of them are scaled with an unknown scale factors. > It is only when you have a reference when you can create "CN > ratios", e.g. C = tumor / matched normal or C = sample / pooled > average, etc. Comment: For CRMA v2, this is not that surprising, > because that method was specifically designed to work for each array > independently. That means you get "CN signals" out from a single > array, but then you need to compare them to a reference. > > (b) The ACNE method (however), calculates CN ratios for you. This is > by design of the model, simply because how the NMF factorization model > works, cf. Eqns (10)-(14) in > http://bioinformatics.oxfordjournals.org/content/26/15/1827.full. > Comment: The ACNE method is a multi-array method requiring many arrays > to work and borrows information across arrays (e.g. estimate SNP > effects). Since this information is already done, it can equally well > return CN ratios for you. Having said this, there is nothing > preventing you from taking the ratios relative to another reference > (ratio), e.g. effectively C = (T / R) / (R / R*) = T / R. > > So, in the ACNE vignette > [http://www.aroma-project.org/vignettes/ACNE/] that you're following > there is, near the end: > > cf <- ces[[1]] > data <- extractTotalAndFreqB(cf, units=units) > CT <- data[,"total"] > > Since you used ACNE to estimate the CNs, here 'CT' is indeed a "CN > ratios". The reason why we still refer to it as a "total" signal, is > because that is the most generic name we could come up with for the > underlying file format. > > Hope this clarifies > > > /Henrik > > On Fri, May 29, 2015 at 6:52 AM, hongen xu <hongen....@gmail.com > <javascript:>> wrote: > > Dear Aroma.affymetrix teem, > > > > I followed the vignette "Allele-specific copy numbers using non-negative > > matrix factorization". I want to extract LRR and BAF to feed into > another > > software "ASCAT" to correct aneuploidy and normal contamination. > > > > From the vignette, I can use extractTotalAndFreqB to extract total CN > and > > BAF. My question is how can I get LRR from Total CN. I went through this > > thread "creat binary data files containing BAF data", but get confused. > > > > quote from "creat binary data files containing BAF data" > > "The take-home message is that > > the definition of "log2 ratios" has become de facto standard in our > > field, where as "CN" is a bit ambiguous, and can mean "CN ratio" > > (C=theta/thetaR, or C=2*theta/thetaR) as well as "CN intensity" > > (theta). By adding tags we try to make this less ambiguous." > > > > How total CN was defined in aroma.affymetrix? > > > > > > Best regards, > > Hongen > > > > > > > > > > > > > > > > > > my code > > > > ############ > > library("aroma.affymetrix") > > library("ACNE") > > > > > > log <- verbose <- Arguments$getVerbose(-8, timestamp=TRUE) > > # Don't display too many decimals. > > options(digits=4) > > > > > > #Verifying annotation data files > > cdf <- AffymetrixCdfFile$byChipType("CytoScanHD_Array"); > > print(cdf) > > gi <- getGenomeInformation(cdf) > > print(gi) > > si <- getSnpInformation(cdf) > > print(si) > > acs <- AromaCellSequenceFile$byChipType(getChipType(cdf, > fullname=FALSE)) > > print(acs) > > > > ##raw data sets > > csR<- AffymetrixCelSet$byName("smida", cdf=cdf); > > > > ###step 1 Calibration for crosstalk between allele probe pairs > > acc <- AllelicCrosstalkCalibration(csR, model="CRMAv2") > > > > print(acc) > > > > csC <- process(acc, verbose=verbose) > > print(csC) > > > > > > ##Step 2 - Normalization for nucleotide-position probe sequence effects > > bpn <- BasePositionNormalization(csC, target="zero") > > csN <- process(bpn, verbose=verbose) > > cs <- csN > > > > > > > > #step 3 > > #Probe summarization using non-negative-matrix factorization (NMF) > > > > plm <- NmfSnpPlm(csN, mergeStrands=TRUE) > > print(plm) > > > > if (length(findUnitsTodo(plm)) > 0) { > > # Fit CN probes quickly (~5-10s/array + some overhead) > > units <- fitCnProbes(plm, verbose=verbose) > > str(units) > > # int [1:945826] 935590 935591 935592 935593 935594 935595 ... > > > > # Fit remaining units, i.e. SNPs (~5-10min/array) > > units <- fit(plm, verbose=verbose) > > str(units) > > } > > > > ces <- getChipEffectSet(plm) > > print(ces) > > > > > > > > my session information: > > ###################### > >> sessionInfo() > > R version 3.1.3 (2015-03-09) > > Platform: x86_64-redhat-linux-gnu (64-bit) > > Running under: Fedora 20 (Heisenbug) > > > > locale: > > [1] LC_CTYPE=en_US.UTF-8 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] ACNE_0.8.0 aroma.light_2.2.1 > aroma.affymetrix_2.13.2 > > [4] aroma.core_2.13.1 R.devices_2.13.0 R.filesets_2.7.2 > > [7] R.utils_2.0.2 R.oo_1.19.0 affxparser_1.38.0 > > [10] R.methodsS3_1.7.0 > > > > loaded via a namespace (and not attached): > > [1] aroma.apd_0.6.0 base64enc_0.1-2 digest_0.6.8 > DNAcopy_1.40.0 > > [5] MASS_7.3-40 matrixStats_0.14.0 PSCBS_0.44.0 > R.cache_0.11.0 > > [9] R.huge_0.9.0 R.rsp_0.20.0 tools_3.1.3 > > > > > > > > -- > > -- > > 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/d/optout. > -- -- 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/d/optout.