combinatorialStates {chromstaR} | R Documentation |
Get the combinatorial states of a list of models generated by callPeaksUnivariate
. The function returns the decimal combinatorial states for each bin (see details for an explanation of combinatorial state).
combinatorialStates(hmm.list, binary = FALSE)
hmm.list |
A list of models generated by |
binary |
If |
For a given model, each genomic bin can be either called 'unmodified' or 'modified', depending on the posterior probabilities estimated by the Baum-Welch. Thus, a list of models defines a binary combinatorial state for each bin. This binary combinatorial state can be expressed as a decimal number. Example: We have 4 histone modifications, and we run the univariate HMM for each of them. Then we use a false discovery rate of 0.5 to call each bin either 'unmodified' or 'modified'. The resulting binary combinatorial states can then be converted to decimal representation. The following table illustrates this:
bin | modification state | decimal state | |||
model1 | model2 | model3 | model4 | ||
1 | 0 | 0 | 1 | 0 | 2 |
2 | 0 | 0 | 0 | 0 | 0 |
3 | 0 | 1 | 1 | 0 | 6 |
4 | 0 | 1 | 1 | 1 | 7 |
Output is a vector of integers representing the combinatorial state of each bin.
Aaron Taudt
# Get example BAM files for 3 different marks in hypertensive rat (SHR) file.path <- system.file("extdata","euratrans", package='chromstaRData') files <- list.files(file.path, full.names=TRUE, pattern='SHR.*bam$')[c(1,4,6)] # Bin the data data(rn4_chrominfo) binned.data <- list() for (file in files) { binned.data[[basename(file)]] <- binReads(file, binsizes=1000, stepsizes=500, assembly=rn4_chrominfo, chromosomes='chr12') } # Obtain the univariate fits models <- list() for (i1 in 1:length(binned.data)) { models[[i1]] <- callPeaksUnivariate(binned.data[[i1]], max.time=60, eps=1) } ## Get the decimal representation of the combinatorial state of this combination of models states <- chromstaR:::combinatorialStates(models, binary=FALSE) ## Show number of each state table(states)