Mercurial > repos > bornea > prohits_dotplot_generator
diff Dotplot_Release/Normalization.R @ 3:bc752a05f16d draft
Uploaded
author | bornea |
---|---|
date | Tue, 15 Mar 2016 15:25:15 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dotplot_Release/Normalization.R Tue Mar 15 15:25:15 2016 -0400 @@ -0,0 +1,44 @@ +#!/usr/bin/env Rscript + +args <- commandArgs(trailingOnly = TRUE) + +#this programs normalizes a saint input file based on the spectral counts of all preys + +d = read.delim(args[1], header=T, sep="\t", as.is=T) + +baitn = 1 +curr_bait <- d$Bait[1] +s <- vector() +s[1] = 0 +for(i in 1:length(d$Bait)){ + if(curr_bait != d$Bait[i]){ + baitn <- baitn + 1 + curr_bait <- d$Bait[i] + s[baitn] <- d$AvgSpec[i] + } + else{ + s[baitn] <- s[baitn] + d$AvgSpec[i] + } +} + +med.s = median(s) +s = s / med.s + +d_n <- d +baitn = 1 +curr_bait <- d_n$Bait[1] +for(i in 1:length(d_n$Bait)){ + if(curr_bait != d_n$Bait[i]){ + baitn <- baitn + 1 + curr_bait <- d_n$Bait[i] + d_n$AvgSpec[i] <- d_n$AvgSpec[i]/s[baitn] + } + else{ + d_n$AvgSpec[i] <- d_n$AvgSpec[i]/s[baitn] + } +} + +#print normalized data to file + +write.table(d_n, file = "norm_saint.txt", sep="\t", quote=F, row.names=F) +