ave.chip.r # feature.unsorted <- read.table(file="feature.bed") # data.unsorted <- read.table(file="data.log.enrichment.sgr") # starts with log2 enrichment values, converts to enrichment and normalizes to number of data points in each feature # sort feature and sgr by chromosome arm: feature <- feature.unsorted[order(feature.unsorted$V1), ] data <- data.unsorted[order(data.unsorted$V1), ] length.feature<-dim(feature)[1] feature.raw <- rep(NA, length.feature) feature.value <- rep(NA, length.feature) feature.arm<-feature[ ,1] feature.start<-feature[ ,2] feature.end <- feature[ ,3] length.data<-dim(data)[1] data.arm <- data[ ,1] data.position <- data[ ,2] data.value <- 2^data[ ,3] i <- 1 j <- 1 k <- 1 x <- 0 for(i in 1:length.feature){ sum <- 0 count <- 0 start <- feature.start[i] end <- feature.end[i] for(j in k:length.data){ if(data.arm[j]==feature.arm[i]){ if(data.position[j]end){break} sum <- sum+data.value[j] count <- count+1 x <- j } else{next} } k <- x-count if(k < 1){k <- 1} feature.raw[i] <- sum if(feature.raw[i]==0){feature.raw[i] <- 1} feature.value[i] <- sum / count } log.feature.value <- log2(feature.value) feature.data <- cbind(feature, feature.value, log.feature.value) write.table(feature.data, file="feature_data.txt", quote=FALSE, sep="\t", row.names=FALSE, col.names=FALSE) # end sum.reads.r # feature.unsorted <- read.table(file="feature.bed") # data.unsorted <- read.table(file="data.sgr") - is sgr file giving number of read at genomic positions # sums data across feature, adds offset of 1 to all features to preven 0 values # sort feature and sgr by chromosome arm: feature <- feature.unsorted[order(feature.unsorted$V1), ] data <- data.unsorted[order(data.unsorted$V1), ] length.feature<-dim(feature)[1] feature.value<-rep(NA,length.feature) feature.arm<-feature[ ,1] feature.start<-feature[ ,2] feature.end <- feature[ ,3] length.data<-dim(data)[1] data.arm <- data[ ,1] data.position <- data[ ,2] data.value <- data[ ,3] i <- 1 j <- 1 k <- 1 x <- 0 for(i in 1:length.feature){ sum <- 0 count <- 0 start <- feature.start[i] end <- feature.end[i] for(j in k:length.data){ if(data.arm[j]==feature.arm[i]){ if(data.position[j]end){break} sum <- sum+data.value[j] count <- count+1 x <- j } else{next} } k <- x-count if(k < 1){k <- 1} feature.value[i] <- sum + 1 } log.feature.value <- log2(feature.value) feature.data <- cbind(feature, feature.value, log.feature.value) write.table(feature.data, file="feature_data.txt", quote=FALSE, sep="\t", row.names=FALSE, col.names=FALSE) # end