eLNNpaired: Detecting Differentially Expressed Gene Probes via eLNNpaired...

Description Usage Arguments Value Author(s) References Examples

View source: R/eLNNpaired.r

Description

Detecting differentially expressed gene probes via eLNNpaired model.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
eLNNpaired(
  E_Set, 
  b = c(2, 2, 2), 
  verbose = 0,
  converge_threshold = 1e-06, 
  using_limit = 0,
  param_limit_min = c(-6, qnorm(0.01), -6, -6, -6, qnorm(0.01), -6, -6, -6, -6), 
  param_limit_max = c(6, qnorm(0.99), 6, 6, 6, qnorm(0.99), 6, 6, 6, 6), 
  maxIT = 100,  
  maxRT = 100, 
  c1 = qnorm(0.95), 
  c2 = qnorm(0.05))

Arguments

E_Set

An ExpressionSet object containing within-subject log2 difference of gene expression levels.

b

A vector of concentration parameters used in Dirichlet distribution. Default value is b = c(2,2,2).

verbose

An indicator variable telling if print out intermediate results: zero value for not printing out, non-zero for printing out. Default value is verbose = 0.

converge_threshold

One of the two termination criteria of iteration. The smaller this value is set, the harder the optimization procedure in eLNNpaired will be considered to be converged. Default value is converge_threshold = 1e-6.

using_limit

An indicator variable telling if constrained optimization method will be adopted: zero value for unconstrained while non-zero value for constrained optimization. Default value is using_limit = 0. Note that even if using_limit is set to be 0, the following two parameters param_limit_min and param_limit_max may still be used when initial estimation of one or more of the parameters are not feasible.

param_limit_min

An vector of lower bounds of parameters. Default value is param_limit_min = c(-6,qnorm(0.01),-6,-6,-6,qnorm(0.01),-6,-6,-6,-6).

param_limit_max

An vector of upper bounds of parameters. Default value is param_limit_max = c(6,qnorm(0.99),6,6,6,qnorm(0.99),6,6,6,6) = -param_limit_min.

maxIT

An integer, the max allowed number of iterations in R built-in function optim. Default value is maxIT = 100.

maxRT

An integer, the max allowed number of iterations for EM algorithm. Default value is maxRT = 100.

c1

A parameter in constraints. It should be in the form of c1 = qnorm(X), where X is a decimal smaller than 1 but close to 1. Larger X gives more stringent constraint. Default value is c1 = qnorm(0.95).

c2

A parameter in constraints. It should be in the form of c2 = qnorm(Y), where Y is a decimal larger than 0 but close to 0. Smaller Y gives more stringent constraint. Default value is c2 = qnorm(0.05).

Value

A list of 8 elementes:

mleinfo

the return value from built-in optim function

psi

estimated reparameterized parameters

para.orig

estimated parameters in original scale

memGenes

3-cluster probe cluster membership: 1 indicates over-expressed probes; 2 indicates under-expressed probes; 3 indicates non-differentially expressed probes

memGenes2

2-clustre probe cluster membership: 1 indicates differentially-expressed probes; 0 indicates non-differentially expressed probes

t_pi

the cluster proportion for cluster 1 (over-expressed probes) and cluster 2 (under-expressed probes).

repeated_times

the number of iterations that EM algorithm takes

tilde_z

tilde z as discribed in paper, the posterior probability that each gene will fall into each cluster.

Author(s)

Yunfeng Li <colinlee1999@gmail.com> and Weiliang Qiu <stwxq@channing.harvard.edu>

References

Li Y, Morrow J, Raby B, Tantisira K, Weiss ST, Huang W, Qiu W. (2017), <doi:10.1371/journal.pone.0174602>

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
set.seed(100)
G = 500
n = 10

delta_1 = -0.8184384  
xi_1 = -1.1858546 
lambda_1 = -10.6309216  
nu_1 = -3.5536255  

delta_2 = -0.8153614  
xi_2 = -1.4120148 
lambda_2 = -13.1999427  
nu_2 = -3.3873531   

lambda_3 = 0.7597441  
nu_3 = -2.0361091 

psi = c(delta_1, xi_1, lambda_1, nu_1,
        delta_2, xi_2, lambda_2, nu_2,
        lambda_3, nu_3)
t_pi = c(0.08592752, 0.07110449)

c1 = qnorm(0.95)
c2 = qnorm(0.05)

E_Set = gen_eLNNpaired(G, n, psi, t_pi, c1, c2)


result = eLNNpaired(E_Set, verbose = 1, c1 = c1, c2 = c2)

print(table(result$memGenes, fData(E_Set)$memGenes.true))
print(table(result$memGenes2, fData(E_Set)$memGenes2.true))

eLNNpaired documentation built on May 29, 2017, 12:04 p.m.