Learn R Programming

HBP (version 0.1.2)

load_bed_wig: the function to load wig file in the specific sites

Description

the function to load wig file in the specific sites

Usage

load_bed_wig(wigfile, chrBed, chrom, chrstart, chrend, m_win)

Arguments

wigfile

chrBed

chrom

chrstart

chrend

m_win

Examples

Run this code
# NOT RUN {
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as
function (wigfile, chrBed, chrom, chrstart, chrend, m_win)
{
    all_wig = load_all_wig(wigfile)
    all_wig = all_wig[all_wig$chr == chrom, ]
    all_wig[, 2] = as.numeric(all_wig[, 2])
    all_wig[, 3] = as.numeric(all_wig[, 3])
    m_result = data.frame(chrom = character(0), start = numeric(0),
        end = numeric(0), wig_value = numeric(0), stringsAsFactors = FALSE)
    dim_bed = dim(chrBed)[1]
    m_result[1:dim_bed, 1:3] = chrBed[, 1:3]
    if (chrend > 0) {
        all_wig = all_wig[which(all_wig[, 3] < chrend), ]
    }
    if (chrstart > 0) {
        all_wig[, 2] = all_wig[, 2] - chrstart
        all_wig[, 3] = all_wig[, 3] - chrstart
        all_wig = all_wig[which(all_wig[, 2] >= 0), ]
    }
    for (i in 1:dim_bed) {
        tmp_bed_wig = which(all_wig[, 2] >= chrBed[i, 2] - m_win)
        tmp_bed_wig = tmp_bed_wig[which(all_wig[tmp_bed_wig,
            3] <= chrBed[i, 3] + m_win)]
        m_result[i, 4] = mean(as.numeric(all_wig[tmp_bed_wig,
            4]))
    }
    return(m_result)
  }
# }

Run the code above in your browser using DataLab