Motivation: The ability to detect regions of genetic alteration is of great importance in cancer research. These alterations can take the form of large chromosomal gains and losses as well as smaller amplifications and deletions. The detection of such regions allows researchers to identify genes involved in cancer progression, and to fully understand differences between cancer and non-cancer tissue. The Bayesian method proposed by Barry and Hartigan is well suited for the analysis of such change point problems. In our previous article we introduced the R package bcp (Bayesian change point), an MCMC implementation of Barry and Hartigan's method. In a simulation study and real data examples, bcp is shown to both accurately detect change points and estimate segment means. Earlier versions of bcp (prior to 2.0) are O(n(2)) in speed and O(n) in memory (where n is the number of observations), and run in approximately 45 min for a sequence of length 10 000. With the high resolution of newer microarrays, the number of computations in the O(n(2)) algorithm is prohibitively time-intensive.
Results: We present a new implementation of the Bayesian change point method that is O(n) in both speed and memory; bcp 2.1 runs in approximately 45 s on a single processor with a sequence of length 10,000--a tremendous speed gain. Further speed improvements are possible using parallel computing, supported in bcp via NetWorkSpaces. In simulated and real microarray data from the literature, bcp is shown to quickly and accurately detect aberrations of varying width and magnitude.
Availability: The R package bcp is available on CRAN (R Development Core Team, 2008). The O(n) version is available in version 2.0 or higher, with support for NetWorkSpaces in versions 2.1 and higher.