Analysis of Parent-Specific DNA Copy Numbers

Segmentation of allele-specific DNA copy number data and detection of regions with abnormal copy number within each parental chromosome. Both tumor-normal paired and tumor-only analyses are supported.


Package: PSCBS

Version: 0.62.0 [2016-11-10] o Added normalizeTotalCNs() for PSCBS objects. o REPORTS: Updated report template for PairedPSCBS object such that reports are also generated from DH-only data, i.e. when there are no BAF signals (which may happen with DNA-Seq data). o Added splitters=TRUE as the default for setSegments(). o CLEANUP: Minor internal cleanup and restructuring.

Version: 0.61.0 [2016-02-03] o Package now requires R (>= 3.1.2) released October 2014, because of its dependency on the listenv package. o segmentByPairedPSCBS() gained argument 'rho' for paired PSCBS segmentation on total CNs (TCNs) and decrease-of-heterozygosity signals (DHs) as an alternative to for instance TCN and allele B fractions (BAFs). o BUG FIX: Segmentation using futures where not fully reproducible when known segments where specified. Fixed by changing how the random number stream is set and used.

Version: 0.60.0 [2015-11-17] o PARALLEL: Add support for parallel processing via futures by utilizing the future package. Parallel segmentation over multiple chromosomes (or known segments) done by segmentByCBS() and segmentByPairedPSCBS() is enabled by future::plan("multicore"). o REPRODUCIBILITY: Whenever argument 'seed' is given, the L'Ecuyer-CMRG stream is now used to generate random numbers. For backward compatibility with other types of random number generators, don't specify argument 'seed' but instead use set.seed() to set the seed before calling the method. o Bump package dependencies.

Version: 0.50.0 [2015-10-14] o Now argument 'preserveScale' for segmentByPairedPSCBS() defaults to FALSE. In the past the default has effectively been TRUE, but has given a warning since v0.43.0 (June 2014) that it eventually will be changed to FALSE. Now it will give a warning that it has changed, unless the option is explicitly specified. This new warning will eventually be removed in a future version.

Version: 0.45.1 [2015-09-16] o More informative error messages when append() for CBS or PSCBS fail. o BUG FIX: segmentByCBS(, ..., w, knownSegments) would give internal assertion errors if one of the priorly known segments would have zero data points. Thanks to Kirill Tsukanov (Moscow) and Eric Talevich (UCSF) for reporting on this.

Version: 0.45.0 [2015-09-11] o segmentByCBS() gained argument 'avg'. o Add writeWIG() for CBS objects. o pruneByHClust() no longer gives a message about method "ward" is now named "ward.D". o Added skip=TRUE to report(). o ROBUSTNESS: Package test coverage is 62%. o ROBUSTNESS: Explicitly importing core R functions. o FIX: plotTracks() for CBS ignored arguments 'cex', 'col' and 'meanCol' if two or more chromosomes were plotted. o BUG FIX: joinSegments(), resetSegments() and pruneBySdUndo() gave errors for multi-chromosome (>= 2) segmentation results. o BUG FIX: segmentByCBS() would ignore argument 'w' (weights) if more than one chromosome was fitted. o BUG FIX: tileChromosomes() for CBS returned incorrect locus data. o BUG FIX: gapsToSegments(gaps) gave an error if nrow(gaps) == 0 or contained no 'chromosome' column. o BUG FIX: findLargeGaps() could return NULL. Now it always returns a data.frame. o BUG FIX: The report() RSP-embedded TeX templates for CBS and PairedPSCBS data did not escape sample and data set names to LaTeX in all places needed. o Package now requires R (>= 3.1.1) released July 2014. This allows us to use BioC (>= 3.0) (October 2014).

Version: 0.44.0 [2015-02-22] o ROBUSTNESS: Package test coverage is 58%. o ROBUSTNESS: Forgot to declare some S3 methods in NAMESPACE. o SPEEDUP: Now using more functions of matrixStats. o CLEANUP: bootstrapDHByRegion() is defunct (was deprecated since 2013). o Package now requires R (>= 3.0.3) and BioC (>= 2.13), which are from March 2014 and are in fact old. It's recommended to use a more recent version of R.

Version: 0.43.0 [2014-06-08] o Now segmentByPairedPSCBS() gives a warning about future change of the default value of argument 'preserveScale' (from current TRUE to FALSE). The warning only appears if the argument is not specified explicitly. o Now using use() of R.utils where possible. o Package now requires R (>= 3.0.0) and BioC (>= 2.13), which were released April 2013 and are in fact old and it's recommended to use a more recent version of R. o Bumped package dependencies.

Version: 0.42.2 [2014-05-24] o Bumped package dependencies.

Version: 0.42.1 [2014-05-05] o BUG FIX: pruneByHClust() for PairedPSCBS would give an error on "unable to find an inherited method for function 'anyMissing' for signature '"PairedPSCNSegments"'", unless the object contained bootstrap statistics. This is no longer needed. Thanks to Junsong Zhao, Los Angeles, CA for reporting on this.

Version: 0.42.0 [2014-04-25] o SPEEDUP: Minor speedup (a few percents) by now byte compiling the package by default. o CLEANUP: Dropped unnecessary usage of '::'. o Bumped package dependencies.

Version: 0.41.4 [2014-03-30] o GENERALIZATION: Now callROH() also works if paired PSCBS was done with only 'muN' available (and not 'betaN'). In that case, it assumes that all genotype confidence scores are equal. o Updated the ordering and the defaults of testROH() arguments to make it clear that 'betaN' is optional and only used if 'csN' is not given. o As an alternative to argument 'CT', segmentByPairedPSCBS() now accepts arguments 'thetaT' and 'thetaN', in case 'CT' is calculated as CT=2*thetaT/thetaN.

Version: 0.41.3 [2014-03-29] o Methods no longer generates warnings on "in max(c(NA_integer_, NA_integer_), na.rm = TRUE) : no non-missing arguments to max; returning -Inf". o BUG FIX: In rare cases, callROH() could throw "Error in if ( { : argument is of length zero".

Version: 0.41.2 [2014-03-28] o Added argument 'preserveScale' to segmentByPairedPSCBS(), which is passed as is to normalizeTumorBoost() with the default being TRUE corresponding to the previous default behavior.

Version: 0.41.1 [2014-03-28] o Added unTumorBoost() to recalculating the segment means and other statistics for a given PairedPSCBS profile based on non-TumorBoosted tumor BAFs (rather than TumorBoost:ed tumor BAFs).

Version: 0.41.0 [2014-03-26] o Now estimateKappaByC1Density() give more informative error messages if it failed to identify modes for estimating the parameter. o Added argument 'from' to estimateKappaByC1Density(). o BUG FIX: updateMeansC1C2() for PairedPSCBS did not handle missing values (=splitters) in the 'c1c2Swap' field. o BUG FIX: updateMeans() for PairedPSCBS and NonPairedPSCBS returned the incorrect DH segment levels for region in AB if adjustFor="ab" and likewise for segments in LOH if adjustFor="loh". This bug does not affect any of PSCBS methods themselves, because none of them utilizes those 'adjustFor' options. o Bumped package dependencies.

Version: 0.40.4 [2014-02-04] o BUG FIX: all.equal() for CBS would pass the first/dispatch argument to NextMethod() as 'target=target' and not as 'object=target', which would result in it being passed it twice both named and non-named where the latter would become argument 'tolerance=target' in an internal call to all.equal() for numerics. In recent R-devel version this would generate "Error in all.equal.numeric(target[[i]], current[[i]], check.attributes = check.attributes, : 'tolerance' should be numeric Calls: stopifnot ... all.equal.default -> all.equal.list -> all.equal -> all.equal.numeric".

Version: 0.40.3 [2014-01-29] o ROBUSTNESS: Now segmentByPairedPSCBS() asserts that argument 'muN' is not all NAs. Similarily, if 'muN' is called from 'betaN' the same assertion is done after calling.

Version: 0.40.2 [2013-12-17] o Now estimateDeltaCN() for CBS have the option to estimate the size of a copy-number unit based on the change-point magnitutes, in addition to the estimator based on the density of segment means. o BUG FIX: getChangePoints() for CBS returned empty results.

Version: 0.40.1 [2013-12-09] o DOCUMENTATION: The CBS vignette referred to C1 and C2 in one of the code examples. o Bumped package dependencies.

Version: 0.40.0 [2013-12-07] o CLEANUP: No longer need for an ad hoc NAMESPACE import.

Version: 0.39.8 [2013-12-04] o DOCUMENTATION: Now the vignette sections on dropping outliers before segmentation explains why outliers are dropped whereas in the original CBS publication they were shrunk ("smoothed"). Also, added help for dropSegmentationOutliers().

