Description Usage Arguments Details Value Author(s) See Also Examples
Scores peaks detected with function peakDetection
according the height and
the sharpness (width) of the peak. This function can be called automatically
from peakDetection
if score=TRUE
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | peakScoring(peaks, data, threshold = 0.25, ...)
## S4 method for signature 'list'
peakScoring(peaks, data, threshold = "25%", mc.cores = 1)
## S4 method for signature 'IRangesList'
peakScoring(peaks, data, threshold = "25%",
weight.width = 1, weight.height = 1, dyad.length = 38, mc.cores = 1)
## S4 method for signature 'numeric'
peakScoring(peaks, data, chromosome = NULL,
threshold = "25%")
## S4 method for signature 'IRanges'
peakScoring(peaks, data, chromosome = NULL,
threshold = "25%", weight.width = 1, weight.height = 1,
dyad.length = 38)
|
peaks |
The identified peaks resulting from |
data |
Data of nucleosome coverage or intensites. |
threshold |
The non-default |
... |
Further arguments to be passed to or from other methods. |
mc.cores |
If input is a |
weight.height, weight.width |
If the score is a range, the height and the widht score (coverage and fuzzynes) can be defined with different weigths with these parameters. See details. |
dyad.length |
How many bases account in the nucleosome dyad for
sharpness description. If working with NGS data, works best with the reads
width value for single-ended data or the |
chromosome |
Optionally specify the name of the chromosome for input data that doesn't specify it. |
This function scores each previously identified peak according its height and sharpness.
The height score (score_h
) tells how large is a peak, higher means more
coverage or intensity, so better positioned nucleosome. This score is
obtained by checking the observed peak value in a Normal distribution with
the mean and sd of data
. This value is between 0 and 1.
The width score (score_w
) is a mesure of how sharp is a peak. With a NGS
coverage in mind, a perfect phased (well-positioned) nucleosome is this that
starts and ends exactly in the same place many times. The shape of this
ideal peak will be a rectangular shape of the lenght of the read. A wider
top of a peak could indicate fuzzyness. The parameter dyad.length
tells
how long should be the "flat" region of an ideal peak. The optimum value for
this parameter is the lenght of the read in single-ended data or the trim
value of the function processReads
. For Tiling Arrays, the default value
should be fine.
This score is obtained calculating the ratio between the mean of the
nucleosome scope (the one provided by range in the elements of peaks
) and
the dyad.length
central bases. This value is normalized between 0 and 1.
For punctual, single points peaks (provided by numeric
vector or list as
peaks
attribute) the score returned is the height score.
For range peaks
the weighted sum of the heigth and width scores is used.
This is: ((score_h * weigth.height) / sum.wei) + ((score_w * weigth.width) / sum.wei)
. Note that you can query for only one score by setting its
weight to 1 and the other to 0.
In the case of numeric
input, the value returned is a data.frame
containing a 'peak' and a 'score' column. If the input is a list
, the
result will be a list
of data.frame
.
If input is a IRanges
or IRangesList
, the result will be a data.frame
or GenomicRanges::GRanges object with one or multiple spaces respectively
and a 3 data column with the mixed, width and heigh score.
Oscar Flores oflores@mmb.cpb.ub.es
peakDetection()
, processReads()
,
1 2 3 4 5 6 7 8 9 10 11 12 | # Generate a synthetic map
# Trimmed length nucleosome map
map <- syntheticNucMap(nuc.len=40, lin.len=130)
# Get the information of dyads and the coverage
peaks <- c(map$wp.starts, map$fz.starts)
cover <- filterFFT(coverage.rpm(map$syn.reads))
# Calculate the scores
scores <- peakScoring(peaks, cover)
plotPeaks(scores$peak, cover, scores=scores$score, start=5000, end=10000)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.