groupBayesianCNVs: groupBayesianCNVs

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/groupBayesianCNVs.R

Description

Cluster segmentation scores into different groups by using prior information from one population.

Usage

1
2
3
4
groupBayesianCNVs(xData, nGroups, lambda0, sd0, alpha0, distanceBetweenGroups, inits = NULL, 
		precisionOfGroupMeans = 3000, sdOftau = NULL, n.adapt = 100, 
		nUpdate = 1000, n.iter = 20000, thin = 5, n.chains = 1, 
		heidel.diag = FALSE, leftLimit = NULL, rightLimit = NULL)

Arguments

xData

a numeric vector of observations (segmentation scores).

nGroups

an integer indicating a number of groups.

lambda0

Prior means of groups.

sd0

Prior standard deviations of groups.

alpha0

Prior parameters for mixing proportions.

distanceBetweenGroups

Prior value for the distance between groups.

inits

A list of initial values of parameters.

precisionOfGroupMeans

Prior parameter of group means (default = 3000).

sdOftau

Prior parameter of the standard deviations of group precisions.

n.adapt

the number of iterations for adaptation (rjags's parameter)

nUpdate

the number of iterations for burn-in process.

n.iter

the number of iterations for sampling (rjags's parameter)

thin

thinning interval for monitors (rjags's parameter)

n.chains

the number of parallel chains for the model (rjags's parameter, default = 1)

heidel.diag

If heidel.diag = TRUE then Heidelberger and Welch's convergence diagnostic is used.

leftLimit

Values which are less than this value will be allocated to the smallest group.

rightLimit

Values which are larger than this value will be allocated to the largest group.

Details

This function assumes that users already know the information of groups' means, standard deviations; the distances between groups.

Value

mcmcChains

A list of mcarray objects for means, standard deviations, proportions

m1

Means of groups

s1

Standard deviations of groups

p1

Proportions of groups

allGroups

A data.frame includes samples and their corresponding groups

hTest

Results of Heidelberger and Welch's convergence diagnostic

Note

#####

Author(s)

Hoang Tan Nguyen, Tony R Merriman and MA Black. hoangtannguyenvn@gmail.com

References

Martyn Plummer (2013). rjags: Bayesian graphical models using MCMC. R package version 3-10. http://CRAN.R-project.org/package=rjags.

Lunn, David J., et al. WinBUGS-a Bayesian modelling framework: concepts, structure, and extensibility. Statistics and Computing 10.4 (2000): 325-337.

See Also

groupCNVs

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
## Not run: 
data(ccl3l1data)

xyEuro <- ccl3l1data[grep("CEU|TSI|IBS|GBR|FIN", ccl3l1data[, 2]), ]

names(yEuro) <- rownames(xyEuro)

##Clustering European segmentation scores into group: 5 groups were chosen

objectClusterEuroCCL3L1 <- new("clusteringCNVs", x = yEuro, k = 5)

europeanCCL3L1Groups <- groupCNVs(Object = objectClusterEuroCCL3L1)

##Obtain prior information
#Means
lambda0 <- as.numeric(europeanCCL3L1Groups$m)
#SD
sdEM <- as.numeric(europeanCCL3L1Groups$sigma)
#Proportions
pEM <- as.numeric(europeanCCL3L1Groups$p)


###Calculate the distances between groups
for (ii in 2:5){print(lambda0[ii] - lambda0[ii-1])}

###All segmentation scores
ccl3l1X <- ccl3l1data$SS
names(ccl3l1X) <- as.character(ccl3l1data$Name)
range(ccl3l1X)


 
##Set prior information: 
#prior for the sd of the means of groups: 
#5 was set for the third group = 2 CN
sd <- c(1, 1, 5, 1, 1) 
ccl3l1X <- sort(ccl3l1X)
###Data
xData <- ccl3l1X
###Number of groups
nGroups <- 10 
###prior for means of groups
lambda0 <- lambda0 
###Prior for mixing proportions
alpha0 <-  c(3, 29, 44, 18, 7,  5, rep(2, nGroups -length(pEM) -1))
##Prior for the distances between groups
distanceBetweenGroups = 0.485

sdEM = sdEM


##Adjust standard deviation for the fifth group
sdEM[5] <- sdEM[4]
 
 set.seed(123)
 groupCCL3L1allPops <- groupBayesianCNVs(xData = xData, nGroups = nGroups,
                                         lambda0 = lambda0,
                                         sd0 = sdEM, alpha0 = alpha0,
                                         distanceBetweenGroups = distanceBetweenGroups,
                                         sdOftau = sd,
                                        rightLimit = 4)




## End(Not run)

CNVrd2 documentation built on Nov. 8, 2020, 5:30 p.m.