Version: 0.39.7 [2013-11-27] o Added callGLAO() for CBS. o Added encodeCalls() for 'data.frame' object returned by getLocusData(..., addCalls=TRUE). o Bumped package dependencies.

Version: 0.39.6 [2013-11-23] o Added clearCalls() for AbstractCBS. o Added extractSegmentDataByLocus() for PairedPSCBS. o BUG FIX: estimateDeltaCN() for CBS assumed aroma.light was attached.

Version: 0.39.5 [2013-11-15] o Added estimateDeltaCN() for CBS. Added package system test.

Version: 0.39.4 [2013-11-14] o BUG FIX: callGainsAndLosses() for CBS would not estimate the median median CN level correctly if there were "empty" segments (e.g. gaps). This was/is due to a bug in segments.summary() of the DNAcopy package. Instead, we are now calculating the segment median levels ourselves. Added a system package test for callGainsAndLosses().

Version: 0.39.3 [2013-11-05] o Added basic implementations of setLocusData() and setSegments() for AbstractCBS.

Version: 0.39.2 [2013-10-28] o Now plotTracksManyChromosomes() for PairedPSCBS also supports tracks "c1,c2", "c1" and "c2".

Version: 0.39.1 [2013-10-25] o Now plotTracksManyChromosomes() uses the locus data field 'rho' when plotting DH locus-level data. It only recalculates it from the tumor BAFs if the DH signals are not available - if so a warning is generated. o BUG FIX: The 'rho' signals returned by getLocusData(..., fields="full") for PairedPSCBS would have values also for homozygote SNPs.

Version: 0.39.0 [2013-10-23] o Now all warnings generated by DNAcopy::CNA() are suppressed, including the common one on "array has repeated maploc positions". o Added getBootstrapLocusSets() for PairedPSCBS. Added a package system test for it. o Added argument 'subset' to applyByRegion() for PairedPSCBS. o Added clearBootstrapSummaries() for PairedPSCBS. o SPEEDUP: Added argument 'cache' to bootstrapSegmentsAndChangepoints(), which caches the results to file if cache=TRUE.

Version: 0.38.6 [2013-10-20] o Internal restructuring on how bootstrapping of segment means is done. o BUG FIX: plotTracks() for PairedPSCBS would use argument 'Clim' for 'Blim' as well, regardless of what argument 'Blim' is. This bug was introduced in v0.38.3.

Version: 0.38.5 [2013-10-18] o BUG FIX: The CBS and Paired PSCBS report templates assumed that the 'R.utils' package is attached.

Version: 0.38.4 [2013-10-15] o CLEANUP: Removed a few unnecessary NAMESPACE imports. o Bumped package dependencies.

