The ping class

Description

This object is used to gather all parameters from fitting PING to multiple candidate regions (as returned by the 'segmentReads' function). The objet contains the following slots: 'List', 'paraPrior', 'paraEM', 'minReads', 'N', 'Nc'. 'List' is a list of 'ping' or 'pingError' objects. 'paraPrior' is a list containing the hyperparameters used for the prior, 'paraEM' is a list of convergence parameters for the EM, 'minReads' is a list containing the minimum number of reads used to fit a region with 'PING', 'N' is the total number of reads in the ChIP samples while 'Nc' is the total number of reads in the control sample.

Arguments

object

An object of class ping.

Accessors

The PING package provide accessors to directly access to most of the parameters/standard errors and chromosomes. In the code snippets below, 'x' is a 'pingList' object. For all accessors, the 'pingError' objects are omitted, so that the accessors only return values for the 'ping' objects (i.e. all valid binding events).

'chromosome(x)'

Gets the chromosome names of all candidate regions.

'mu(x)'

Gets the position estimates of all binding sites identified in all candidate regions.

'delta(x)'

Gets the average fragment lengths of all binding sites identified in all candidate regions.

'sigmaSqF(x)'

Gets the F peak variances of all binding sites identified in all candidate regions.

'sigmaSqR(x)'

Gets the R peak variances of all binding sites identified in all candidate regions.

'seF(x)'

Gets the standard errors of all binding site position estimates identified in all candidate regions.

'seF(x)'

Gets the standard errors of all F peak modes identified in all candidate regions.

'seR(x)'

Gets the standard errors of all R peak modes identified in all candidate regions.

'score(x)'

Gets the scores of all binding events identified in all candidate regions.

Constructor

newPingList(List, paraEM, paraPrior, minReads, N, Nc)

List

The mixture weights (a vector)

paraEM

The binding site positions (a vector)

paraPrior

The DNA fragment lengths (a vector)

N

The variance parameters for the forward distribution (vector)

Nc

The variance parameters for the forward distribution (vector)

Methods

[

signature(x = "ping"): subset PING object.

Methods

length

signature(x = "ping"): subset PING object.

as.data.frame

signature(x = "pingList"): Coerce a pingList to a data.frame

.

Constructor

newPingList<-function(List, paraEM, paraPrior, minReads, N, Nc) constructs a new 'pingList' object with the following arguments.

newPingList
w

The mixture weights (a vector)

mu

The binding site positions (a vector)

delta

The DNA fragment lengths (a vector)

sigmaSqF

The variance parameters for the forward distribution (vector)

sigmaSqR

The variance parameters for the reverse distribution (vector)

seMu

The standard errors for mu (vector)

seMuF

The standard errors for muF (vector)

seMuR

The standard errors for muR (vector)

seMuR

The standard errors for muR (vector)

score

The scores for each binding event (vector)

Nmerged

The number of peaks that were merged (integer)

converge

A logical value, TRUE, if the EM as converged

infMat

The information matrix

chr

The chromosome for the region

Author(s)

Xuekui Zhang <xzhang@stat.ubc.ca>, Sangsoon Woo, swoo@fhcrc.org and Raphael Gottardo <raphael.gottardo@ircm.qc.ca>

References

Xuekui Zhang, Gordon Robertson, Sangsoon Woo, Brad G. Hoffman, and Raphael Gottardo, "Probabilistic Inference for Nucleosome Positioning with MNase-based or Sonicated Short-read Data" PlosONE, under review.

See Also

ping

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
# Here is an example of how to construct such a region
# Typically, you would not do this manually, you would use the ping function to return a 'pingList'
# that contains a list of 'ping' or 'pingError' object.
w<-1
mu<-10000
delta<-150
sigmaSqF<-5000
sigmaSqR<-5000
seMu<-10
seMuF<-10
seMuR<-10
score<-5
Nmerged<-0
converge<-TRUE
infMat<-matrix(0)
chr<-"chr1"
range<-c(1000,2000)
# Contructor
#myPING1<-newPing(w,mu,delta,sigmaSqF,sigmaSqR,seMu,seMuF,seMuR,score,Nmerged,converge,infMat,as.integer(range),chr)
#myPING2<-newPing(w,mu+1000,delta,sigmaSqF,sigmaSqR,seMu,seMuF,seMuR,score,Nmerged,converge,infMat,as.integer(range),chr)

#minReads<-list(perPeak=2,perRegion=5)
#paraPrior<-list(xi=200,rho=1,alpha=20,beta=40000)
#paraEM<-list(minK=1,maxK=15,tol=10e-6,B=100)
#N<-100
#Nc<-200

#mynewPingList<-newPingList(list(myPING1,myPING2), paraEM, paraPrior, minReads, as.integer(100), as.integer(200))
# Accessors
# Get the standard error of Mu
#se(mynewPingList)
# Get the standard error of MuF
#seF(mynewPingList)
# Get the scores
#score(mynewPingList)