view Dotplot_Release/Normalization.R @ 27:63cc1f29a57b draft

Uploaded
author bornea
date Tue, 19 Apr 2016 11:37:44 -0400
parents bc752a05f16d
children
line wrap: on
line source

#!/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)