makeWiggleVector {HilbertVis}R Documentation

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

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

makeWiggleVector(start, end, value, chrlength )

Arguments

start The start coordinates of the intervals. As usual in R, these ar 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

   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 )      

[Package HilbertVis version 1.0.2 Index]