Version: 0.38.3 [2013-10-14] o Now plotTracks() for CBS and PSCBS gives a more informative error if 'Clim' or 'Blim' is invalid. If using "auto" (only for CBS) and the limits could not be inferred due to an unknown or unset signal type, an informative error message reports on this as well. o Now the package vignettes are in vignettes/ and not in inst/doc/, which will not be supported by R (>= 3.1.0). o ROBUSTNESS: The overriding of append() to become a generic function does now call base::append() in the default, instead of copy the latter. All this will eventually be removed, when proper support for c, [, [[ etc. has been added everywhere. o CLEANUP: Now explicitly importing only what is needed in NAMESPACE.

Version: 0.38.2 [2013-10-13] o BUG FIX: While attaching the package, it could cause a cyclic loading of namespaces.

Version: 0.38.1 [2013-10-08] o Now getSmoothLocusData() for CBS also returns column 'count' which specifies the number of (finite) loci averaged over in each bin. o DOCUMENTATION: Vignette 'Total copy-number segmentation using CBS' would display the same plot as vignette 'Parent-specific copy-number segmentation using Paired PSCBS'. o DOCUMENTATION: Renamed vignette 'Paired PSCBS' to 'Parent-specific copy-number segmentation using Paired PSCBS'. o BUG FIX: tileChromosomes() for CBS did not set "tiledChromosomes" attribute due to a typo. This caused plotTracks() for CBS to horizontally misplace the plotted segment levels. Added a system tests for this for CBS and PairedPSCBS objects. Thanks to Ilari Scheinin at VUMC for reporting on this. o Bumped package dependencies.

Version: 0.38.0 [2013-09-27] o SPEEDUP: 'R CMD check' is now significantly faster due to copying of pre-generated calculations ("memoization"). For instance, the the same segmentation tests are roughly 40% faster with this version compared to v0.37.2. o Now PSCBS imports 'R.cache' (used to only suggest it).

Version: 0.37.2 [2013-09-27] o SPEEDUP: Now utilizing 'matrixStats' functions in more places. o ROBUSTNESS: Further improved how aroma.light is handled for backward compatibility. o Bumped package dependencies.

Version: 0.37.1 [2013-09-26] o CLEANUP: Now package avoids attaching suggested packages such as 'R.cache', 'aroma.light', and 'Hmisc' by only importing the set of functions needed via '::'. This way those packages are only loaded. Packages that still need to be attached are done so "quietly". o CLEANUP: Minor adjustments to some of the internal workarounds for older versions of 'matrixStats' and 'aroma.light'. o BUG FIX: Forgot to import several functions from 'matrixStats'. These went undetected because 'aroma.light' (<= 1.31.5) attaches the 'matrixStats'. o BUG FIX: segmentByPairedPSCBS() assumed 'aroma.light' was attached. o BUG FIX: One of the system tests assumed 'R.utils' was attached.

Version: 0.37.0 [2013-09-21] o CLEANUP: Package no longer attaches 'R.utils', only imports it. o BUG FIX/WORKAROUND: For now, package attaches the 'utils' package. This is needed due to what appears to be a bug in how 'R.oo' finalizes Object:s assuming 'utils' is attached, which may not be the case (unless 'R.oo' itself is attached). o ROBUSTNESS: Now package imports only what is needed from 'DNAcopy'. o BUG FIX: callGNL() for PairedPSCBS used non-defined 'verbose' object.

Version: 0.36.2 [2013-09-18] o DOCUMENTATION: Added vignette 'Total copy-number segmentation using CBS'. o ROBUSTNESS: Now package imports 'matrixStats' (previously suggested). o ROBUSTNESS: Now package declares S3 methods in the NAMESPACE. o ROBUSTNESS: Package vignettes no longer assumes that the 'R.rsp' package is attached. o ROBUSTNESS: Forgot to import R.methodsS3::appendVarArgs(). o WORKAROUND: For R (< 3.0.0), hclustCNs() for AbstractCBS would generate 'Error in rowAlls(ok) : could not find function "loadMethod"'. This seems to be a bug in R (< 3.0.0), which we can avoid by attaching the 'methods' package in hclustCNs(). o Bumped package dependencies.

Version: 0.36.1 [2013-09-10] o CLEANUP: Package no longer utilizes ':::'.

Version: 0.36.0 [2013-08-15] o Made extractMinorMajorCNs() for PairedPSCBS acknowledge additional fields related to (C1,C2).

Version: 0.35.6 [2013-08-01] o Updated the vignettes to utilize the new R.rsp features.

Version: 0.35.5 [2013-07-19] o ROBUSTNESS: Added a sanity check on the estimates of (tauA, tauB) when they are estimated from data in segmentByNonPairedPSCBS().

Version: 0.35.4 [2013-07-11] o Updated the Makefile for the vignettes and added .Rinstignore such that auxiliary (bib and bst) LaTeX files are not installed but part of the build so they are available to R CMD check, which is recently needed by R devel. o Bumped package dependencies.

Version: 0.35.3 [2013-05-25] o Minor speedup by replacing all rm(x) with x <- NULL, cf. R-devel thread 'Assigning NULL to large variables is much faster than rm() - any reason why I should still use rm()?' on May 25, 2013.

Version: 0.35.2 [2013-05-20] o CRAN POLICY: Now all Rd \usage{} lines are at most 90 characters long.

Version: 0.35.1 [2013-05-07] o Now estimateDeltaCN() for PairedPSCBS adjust for the ploidy if set. o Added ploidy() and ploidy()<- for AbstractCBS. o Now tileChromosomes() no longer gives warnings on "max(i): no non-missing arguments to max; returning -Inf".

Version: 0.35.0 [2013-04-23] o SPEEDUP: Now bootstrapTCNandDHByRegion() for PairedPSCBS always estimates the default quantiles in addition to any requested ones. o SPEEDUP: Made bootstrapTCNandDHByRegion() much faster by adding use.names=FALSE to two internal unlist() statements. o BUG FIX: updateMeans() for PairedPSCBS and NonPairedPSCBS could include a signal from a neighboring segment when averaging, iff that signal was located at the exact locus of the change point. Thanks Ingrid L�nnstedt (WEHI) for reporting on this.

Version: 0.34.9 [2013-04-22] o Utilizing new startupMessage() of R.oo. o BUG FIX: updateMeans() would not always preserve the originally specified segment-mean level estimator, if different from a (sample) mean estimator, e.g. avgDH="median". This could result in for instance callAB() failing on internal sanity checks. o BUG FIX: Segment levels drawn by plotTracks() would have incorrect genomic locations for chromosome 2 and beyond. This bug was introduced in v0.34.7.

Version: 0.34.8 [2013-04-20] o CLEANUP: Removed previously deprecated methods for AbstractCBS.

Version: 0.34.7 [2013-04-18] o Added more arguments to plotTracks(). o Now drawLevels() and drawConfidenceBands() for CBS and PairedPSCBS also works for multiple chromosomes. o One of the system tests for segmentByPairedPSCBS() failed in the case when the data was downsampled (in order to meet the CRAN requirements). The workaround is to use a fix deltaAB parameter in that case. o BUG FIX: Internal calcStatsForCopyNeutralABs() would give an error if there was exactly two AB segments.

Version: 0.34.6 [2013-04-11] o BUG FIX: plotTracks(fit, callLoci=TRUE) would color loci incorrectly if more than one chromosome are plotted.

Version: 0.34.5 [2013-04-09] o ROBUSTNESS: Now callROH() gives an informative error if called on a NonPairedPSCBS object.

Version: 0.34.4 [2013-04-05] o Added more end-user control to plotTracks().

Version: 0.34.3 [2013-04-04] o Now package builds with both R.rsp (< 0.9.1) and R.rsp (>= 0.9.1).

Version: 0.34.2 [2013-03-28] o Updated callGainNeutralLoss(), which now by default utilizes callCopyNeutral().

Version: 0.34.1 [2013-03-21] o Updated the report generator and its RSP templates. o DOCUMENTATION: Clarified in the PSCBS vignette that the NTCN caller is under development, experimental. o SPEEDUP: Made dropChangePoints() faster by only updating the segment statistics/means at the very end.

Version: 0.34.0 [2013-03-19] o CALLING: Defined a formal hypothesis test for how segments are called copy-neutral in TCN (NTCN), with the null hypothesis being that a segment is NTCN. In order for a segment to not be NTCN, its confidence interval has to be completely outside the null region. This changed how callCopyNeutralByTCNofAB() for PairedPSCBS calls segments; it is now a bit more conservative in rejecting NTCN.

Version: 0.33.4 [2013-03-19] o ROBUSTNESS: Now calcStatsForCopyNeutralABs() for PairedPSCBS does a better job in identifying the TCN mode of the AB segments. o Added argument 'flavor' to findNeutralCopyNumberState() specifying how to identify the main mode of the AB segments. o VISUALIZATION: Now plotTracks() for PairedPSCBS displays thresholds for calling AB, LOH and and NTCN.

Version: 0.33.3 [2013-03-12] o DOCUMENTATION: Documented 'tauA' and 'tauB' in the help for segmentByNonPairedPSCBS().

Version: 0.33.2 [2013-03-09] o Added getLocusData() for PairedPSCBS and NonPairedPSCBS. o Added an Authors@R field to the DESCRIPTION. o DOCUMENTATION: Updated the vignettes and the report templates to utilize the new ggplot2 themes - ggplot2 no longer gives a warning on using deprecated functions. o Now report() for AbstractCBS also includes files listed in the optional file '.install_extras' of the source RSP template directory. The same filename is used by 'R CMD build/check' for including additional source files needed to build the vignettes.

Version: 0.33.1 [2013-03-07] o Relaxed the internal precision tests of testROH(). This was done in response to the CRAN farm lowering its precision on some hosts. o DOCUMENTATION: Preparing package vignettes for the upcoming R 3.0.0 support for non-Sweave vignettes.

Version: 0.33.0 [2013-03-05] o Added argument 'typeOfWeights' to estimateKappaByC1Density() for PairedPSCBS, and hence indirectly to estimateKappa(). The default is typeOfWeights="dhNbrOfLoci", which may give too much overall weight to very long segments causing the estimator to fail when there are only a few number of "C1 = 0" segments. An alternative is to use typeOfWeights="sqrt(dhNbrOfLoci)".

Version: 0.32.6 [2013-03-04] o DOCUMENTATION: Updated the help usage section for all static methods.

Version: 0.32.5 [2013-02-09] o Added a VignetteBuilder field to DESCRIPTION. o BUG FIX: bootstrapTCNandDHByRegion() for PairedPSCBS did not bootstrap from all available loci when calculating total CNs statistics, iff the segment had been called run-of-homozygosity (ROH). Internal validation tests caught this. Thanks to Oscar Rueda at the Cancer Research UK Cambridge Institute for reporting on this.

Version: 0.32.4 [2013-02-07] o Improved some verbose outputs of bootstrapTCNandDHByRegion().

Version: 0.32.3 [2013-02-05] o Now pruneByHClust() drops any existing segment calls and quantile mean-level estimates.

Version: 0.32.2 [2013-02-01] o Added resetSegments() for AbstractCBS, which drops extra segments columns (e.g. bootstrap statistics and calls) except those obtained from the segment algorithm. o ROBUSTNESS: Now aroma.light is explicitly required in cases where it is needed. o DOCUMENTATION: Added a paragraph on avgDH="median" to the PSCBS vignette's 'Experimental' section.

Version: 0.32.1 [2013-02-01] o BUG FIX: segmentByPairedPSCBS(..., avgDH="median") only worked for single-chromosome data. Same for avgTCN="median". Thanks Ritu Roy at UCSF for reporting on this.

Version: 0.32.0 [2013-01-16] o Added arguments 'avgTCN' and 'avgDH' to segmentByPairedPSCBS(). o Now updateMeans() and updateMeansTogether() methods can estimate the mean levels either by the sample mean or the median.

Version: 0.31.0 [2013-01-05] o CLEANUP: Now packages R.methodsS3 and R.oo are only imported. o CLEANUP: Package no longer explicitly imports digest.

Version: 0.30.0 [2012-11-05] o GENERALIZATION: Now bootstrapTCNandDHByRegion() works for more "flavors", e.g the default ('tcn') used by segmentByNonPairedPSCBS().

Version: 0.29.9 [2012-11-05] o DOCUMENTATION FIX: example(segmentByNonPairedPSCBS) was for the paired case. o CRAN POLICY: Further speed up of examples such that they run faster with R CMD check.

Version: 0.29.8 [2012-11-04] o CLEANUP: Replaced all whichVector() with which(), because the latter is now the fastest again.

Version: 0.29.7 [2012-11-03] o Updated deprecated ggplot2 functions in the RSP reports.

Version: 0.29.6 [2012-11-01] o Bumped package dependencies. o CRAN POLICY: Made the examples run faster for R CMD check.

Version: 0.29.5 [2012-10-16] o ROBUSTNESS/BUG FIX: No longer passing '...' to NextMethod(), cf. R-devel thread 'Do not pass '...' to NextMethod() - it'll do it for you; missing documentation, a bug or just me?' on Oct 16, 2012.

Version: 0.29.4 [2012-09-23] o Now plotTracks() [and plotTracksManyChromosomes()] draws segment levels such that it is easier to see them even when they are overlapping.

Version: 0.29.3 [2012-09-21] o SPEEDUP: By default bootstrapTCNandDHByRegion() for PairedPSCBS no longer do sanity checks within the bootstrap loop. This significantly speed up the method. To run checks, use argument .debug=TRUE. In addition, the callNnn() methods that need to call this method, does it by decreasing the amount of verbose output substantially, which in turn speeds up the process a fair bit. o Now getSegments(..., splitters=TRUE) for CBS and PSCBS inserts NA rows wherever there is a "gap" between segments. A "gap" is when two segments are not connected (zero distance). o ROBUSTNESS: Now append() for CBS and PSCBS drops column 'length' from 'knownSegments', iff it exists. o Now nbrOfChangePoints() for AbstractCBS calculates only change points of connected neighboring segments. o BUG FIX: seqOfSegmentsByDP() for AbstractCBS would not handle empty segments, which could occur if 'knownSegments' for instance included centromere gaps. o BUG FIX: segmentByCBS(... knownSegments) could return segments for chromosome 0 even though it did not exist in the input data.

Version: 0.29.2 [2012-09-18] o REPORT: Now report() for AbstractCBS looks for the RSP template in templates/, and as a backup in templates,PSCBS/. If the latter does not exist, it is automatically created as a soft link to templates/ of the PSCBS package. This allows anyone to create their own customized copy (in templates/) of the default PSCBS RSP report. o REPORT: Now report(fit, ..., rspTags) for AbstractCBS looks for the RSP template named (,),report.tex.rsp, where className is class(fit)[1] and argument 'rspTags' is an optional comma-separated character string/vector. This makes it possible to have different types of report for the same class of objects. o REPORT: Added argument 'force' to report() for AbstractCBS. This will copy the RSP template files again, although they are already in reports/ output directory.

Version: 0.29.1 [2012-09-15] o Added argument 'dropMissingCT' to segmentByPairedPSCBS().

Version: 0.29.0 [2012-09-14] o Added trial version of pruneByDP() for AbstractCBS.

Version: 0.28.6 [2012-09-13] o Now tileChromosomes() also adjusts 'knownSegments'. o Added argument 'dropGaps' to gapsToSegments(). o Updated all.equal() for AbstractCBS to compare locus-level data, segments, and other fields.

Version: 0.28.5 [2012-09-13] o SPEEDUP: Now segmentByCBS(..., undo=+Inf) returns much faster, which is possible because there is no need to identify new change points.

Version: 0.28.4 [2012-09-13] o CONSISTENCY FIX: Changed the behavior of extreme values of argument 'undo' to segmentByCBS() such that 'undo=0' (was 'undo=+Inf') now means that it will not ask DNAcopy::segment() to undo the segmentation, and such that 'undo=+Inf' means that no changepoints will be identified. The latter case allows you to effectively skip the segmentation but still calculate all the CBS statistics across a set of known segments via segmentByCBS(..., undo=+Inf, knownSegments=knownSegments). Arguments 'undoTCN' and 'undoDH' to segmentByPairedPSCBS() are adjusted analogously. Corresponding system tests were added.

Version: 0.28.3 [2012-08-30] o Updated code and Rd cross reference to use the 'matrixStats' package for weightedMedian(), which used to be in 'aroma.light'.

Version: 0.28.2 [2012-08-20] o BUG FIX: segmentByNonPairedPSCBS() forgot to specify namespace aroma.light when trying to call findPeaksAndValleys().

Version: 0.28.1 [2012-08-15] o Minor grammatical corrections of the Paired PSCBS vignette.

Version: 0.28.0 [2012-07-22] o Added argument 'minLength' to gapsToSegments(). The default is no longer to drop zero-length (minLength == -1L) segments, because if (and only if) such a segment contains a locus, then segmentByNnn() will currently generate an (internal) error. o GENERALIZATION/BUG FIX: Now segmentByPairedPSCBS() drops loci for which CT is missing (regardless of betaT). For instance, in rare cases when the reference (e.g. the normal) is missing, then it may be that CT is missing while betaT is not.

Version: 0.27.4 [2012-07-22] o Now verbose output of segmentByPairedPSCBS() specifies region ranges with greater precision.

Version: 0.27.3 [2012-07-10] o DOCUMENTATION: Minor updates to the Paired PSCBS vignettes. o CLEANUP: One redundancy tests relied on a non-critical function that will be removed in R.utils 1.16.0 (now in R.devices 2.1.1).

Version: 0.27.2 [2012-07-08] o Updated package dependencies.

Version: 0.27.1 [2012-07-02] o Now we refer to "copy neutral" segments as "neutral TCN" segments with acronym 'NTCN'. The corresponding column in the segmentation results are labeled correspondingly. The Paired PSCBS vignette was updated accordingly.

Version: 0.27.0 [2012-06-24] o (An update that should be ignored) o DOCUMENTATION: Some grammar corrections of the 'Paired PSCBS' vignette.

Version: 0.26.1 [2012-06-05] o Now segmentByCBS() for data frame:s does a better job identifying the CN signals.

Version: 0.26.0 [2012-06-03] o DOCUMENTATION: Added details to the Paired PSCBS vignette on how to call segments that are copy neutral (typically diploid). o Now argument 'delta' for callCopyNeutralByTCNofAB() of PairedPSCBS is calculated via estimateDeltaCN(), which estimates the width of the acceptance regions, used for calling copy neutral states, to be a function of the normal contamination.

Version: 0.25.3 [2012-06-03] o BUG FIX: all.equal(target, current) for CBS objects would give an error if either 'target' or 'current' had zero segments.

Version: 0.25.2 [2012-05-30] o Added writeSegments() for DNAcopy objects. o BUG FIX: as.CNA() for DNAcopy added incorrect chromosome splitters. o BUG FIX: as.CNA() for DNAcopy would ignore argument 'sample' and always return the first sample.

Version: 0.25.1 [2012-05-30] o DOCUMENTATION: Added details to the Paired PSCBS vignette on how to tune the various callers. o Now callROH() records parameter 'deltaROH' in the results. o BUG FIX: callLOH(..., force=TRUE) would append multiple 'lohCall' columns, if called multiple times.

Version: 0.25.0 [2012-04-20] o Added a trial (very much true) version of segmentByNonPairedPSCBS().

Version: 0.24.0 [2012-04-20] o Now it is possible to skip the DH segmentation in Paired PSCBS, i.e. segmentByPairedPSCBS(..., flavor="tcn").

Version: 0.23.2 [2012-04-20] o BUG FIX: segmentByPairedPSCBS() would throw "error in $<*tmp*, "rho" ..." if some loci had unknown genomic positions.

Version: 0.23.1 [2012-04-20] o Added RSP report for CBS objects (adopted from ditto for PairedPSCBS). o DOCUMENTATION: Updated the 'Paired PSCBS' vignette.

Version: 0.23.0 [2012-03-20] o DOCUMENTATION: Added a package vignette.

Version: 0.22.2 [2012-02-29] o BUG FIX: plotTracks(..., add=TRUE) for PairedPSCBS would add TCNs when BAFs and DHs were intended.

Version: 0.22.1 [2012-02-28] o Updated package dependencies to R.rsp (>= 0.7.3) so that report() for PairedPSCBS no longer require non-public packages. o Now it is possible to turn off usage of the alpha channel in plots generated by report(), which can be handy on systems where the default PNG device does not support the alpha channel. Example: setOption("PSCBS::report/useAlphaChannel", FALSE).

Version: 0.22.0 [2012-02-27] o Added report() for PairedPSCBS.

Version: 0.21.0 [2012-02-27] o Added argument 'fields' to getLocusData() for PairedPSCBS. o Added renameChromosomes() to AbstractCBS.

Version: 0.20.0 [2012-02-26] o Added alpha version of callGainNeutralLoss() for PairedPSCBS, which certainly will be updated in the future. This caller is tested by the system tests. o Added dropChangePoints() for AbstractCBS. o Added some internal utility functions for PairedPSCBS taken from the package. Some of these may become public later, but for they should be considered internal. o ROBUSTNESS: Added more sanity checks validating the correctness of what is returned by extractSegments() for CBS and PairedPSCBS. o BUG FIX: extractSegments() for PairedPSCBS would return incorrect row indices, more precisely, overlapping data chunks. o BUG FIX: bootstrapTCNandDHByRegion() for PairedPSCBS would resample from a subset of the intended TCNs, iff the DH mean was non-finite while there were still heterozygous SNPs. This introduced a bias in the estimates, which was neglectable for large segments, but for very small segments (a few loci) it could be relatively large.

Version: 0.19.8 [2012-02-23] o ROBUSTNESS: Package now explicitly depends on 'utils'.

Version: 0.19.7 [2012-02-22] o BUG FIX: findLargeGaps() did not handle missing values for argument 'chromosome'. o BUG FIX: segmentByCBS(..., knownSegments=knownSegments) would incorrectly throw a sanity-check exception if 'knownSegments' contains a segment with 'start' and 'stop' positions being equal. o BUG FIX: Argument 'calls' of plotTracks() for PairedPSCBS was ignored if more than one chromosome was plotted.

Version: 0.19.6 [2012-01-24] o ROBUSTNESS: Now getCallStatistics() for CBS asserts that calls have been made. If not, an exception is thrown.

Version: 0.19.5 [2012-01-21] o DOCUMENTATION: Added details to the help of callLOH() and callAB() on the difference between (AB,LOH)=(TRUE,FALSE) and (AB,LOH)=(TRUE,NA). o Corrected some of verbose messages of estimateDeltaLOHByMinC1ForNonAB() for PairedPSCBS objects.

Version: 0.19.4 [2012-01-10] o Now example(segmentByPairedPSCBS) and the system tests that are run by R CMD check are tuned to (by default) run much faster by segmenting using fewer data points and bootstrapping using fewer samples. This update was done to meet the new CRAN policy. By setting environment variable R_CHECK_FULL to '1' the full data set is used instead.

Version: 0.19.3 [2012-01-09] o ROBUSTNESS: Now extractSegments() for PairedPSCBS gives an informative error message that it is not supported if CNs were segmented using flavor "tcn,dh". o BUG FIX: postsegmentTCN() for PairedPSCBS could generate an invalid 'tcnSegRows' matrix, where the indices for two consecutive segments would overlap, which is invalid. Thanks to Minya Pu for reporting on failed sanity check related to this.

Version: 0.19.2 [2011-12-29] o ROBUSTNESS: Explicitly added 'digest' to the list of suggested packages.

Version: 0.19.1 [2011-12-13] o Added support for callGainsAndLosses(..., method="ucsf-dmad") of CBS objects.

Version: 0.19.0 [2011-12-12] o Added optional argument 'indices' to getLocusData() to be able to retrieve the locus-level data as indexed by input data. o BUG FIX: Now gapsToSegments() gave invalid segments for chromosomes with more than one gap. Now gapsToSegments() validates argument 'gaps' and asserts that it returns non-overlapping segments. o DOCUMENTATION: Clarified in help("segmentByCBS") how missing values are dealt with.

Version: 0.18.2 [2011-12-07] o Now plotTracks() for CBS always returns an invisible object. o BUG FIX: pruneBySdUndo() for CBS did not work with more than one array.

Version: 0.18.1 [2011-12-03] o Added drawChangePoints() for AbstractCBS. o Now pruneByHClust() for AbstractCBS updates the segment means. o Added writeSegments() for PSCBS object. o Now print() for AbstractCBS returns getSegments(..., simplify=TRUE). o Added argument 'simplify' to getSegments(). o Added arguments 'name', 'tags' and 'exts' to writeSegments() and writeLocusData() and dropped 'filename'.

Version: 0.18.0 [2011-11-28] o Added pruneByHClust() for AbstractCBS, with implementation for CBS and PairedPSCBS. o extractCNs() for CBS would not return a matrix but a data.frame. o BUG FIX: extractTotalCNs() for CBS would give an error.

Version: 0.17.4 [2011-11-26] o Added argument 'updateMeans=TRUE' to callROH() for PairedPSCBS. o Now bootstrapTCNandDHByRegion() for PairedPSCBS preserves NAs for DH and (C1,C2) quantiles, if the DH mean level is NA, which can happen when a segment is called ROH. This also makes sure that a segment called ROH will not be called AB. o An internal sanity check of bootstrapTCNandDHByRegion() for PairedPSCBS would give an error if DH mean levels had been set to NA for segments called ROH.

Version: 0.17.3 [2011-11-24] o Added callSegmentationOutliers() and dropSegmentationOutliers() for data frames. o CLEANUP: Renamed field 'position' of the example data to 'x'. This helps us clean up some of the examples. o BUG FIX: bootstrapTCNandDHByRegion() for PairedPSCBS would give an error, if a segment did not have any TCN signals, which can occur when known segments are specified for Paired PSCBS.

Version: 0.17.2 [2011-11-22] o Added findLargeGaps() and gapsToSegments().

Version: 0.17.1 [2011-11-21] o BUG FIX: The internal sanity check of testROH() on weights was slightly too conservative (required to high precision) when it came to asserting that the sum of the weights equals one. o BUG FIX: resegment() for PairedPSCBS called segmentByCBS() instead of segmentByPairedPSCBS().

Version: 0.17.0 [2011-11-19] o GENERALIZATION: Now it is possible to run Paired PSCBS (without TumorBoost) when only genotypes but not BAFs are available for the matched normal.

Version: 0.16.3 [2011-11-17] o Added resegment() for CBS and PairedPSCBS for easy resegmentation. o Adjusted segmentByCBS() such that it can handle 'knownSegments' with chromosome boundaries given as -Inf and +Inf. o Now argument 'mar' for plotTracks() defaults to NULL. o ROBUSTNESS: Added redundancy tests for segmentByCBS() and segmentByPairedPSCBS() with argument 'knownSegments'. o ROBUSTNESS: Now segmentByCBS() does more validation of 'knownSegments'. o FIX: extractRegions() for AbstractCBS would also show verbose output. o BUG FIX: Now argument/parameter 'seed' is correctly preserved by segmentByCBS(). So is 'tbn' for segmentByPairedPSCBS(). o BUG FIX: segmentByPairedPSCBS() would give an error when trying to segment DH if the TCN segment contains no data points, which could happen if 'knownSegments' specifies an empty segment, e.g. centromere. o BUG FIX: extractSegments() for CBS would throw an error when there were multiple chromosomes.

Version: 0.16.2 [2011-11-16] o Now segmentByCBS(..., w) stores weights 'w', if given, in the locus-level data table of the returned CBS object. o Added pruneBySdUndo() for CBS, which does what undo.splits="sdundo"' for DNA::segment(), but on the already segmented results. o Now updateMeans() uses locus-specific weights, iff available. o Added updateBoundaries() for CBS to update (start,stop) per segment. o CORRECTNESS: Now updateMeans() for CBS identifies loci via internal 'segRows' field and no longer by locations of segment boundaries, which gave slightly incorrect estimates for "tied" loci.

Version: 0.16.1 [2011-11-15] o Now more segmentation parameters are stored in the CBS object. o SPEEDUP: Now segmentByCBS() will use memoization to retrieve so called "sequential boundaries for early stopping", iff any of the DNAcopy::segment() arguments 'alpha', 'nperm' and 'eta' are specified. See also DNAcopy::getbdry(). o Added method="DNAcopy" to estimateStandardDeviation() for CBS, which estimates the std. dev. using DNAcopy:::trimmed.variance(). o BUG FIX: extractSegments() for CBS would throw an error, because in most cases it would created a corrupt internal 'segRows' field.

Version: 0.16.0 [2011-11-12] o Added argument 'oma' and 'mar' to plotTracksManyChromosomes() for PairedPSCBS for setting graphical parameters when 'add' == FALSE. o Added callROH(). o Added arguments 'from' and 'adjustFor' to updateMeans().

Version: 0.15.5 [2011-11-04] o BUG FIX: extractSegment() for AbstractCBS would give an error, because it called itself instead of extractSegments().

Version: 0.15.4 [2011-10-30] o Added save() and load() methods to AbstractCBS, which are wrappers for saveObject() and loadObject() that assert the correct class structure. Also, the load() method will automatically update the class hierarchy for CBS and PairedPSCBS objects that were saved before adding class AbstractCBS.

Version: 0.15.3 [2011-10-23] o BUG FIX: callAmplifications() for CBS generated an error, if more than one chromosome were called. o BUG FIX: The length of a segment must be defined as 'end-start' and not 'end-start+1' so that the the total length of all segments adds up correctly. o BUG FIX: highlightArmCalls() for CBS did not handle empty chromosomes. o BUG FIX: getCallStatisticsByArms() for CBS would thrown a error if argument 'genomeData' did not contain exactly the same chromosomes as in the CBS object.

Version: 0.15.2 [2011-10-21] o Added mergeThreeSegments() to AbstractCBS. o BUG FIX: Recent updates caused segmentByPairedPSCBS(data) not to work when 'data' is a data frame.

Version: 0.15.1 [2011-10-21] o By setting 'start' and 'end' to NAs in 'knownSegments' (chromosome must still be specified), it is possible to insert an empty segment that disconnects the two flanking segments, e.g. centromere and the two arms.

Version: 0.15.0 [2011-10-20] o Added support for specifying priorly known segments, such as chromosome arms and centromeres, in segmentByCBS() via argument 'knownSegments'. o CLEANUP: Dropped a stray debug output message in segmentByPairedPSCBS().

Version: 0.14.3 [2011-10-17] o Added argument 'asMissing' to dropRegions() for AbstractCBS.

Version: 0.14.2 [2011-10-16] o Implemented extractCNs() for CBS and PairedPSCBS. o Added extractTotalCNs() for CBS.

Version: 0.14.1 [2011-10-14] o Added implementation of extractRegions() for AbstractCBS, which utilizes extractSegments(). o Added abstract extractSegments() and extractSegment() for AbstractCBS. o Now extractTCNAndDHs() for PairedPSCBS passes '...' to getSegments().

Version: 0.14.0 [2011-10-10] o CLEANUP: Harmonization of several method names. o CLEANUP: Internal restructuring of the source code files.

Version: 0.13.5 [2011-10-10] o Added dropChangePoint() for AbstractCBS, which is just a "name wrapper" for mergeTwoSegments(). o Added dropRegion() and dropRegions() for AbstractPSCBS, where the former is a wrapper for the latter dropRegions(). o Added updateMeans() and mergeTwoSegments() for CBS in addition already available PairedPSCBS versions. o Relabeled column 'id' to 'sampleName' returned by getSegments(). o ROBUSTNESS: Now using getSegments() everywhere possible. o BUG FIX: For so called "splitter" rows, not all columns returned by getSegments() of CBS were missing values. o BUG FIX: The object returned by as.CBS() of DNAcopy did not have the correct class hierarchy.

Version: 0.13.4 [2011-10-08] o Added all.equal() for AbstractCBS, which does not compare attributes. o Now internal getChromosomeRanges() of CBS returns a data.frame instead of a matrix, and first column is now 'chromosome'. o Added optional argument 'regions' to getCallStatistics() of CBS in order to calculate call statistics on subsets of chromosomes, e.g. chromosome arms. o Added drawChromosomes() for CBS. o Added getCallStatisticsByArms(), callArms() and highlightArmCalls() for CBS objects.

Version: 0.13.3 [2011-10-03] o GENERALIZATION: Now segmentByCBS() and segmentByPairedPSCBS() also accepts a data.frame of locus-level data with column names matching the locus-level arguments accepted by the corresponding method. o GENERALIZATION: Now all segmentation result classes (CBS and PSCBS) inherits from the AbstractCBS class, which provides methods such as getSampleName(), getChromosomes() and getSegments(). o DOCUMENTATION: Added lots of more help pages. o CLEANUP: Dropped empty callSegments() for PairedPSCBS.

Version: 0.13.2 [2011-09-30] o GENERALIZATION: Now drawLevels() for PairedPSCBS allows for drawing segmentation results in 'betaT' space. o BUG FIX: plotTracks2(..., panels="dh") gave an error due to a forgotten assignment.

Version: 0.13.1 [2011-09-06] o Added formal class CBS, which holds the segmentation results returned by segmentByCBS(). Several methods are available for CBS objects, e.g. nbrOfLoci(), nbrOfSegments(), nbrOfChromosomes(), getChromosomes(), estimateStandardDeviation() etc. o Now segmentByCBS() always returns a CBS object. To coerce to a DNAcopy object (as defined in the DNAcopy class) use as.DNAcopy(). o Added coerce methods as.DNAcopy() for CBS objects and as.CBS() for DNAcopy objects.

Version: 0.13.0 [2011-09-01] o GENERALIZATION: Now segmentByCBS() can process multiple chromosomes. o BUG FIX: Internal methods plotTracksManyChromosomes() and tileChromosomes() for CBS did not work at all and therefore neither plotTracks() for CBS with more than one chromosome. o Added append() for CBS objects.

Version: 0.12.2 [2011-08-27] o CLEANUP: Now R CMD check is no longer giving a note that the package loads package 'DNAcopy' in .onAttach().

Version: 0.12.1 [2011-08-08] o BUG FIX: If dropSegmentationOutliers() would drop an outlier next to a change point, such that the total copy-number signal becomes NA, then the sanity checks that TCN segments always overlaps DH segments would fail. Now the sanity checks are aware of this special case. These sanity checks were moved from bootstrapTCNandDHByRegion() to segmentByPairedPSCBS(). Thanks Christine To at University of Toronto for reporting on this.

Version: 0.12.0 [2011-07-23] o Added a namespace to the package, which will be more or less a requirement in the next major release of R. o BUG FIX: Recently R devel automatically adds a namespace to a package, if missing. This caused some of the PSCBS examples to throw an exception related to incorrect dispatching of cat().

Version: 0.11.7 [2011-07-15] o DOCUMENTATION: Added a section to help("segmentByPairedPSCBS") on the importance of doing a whole-genome PSCBS segmentations if calling AB and LOH states afterward. o DOCUMENTATION: Made it more clear in help("segmentByPairedPSCBS") that arguments 'betaT', 'betaN' and 'muN' may contain NAs for non-polymorphic loci.

Version: 0.11.6 [2011-07-14] o BUG FIX/ROBUSTNESS: In some cases, the segmentation table would contain column names with incorrect capitalization, e.g. "tcnnbrOfLoci" instead of "tcnNbrOfLoci". This would cause several downstream methods to give an error. The reason for this is that the Hmisc package, if loaded after R.utils, overrides capitalize() in R.utils with another (buggy?) capitalize() function. To avoid this, we now everywhere specify explicitly that we want the one in R.utils. Thanks Christine To at University of Toronto for reporting on this.

Version: 0.11.5 [2011-07-10] o ROBUSTNESS: Fixed partial argument matchings in arrowsC1C2() and arrowsDeltaC1C2() for PairedPSCBS. o BUG FIX: tileChromosomes() for PairedPSCBS was still assuming the old naming convention of column names. This caused plotTracks() to throw an exception when plotting multiple chromosomes.

Version: 0.11.4 [2011-07-07] o GENERALIZATION: Now the internal estimator function that estimateDeltaLOH() uses returns -Inf if all segments are called AB, instead of throwing an exception. This will in turn make callLOH() call all segments to be non-LOH. o DOCUMENTATION: Removed obsolete references to the R-forge repository. o BUG FIX: Consecutive calls to callAB(..., force=TRUE) would append additional 'abCall' columns to the segmentation table instead of replacing existing calls.

Version: 0.11.3 [2011-07-06] o ROBUSTNESS: Added a sanity check to estimateDeltaLOHByMinC1AtNonAB() for PairedPSCBS object. The test asserts that there exist segments that are not in allelic balance, which are needed in order to estimate DeltaLOH. o DOCUMENTATION: The description of argument 'chromosome' for segmentByPairedPSCBS() did not describe how to segment multiple chromosomes in one call.

Version: 0.11.2 [2011-07-05] o BUG FIX: Output fields 'tcnNbrOfSNPs' and 'tcnNbrOfHets' were mistakenly labeled as 'tcnNbrOr...'. Thanks Christine Ho at UC Berkeley for reporting on this.

Version: 0.11.1 [2011-06-28] o DOCUMENTATION: Clarified that argument 'CT' should be tumor copy number ratios relative to the normal. o DOCUMENTATION: Added Rd help for of PairedPSCBS.

Version: 0.11.0 [2011-06-14] o Renamed all column names of returned data frames such that they follow the camelCase naming conventions in addition to be somewhat shorter too. o GENERALIZATION: Added argument 'columnNamesFlavor' to segmentByCBS().

Version: 0.10.2 [2011-06-07] o CLEANUP: Cleaned up the example():s. o Added more biocViews categories to DESCRIPTION

Version: 0.10.1 [2011-05-31] o GENERALIZATION: The package can now be installed without the DNAcopy package being installed. If package is loaded without DNAcopy installed, an informative message will explain how to install it. o Added installDNAcopy(), which will install DNAcopy from Bioconductor. o ROBUSTNESS: Now all DNAcopy functions are called as DNAcopy::nnn().

Version: 0.10.0 [2011-05-29] o Renamed all arguments, variables, and functions referring to 'tau' to refer to 'delta' reflecting the notation of the Paired PSCBS paper. o Renamed options, example code and help pages to reflect new package name. o Updated references in help pages. o Now the paired PSCBS is formally referred to as 'Paired PSCBS'. o Renamed package to PSCBS (from 'psCBS').

Version: 0.9.54 [2011-04-27] o Added argument 'maxC' to estimateTauLOHByMinC1ForNonAB().

Version: 0.9.53 [2011-04-14] o Added argument 'max' to estimateTauAB() and estimateTauLOH().

Version: 0.9.52 [2011-04-14] o BUG FIX: Argument 'minSize' of callAB() and callLOH() had no effect.

Version: 0.9.51 [2011-04-12] o Added argument 'minSize' to callAB() and callLOH() for PairedPSCBS. o Now the a conflicting call in callLOH()/callAB() with argument xorCalls=TRUE is set to NA to contrast it from a FALSE call.

Version: 0.9.50 [2011-04-12] o Added argument 'xorCalls' to callLOH() and callAB() for PairedPSCBS. When TRUE (the default), a segment that is already called AB will never be called LOH, and vice versa.

Version: 0.9.49 [2011-04-11] o Updated estimateTauABBySmallDH() for PairedPSCBS to use a "symmetric" quantile estimator. o Added argument 'midpoint' to estimateTauLOHByMinC1AtNonAB(). o BUG FIX: The recent callLOH() would not store the LOH calls.

Version: 0.9.48 [2011-04-10] o Added callLOH() for PairedPSCBS, which in turn calls auxiliary methods. o Added estimateTauLOH() for PairedPSCBS, which in turn calls axillary methods. o Now callAB(..., force=FALSE) skips the caller if allelic-balance calls already exist. o DOCUMENTATION: Update the example for segmentByPairedPSCBS to reflect the restructured AB and LOH callers.

Version: 0.9.47 [2011-04-08] o Added estimateTauABBySmallDH() o Added internal weightedQuantile(). o DOCUMENTATION: Added help pages for more methods. o CLEANUP: Started to restructure the source code files.

Version: 0.9.46 [2011-04-08] o BUG FIX: postsegmentTCN() for PairedPSCBS could generate an invalid 'tcnSegRows' matrix, where the indices for two consecutive segments would overlap, which is invalid. This was caught with real data, but it seems to have required a very rare combination of data in order for it to occur.

Version: 0.9.45 [2011-04-05] o BUG FIX: estimateHighDHQuantileAtAB() for PairedPSCBS would throw an error on an undefined 'trim' if verbose output was used.

Version: 0.9.44 [2011-02-18] o Added estimateHighDHQuantileAtAB() for PairedPSCBS.

Version: 0.9.43 [2011-02-06] o BUG FIX: plotTracks2() queried non-existing argument 'tracks'.

Version: 0.9.42 [2011-02-03] o Added estimateKappa() for estimating the normal contamination.

Version: 0.9.41 [2011-02-02] o Updated default for 'tauAB' of callABandHighAI() and callABandLowC1() to be estimated from data using estimateTauAB(). o Added argument 'tauTCN' to estimateTauAB().

Version: 0.9.40 [2011-01-27] o Added argument 'flavor' to estimateTauAB() for estimating the AB threshold using alternative methods.

Version: 0.9.39 [2011-01-19] o Added trial version of new plotTracks2(), which will later replace plotTracks(). Currently it only works for single chromosomes. o Added support functions, e.g. updateMeans().

Version: 0.9.38 [2011-01-18] o DOCUMENTATION: Documented more plotTracks() arguments for PairedPSCBS. o BUG FIX: Now plotTracks(..., add=TRUE) for PairedPSCBS plots to the current figure/panel. o Now plotTracks(..., add=FALSE) for PairedPSCBS only sets up subplots if argument 'tracks' specifies more than one panel. o Added arguments 'changepoints' and 'col' to plotTracks() for PairedPSCBS.

Version: 0.9.37 [2011-01-18] o BUG FIX: 'tcnSegRows' and 'dhSegRows' where not updated by extractByRegions() for PairedPSCBS.

Version: 0.9.36 [2011-01-14] o Added estimateTauAB() for estimating the tauAB tuning parameter when calling segments in allelic balance. Updated example(segmentByPairedPSCBS) to illustrate how to use it. o Added extractByRegions() for PairedPSCBS.

Version: 0.9.35 [2011-01-12] o Now postsegmentTCN(..., force=TRUE) for PairedPSCBS also updates the TCN estimates even for segments where the DH segmentation did not find any additional change points.

Version: 0.9.34 [2010-12-09] o BUG FIX: When there were multiple chromosomes processed by segmentByPairedPSCBS(), then the returned data object would contain 'betaT' identical to 'betaTN'.

Version: 0.9.33 [2010-12-07] o Added callLowC1ByC1() and callABandLowC1().

Version: 0.9.32 [2010-12-03] o BUG FIX: In rare cases the bootstrap sanity checks can indeed produce an invalid 'range', more precisely where (range[,2] >= range[,1]) is not true. This can happen if there is no variation in the bootstrap estimates. Because of this we allow for some tolerance.

Version: 0.9.31 [2010-12-02] o Added option "psCBS/sanityChecks/tolerance" for specifying the tolerance of some internal sanity checks.

Version: 0.9.30 [2010-12-01] o Rewrote all code dealing with the identification of loci belong to segments. The code is now utilizing the 'segRows' element returned by DNAcopy::segment(). Lots of the code was rewritten and therefore completely new bugs may have been introduced.

Version: 0.9.25 [2010-11-30] o BUG FIX: Argument 'flavor' of segmentByPairedPSCBS() would be ignored if multiple chromosomes were segmented. o BUG FIX: extractByChromosome() for PSCBS would call it self instead of extractByChromosomes().

Version: 0.9.24 [2010-11-28] o BUG FIX: postsegmentTCN() did not handle loci with the same positions and that are split in two different segments. It also did not exclude loci with missing values.

Version: 0.9.23 [2010-11-28] o BUG FIX: The algorithm in segmentByCBS() that infers which loci (of the ones share the same genomic positions) that should be exclude from each segment did not take missing signals into account. o BUG FIX: Iff argument 'chromosome' to segmentByPairedPSCBS() was of length greater than one and specified exactly one unique chromosome, then exception "Number of elements in argument 'chromosome' should be exactly 8712 not 86209 value(s)" would be thrown.

Version: 0.9.22 [2010-11-27] o BUG FIX: bootstrapTCNandDHByRegion() would incorrectly include non-polymorphic loci in the set of homozygous SNPs during resampling. o BUG FIX: segmentByPairedPSCBS() would not accept missing values in argument 'chromosome'.

Version: 0.9.21 [2010-11-27] o Now arguments '...' of segmentByPairedPSCBS() are passed to the two segmentByCBS() calls. o Added callSegmentationOutliers(), which can be used to identify single-locus outliers that have a genomic signal that is clearly outside the expected range. The dropSegmentationOutliers() sets locus outliers detected by this method to missing values. This is useful for excluding total copy-number outliers that otherwise can have a dramatic impact on the non-robust CBS method.

Version: 0.9.20 [2010-11-26] o Added optional argument 'chromosomes' to plotTracks() to plot a subset of all chromosomes. o Added extractByChromosomes() for PSCBS. o Now the default confidence intervals for plotTracks() is (0.05,0.95), if existing. o Now all call functions estimate symmetric bootstrap quantiles for convenience of plotting confidence intervals. o BUG FIX: callABandHighAI() for PairedPSCBS used the old DH-only bootstrap method. o BUG FIX: The statistical sanity checks of the bootstrap estimates would give an error when only single-sided bootstrap confidence interval was calculated. o BUG FIX: The call functions, for instance callABandHighAI(), would throw 'Error in quantile.default(x, probs = alpha) : missing values and NaN's not allowed if 'na.rm' is FALSE' unless bootstrapTCNandDHByRegion() was run before.

Version: 0.9.19 [2010-11-23] o ROBUSTNESS: Added more sanity checks to bootstrapTCNandDHByRegion(). o WORKAROUND: The precision of the mean levels of DNAcopy::segment() is not great enough to always compare it to that of R's estimates. o BUG FIX: bootstrapTCNandDHByRegion() would give an error if there was only one segment. o BUG FIX: segmentByPairedPSCBS() and bootstrapTCNandDHByRegion() would not subset the correct set of DH signals if there were some missing values in TCN.

Version: 0.9.18 [2010-11-22] o Added argument 'calls' to plotTracks() for highlighting called regions. o Updated callAllelicBalanceByDH() and callExtremeAllelicImbalanceByDH() to utilize bootstrapTCNandDHByRegion(). o ROBUSTNESS: Now drawConfidenceBands() of PairedPSCBS silently does nothing if the requested bootstrap quantiles are available. o BUG FIX: bootstrapTCNandDHByRegion() for PairedPSCBS would not correctly detect if bootstrap results are already available.

Version: 0.9.17 [2010-11-21] o Now plotTracks() supports tracks "tcn,c1", "tcn,c2" and "c1,c2" too. o Added support for flavor "tcn&dh" in segmentByPairedPSCBS(), which contrary to "tcn,dh" enforces TCN and DH to have the same change points. The default flavor is now "tcn&dh". o Added argument 'xlim' to plotTracks() making it possible to zoom in.

Version: 0.9.16 [2010-11-21] o Now joinSegments=TRUE is the default for segmentByCBS() and segmentByPairedPSCBS(). o Added argument 'quantiles' to plotTracks(), which if specified draws confidence bands previously estimated from bootstrapping. o Added drawConfidenceBands() for PairedPSCBS. o Added bootstrapTCNandDHByRegion() for PairedPSCBS. o Added standalone joinSegments() for CBS results. o Now segmentByPairedPSCBS() also returns minor and major copy numbers for each segment.

Version: 0.9.15 [2010-11-21] o Adjusted postsegmentTCN() such that the updated TCN segment boundaries are the maximum of the DH segment and the support by the loci. This means that postsegmentTCN() will work as expected both when signals where segmented with 'joinSegments' being TRUE or FALSE. o Updated plotTracks() for PairedPSCBS such that the TCN segmentation is colored 'purple' and the DH segmentation 'orange' for TCN and DH only tracks.

Version: 0.9.14 [2010-11-20] o Now it is possible to specify the boundaries of the regions to be segmented as known change points via argument 'knownCPs'. o Added argument 'joinSegments' to segmentByCBS() and segmentByPairedPSCBS() in order to specify if neighboring segments should be joined or not. o Now segmentByCBS() and segmentByPairedPSCBS() allow for unknown genomic positions as well as missing total CN signals.

Version: 0.9.13 [2010-11-19] o Added argument 'joinSegments' to segmentByCBS() in order to specify if neighboring segments should be joined or not.

Version: 0.9.12 [2010-11-19] o Added plotTracks() and drawLevels() etc to CBS results. o Now segmentByCBS() allows for unknown genomic positions. o Now segmentByCBS() allows for missing signals. o Added argument 'preserveOrder' to segmentByCBS(). If TRUE, then the loci in the returned 'data' object are ordered as the input data, otherwise it is ordered along the genome.

Version: 0.9.11 [2010-11-16] o Now the 'data' object returned by segmentByCBS() contains field 'index' if and only if the loci had to be reorder along the genome. o DOCUMENTATION: Added more details, references to papers, and cross links to other functions to the help pages. o BUG FIX: In the rare cases where two loci at the same positions are split up into two neighboring segments, then segmentByPairedPSCBS() would fail to infer which they were if and only if the loci were not ordered along the genome. This could happen with for instance Affymetrix GenomeWideSNP_6 data.

Version: 0.9.10 [2010-11-09] o Added argument 'cex=1' to plotTracks(). o BUG FIX: It was not possible to plot BAF tracks with plotTracks().

Version: 0.9.9 [2010-11-05] o BUG FIX: segmentByCBS() tried to pass non-existing argument 'undo.split' to DNAcopy::segment(). It should be 'undo.splits'.

Version: 0.9.8 [2010-11-04] o BUG FIX: There was a stray/debug stop() statement left in segmentByPairedPSCBS() causing an "error" in the rare case when loci that have the same physical locations are split into two different segments.

Version: 0.9.7 [2010-11-03] o ROBUSTNESS: Now bootstrapDHByRegion() uses resample() of R.utils. o BUG FIX: bootstrapDHByRegion() did not sample from the correct unit(s) when there was only one DH signal.

Version: 0.9.6 [2010-11-02] o Added arguments 'undoTCN' and 'undoDH' to segmentByPairedPSCBS(). o Added argument 'undo' to segmentByCBS(), which corresponds to undo.splits="sdundo" and undo.SD=undo, if undo < +Inf. o BUG FIX: Arguments 'alphaTCN' and 'alphaDH' of segmentByPairedPSCBS() were not used when more than one chromosome were segmented.

Version: 0.9.5 [2010-11-01] o Added arguments 'alphaAB' and 'alphaHighAI' to callABandHighAI(). o BUG FIX: bootstrapDHByRegion() would give an error if only a single quantile was requested. o BUG FIX: bootstrapDHByRegion() would give "Error in if (nbrOfUnits

segJJ[, "dh.num.mark"]) { : missing value where TRUE/FALSE needed" when 'dh.num.mark' was NA.

Version: 0.9.4 [2010-10-25] o Now the default is a 95% confidence interval for calls. o Now segmentByCBS() also returns element 'lociNotPartOfSegment', if there are segments that share end points, which can happen if a change point is called in middle of a set of loci that have the same genomic positions. In such cases, 'lociNotPartOfSegment' specifies which loci are not part of which segment. Then by identifying the loci that are within a segment by their positions and excluding any of the above, one knows exactly which loci CBS included in each segment. o BUG FIX: Now bootstrapDHByRegion() for PairedPSCBS handles the rare case when markers with the same positions are split in two different segments. o BUG FIX: Now the correct set of loci are extracted from each TCN segment, in the rare case that two neighboring TCN segments have the same end points.

Version: 0.9.3 [2010-10-25] o Added argument 'ciRange' to callAllelicBalance() and callExtremeAllelicImbalance(). o BUG FIX: bootstrapDHByRegion() for PairedPSCBS would bootstrap from the incorrect set of loci when the DH region contained only one locus. o BUG FIX: bootstrapDHByRegion() for PairedPSCBS would bootstrap from the incorrect set of loci if more than one chromosome was available.

Version: 0.9.2 [2010-10-24] o BUG FIX: plotTracks() would give "Error: object 'nbrOfLoci' not found' for whole-genome plots.

Version: 0.9.1 [2010-10-20] o Now plotTracks() can plot whole-genome data.

Version: 0.9.0 [2010-10-18] o Added arguments 'alphaTCN' and 'alphaDH' to segmentByPairedPSCBS() with defaults according to the paper.

Version: 0.8.3 [2010-10-18] o Now segmentByPairedPSCBS() can segment multiple chromosomes.

Version: 0.8.2 [2010-10-17] o Added argument 'tbn' to segmentByPairedPSCBS() specifying whether TumorBoostNormalization should be applied or not.

Version: 0.8.1 [2010-10-10] o The default for segmentByPairedPSCBS() is now to segment TCN on the original scale, not the sqrt(). o Added plotTracks() for PairedPSCBS.

Version: 0.8.0 [2010-10-06] o CLEAN UP: Removed all old code, native code and help pages.

Version: 0.7.8 [2010-10-03] o Added optional argument 'chromosome' to segmentByCBS(). Note that at this point it is only used for annotating the results; it can not be used to segmented multiple chromosomes at ones.

Version: 0.7.7 [2010-09-26] o Now subsetBySegments() and postsegmentTCN() for PairedPSCBS handles multiple chromosomes.

Version: 0.7.6 [2010-09-24] o Added support to annotating and subsetting also by chromosomes, as well as appending segmentation results from different chromosomes together.

Version: 0.7.5 [2010-09-21] o Added postsegmentTCN() for PairedPSCBS, which updates the TCN segment start and ends, estimates and counts given the DH segments.

Version: 0.7.4 [2010-09-18] o Added argument 'chromosome' to segmentByPairedPSCBS(), which, if given, adds a chromosome column to the data and segmentation results. o BUG FIX: plot() for PairedPSCBS used a non-defined variable.

Version: 0.7.3 [2010-09-16] o Added callABandHighAI() for calling paired PSCBS segmentation results. o Added internal bootstrapping functions.

Version: 0.7.2 [2010-09-15] o Added more methods for the PSCBS class.

Version: 0.7.1 [2010-09-08] o Added more methods for the PSCBS class. o Now segmentByPairedPSCBS() also returns the TumorBoost normalized data.

Version: 0.7.0 [2010-09-04] o Updated segmentByPairedPSCBS() to provide two-step segmentation from first segmenting the total copy numbers and then the decrease-of-heterozygosity signals. Added utility functions for plotting the results. The code for calling allelic imbalance and LOH is still to be added.

Version: 0.6.3 [2010-09-02] o ROBUSTNESS: Now segmentByCBS() also works if there are no data points.

Version: 0.6.2 [2010-07-14] o CLEAN UP: Added callNaiveHeterzygotes() which is a cleaned up version of findheterozygous(). Added an Rd example that asserts that the two are identical and compares the calls to those of aroma.light::callNaiveGenotypes().

Version: 0.6.1 [2010-07-09] o Added low-level segmentByPairedPSCBS(), which runs paired PSCBS segmentation on a single sample and a single chromosome. It only segments; it does not call segments. This is only a stub in the sense that it still does not adjust p-values etc. o Added low-level segmentByCBS(), which runs CBS segmentation on a single sample and a single chromosome. o BACKWARD COMPATIBILITY: Now psCNA() returns a list of length 8. o Reverted psSegment() back to v0.5.6.

Version: 0.6.0 [2010-07-08] o Now psSegmentPaired() returns a data frame (no longer a matrix). o CLEANUP: Major cleanup, i.e. renaming variables, reordering etc. o CLEANUP: Created psSegmentPaired() from psSegment(). o ROBUSTNESS: Replaced all 1:n with seq(length=n) to deal with n == 0. o ROBUSTNESS: Now all list elements are referenced by name. o ROBUSTNESS: Now all iterator variables are written as ii, jj etc. o Using setMethodS3() of R.methodsS3 to define S3 method. o Dropping NAMESPACE while package is finished. This makes it easier to patch methods etc.

Version: 0.5.6 [2010-07-07] o Added example(psSegment). o BUG FIX: Previous clean up introduced bugs. o BUG FIX: The dynamic library for hrmode() was not loaded.

Version: 0.5.5 [2010-05-05] o CLEAN UP/ROBUSTNESS: Major code clean up.

Version: 0.5.4 [2010-04-30] o Added internal hrmode(). o CLEAN UP: Renamed source files to match function names. Only only function per source file.

Version: 0.5.3 [2010-04-22] o ABO updated the psCBS algorithm.

Version: 0.5.2 [2010-0?-??] o ???

Version: 0.5.1 [2010-03-31] o Now psSegment(..., matching.reference=TRUE) does TumorBoost normalization on the allele B fractions before segmentation.

Version: 0.5.0 [2010-03-12] o Added to R-forge repository.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.63.0 by Henrik Bengtsson, 3 months ago

Report a bug at

Browse source code at

Authors: Henrik Bengtsson [aut, cre, cph], Pierre Neuvial [aut], Venkatraman E. Seshan [aut], Adam B. Olshen [aut], Paul T. Spellman [aut], Richard A. Olshen [aut]

Documentation:   PDF Manual  

GPL (>= 2) license

Imports R.methodsS3, R.oo, R.utils, R.cache, matrixStats, aroma.light, DNAcopy, listenv, future, parallel

Depends on utils

Suggests Hmisc, R.rsp, R.devices, ggplot2

Imported by, aroma.core.

See at CRAN