# HG changeset patch # User Ido Tamir # Date 1376847592 -7200 # Node ID 74bfa2464411a9cdea5efb121d16c0e8c0af229f # Parent 6df7b07f81c1e543c786fb636090cc46d8d3a0b6 the bioconductor GRanges stuff blows diff -r 6df7b07f81c1 -r 74bfa2464411 corr.R --- a/corr.R Sun Aug 18 18:10:48 2013 +0200 +++ b/corr.R Sun Aug 18 19:39:52 2013 +0200 @@ -133,6 +133,26 @@ } } +#I hate this bioconductor ranges stuff more and more +#this is a super s**t api +mergeSeqInfo <- function(coverages){ + seqinfos <- do.call("rbind", lapply(coverages, function(cov){ d <- as.data.frame(cov@seqinfo); d$seqnames <- rownames(d); d})) + seqinfosMax <- do.call("rbind", by(seqinfos, seqinfos$seqnames, function(byChr){ byChr[order(byChr$seqlengths, decreasing=TRUE),][1,] })) + data.frame(seqnames=seqinfosMax$seqnames,seqlengths=seqinfosMax$seqlengths, isCircular=seqinfosMax$isCircular, genome=seqinfosMax$genome) +} + + +changeSeqInfo <- function(coverages){ + seqinfo <- mergeSeqInfo(coverages) + lapply(coverages, function(cov){ + si <- as.data.frame(cov@seqinfo) + si <- data.frame(chr=rownames(si), si) + sis <- subset(seqinfo, seqnames %in% si$chr) + si <- Seqinfo(seqnames=as.character(sis$seqnames), seqlengths=sis$seqlengths, isCircular=sis$isCircular, genome=sis$genome) + cov@seqinfo <- si + cov + }) +} args <- commandArgs(TRUE) @@ -151,8 +171,11 @@ coverages <- getCoverages(infiles, formats) +coverages <- changeSeqInfo(coverages) + mappability <- getMappable(coverages, mappable) + calcAndPlot(coverages, outnames, mappability, outnamePDF, outnameMat,title)