Learn R Programming

misha (version 5.11.23)

gtrack.create_dense: Creates a 'Dense' track from intervals and values

Description

Creates a 'Dense' track from intervals and values.

Usage

gtrack.create_dense(
  track = NULL,
  description = NULL,
  intervals = NULL,
  values = NULL,
  binsize = NULL,
  defval = NaN,
  func = "weighted.mean"
)

Value

None.

Arguments

track

track name

description

a character string description

intervals

a set of one-dimensional intervals

values

an array of numeric values - one for each interval

binsize

bin size of the newly created 'Dense' track

defval

default track value for genomic regions not covered by the intervals

func

per-bin aggregation function over intervals overlapping each bin. One of:

"weighted.mean"

(default) sum(v_i * ov_i) / sum(ov_i) - byte-identical to the historical behavior.

"weighted.sum"

sum(v_i * ov_i) - coverage-weighted integral over the bin.

"max"

max(v_i) over intervals touching the bin (unweighted).

"min"

min(v_i) over intervals touching the bin (unweighted).

"median"

overlap-weighted (lower) median by coverage mass.

"count"

number of intervals touching the bin. Empty bin = 0.

"coverage"

sum(v_i * ov_i) / binsize - average per-base signal in the bin. With values = rep(1, n) this is a ChIP-seq-style pileup track (mean overlapping intervals per base).

For weighted.mean, weighted.sum, max, min, median, and coverage, uncovered bases in a bin act as a synthetic contribution with value defval (overlap = uncovered_bases), included iff defval is not NaN. count ignores defval.

Details

This function creates a new 'Dense' track with values at given intervals. 'description' is added as a track attribute.

See Also

gtrack.create_sparse, gtrack.import, gtrack.modify, gtrack.rm, gtrack.info

Examples

Run this code
# \dontshow{
options(gmax.processes = 2)
# }

gdb.init_examples()
intervs <- gintervals.load("annotations")
gtrack.create_dense(
    "test_dense", "Test dense track", intervs,
    1:dim(intervs)[1], 50, 0
)
gextract("test_dense", .misha$ALLGENOME)
gtrack.rm("test_dense", force = TRUE)

Run the code above in your browser using DataLab