Mercurial > repos > testtool > annotate_peak
view annotate_peak/annotatePeak.R @ 20:2044ad2c1c93 draft default tip
Uploaded
author | testtool |
---|---|
date | Mon, 20 Mar 2017 07:39:23 -0400 |
parents | 741b192da59c |
children |
line wrap: on
line source
require("ChIPpeakAnno", quietly = TRUE) require("EnsDb.Hsapiens.v75", quietly = TRUE) require("EnsDb.Mmusculus.v75", quietly = TRUE) options(warn = -1) options("download.file.method"="wget") args <- commandArgs(trailingOnly = TRUE) DMR = args[1] annoData = args[2] bindingType = args[3] upstream = as.numeric(args[4]) downstream = as.numeric(args[5]) ignore = args[6] annoPeakTable = args[7] #DMR <- ("test-data/DMR.bed") DMRInfo = read.table( DMR, header = FALSE, sep = "\t", stringsAsFactors = FALSE, quote = "" ) peaks <- GRanges(seqnames = DMRInfo[, 1], ranges = IRanges (start = DMRInfo[, 2], end = DMRInfo[, 3])) if (annoData == "human"){ annoData <- toGRanges(EnsDb.Hsapiens.v75) } else { annoData <- toGRanges(EnsDb.Mmusculus.v75) } seqlevelsStyle(peaks) <- seqlevelsStyle(annoData) if (ignore == "true"){ x <- TRUE } else { x <- FALSE } if (bindingType =="startSite"){ anno <- annoPeaks(peaks, annoData=annoData, bindingType =c("startSite"), bindingRegion=c(upstream, downstream), ignore.peak.strand = x) } else if (bindingType =="endSite"){ anno <- annoPeaks(peaks, annoData=annoData, bindingType =c("endSite"), bindingRegion=c(upstream, downstream), ignore.peak.strand = x) } else { anno <- annoPeaks(peaks, annoData=annoData, bindingType =c("fullRange"), bindingRegion=c(upstream, downstream), ignore.peak.strand = x) } write.table(anno, annoPeakTable, row.names = FALSE)