makeWiggleVector: generate a "wiggle vector" from start/end/value data

Description Usage Arguments Value Author(s) See Also Examples

View source: R/utils.R

Description

Given intervals in the form of a "start" and an "end" vectors and corresponding values, generate a "wiggle vector" of a given length that contains the specified values in the vector elements indicated by the intervals.

Usage

1
makeWiggleVector(start, end, value, chrlength )

Arguments

start

The start coordinates of the intervals. As usual in R, these are 1-based.

end

The end coordinates of the intervals. As usual, the end points are included.

value

The values to be put in the wiggle vector. Where intervals overlap, the values are added.

chrlength

The desired length of the returned vector.

Value

A vector as described above.

Author(s)

Simon Anders, EMBL-EBI, sanders\@fs.tum.de

See Also

For a value vector containing only ones, this function acts similar as the pileup function in the ShortRead package.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
   intervalStarts <- c(3,10,17,22)
   intervalEnds <- c(7,13,20,26)
   values <- c(2, 1.5, .3, 4)
   chrlength <- 30
   wig <- makeWiggleVector( intervalStarts, intervalEnds, values, chrlength )
   # The same effect can be achieved with the following R code, which, however
   # is much slower:
   wig2 <- numeric(chrlength)
   for( i in 1:length(values) )
      wig2[ intervalStarts[i]:intervalEnds[i] ] <- 
         wig2[ intervalStarts[i]:intervalEnds[i] ] + values[i]
   # Let's check that we got the same:
   all( wig == wig2 )      

HilbertVis documentation built on Nov. 8, 2020, 6:50 p.m.