# 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 |

### 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)
``` |