dpbbm_mc_iterations {DPBBM}R Documentation

dpbbm_mc_iterations

Description

This is the Markov Chain Monte Carlo iterations for DPBBM

Usage

dpbbm_mc_iterations(x, size.x, m = 1, max_iter = 2000, 
			a = 0.1, b = 1, tau = 1, 
			sig_alpha = 25/9, sig_beta = 25/9, 
			tau.method = "auto", debug = FALSE)

Arguments

x

a matrix of k for clustering, referring to IP reads in m6A seq data

size.x

a matrix of n for clustering, referring to the summation of IP reads and input reads in m6A seq data

m

a value indicating the auxiliary clusters used in DPBBM

max_iter

maximized iterations in DPBBM

a

Hyperparameter a for tau

b

Hyperparameter b for tau

tau

Prior for tau

sig_alpha

variation for parameter alpha of beta distribution

sig_beta

variation for parameter beta of beta distribution

tau.method

tau.method should be set to "auto" or "stable", refer to tau for detail description.

debug

whether DPBBM print the debug info or not. Default: FALSE

Details

The Dirichlet Process based beta-binomial mixture model clustering

Value

The function returns the cluster label withdrawn by DPBBM

Author(s)

Lin Zhang, PhD <lin.zhang@cumt.edu.cn>

References

Reference coming soon!

Examples

# generate a simulated dataset
set.seed(123455)
S <- 4
G <- 100
K <- 3
nb_mu <- 100
nb_size <- 0.8
prob <- c(1,1,1)
mat <- bbm_data_generate(S=S,G=G,K=K,prob=prob,alpha_band=c(2,6),beta_band=c(2,6),
                     nb_mu=nb_mu,nb_size=nb_size, plotf = FALSE, max_cor=0.5) 
# check generated data
id <- order(mat$gamma);
c <- mat$gamma[id]
mat_ratio <- (mat$k+1)/(mat$n+1);
heatmap(mat_ratio[id,], Rowv = NA, Colv = NA, scale="none", RowSideColors=as.character(c), 
        xlab = "4 samples", ylab="100 RNA methylation sites")

## Run the DPBBM result. This step takes a really long time.
## You are suggested to check the pre-prepared example for a quick start
F=system.file("extdata", "DPBBM_example.html", package="DPBBM")
browseURL(url=F)

## Alternatively
# cluster_label <- dpbbm_mc_iterations(mat$k, mat$n)
# # Show the clustering result. 
# table(cluster_label)
# pie(table(mat$gamma))
# 
# # Compare the clustering result with the true clustering IDs.
# id <- order(mat$gamma);
# c <- cluster_label
# r <- rainbow(3, start = 0, end = 0.3)
# mat_ratio <- (mat$k+1)/(mat$n+1);
# heatmap(mat_ratio[id,], Rowv = NA, Colv = NA, scale="none",
#         RowSideColors = as.character(cluster_label[id]), 
#         margins = c(3,25))

[Package DPBBM version 0.2.5 Index]