Mercurial > repos > bornea > dotplot_runner
comparison Dotplot_Release/Normalization_sigpreys.R @ 0:dfa3436beb67 draft
Uploaded
author | bornea |
---|---|
date | Fri, 29 Jan 2016 09:56:02 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:dfa3436beb67 |
---|---|
1 #!/usr/bin/env Rscript | |
2 | |
3 #this programs normalizes a saint input file based on the spectral counts of "signficant" preys | |
4 # that is, preys with an FDR <= the secondary cutoff as supplied to the dotplot script | |
5 | |
6 args <- commandArgs(trailingOnly = TRUE) | |
7 | |
8 d = read.delim(args[1], header=T, as.is=T) | |
9 d <- d[d$BFDR <= as.numeric(args[2]),] | |
10 | |
11 baitn = 1 | |
12 curr_bait <- d$Bait[1] | |
13 s <- vector() | |
14 s[1] = 0 | |
15 for(i in 1:length(d$Bait)){ | |
16 if(curr_bait != d$Bait[i]){ | |
17 baitn <- baitn + 1 | |
18 curr_bait <- d$Bait[i] | |
19 s[baitn] <- d$AvgSpec[i] | |
20 } | |
21 else{ | |
22 s[baitn] <- s[baitn] + d$AvgSpec[i] | |
23 } | |
24 } | |
25 | |
26 med.s = median(s) | |
27 s = s / med.s | |
28 | |
29 d_n <- d | |
30 baitn = 1 | |
31 curr_bait <- d_n$Bait[1] | |
32 for(i in 1:length(d_n$Bait)){ | |
33 if(curr_bait != d_n$Bait[i]){ | |
34 baitn <- baitn + 1 | |
35 curr_bait <- d_n$Bait[i] | |
36 d_n$AvgSpec[i] <- d_n$AvgSpec[i]/s[baitn] | |
37 } | |
38 else{ | |
39 d_n$AvgSpec[i] <- d_n$AvgSpec[i]/s[baitn] | |
40 } | |
41 } | |
42 | |
43 #print normalized data to file | |
44 | |
45 write.table(d_n, file = "norm_saint.txt", sep="\t", quote=F, row.names=F) | |
46 |