Mercurial > repos > bornea > prohits_dotplot_generator
changeset 7:59e57834c366 draft
Uploaded
author | bornea |
---|---|
date | Tue, 15 Mar 2016 15:30:44 -0400 |
parents | 744905986eb9 |
children | 969fe96dbc7d |
files | Dotplot_Release/BaitCheck.pl Dotplot_Release/Normalization.R Dotplot_Release/Normalization_sigpreys.R Dotplot_Release/R_dotPlot.R Dotplot_Release/R_dotPlot_hc.R Dotplot_Release/R_dotPlot_nc.R Dotplot_Release/SOFD.pl Dotplot_Release/SaintConvert.pl Dotplot_Release/Step1_data_reformating.R Dotplot_Release/Step2_data_filtering.R Dotplot_Release/Step3_nestedcluster Dotplot_Release/Step4_biclustering.R Dotplot_Release/biclust.tar.gz Dotplot_Release/biclust_param.txt Dotplot_Release/dotplot.bash Dotplot_Release/pheatmap_j.R toolshed_version/Dotplot_Release.tar.gz toolshed_version/GNU Free Documentation License.txt toolshed_version/ProHits_DotPlot_Generator.py toolshed_version/ProHits_DotPlot_Generator.xml toolshed_version/test_files.tar toolshed_version/test_files/SC_SAINT_list.txt toolshed_version/tool_dependencies.xml |
diffstat | 23 files changed, 1017 insertions(+), 1900 deletions(-) [+] |
line wrap: on
line diff
--- a/Dotplot_Release/BaitCheck.pl Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -#!/usr/bin/perl - -# 27/04/2014 - -if($#ARGV==0){ - print "This program checks the number of baits in a Saint Output File.\n"; - print "\nusage:\n $0\n-i [csv saint output file]]\n\n"; - die; -} -else{ - $i=0; - $cutoff=0.01; - while($i<=$#ARGV){ - if($ARGV[$i] eq '-i'){ - $i++; - $ifile=$ARGV[$i]; - } - else{ - die "\Incorrect program usage\n\n"; - } - $i++; - } -} - -$file=''; -open(IFILE,"<$ifile") || die "$ifile can't be opened: $!"; -{ local $/=undef; $file=<IFILE>; } -@lines=split /[\r\n]+/, $file; -foreach $line (@lines) { - if($line =~ /^Bait/){ - } - elsif($line =~ /^([^\t]+)/){ - if($1 ne $bait[$baitn]){ - $baitn++; - $bait[$baitn]=$1; - } - } - else{ - } -} -close(IFILE); - -print $baitn; - -
--- a/Dotplot_Release/Normalization.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -#!/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) -
--- a/Dotplot_Release/Normalization_sigpreys.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -#!/usr/bin/env Rscript - -#this programs normalizes a saint input file based on the spectral counts of "signficant" preys -# that is, preys with an FDR <= the secondary cutoff as supplied to the dotplot script - -args <- commandArgs(trailingOnly = TRUE) - -d = read.delim(args[1], header=T, as.is=T) -d <- d[d$BFDR <= as.numeric(args[2]),] - -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) -
--- a/Dotplot_Release/R_dotPlot.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -#!/usr/bin/env Rscript - -args <- commandArgs(trailingOnly = TRUE) - -library('latticeExtra') -library('colorRamps') - -data.file <- read.table("SC_data.txt", sep="\t", header=TRUE, row.names=1) ### import spectral count data -data.file2 <- read.table("FDR_data.txt", sep="\t", header=TRUE, row.names=1) ### import FDR count data -data.file3 <- read.table("clustered_matrix.txt", sep="\t", header=TRUE, row.names=1) ### import clustered matrix -data.file4 <- scan("singletons.txt", what="", sep="\n", strip.white=T) ### import singleton data - -#setting parameters - -Sfirst=as.numeric(args[1]) #first FDR cutoff -Ssecond=as.numeric(args[2]) #second FDR cutoff -maxp=as.integer(args[3]) #maximum value for a spectral count - -#calculate column and row lengths - -#determine bait and prey ordering - -bait_levels=names(data.file3) -prey_levels=c(rownames(data.file3),data.file4) - -x_ord=factor(row.names(data.file),levels=prey_levels) -y_ord=factor(names(data.file),levels=bait_levels) - -df<-data.frame(y=rep(y_ord,nrow(data.file)) - ,x=rep(x_ord, each=ncol(data.file)) - ,z1=as.vector(t(data.file)) # Circle color - ,z2=as.vector(t(data.file/apply(data.file,1,max))) # Circle size - ,z3=as.vector(t(data.file2)) # FDR -) - -df$z1[df$z1>maxp] <- maxp #maximum value for spectral count -df$z2[df$z2==0] <- NA -df$z3[df$z3>Ssecond] <- 0.05*maxp -df$z3[df$z3<=Ssecond & df$z3>Sfirst] <- 0.5*maxp -df$z3[df$z3<=Sfirst] <- 1*maxp -df$z4 <- df$z1 -df$z4[df$z4==0] <- 0 -df$z4[df$z4>0] <- 2.5 - -# The labeling for the colorkey - -labelat = c(0, maxp) -labeltext = c(0, maxp) - -# color scheme to use - -nmb.colors<-maxp -z.colors<-grey(rev(seq(0,0.9,0.9/nmb.colors))) #grayscale color scale - -#plot - -pl <- levelplot(z1~x*y, data=df - ,col.regions =z.colors #terrain.colors(100) - ,scales = list(x = list(rot = 90), y=list(cex=0.8), tck=0) # rotates X,Y labels and changes scale - ,colorkey = FALSE - ,xlab="Prey", ylab="Bait" - ,panel=function(x,y,z,...,col.regions){ - print(x) - z.c<-df$z1[ (df$x %in% as.character(x)) & (df$y %in% y)] - z.2<-df$z2[ (df$x %in% as.character(x)) & (df$y %in% y)] - z.3<-df$z3 - z.4<-df$z4 - panel.xyplot(x,y - ,as.table=TRUE - ,pch=21 # point type to use (circles in this case) - ,cex=((z.2-min(z.2,na.rm=TRUE))/(max(z.2,na.rm=TRUE)-min(z.2,na.rm=TRUE)))*3 #circle size - ,fill=z.colors[floor((z.c-min(z.c,na.rm=TRUE))*nmb.colors/(max(z.c,na.rm=TRUE)-min(z.c,na.rm=TRUE)))+1] # circle colors - ,col=z.colors[1+z.3] # border colors - ,lex=z.4 #border thickness - ) - } - #,main="Fold change" # graph main title - ) -if(ncol(data.file) > 4) ht=3.5+(0.36*((ncol(data.file)-1)-4)) else ht=3.5 -if(nrow(data.file) > 20) wd=8.25+(0.29*(nrow(data.file)-20)) else wd=5+(0.28*(nrow(data.file)-10)) -pdf("dotplot.pdf", onefile = FALSE, paper = "special", height = ht, width = wd, pointsize = 2) -print(pl) -dev.off()
--- a/Dotplot_Release/R_dotPlot_hc.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ -#!/usr/bin/env Rscript - -args <- commandArgs(trailingOnly = TRUE) - -pheatmapj_loc <- paste(args[6],"pheatmap_j.R",sep="/") -heatmap2j_loc <- paste(args[6],"heatmap_2j.R",sep="/") - -library('latticeExtra') -library('RColorBrewer') -library('grid') -library(reshape2) -library('gplots') -library('gtools') -source(pheatmapj_loc) -source(heatmap2j_loc) - -data.file <- read.table("SC_data.txt", sep="\t", header=TRUE, row.names=1) ### import spectral count data -data.file2 <- read.table("FDR_data.txt", sep="\t", header=TRUE, row.names=1) ### import FDR count data - -#setting parameters - -Sfirst=as.numeric(args[1]) #first FDR cutoff -Ssecond=as.numeric(args[2]) #second FDR cutoff -maxp=as.integer(args[3]) #maximum value for a spectral count -methd <- args[4] -dist_methd <- args[5] - -#determine bait and prey ordering - -dist_bait <- dist(as.matrix(t(data.file)), method= dist_methd) # "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski" -dist_prey <- dist(as.matrix(data.file), method= dist_methd) - -if(methd == "ward"){ - dist_bait <- dist_bait^2 #comment out this line and the next if not using Ward's method of clustering - dist_prey <- dist_prey^2 -} - -hc_bait <- hclust(dist_bait, method = methd) # method = "average", "single", "complete", "ward", "mcquitty", "median" or "centroid" -hc_prey <- hclust(dist_prey, method = methd) - -data.file = data.file[hc_prey$order, , drop = FALSE] -data.file = data.file[, hc_bait$order, drop = FALSE] -data.file2 = data.file2[hc_prey$order, , drop = FALSE] -data.file2 = data.file2[, hc_bait$order, drop = FALSE] - -x_ord=factor(row.names(data.file), levels=row.names(data.file)) -y_ord=factor(names(data.file[1,]), levels=names(data.file[1,])) - -df<-data.frame(y=rep(y_ord, nrow(data.file)) - ,x=rep(x_ord, each=ncol(data.file)) - ,z1=as.vector(t(data.file)) # Circle color - ,z2=as.vector(t(data.file/apply(data.file,1,max))) # Circle size - ,z3=as.vector(t(data.file2)) # FDR -) - -df$z1[df$z1>maxp] <- maxp #maximum value for spectral count -df$z2[df$z2==0] <- NA -df$z3[df$z3>Ssecond] <- 0.05*maxp -df$z3[df$z3<=Ssecond & df$z3>Sfirst] <- 0.5*maxp -df$z3[df$z3<=Sfirst] <- 1*maxp -df$z4 <- df$z1 -df$z4[df$z4==0] <- 0 -df$z4[df$z4>0] <- 2.5 - -# The labeling for the colorkey - -labelat = c(0, maxp) -labeltext = c(0, maxp) - -# color scheme to use - -nmb.colors<-maxp -z.colors<-grey(rev(seq(0,0.9,0.9/nmb.colors))) #grayscale color scale - -#plot dotplot - -pl <- levelplot(z1~x*y, data=df - ,col.regions =z.colors #terrain.colors(100) - ,scales = list(x = list(rot = 90), y=list(cex=0.8), tck=0) # rotates X,Y labels and changes scale - ,colorkey = FALSE - #,colorkey = list(space="bottom", width=1.5, height=0.3, labels=list(at = labelat, labels = labeltext)) #put colorkey at top with my labeling scheme - ,xlab="Prey", ylab="Bait" - ,panel=function(x,y,z,...,col.regions){ - print(x) - z.c<-df$z1[ (df$x %in% as.character(x)) & (df$y %in% y)] - z.2<-df$z2[ (df$x %in% as.character(x)) & (df$y %in% y)] - z.3<-df$z3 - z.4<-df$z4 - panel.xyplot(x,y - ,as.table=TRUE - ,pch=21 # point type to use (circles in this case) - ,cex=((z.2-min(z.2,na.rm=TRUE))/(max(z.2,na.rm=TRUE)-min(z.2,na.rm=TRUE)))*3 #circle size - ,fill=z.colors[floor((z.c-min(z.c,na.rm=TRUE))*nmb.colors/(max(z.c,na.rm=TRUE)-min(z.c,na.rm=TRUE)))+1] # circle colors - ,col=z.colors[1+z.3] # border colors - ,lex=z.4 #border thickness - ) - } - #,main="Fold change" # graph main title - ) -if(ncol(data.file) > 4) ht=3.5+(0.36*((ncol(data.file)-1)-4)) else ht=3.5 -if(nrow(data.file) > 20) wd=8.25+(0.29*(nrow(data.file) -20)) else wd=5.7+(0.28*(nrow(data.file) -10)) -pdf("dotplot.pdf", onefile = FALSE, paper = "special", height = ht, width = wd, pointsize = 2) -print(pl) -dev.off() - -#plot bait vs prey heatmap - -heat_df <- acast(df, y~x, value.var="z1") -heat_df <- apply(heat_df, 2, rev) - -if(ncol(data.file) > 4) ht=3.5+(0.1*((ncol(data.file)-1)-4)) else ht=3.5 -if(nrow(data.file) > 20) wd=8.25+(0.1*(nrow(data.file)-20)) else wd=5+(0.1*(nrow(data.file)-10)) -pdf("heatmap_borders.pdf", onefile = FALSE, paper = "special", height = ht, width = wd, pointsize = 2) -pheatmap_j(heat_df, scale="none", border_color="black", border_width = 0.1, cluster_rows=FALSE, cluster_cols=FALSE, col=colorRampPalette(c("#FFFFFF", brewer.pal(9,"Blues")))(100)) -dev.off() - -pdf("heatmap_no_borders.pdf", onefile = FALSE, paper = "special", height = ht, width = wd, pointsize = 2) -pheatmap_j(heat_df, scale="none", border_color=NA, cluster_rows=FALSE, cluster_cols=FALSE, col=colorRampPalette(c("#FFFFFF", brewer.pal(9,"Blues")))(100)) -dev.off() - -#plot bait vs bait heatmap using dist matrix -dist_bait <- dist_bait/max(dist_bait) -pdf("bait2bait.pdf", onefile = FALSE, paper = "special") -heatmap_2j(as.matrix(dist_bait), trace="none", scale="none", density.info="none", col=rev(colorRampPalette(c("#FFFFFF", brewer.pal(9,"Blues")))(100)), xMin=0, xMax=1, margins=c(1.5*max(nchar(rownames(as.matrix(dist_bait)))),1.5*max(nchar(colnames(as.matrix(dist_bait)))))) -dev.off()
--- a/Dotplot_Release/R_dotPlot_nc.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -#!/usr/bin/env Rscript - -args <- commandArgs(trailingOnly = TRUE) - -pheatmapj_loc <- paste(args[9],"pheatmap_j.R",sep="/") - -library('latticeExtra') -library('RColorBrewer') -library('grid') -library(reshape2) -source(pheatmapj_loc) - -data.file <- read.table("SC_data.txt", sep="\t", header=TRUE, row.names=1) ### import spectral count data -data.file2 <- read.table("FDR_data.txt", sep="\t", header=TRUE, row.names=1) ### import FDR count data -bait_l <- scan(args[4], what="") ### import bait list -if(args[5] == 0) prey_l <- scan(args[6], what="") ### import prey list -methd <- args[7] -dist_methd <- args[8] - -#setting parameters - -Sfirst=as.numeric(args[1]) #first FDR cutoff -Ssecond=as.numeric(args[2]) #second FDR cutoff -maxp=as.integer(args[3]) #maximum value for a spectral count - -#extract only needed data - -if(args[5] == 0){ - remove <- vector() - remove <- prey_l[prey_l %in% row.names(data.file)] - prey_l <- prey_l[prey_l %in% remove] - remove <- bait_l[bait_l %in% names(data.file)] - bait_l <- bait_l[bait_l %in% remove] - data.file <- data.file[prey_l, bait_l] - data.file2 <- data.file2[prey_l, bait_l] -} else{ - remove <- vector() - remove <- bait_l[bait_l %in% names(data.file)] - bait_l <- bait_l[bait_l %in% remove] - data.file <- data.file[, bait_l] - data.file2 <- data.file2[, bait_l] - prey_keep = apply(data.file2, 1, function(x) sum(x<=Sfirst) >= 1) - data.file <- data.file[prey_keep,] - data.file2 <- data.file2[prey_keep,] -} - -#determine bait and prey ordering - -y_ord=factor(names(data.file[1,]),levels=bait_l) - -if(args[5] == 0){ - x_ord=factor(rownames(data.file),levels=prey_l) -} else { - - data.file <- data.file[which(rowSums(data.file) > 0),] - dist_prey <- dist(as.matrix(data.file), method= dist_methd) - - if(methd == "ward"){ - dist_prey <- dist_prey^2 - } - - hc_prey <- hclust(dist_prey, method = methd) - - data.file = data.file[hc_prey$order, , drop = FALSE] - data.file2 = data.file2[hc_prey$order, , drop = FALSE] - - x_ord=factor(row.names(data.file), levels=row.names(data.file)) -} - -df<-data.frame(y=rep(y_ord, nrow(data.file)) - ,x=rep(x_ord, each=ncol(data.file)) - ,z1=as.vector(t(data.file)) # Circle color - ,z2=as.vector(t(data.file/apply(data.file,1,max))) # Circle size - ,z3=as.vector(t(data.file2)) # FDR -) - -df$z1[df$z1>maxp] <- maxp #maximum value for spectral count -df$z2[df$z2==0] <- NA -df$z3[df$z3>Ssecond] <- 0.05*maxp -df$z3[df$z3<=Ssecond & df$z3>Sfirst] <- 0.5*maxp -df$z3[df$z3<=Sfirst] <- 1*maxp -df$z4 <- df$z1 -df$z4[df$z4==0] <- 0 -df$z4[df$z4>0] <- 2.5 - -# The labeling for the colorkey - -labelat = c(0, maxp) -labeltext = c(0, maxp) - -# color scheme to use - -nmb.colors<-maxp -z.colors<-grey(rev(seq(0,0.9,0.9/nmb.colors))) #grayscale color scale - -#plot dotplot - -pl <- levelplot(z1~x*y, data=df - ,col.regions =z.colors #terrain.colors(100) - ,scales = list(x = list(rot = 90), y=list(cex=0.8), tck=0) # rotates X,Y labels and changes scale - ,colorkey = FALSE - #,colorkey = list(space="bottom", width=1.5, height=0.3, labels=list(at = labelat, labels = labeltext)) #put colorkey at top with my labeling scheme - ,xlab="Prey", ylab="Bait" - ,panel=function(x,y,z,...,col.regions){ - print(x) - z.c<-df$z1[ (df$x %in% as.character(x)) & (df$y %in% y)] - z.2<-df$z2[ (df$x %in% as.character(x)) & (df$y %in% y)] - z.3<-df$z3 - z.4<-df$z4 - panel.xyplot(x,y - ,as.table=TRUE - ,pch=21 # point type to use (circles in this case) - ,cex=((z.2-min(z.2,na.rm=TRUE))/(max(z.2,na.rm=TRUE)-min(z.2,na.rm=TRUE)))*3 #circle size - ,fill=z.colors[floor((z.c-min(z.c,na.rm=TRUE))*nmb.colors/(max(z.c,na.rm=TRUE)-min(z.c,na.rm=TRUE)))+1] # circle colors - ,col=z.colors[1+z.3] # border colors - ,lex=z.4 #border thickness - ) - } - #,main="Fold change" # graph main title - ) -if(ncol(data.file) > 4) ht=3.5+(0.36*((ncol(data.file)-1)-4)) else ht=3.5 -if(nrow(data.file) > 20) wd=8.25+(0.29*(nrow(data.file)-20)) else wd=5.7+(0.28*(nrow(data.file)-10)) -pdf("dotplot.pdf", onefile = FALSE, paper = "special", height = ht, width = wd, pointsize = 2) -print(pl) -dev.off() - -#plot heatmap - -heat_df <- acast(df, y~x, value.var="z1") -heat_df <- apply(heat_df, 2, rev) - -if(ncol(data.file) > 4) ht=3.5+(0.1*((ncol(data.file)-1)-4)) else ht=3.5 -if(nrow(data.file) > 20) wd=8.25+(0.1*(nrow(data.file)-20)) else wd=5+(0.1*(nrow(data.file)-10)) -pdf("heatmap_borders.pdf", onefile = FALSE, paper = "special", height = ht, width = wd, pointsize = 2) -pheatmap_j(heat_df, scale="none", border_color="black", border_width = 0.1, cluster_rows=FALSE, cluster_cols=FALSE, col=colorRampPalette(c("#FFFFFF", brewer.pal(9,"Blues")))(100)) -dev.off() - -pdf("heatmap_no_borders.pdf", onefile = FALSE, paper = "special", height = ht, width = wd, pointsize = 2) -pheatmap_j(heat_df, scale="none", border_color=NA, cluster_rows=FALSE, cluster_cols=FALSE, col=colorRampPalette(c("#FFFFFF", brewer.pal(9,"Blues")))(100)) -dev.off()
--- a/Dotplot_Release/SOFD.pl Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -#!/usr/bin/perl - -# 17/12/2013 - -if($#ARGV==0){ - print "This program takes the Saint Output File and produces two matrices.\n"; - print "One has average spectral counts and the other FDR scores,\n"; - print "\nusage:\n $0\n-i [csv saint output file]\n-s [FDR cutoff, default=0.01]\n\n"; - die; -} -else{ - $i=0; - $cutoff=0.01; - $spec_cutoff=0; - while($i<=$#ARGV){ - if($ARGV[$i] eq '-i'){ - $i++; - $ifile=$ARGV[$i]; - } - elsif($ARGV[$i] eq '-s'){ - $i++; - if($ARGV[$i]>1 || $ARGV[$i]<0){ - die "\nFDR cutoff must be between 0 and 1 \n\n"; - } - $cutoff=$ARGV[$i]; - } - elsif($ARGV[$i] eq '-x'){ - $i++; - if($ARGV[$i]<0){ - die "\nAvgSpec cutoff must be > 0 \n\n"; - } - $spec_cutoff=$ARGV[$i]; - } - else{ - die "\Incorrect program usage\n\n"; - } - $i++; - } -} - -$baitn=0, $bait[0]=xxxx, $sig_preysn=0; -$file=''; -open(IFILE,"<$ifile") || die "$ifile can't be opened: $!"; -{ local $/=undef; $file=<IFILE>; } -@lines=split /[\r\n]+/, $file; -foreach $line (@lines) { - if($line =~ /^Bait/){ - } - elsif($line =~ /^([^\t]+)\t[^\t]+\t([^\t]+)\t[^\t]+\t[\d]+\t([\d\.]+)\t[\d]+\t[^\t]+\t[^\t]+\t[^\t]+\t[^\t]+\t[^\t]+\t([^\t]+)\t[^\t]+\t([^\t]+)\t/){ - if($1 ne $bait[$baitn]){ - $baitn++; - $bait[$baitn]=$1; - $preyn[$baitn]=0; - } - $preyn[$baitn]++; - $preys[$baitn][$preyn[$baitn]]=$2; - $avgspec[$baitn][$preyn[$baitn]]=$3; - $saint[$baitn][$preyn[$baitn]]=$4; - $fdr[$baitn][$preyn[$baitn]]=$5; - if($5 <= $cutoff && $3 >= $spec_cutoff){ - $check_prey=0; - for($i=1; $i<=$sig_preysn; $i++){ - if($sig_preys[$i] eq $2){ - $check_prey=1; - } - } - if($check_prey==0){ - $sig_preysn++; - $sig_preys[$sig_preysn]=$2; - } - } - } - else{ - } -} -close(IFILE); - -open(SC_FILE, ">SC_data.txt"); -open(FDR_FILE, ">FDR_data.txt"); - -for($i=1; $i<=$baitn; $i++){ - print SC_FILE "\t$bait[$i]"; - print FDR_FILE "\t$bait[$i]"; -} -print SC_FILE "\n"; -print FDR_FILE "\n"; -for($i=1; $i<=$sig_preysn; $i++){ - print SC_FILE "$sig_preys[$i]"; - print FDR_FILE "$sig_preys[$i]"; - for($j=1; $j<=$baitn; $j++){ - $krem=0; - for($k=1; $k<=$preyn[$j]; $k++){; - if($preys[$j][$k] eq $sig_preys[$i]){ - $krem=$k; - last; - } - } - if($krem != 0){ - print SC_FILE "\t$avgspec[$j][$krem]"; - print FDR_FILE "\t$fdr[$j][$krem]"; - } - else{ - print SC_FILE "\t0"; - print FDR_FILE "\t1"; - } - } - print SC_FILE "\n"; - print FDR_FILE "\n"; -} -close(SC_FILE); -close(FDR_FILE); -
--- a/Dotplot_Release/SaintConvert.pl Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -#!/usr/bin/perl - -# 17/12/2013 - -if($#ARGV==0){ - print "This program takes non-SaintExpress formatted data and converts it to look like it.\n"; - print "\nusage:\n $0\n-i [csv saint output file]\n\n"; - die; -} -else{ - $i=0; - while($i<=$#ARGV){ - if($ARGV[$i] eq '-i'){ - $i++; - $ifile=$ARGV[$i]; - } - else{ - die "\Incorrect program usage\n\n"; - } - $i++; - } -} - -$i=0; -$file=''; -open(IFILE,"<$ifile") || die "$ifile can't be opened: $!"; -{ local $/=undef; $file=<IFILE>; } -@lines=split /[\r\n]+/, $file; -foreach $line (@lines) { - if($line =~ /^Bait/){ - } - elsif($line =~ /^([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)/){ - $bait[$i]=$1; - $prey[$i]=$2; - $spec[$i]=$3; - $fdr[$i]=$4; - $i++; - } - else{ - } -} -close(IFILE); -$line_count=$i; - -open(OFILE, ">mockSaintExpress.txt"); -print OFILE "Bait\tPrey\tPreyGene\tSpec\tSpecSum\tAvgSpec\tNumReplicates\tctrlCounts\tAvgP\tMaxP\tTopoAvgP\tTopoMaxP\tSaintScore\tFoldChange\tBFDR\tboosted_by\n"; - -for($i=0; $i<$line_count; $i++){ - print OFILE "$bait[$i]\t111\t$prey[$i]\t111\t111\t$spec[$i]\t111\t111\t111\t111\t111\t111\t111\t111\t$fdr[$i]\t111\n"; -} -close(OFILE); -
--- a/Dotplot_Release/Step1_data_reformating.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -#!/usr/bin/env Rscript - -args <- commandArgs(trailingOnly = TRUE) - -d = read.delim(args[1], header=T, sep="\t", as.is=T) - -### Select Prey interactions were at least one Bait > Probability Threshold - -preylist=unique(c(d$PreyGene[d$BFDR <= as.numeric(args[2])])) -pid = d$PreyGene %in% preylist -d = d[pid,] - -bb = unique(d$Bait) -pp = unique(d$PreyGene) - -nbait = length(bb) -nprey = length(pp) - -### Reformat the SAINToutput data into a spreadsheet -mat = matrix(0, nprey, nbait) - -n = nrow(d) -mb = match(d$Bait, bb) -mp = match(d$PreyGene, pp) - -### Using the AvgSpec for the spectral counts -for(i in 1:n) { - mat[mp[i],mb[i]] = d$AvgSpec[i] -} - -rownames(mat) = pp -colnames(mat) = bb - -outfile <- paste(c(args[3]), "matrix.txt", sep="_") -### The following file is the outcome of running this step. -write.table(mat, outfile, sep="\t", quote=F) - - - - -
--- a/Dotplot_Release/Step2_data_filtering.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -#!/usr/bin/env Rscript - -args <- commandArgs(trailingOnly = TRUE) - -d = read.delim(args[1], header=T, as.is=T) - -d2 = d -d2s = d - -ss_cutoff <- as.numeric(args[2]) -### Here I'm only going to take the preys which appeared in at least 2 baits with >args[2] counts -id = apply(d, 1, function(x) sum(x>ss_cutoff) >= 2) -id2 = apply(d, 1, function(x) sum(x>ss_cutoff) < 2) -d2 = d2[id, ] -d2s = d2s[id2, 0] -max.d2 = max(as.numeric(as.matrix(d2))) -d2 = d2 / max.d2 * 10 - -d3 = data.frame(PROT = rownames(d2), d2) - -outfile <- paste(c(args[3]), "dat", sep=".") - -### The following file is the outcome of running this step. -write.table(d3, outfile, sep="\t", quote=F, row.names=F) -### This is the final input file for nested cluster algorithm - -write.table(d2s, "singletons.txt", quote=F) -
--- a/Dotplot_Release/Step4_biclustering.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -#!/usr/bin/env Rscript - -args <- commandArgs(trailingOnly = TRUE) - -d = read.delim(args[1], header=T, sep="\t", as.is=T, row.names=1) - -clusters = read.delim("Clusters", header=T, sep="\t", as.is=T)[,-1] -clusters = data.frame(Bait=colnames(clusters), Cluster=as.numeric(clusters[1,])) -nested.clusters = read.delim("NestedClusters", header=F, sep="\t", as.is=T)[1:dim(d)[1],] -nested.phi = read.delim("NestedMu", header=F, sep="\t", as.is=T)[1:dim(d)[1],] -nested.phi2 = read.delim("NestedSigma2", header=F, sep="\t", as.is=T)[1:dim(d)[1],] -mcmc = read.delim("MCMCparameters", header=F, sep="\t", as.is=T) - -### distance between bait using phi (also reorder cluster names) -### report nested clusters with positive counts only -### rearrange rows and columns of the raw data matrix according to the back-tracking algorithm - -recursivePaste = function(x) { - n = length(x) - x = x[order(x)] - y = x[1] - if(n > 1) { - for(i in 2:n) y = paste(y, x[i], sep="-") - } - y -} - -calcDist = function(x, y) { - if(length(x) != length(y)) stop("different length\n") - else res = sum(abs(x-y)) - res -} - - -#clusters, nested.clusters, nested.phi, d - -bcl = clusters -pcl = nested.clusters -phi = nested.phi -phi2 = nested.phi2 -dat = d - - -## bipartite graph -make.graphlet = function(b,p,s) { - g = NULL - g$b = b - g$p = p - g$s = as.numeric(s) - g -} - -make.hub = function(b,p) { - g = NULL - g$b = b - g$p = p - g -} - -jaccard = function(x,y) { - j = length(intersect(x,y)) / length(union(x,y)) - j -} - -merge.graphlets = function(x, y) { - g = NULL - g$b = union(x$b, y$b) - g$p = union(x$p, y$p) - g$s1 = rep(0,length(g$p)) - g$s2 = rep(0,length(g$p)) - g$s1[match(x$p, g$p)] = x$s - g$s2[match(y$p, g$p)] = y$s - g$s = apply(cbind(g$s1, g$s2), 1, max) - g -} - -summarizeDP = function(bcl, pcl, phi, phi2, dat, hub.size=0.5, ...) { - pcl = as.matrix(pcl) - phi = as.matrix(phi) - phi2 = as.matrix(phi2) - dat = as.matrix(dat) - rownames(phi) = rownames(dat) - rownames(phi2) = rownames(dat) - - ubcl = unique(as.numeric(bcl$Cluster)) - n = length(ubcl) - pcl = pcl[,ubcl] - phi = phi[,ubcl] - phi2 = phi2[,ubcl] - phi[phi < 0.05] = 0 - - bcl$Cluster = match(as.numeric(bcl$Cluster), ubcl) - colnames(pcl) = colnames(phi) = colnames(phi2) = paste("CL", 1:n, sep="") - - ## remove non-reproducible mean values - nprey = dim(dat)[1]; nbait = dim(dat)[2] - preys = rownames(dat); baits = colnames(dat) - n = length(unique(bcl$Cluster)) - for(j in 1:n) { - id = c(1:nbait)[bcl$Cluster == j] - for(k in 1:nprey) { - do.it = ifelse(mean(as.numeric(dat[k,id]) > 0) <= 0.5,TRUE,FALSE) - if(do.it) { - phi[k,j] = 0 - } - } - } - - ## create bipartite graphs (graphlets) - gr = NULL - for(j in 1:n) { - id = c(1:nbait)[bcl$Cluster == j] - id2 = c(1:nprey)[phi[,j] > 0] - gr[[j]] = make.graphlet(baits[id], preys[id2], phi[id2,j]) - } - - ## intersecting preys between graphlets - gr2 = NULL - cur = 1 - for(i in 1:n) { - for(j in 1:n) { - if(i != j) { - combine = jaccard(gr[[i]]$p, gr[[j]]$p) >= 0.75 - if(combine) { - gr2[[cur]] = merge.graphlets(gr[[i]], gr[[j]]) - cur = cur + 1 - } - } - } - } - - old.phi = phi - phi = phi[, bcl$Cluster] - phi2 = phi2[, bcl$Cluster] - ## find hub preys - proceed = apply(old.phi, 1, function(x) sum(x>0) >= 2) - h = NULL - cur = 1 - for(k in 1:nprey) { - if(proceed[k]) { - id = as.numeric(phi[k,]) > 0 - if(mean(id) >= hub.size) { - h[[cur]] = make.hub(baits[id], preys[k]) - cur = cur + 1 - } - } - } - nhub = cur - 1 - - res = list(data=dat, baitCL=bcl, phi=phi, phi2=phi2, gr = gr, gr2 = gr2, hub = h) - res -} - -res = summarizeDP(clusters, nested.clusters, nested.phi, nested.phi2, d) - -write.table(res$baitCL[order(res$baitCL$Cluster),], "baitClusters", sep="\t", quote=F, row.names=F) -write.table(res$data, "clusteredData", sep="\t", quote=F) - -##### SOFT -library(gplots) -tmpd = res$data -tmpm = res$phi -colnames(tmpm) = paste(colnames(res$data), colnames(tmpm)) - -pdf("estimated.pdf", height=25, width=8) -my.hclust<-hclust(dist(tmpd)) -my.dend<-as.dendrogram(my.hclust) -tmp.res = heatmap.2(tmpm, Rowv=my.dend, Colv=T, trace="n", col=rev(heat.colors(10)), breaks=seq(0,.5,by=0.05), margins=c(10,10), keysize=0.8, cexRow=0.4) -#tmp.res = heatmap.2(tmpm, Rowv=T, Colv=T, trace="n", col=rev(heat.colors(10)), breaks=seq(0,.5,by=0.05), margins=c(10,10), keysize=0.8, cexRow=0.4) -tmpd = tmpd[rev(tmp.res$rowInd),tmp.res$colInd] -write.table(tmpd, "clustered_matrix.txt", sep="\t", quote=F) -heatmap.2(tmpd, Rowv=F, Colv=F, trace="n", col=rev(heat.colors(10)), breaks=seq(0,.5,by=0.05), margins=c(10,10), keysize=0.8, cexRow=0.4) -dev.off() - - -### Statistical Plots -dd = dist(1-cor((res$phi), method="pearson")) -dend = as.dendrogram(hclust(dd, "ave")) -#plot(dend) - -pdf("bait2bait.pdf") -tmp = res$phi -colnames(tmp) = paste(colnames(res$phi), res$baitCL$Bait, sep="_") - -###dd = cor(tmp[,-26]) ### This line is only for Chris' data (one bait has all zeros in the estimated parameters) -dd = cor(tmp) ### This line is only for Chris' data (one bait has all zeros in the estimated parameters) - -write.table(dd, "bait2bait_matrix.txt", sep="\t", quote=F) -heatmap.2(as.matrix(dd), trace="n", breaks=seq(-1,1,by=0.1), col=(greenred(20)), cexRow=0.7, cexCol=0.7) -dev.off() - -tmp = mcmc[,2] -ymax = max(tmp) -ymin = min(tmp) -pdf("stats.pdf", height=12, width=12) - -plot(mcmc[mcmc[,4]=="G",3], type="s", xlab="Iterations", ylab="Number of Clusters", main="") -plot(mcmc[,2], type="l", xlab="Iterations", ylab="Log-Likelihood", main="", ylim=c(ymin,ymax)) - -dev.off() -
--- a/Dotplot_Release/biclust_param.txt Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -np 10 -nb 100 -a 1.0 -b 1.0 -lambda 0.0 -nu 25.0 -alpha 1.0 -rho 1.0 -gamma 1.0 -nburn 5000 -niter 10000 -
--- a/Dotplot_Release/dotplot.bash Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,252 +0,0 @@ -#!/bin/bash -#SCRIPT=$(readlink -e $0) -#SCRIPTPATH=`dirname $SCRIPT` -pushd `dirname $0` > /dev/null -SCRIPTPATH=`pwd` -popd > /dev/null - -usage() { printf "Usage: $0 -[-f <saint_file_name.txt>] -[-i <0 for SaintExpress format, 1 for other>] -[-c <clustering to perform. Options: b (biclustering), h (hierarchical), n (none, requires input text files for bait and prey ordering; see options -b and -p)>] -[-n <clustering type to be performed if option -c is set to \"h\">] -[-d <distance metric to use if option -c is set to \"h\">] -[-b <list of bait proteins in display order (see option -c n)>] -[-p <list of prey proteins in display order (see option -c n). Set this to \"all\" if you want to include all preys and cluster them>] -[-s <primary FDR cutoff [0-1, recommended=0.01]>] -[-t <secondary FDR cutoff [must be less than the primary, recommended=0.025]> -[-x <spectral count minimum. Only preys with >= this will be used]> -[-m <maximum spectral count>] -[-N <normalization, 0 for no (default), 1 for yes, 2 for normalization based on significant preys counts (prey FDR <= option -t)>] -[-C <FDR cutoff for normalization if using option -N 2 (deafult is -t)>]\n" -1>&2; exit 1; } - -N=0 -n="ward" -d="canberra" -x=0 -i=0 -while getopts ":f:i:s:t:x:m:c:n:d:b:p:N:C:" o; do - case "${o}" in - f) - f=${OPTARG} - ;; - i) - i=${OPTARG} - ;; - s) - s=${OPTARG} - ;; - t) - t=${OPTARG} - ;; - x) - x=${OPTARG} - ;; - m) - m=${OPTARG} - ;; - c) - c=${OPTARG} - ;; - n) - n=${OPTARG} - ;; - d) - d=${OPTARG} - ;; - b) - b=${OPTARG} - ;; - p) - p=${OPTARG} - ;; - N) - N=${OPTARG} - ;; - C) - C=${OPTARG} - ;; - *) - usage - ;; - esac -done -shift $((OPTIND-1)) - -filename=${f%%.*} -echo "Saint input file = ${f}" -echo "Primary FDR cutoff = ${s}" -echo "Secondary FDR cutoff for dotplot = ${t}" -echo "Minimum spectral count for significant preys = ${x}" -echo "Maximum spectral count for dot plot = ${m}" - -if [ -z "${f}" ] || [ -z "${s}" ] || [ -z "${t}" ] || [ -z "${m}" ] || [ -z "${c}" ]; then - usage -fi - -if [ "${i}" == 1 ]; then - $SCRIPTPATH/SaintConvert.pl -i ${f} - f="mockSaintExpress.txt" -fi - -if [ "${x}" -ge "${m}" ]; then - echo "spectral count minimum (${x}) cannot be greater than or equal to the maximum (${m})" - exit 1; -elif [ "${x}" -lt 0 ]; then - echo "spectral count minimum (${x}) cannot be less than 0. Setting to 0 and continuing" - x=0 -fi - -###Check for normalization - -if [ "${N}" == 1 ]; then - printf "\nNormalization is being performed\n" - $SCRIPTPATH/Normalization.R ${f} - f="norm_saint.txt" -elif [ "${N}" == 2 ]; then - printf "\nNormalization is being performed\n" - if [ -z "${C}" ]; then - C=${t} - fi - $SCRIPTPATH/Normalization_sigpreys.R ${f} ${C} - f="norm_saint.txt" -fi - - -###Check for clustering etc - -if [ "${c}" == "h" ] && [ -z "${n}" ]; then - printf "\nHierarchial clustering was selected (-c = h), but no clustering method (-n) was chosen.\n" - printf "The input parameter -n must be set to one of \"average\", \"centroid\", \"complete\", \"mcquitty\",\n" - printf "\"median\", \"single\" or \"ward\". \"ward\" will be selected as default.\n\n" - n="ward" -elif [ "${c}" == "h" ] && [ -n "${n}" ]; then - if [ "${n}" == "average" ] || [ "${n}" == "centroid" ] || [ "${n}" == "complete" ] || [ "${n}" == "mcquitty" ] || [ "${n}" == "median" ] || [ "${n}" == "single" ] || [ "${n}" == "ward" ]; then - printf "\nHierarchical clustering (method = ${n}) will be performed\n\n" - else - printf "\n${n} is not a valid Hierarchical clustering method.\n" - printf "Choose one of \"average\", \"centroid\", \"complete\", \"mcquitty\", \"median\", \"single\" or \"ward\"\n\n" - exit 1 - fi -fi - -p_c=0 -if [ "${c}" == "h" ] && [ -z "${d}" ]; then - printf "\nHierarchial clustering was selected (-c = h), but no distance metric (-d) was chosen.\n" - printf "The input parameter -d must be set to one of \"binary\", \"canberra\", \"euclidean\",\n" - printf "\"manhattan\", \"maximum\" or \"minkowski\". \"canberra\" will be selected as default.\n\n" - d="canberra" -elif [ "${c}" == "h" ] && [ -n "${d}" ]; then - if [ "${d}" == "binary" ] || [ "${d}" == "canberra" ] || [ "${d}" == "euclidean" ] || [ "${d}" == "manhattan" ] || [ "${d}" == "maximum" ] || [ "${d}" == "minkowski" ]; then - printf "\nHierarchical clustering (distance metric = ${d}) will be performed\n\n" - else - printf "\n${d} is not a valid Hierarchical clustering distance metric.\n" - printf "Choose one of \"binary\", \"canberra\", \"euclidean\", \"manhattan\", \"maximum\" or \"minkowski\"\n\n" - exit 1 - fi -fi - -if [ "${c}" == "n" ] && [ -z "${b}" ]; then - printf "\n\"No Clustering\" option was selected (-c = n), but no bait list was included (option -b).\n" - printf "Bait list must be in .txt formart.\n\n" - exit 1 -elif [ "${c}" == "n" ] && [ -z "${p}" ]; then - printf "\n\"No Clustering\" option was selected (-c = n), but no prey list was included (option -p).\n" - printf "Prey list must be in .txt formart.\n\n" - exit 1 -elif [ "${c}" == "n" ] && [ "${p}" == "all" ]; then - printf "\n\"No Clustering\" option was selected (-c = n) for baits, but preys will still be clustered.\n" - printf "using \"ward\" and \"canberra\" as defaults or options as supplied on command line.\n\n" - p="empty" - p_c=1 - n="ward" - d="canberra" -fi - - -###Check number of baits - -bait_n=$(perl $SCRIPTPATH/BaitCheck.pl -i ${f}) -echo "Number of baits = "$bait_n -printf "\n\n" - -if [ "${c}" == "b" ] && [ $bait_n == 2 ]; then - printf "\nWarning only 2 baits are present. Biclustering will not performed.\n" - printf "Hierarchical clustering (method = ward) will be performed instead.\n\n" - c="h" - n="ward" -fi - - -###Generate plots - -if [ "${c}" == "b" ]; then - printf "\nBiclustering will be performed\n\n" - $SCRIPTPATH/Step1_data_reformating.R ${f} ${s} ${filename} - $SCRIPTPATH/Step2_data_filtering.R ${filename}_matrix.txt ${x} ${filename} - GSL_RNG_SEED=123 $SCRIPTPATH/Step3_nestedcluster ${filename}.dat $SCRIPTPATH/biclust_param.txt - $SCRIPTPATH/Step4_biclustering.R ${filename}.dat - - $SCRIPTPATH/SOFD.pl -i ${f} -s ${s} -x ${x} - $SCRIPTPATH/R_dotPlot.R ${s} ${t} ${m} - mkdir Output_${filename} - mkdir Output_${filename}/TempData_${filename} - mv bait_lists Output_${filename}/TempData_${filename} - mv Clusters Output_${filename}/TempData_${filename} - mv MCMCparameters Output_${filename}/TempData_${filename} - mv NestedClusters Output_${filename}/TempData_${filename} - mv NestedMu Output_${filename}/TempData_${filename} - mv NestedSigma2 Output_${filename}/TempData_${filename} - mv OPTclusters Output_${filename}/TempData_${filename} - mv ${filename}_matrix.txt Output_${filename}/TempData_${filename} - mv ${filename}.dat Output_${filename}/TempData_${filename} - mv SC_data.txt Output_${filename}/TempData_${filename} - mv FDR_data.txt Output_${filename}/TempData_${filename} - mv clustered_matrix.txt Output_${filename}/TempData_${filename} - mv singletons.txt Output_${filename}/TempData_${filename} - mv bait2bait_matrix.txt Output_${filename}/TempData_${filename} - mv baitClusters Output_${filename}/TempData_${filename} - mv clusteredData Output_${filename}/TempData_${filename} - mv dotplot.pdf Output_${filename} - mv bait2bait.pdf Output_${filename} - mv estimated.pdf Output_${filename} - mv stats.pdf Output_${filename} - cp $SCRIPTPATH/legend.pdf Output_${filename} -elif [ "${c}" == "h" ]; then - - $SCRIPTPATH/SOFD.pl -i ${f} -s ${s} -x ${x} - $SCRIPTPATH/R_dotPlot_hc.R ${s} ${t} ${m} ${n} ${d} $SCRIPTPATH - - mkdir Output_${filename} - mkdir Output_${filename}/TempData_${filename} - mv dotplot.pdf Output_${filename} - mv heatmap_borders.pdf Output_${filename} - mv heatmap_no_borders.pdf Output_${filename} - mv bait2bait.pdf Output_${filename} - mv SC_data.txt Output_${filename}/TempData_${filename} - mv FDR_data.txt Output_${filename}/TempData_${filename} - cp $SCRIPTPATH/legend.pdf Output_${filename} -elif [ "${c}" == "n" ]; then - - $SCRIPTPATH/SOFD.pl -i ${f} -s ${s} -x ${x} - echo "$SCRIPTPATH/R_dotPlot_nc.R ${s} ${t} ${m} ${b} $p_c ${p} ${n} ${d} $SCRIPTPATH" - $SCRIPTPATH/R_dotPlot_nc.R ${s} ${t} ${m} ${b} $p_c ${p} ${n} ${d} $SCRIPTPATH - - mkdir Output_${filename} - mkdir Output_${filename}/TempData_${filename} - mv dotplot.pdf Output_${filename} - mv heatmap_borders.pdf Output_${filename} - mv heatmap_no_borders.pdf Output_${filename} - mv SC_data.txt Output_${filename}/TempData_${filename} - mv FDR_data.txt Output_${filename}/TempData_${filename} - cp $SCRIPTPATH/legend.pdf Output_${filename} -else - printf -- "-c must be one of [b, h, n]: b (biclustering), h (hierarchical), n (none, requires input text files for bait and prey ordering>\n" - exit 1; -fi - -if [ "${N}" == "1" ] || [ "${N}" == "2" ]; then - mv norm_saint.txt Output_${filename}/TempData_${filename} -fi -
--- a/Dotplot_Release/pheatmap_j.R Tue Mar 15 15:27:13 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,719 +0,0 @@ -lo = function(rown, coln, nrow, ncol, cellheight = NA, cellwidth = NA, treeheight_col, treeheight_row, legend, annotation, annotation_colors, annotation_legend, main, fontsize, fontsize_row, fontsize_col, ...){ - # Get height of colnames and length of rownames - if(!is.null(coln[1])){ - longest_coln = which.max(strwidth(coln, units = 'in')) - gp = list(fontsize = fontsize_col, ...) - coln_height = unit(1, "grobheight", textGrob(coln[longest_coln], rot = 90, gp = do.call(gpar, gp))) + unit(5, "bigpts") - } - else{ - coln_height = unit(5, "bigpts") - } - - if(!is.null(rown[1])){ - longest_rown = which.max(strwidth(rown, units = 'in')) - gp = list(fontsize = fontsize_row, ...) - rown_width = unit(1, "grobwidth", textGrob(rown[longest_rown], gp = do.call(gpar, gp))) + unit(10, "bigpts") - } - else{ - rown_width = unit(5, "bigpts") - } - - gp = list(fontsize = fontsize, ...) - # Legend position - if(!is.na(legend[1])){ - longest_break = which.max(nchar(names(legend))) - longest_break = unit(1.1, "grobwidth", textGrob(as.character(names(legend))[longest_break], gp = do.call(gpar, gp))) - title_length = unit(1.1, "grobwidth", textGrob("Scale", gp = gpar(fontface = "bold", ...))) - legend_width = unit(12, "bigpts") + longest_break * 1.2 - legend_width = max(title_length, legend_width) - } - else{ - legend_width = unit(0, "bigpts") - } - - # Set main title height - if(is.na(main)){ - main_height = unit(0, "npc") - } - else{ - main_height = unit(1.5, "grobheight", textGrob(main, gp = gpar(fontsize = 1.3 * fontsize, ...))) - } - - # Column annotations - if(!is.na(annotation[[1]][1])){ - # Column annotation height - annot_height = unit(ncol(annotation) * (8 + 2) + 2, "bigpts") - # Width of the correponding legend - longest_ann = which.max(nchar(as.matrix(annotation))) - annot_legend_width = unit(1.2, "grobwidth", textGrob(as.matrix(annotation)[longest_ann], gp = gpar(...))) + unit(12, "bigpts") - if(!annotation_legend){ - annot_legend_width = unit(0, "npc") - } - } - else{ - annot_height = unit(0, "bigpts") - annot_legend_width = unit(0, "bigpts") - } - - # Tree height - treeheight_col = unit(treeheight_col, "bigpts") + unit(5, "bigpts") - treeheight_row = unit(treeheight_row, "bigpts") + unit(5, "bigpts") - - # Set cell sizes - if(is.na(cellwidth)){ - matwidth = unit(1, "npc") - rown_width - legend_width - treeheight_row - annot_legend_width - } - else{ - matwidth = unit(cellwidth * ncol, "bigpts") - } - - if(is.na(cellheight)){ - matheight = unit(1, "npc") - main_height - coln_height - treeheight_col - annot_height - } - else{ - matheight = unit(cellheight * nrow, "bigpts") - } - - - # Produce layout() - pushViewport(viewport(layout = grid.layout(nrow = 5, ncol = 5, widths = unit.c(treeheight_row, matwidth, rown_width, legend_width, annot_legend_width), heights = unit.c(main_height, treeheight_col, annot_height, matheight, coln_height)), gp = do.call(gpar, gp))) - - # Get cell dimensions - pushViewport(vplayout(4, 2)) - cellwidth = convertWidth(unit(0:1, "npc"), "bigpts", valueOnly = T)[2] / ncol - cellheight = convertHeight(unit(0:1, "npc"), "bigpts", valueOnly = T)[2] / nrow - upViewport() - - # Return minimal cell dimension in bigpts to decide if borders are drawn - mindim = min(cellwidth, cellheight) - return(mindim) -} - -draw_dendrogram = function(hc, horizontal = T){ - h = hc$height / max(hc$height) / 1.05 - m = hc$merge - o = hc$order - n = length(o) - - m[m > 0] = n + m[m > 0] - m[m < 0] = abs(m[m < 0]) - - dist = matrix(0, nrow = 2 * n - 1, ncol = 2, dimnames = list(NULL, c("x", "y"))) - dist[1:n, 1] = 1 / n / 2 + (1 / n) * (match(1:n, o) - 1) - - for(i in 1:nrow(m)){ - dist[n + i, 1] = (dist[m[i, 1], 1] + dist[m[i, 2], 1]) / 2 - dist[n + i, 2] = h[i] - } - - draw_connection = function(x1, x2, y1, y2, y){ - grid.lines(x = c(x1, x1), y = c(y1, y)) - grid.lines(x = c(x2, x2), y = c(y2, y)) - grid.lines(x = c(x1, x2), y = c(y, y)) - } - - if(horizontal){ - for(i in 1:nrow(m)){ - draw_connection(dist[m[i, 1], 1], dist[m[i, 2], 1], dist[m[i, 1], 2], dist[m[i, 2], 2], h[i]) - } - } - - else{ - gr = rectGrob() - pushViewport(viewport(height = unit(1, "grobwidth", gr), width = unit(1, "grobheight", gr), angle = 90)) - dist[, 1] = 1 - dist[, 1] - for(i in 1:nrow(m)){ - draw_connection(dist[m[i, 1], 1], dist[m[i, 2], 1], dist[m[i, 1], 2], dist[m[i, 2], 2], h[i]) - } - upViewport() - } -} - -draw_matrix = function(matrix, border_color, border_width, fmat, fontsize_number){ - n = nrow(matrix) - m = ncol(matrix) - x = (1:m)/m - 1/2/m - y = 1 - ((1:n)/n - 1/2/n) - for(i in 1:m){ - grid.rect(x = x[i], y = y[1:n], width = 1/m, height = 1/n, gp = gpar(fill = matrix[,i], col = border_color, lwd = border_width)) - if(attr(fmat, "draw")){ - grid.text(x = x[i], y = y[1:n], label = fmat[, i], gp = gpar(col = "grey30", fontsize = fontsize_number)) - } - } -} - -draw_colnames = function(coln, ...){ - m = length(coln) - x = (1:m)/m - 1/2/m - grid.text(coln, x = x, y = unit(0.96, "npc"), just="right", rot = 90, gp = gpar(...)) -} - -draw_rownames = function(rown, ...){ - n = length(rown) - y = 1 - ((1:n)/n - 1/2/n) - grid.text(rown, x = unit(0.04, "npc"), y = y, vjust = 0.5, hjust = 0, gp = gpar(...)) -} - -draw_legend = function(color, breaks, legend, ...){ - height = min(unit(1, "npc"), unit(150, "bigpts")) - pushViewport(viewport(x = 0, y = unit(1, "npc"), just = c(0, 1), height = height)) - legend_pos = (legend - min(breaks)) / (max(breaks) - min(breaks)) - breaks = (breaks - min(breaks)) / (max(breaks) - min(breaks)) - h = breaks[-1] - breaks[-length(breaks)] - grid.rect(x = 0, y = breaks[-length(breaks)], width = unit(10, "bigpts"), height = h, hjust = 0, vjust = 0, gp = gpar(fill = color, col = "#FFFFFF00")) - grid.text(names(legend), x = unit(12, "bigpts"), y = legend_pos, hjust = 0, gp = gpar(...)) - upViewport() -} - -convert_annotations = function(annotation, annotation_colors){ - new = annotation - for(i in 1:ncol(annotation)){ - a = annotation[, i] - b = annotation_colors[[colnames(annotation)[i]]] - if(is.character(a) | is.factor(a)){ - a = as.character(a) - if(length(setdiff(a, names(b))) > 0){ - stop(sprintf("Factor levels on variable %s do not match with annotation_colors", colnames(annotation)[i])) - } - new[, i] = b[a] - } - else{ - a = cut(a, breaks = 100) - new[, i] = colorRampPalette(b)(100)[a] - } - } - return(as.matrix(new)) -} - -draw_annotations = function(converted_annotations, border_color, border_width){ - n = ncol(converted_annotations) - m = nrow(converted_annotations) - x = (1:m)/m - 1/2/m - y = cumsum(rep(8, n)) - 4 + cumsum(rep(2, n)) - for(i in 1:m){ - grid.rect(x = x[i], unit(y[1:n], "bigpts"), width = 1/m, height = unit(8, "bigpts"), gp = gpar(fill = converted_annotations[i, ], col = border_color, lwd = border_width)) - } -} - -draw_annotation_legend = function(annotation, annotation_colors, border_color, border_width, ...){ - y = unit(1, "npc") - text_height = unit(1, "grobheight", textGrob("FGH", gp = gpar(...))) - for(i in names(annotation_colors)){ - grid.text(i, x = 0, y = y, vjust = 1, hjust = 0, gp = gpar(fontface = "bold", ...)) - y = y - 1.5 * text_height - if(is.character(annotation[, i]) | is.factor(annotation[, i])){ - for(j in 1:length(annotation_colors[[i]])){ - grid.rect(x = unit(0, "npc"), y = y, hjust = 0, vjust = 1, height = text_height, width = text_height, gp = gpar(col = border_color, lwd = border_width, fill = annotation_colors[[i]][j])) - grid.text(names(annotation_colors[[i]])[j], x = text_height * 1.3, y = y, hjust = 0, vjust = 1, gp = gpar(...)) - y = y - 1.5 * text_height - } - } - else{ - yy = y - 4 * text_height + seq(0, 1, 0.02) * 4 * text_height - h = 4 * text_height * 0.02 - grid.rect(x = unit(0, "npc"), y = yy, hjust = 0, vjust = 1, height = h, width = text_height, gp = gpar(col = "#FFFFFF00", fill = colorRampPalette(annotation_colors[[i]])(50))) - txt = rev(range(grid.pretty(range(annotation[, i], na.rm = TRUE)))) - yy = y - c(0, 3) * text_height - grid.text(txt, x = text_height * 1.3, y = yy, hjust = 0, vjust = 1, gp = gpar(...)) - y = y - 4.5 * text_height - } - y = y - 1.5 * text_height - } -} - -draw_main = function(text, ...){ - grid.text(text, gp = gpar(fontface = "bold", ...)) -} - -vplayout = function(x, y){ - return(viewport(layout.pos.row = x, layout.pos.col = y)) -} - -heatmap_motor = function(matrix, border_color, border_width, cellwidth, cellheight, tree_col, tree_row, treeheight_col, treeheight_row, filename, width, height, breaks, color, legend, annotation, annotation_colors, annotation_legend, main, fontsize, fontsize_row, fontsize_col, fmat, fontsize_number, ...){ - grid.newpage() - - # Set layout - mindim = lo(coln = colnames(matrix), rown = rownames(matrix), nrow = nrow(matrix), ncol = ncol(matrix), cellwidth = cellwidth, cellheight = cellheight, treeheight_col = treeheight_col, treeheight_row = treeheight_row, legend = legend, annotation = annotation, annotation_colors = annotation_colors, annotation_legend = annotation_legend, main = main, fontsize = fontsize, fontsize_row = fontsize_row, fontsize_col = fontsize_col, ...) - - if(!is.na(filename)){ - pushViewport(vplayout(1:5, 1:5)) - - if(is.na(height)){ - height = convertHeight(unit(0:1, "npc"), "inches", valueOnly = T)[2] - } - if(is.na(width)){ - width = convertWidth(unit(0:1, "npc"), "inches", valueOnly = T)[2] - } - - # Get file type - r = regexpr("\\.[a-zA-Z]*$", filename) - if(r == -1) stop("Improper filename") - ending = substr(filename, r + 1, r + attr(r, "match.length")) - - f = switch(ending, - pdf = function(x, ...) pdf(x, ...), - png = function(x, ...) png(x, units = "in", res = 300, ...), - jpeg = function(x, ...) jpeg(x, units = "in", res = 300, ...), - jpg = function(x, ...) jpeg(x, units = "in", res = 300, ...), - tiff = function(x, ...) tiff(x, units = "in", res = 300, compression = "lzw", ...), - bmp = function(x, ...) bmp(x, units = "in", res = 300, ...), - stop("File type should be: pdf, png, bmp, jpg, tiff") - ) - - # print(sprintf("height:%f width:%f", height, width)) - f(filename, height = height, width = width) - heatmap_motor(matrix, cellwidth = cellwidth, cellheight = cellheight, border_color = border_color, border_width = border_width, tree_col = tree_col, tree_row = tree_row, treeheight_col = treeheight_col, treeheight_row = treeheight_row, breaks = breaks, color = color, legend = legend, annotation = annotation, annotation_colors = annotation_colors, annotation_legend = annotation_legend, filename = NA, main = main, fontsize = fontsize, fontsize_row = fontsize_row, fontsize_col = fontsize_col, fmat = fmat, fontsize_number = fontsize_number, ...) - dev.off() - upViewport() - return() - } - - # Omit border color if cell size is too small - if(mindim < 3) border_color = NA - - # Draw title - if(!is.na(main)){ - pushViewport(vplayout(1, 2)) - draw_main(main, fontsize = 1.3 * fontsize, ...) - upViewport() - } - - # Draw tree for the columns - if(!is.na(tree_col[[1]][1]) & treeheight_col != 0){ - pushViewport(vplayout(2, 2)) - draw_dendrogram(tree_col, horizontal = T) - upViewport() - } - - # Draw tree for the rows - if(!is.na(tree_row[[1]][1]) & treeheight_row != 0){ - pushViewport(vplayout(4, 1)) - draw_dendrogram(tree_row, horizontal = F) - upViewport() - } - - # Draw matrix - pushViewport(vplayout(4, 2)) - draw_matrix(matrix, border_color, border_width, fmat, fontsize_number) - upViewport() - - # Draw colnames - if(length(colnames(matrix)) != 0){ - pushViewport(vplayout(5, 2)) - pars = list(colnames(matrix), fontsize = fontsize_col, ...) - do.call(draw_colnames, pars) - upViewport() - } - - # Draw rownames - if(length(rownames(matrix)) != 0){ - pushViewport(vplayout(4, 3)) - pars = list(rownames(matrix), fontsize = fontsize_row, ...) - do.call(draw_rownames, pars) - upViewport() - } - - # Draw annotation tracks - if(!is.na(annotation[[1]][1])){ - pushViewport(vplayout(3, 2)) - converted_annotation = convert_annotations(annotation, annotation_colors) - draw_annotations(converted_annotation, border_color, border_width) - upViewport() - } - - # Draw annotation legend - if(!is.na(annotation[[1]][1]) & annotation_legend){ - if(length(rownames(matrix)) != 0){ - pushViewport(vplayout(4:5, 5)) - } - else{ - pushViewport(vplayout(3:5, 5)) - } - draw_annotation_legend(annotation, annotation_colors, border_color, border_width, fontsize = fontsize, ...) - upViewport() - } - - # Draw legend - if(!is.na(legend[1])){ - length(colnames(matrix)) - if(length(rownames(matrix)) != 0){ - pushViewport(vplayout(4:5, 4)) - } - else{ - pushViewport(vplayout(3:5, 4)) - } - draw_legend(color, breaks, legend, fontsize = fontsize, ...) - upViewport() - } - - -} - -generate_breaks = function(x, n, center = F){ - if(center){ - m = max(abs(c(min(x, na.rm = T), max(x, na.rm = T)))) - res = seq(-m, m, length.out = n + 1) - } - else{ - res = seq(min(x, na.rm = T), max(x, na.rm = T), length.out = n + 1) - } - - return(res) -} - -scale_vec_colours = function(x, col = rainbow(10), breaks = NA){ - return(col[as.numeric(cut(x, breaks = breaks, include.lowest = T))]) -} - -scale_colours = function(mat, col = rainbow(10), breaks = NA){ - mat = as.matrix(mat) - return(matrix(scale_vec_colours(as.vector(mat), col = col, breaks = breaks), nrow(mat), ncol(mat), dimnames = list(rownames(mat), colnames(mat)))) -} - -cluster_mat = function(mat, distance, method){ - if(!(method %in% c("ward", "single", "complete", "average", "mcquitty", "median", "centroid"))){ - stop("clustering method has to one form the list: 'ward', 'single', 'complete', 'average', 'mcquitty', 'median' or 'centroid'.") - } - if(!(distance[1] %in% c("correlation", "euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski")) & class(distance) != "dist"){ - print(!(distance[1] %in% c("correlation", "euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski")) | class(distance) != "dist") - stop("distance has to be a dissimilarity structure as produced by dist or one measure form the list: 'correlation', 'euclidean', 'maximum', 'manhattan', 'canberra', 'binary', 'minkowski'") - } - if(distance[1] == "correlation"){ - d = as.dist(1 - cor(t(mat))) - } - else{ - if(class(distance) == "dist"){ - d = distance - } - else{ - d = dist(mat, method = distance) - } - } - - return(hclust(d, method = method)) -} - -scale_rows = function(x){ - m = apply(x, 1, mean, na.rm = T) - s = apply(x, 1, sd, na.rm = T) - return((x - m) / s) -} - -scale_mat = function(mat, scale){ - if(!(scale %in% c("none", "row", "column"))){ - stop("scale argument shoud take values: 'none', 'row' or 'column'") - } - mat = switch(scale, none = mat, row = scale_rows(mat), column = t(scale_rows(t(mat)))) - return(mat) -} - -generate_annotation_colours = function(annotation, annotation_colors, drop){ - if(is.na(annotation_colors)[[1]][1]){ - annotation_colors = list() - } - count = 0 - for(i in 1:ncol(annotation)){ - if(is.character(annotation[, i]) | is.factor(annotation[, i])){ - if (is.factor(annotation[, i]) & !drop){ - count = count + length(levels(annotation[, i])) - } - else{ - count = count + length(unique(annotation[, i])) - } - } - } - - factor_colors = hsv((seq(0, 1, length.out = count + 1)[-1] + - 0.2)%%1, 0.7, 0.95) - - set.seed(3453) - - for(i in 1:ncol(annotation)){ - if(!(colnames(annotation)[i] %in% names(annotation_colors))){ - if(is.character(annotation[, i]) | is.factor(annotation[, i])){ - n = length(unique(annotation[, i])) - if (is.factor(annotation[, i]) & !drop){ - n = length(levels(annotation[, i])) - } - ind = sample(1:length(factor_colors), n) - annotation_colors[[colnames(annotation)[i]]] = factor_colors[ind] - l = levels(as.factor(annotation[, i])) - l = l[l %in% unique(annotation[, i])] - if (is.factor(annotation[, i]) & !drop){ - l = levels(annotation[, i]) - } - names(annotation_colors[[colnames(annotation)[i]]]) = l - factor_colors = factor_colors[-ind] - } - else{ - r = runif(1) - annotation_colors[[colnames(annotation)[i]]] = hsv(r, c(0.1, 1), 1) - } - } - } - return(annotation_colors) -} - -kmeans_pheatmap = function(mat, k = min(nrow(mat), 150), sd_limit = NA, ...){ - # Filter data - if(!is.na(sd_limit)){ - s = apply(mat, 1, sd) - mat = mat[s > sd_limit, ] - } - - # Cluster data - set.seed(1245678) - km = kmeans(mat, k, iter.max = 100) - mat2 = km$centers - - # Compose rownames - t = table(km$cluster) - rownames(mat2) = sprintf("cl%s_size_%d", names(t), t) - - # Draw heatmap - pheatmap(mat2, ...) -} - -#' A function to draw clustered heatmaps. -#' -#' A function to draw clustered heatmaps where one has better control over some graphical -#' parameters such as cell size, etc. -#' -#' The function also allows to aggregate the rows using kmeans clustering. This is -#' advisable if number of rows is so big that R cannot handle their hierarchical -#' clustering anymore, roughly more than 1000. Instead of showing all the rows -#' separately one can cluster the rows in advance and show only the cluster centers. -#' The number of clusters can be tuned with parameter kmeans_k. -#' -#' @param mat numeric matrix of the values to be plotted. -#' @param color vector of colors used in heatmap. -#' @param kmeans_k the number of kmeans clusters to make, if we want to agggregate the -#' rows before drawing heatmap. If NA then the rows are not aggregated. -#' @param breaks a sequence of numbers that covers the range of values in mat and is one -#' element longer than color vector. Used for mapping values to colors. Useful, if needed -#' to map certain values to certain colors, to certain values. If value is NA then the -#' breaks are calculated automatically. -#' @param border_color color of cell borders on heatmap, use NA if no border should be -#' drawn. -#' @param cellwidth individual cell width in points. If left as NA, then the values -#' depend on the size of plotting window. -#' @param cellheight individual cell height in points. If left as NA, -#' then the values depend on the size of plotting window. -#' @param scale character indicating if the values should be centered and scaled in -#' either the row direction or the column direction, or none. Corresponding values are -#' \code{"row"}, \code{"column"} and \code{"none"} -#' @param cluster_rows boolean values determining if rows should be clustered, -#' @param cluster_cols boolean values determining if columns should be clustered. -#' @param clustering_distance_rows distance measure used in clustering rows. Possible -#' values are \code{"correlation"} for Pearson correlation and all the distances -#' supported by \code{\link{dist}}, such as \code{"euclidean"}, etc. If the value is none -#' of the above it is assumed that a distance matrix is provided. -#' @param clustering_distance_cols distance measure used in clustering columns. Possible -#' values the same as for clustering_distance_rows. -#' @param clustering_method clustering method used. Accepts the same values as -#' \code{\link{hclust}}. -#' @param treeheight_row the height of a tree for rows, if these are clustered. -#' Default value 50 points. -#' @param treeheight_col the height of a tree for columns, if these are clustered. -#' Default value 50 points. -#' @param legend logical to determine if legend should be drawn or not. -#' @param legend_breaks vector of breakpoints for the legend. -#' @param legend_labels vector of labels for the \code{legend_breaks}. -#' @param annotation data frame that specifies the annotations shown on top of the -#' columns. Each row defines the features for a specific column. The columns in the data -#' and rows in the annotation are matched using corresponding row and column names. Note -#' that color schemes takes into account if variable is continuous or discrete. -#' @param annotation_colors list for specifying annotation track colors manually. It is -#' possible to define the colors for only some of the features. Check examples for -#' details. -#' @param annotation_legend boolean value showing if the legend for annotation tracks -#' should be drawn. -#' @param drop_levels logical to determine if unused levels are also shown in the legend -#' @param show_rownames boolean specifying if column names are be shown. -#' @param show_colnames boolean specifying if column names are be shown. -#' @param main the title of the plot -#' @param fontsize base fontsize for the plot -#' @param fontsize_row fontsize for rownames (Default: fontsize) -#' @param fontsize_col fontsize for colnames (Default: fontsize) -#' @param display_numbers logical determining if the numeric values are also printed to -#' the cells. -#' @param number_format format strings (C printf style) of the numbers shown in cells. -#' For example "\code{\%.2f}" shows 2 decimal places and "\code{\%.1e}" shows exponential -#' notation (see more in \code{\link{sprintf}}). -#' @param fontsize_number fontsize of the numbers displayed in cells -#' @param filename file path where to save the picture. Filetype is decided by -#' the extension in the path. Currently following formats are supported: png, pdf, tiff, -#' bmp, jpeg. Even if the plot does not fit into the plotting window, the file size is -#' calculated so that the plot would fit there, unless specified otherwise. -#' @param width manual option for determining the output file width in inches. -#' @param height manual option for determining the output file height in inches. -#' @param \dots graphical parameters for the text used in plot. Parameters passed to -#' \code{\link{grid.text}}, see \code{\link{gpar}}. -#' -#' @return -#' Invisibly a list of components -#' \itemize{ -#' \item \code{tree_row} the clustering of rows as \code{\link{hclust}} object -#' \item \code{tree_col} the clustering of columns as \code{\link{hclust}} object -#' \item \code{kmeans} the kmeans clustering of rows if parameter \code{kmeans_k} was -#' specified -#' } -#' -#' @author Raivo Kolde <rkolde@@gmail.com> -#' @examples -#' # Generate some data -#' test = matrix(rnorm(200), 20, 10) -#' test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3 -#' test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2 -#' test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4 -#' colnames(test) = paste("Test", 1:10, sep = "") -#' rownames(test) = paste("Gene", 1:20, sep = "") -#' -#' # Draw heatmaps -#' pheatmap(test) -#' pheatmap(test, kmeans_k = 2) -#' pheatmap(test, scale = "row", clustering_distance_rows = "correlation") -#' pheatmap(test, color = colorRampPalette(c("navy", "white", "firebrick3"))(50)) -#' pheatmap(test, cluster_row = FALSE) -#' pheatmap(test, legend = FALSE) -#' pheatmap(test, display_numbers = TRUE) -#' pheatmap(test, display_numbers = TRUE, number_format = "%.1e") -#' pheatmap(test, cluster_row = FALSE, legend_breaks = -1:4, legend_labels = c("0", -#' "1e-4", "1e-3", "1e-2", "1e-1", "1")) -#' pheatmap(test, cellwidth = 15, cellheight = 12, main = "Example heatmap") -#' pheatmap(test, cellwidth = 15, cellheight = 12, fontsize = 8, filename = "test.pdf") -#' -#' -#' # Generate column annotations -#' annotation = data.frame(Var1 = factor(1:10 %% 2 == 0, -#' labels = c("Class1", "Class2")), Var2 = 1:10) -#' annotation$Var1 = factor(annotation$Var1, levels = c("Class1", "Class2", "Class3")) -#' rownames(annotation) = paste("Test", 1:10, sep = "") -#' -#' pheatmap(test, annotation = annotation) -#' pheatmap(test, annotation = annotation, annotation_legend = FALSE) -#' pheatmap(test, annotation = annotation, annotation_legend = FALSE, drop_levels = FALSE) -#' -#' # Specify colors -#' Var1 = c("navy", "darkgreen") -#' names(Var1) = c("Class1", "Class2") -#' Var2 = c("lightgreen", "navy") -#' -#' ann_colors = list(Var1 = Var1, Var2 = Var2) -#' -#' pheatmap(test, annotation = annotation, annotation_colors = ann_colors, main = "Example") -#' -#' # Specifying clustering from distance matrix -#' drows = dist(test, method = "minkowski") -#' dcols = dist(t(test), method = "minkowski") -#' pheatmap(test, clustering_distance_rows = drows, clustering_distance_cols = dcols) -#' -#' @export -pheatmap_j = function(mat, color = colorRampPalette(rev(brewer.pal(n = 7, name = "RdYlBu")))(100), kmeans_k = NA, breaks = NA, border_color = "grey60", border_width = 1, cellwidth = NA, cellheight = NA, scale = "none", cluster_rows = TRUE, cluster_cols = TRUE, clustering_distance_rows = "euclidean", clustering_distance_cols = "euclidean", clustering_method = "complete", treeheight_row = ifelse(cluster_rows, 50, 0), treeheight_col = ifelse(cluster_cols, 50, 0), legend = TRUE, legend_breaks = NA, legend_labels = NA, annotation = NA, annotation_colors = NA, annotation_legend = TRUE, drop_levels = TRUE, show_rownames = T, show_colnames = T, main = NA, fontsize = 10, fontsize_row = fontsize, fontsize_col = fontsize, display_numbers = F, number_format = "%.2f", fontsize_number = 0.8 * fontsize, filename = NA, width = NA, height = NA, ...){ - - # Preprocess matrix - mat = as.matrix(mat) - if(scale != "none"){ - mat = scale_mat(mat, scale) - if(is.na(breaks)){ - breaks = generate_breaks(mat, length(color), center = T) - } - } - - - # Kmeans - if(!is.na(kmeans_k)){ - # Cluster data - km = kmeans(mat, kmeans_k, iter.max = 100) - mat = km$centers - - # Compose rownames - t = table(km$cluster) - rownames(mat) = sprintf("cl%s_size_%d", names(t), t) - } - else{ - km = NA - } - - # Do clustering - if(cluster_rows){ - tree_row = cluster_mat(mat, distance = clustering_distance_rows, method = clustering_method) - mat = mat[tree_row$order, , drop = FALSE] - } - else{ - tree_row = NA - treeheight_row = 0 - } - - if(cluster_cols){ - tree_col = cluster_mat(t(mat), distance = clustering_distance_cols, method = clustering_method) - mat = mat[, tree_col$order, drop = FALSE] - } - else{ - tree_col = NA - treeheight_col = 0 - } - - # Format numbers to be displayed in cells - if(display_numbers){ - fmat = matrix(sprintf(number_format, mat), nrow = nrow(mat), ncol = ncol(mat)) - attr(fmat, "draw") = TRUE - } - else{ - fmat = matrix(NA, nrow = nrow(mat), ncol = ncol(mat)) - attr(fmat, "draw") = FALSE - } - - - # Colors and scales - if(!is.na(legend_breaks[1]) & !is.na(legend_labels[1])){ - if(length(legend_breaks) != length(legend_labels)){ - stop("Lengths of legend_breaks and legend_labels must be the same") - } - } - - - if(is.na(breaks[1])){ - breaks = generate_breaks(as.vector(mat), length(color)) - } - if (legend & is.na(legend_breaks[1])) { - legend = grid.pretty(range(as.vector(breaks))) - names(legend) = legend - } - else if(legend & !is.na(legend_breaks[1])){ - legend = legend_breaks[legend_breaks >= min(breaks) & legend_breaks <= max(breaks)] - - if(!is.na(legend_labels[1])){ - legend_labels = legend_labels[legend_breaks >= min(breaks) & legend_breaks <= max(breaks)] - names(legend) = legend_labels - } - else{ - names(legend) = legend - } - } - else { - legend = NA - } - mat = scale_colours(mat, col = color, breaks = breaks) - - # Preparing annotation colors - if(!is.na(annotation[[1]][1])){ - annotation = annotation[colnames(mat), , drop = F] - annotation_colors = generate_annotation_colours(annotation, annotation_colors, drop = drop_levels) - } - - if(!show_rownames){ - rownames(mat) = NULL - } - - if(!show_colnames){ - colnames(mat) = NULL - } - - # Draw heatmap - heatmap_motor(mat, border_color = border_color, border_width = border_width, cellwidth = cellwidth, cellheight = cellheight, treeheight_col = treeheight_col, treeheight_row = treeheight_row, tree_col = tree_col, tree_row = tree_row, filename = filename, width = width, height = height, breaks = breaks, color = color, legend = legend, annotation = annotation, annotation_colors = annotation_colors, annotation_legend = annotation_legend, main = main, fontsize = fontsize, fontsize_row = fontsize_row, fontsize_col = fontsize_col, fmat = fmat, fontsize_number = fontsize_number, ...) - - invisible(list(tree_row = tree_row, tree_col = tree_col, kmeans = km)) -} - -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolshed_version/GNU Free Documentation License.txt Tue Mar 15 15:30:44 2016 -0400 @@ -0,0 +1,451 @@ + + GNU Free Documentation License + Version 1.3, 3 November 2008 + + + Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +The "publisher" means any person or entity that distributes copies of +the Document to the public. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no +other conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to +give them a chance to provide you with an updated version of the +Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the rules +of this License for verbatim copying of each of the documents in all +other respects. + +You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert a +copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions of the +GNU Free Documentation License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in +detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +11. RELICENSING + +"Massive Multiauthor Collaboration Site" (or "MMC Site") means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +"Massive Multiauthor Collaboration" (or "MMC") contained in the site +means any set of copyrightable works thus published on the MMC site. + +"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +"Incorporate" means to publish or republish a Document, in whole or in +part, as part of another Document. + +An MMC is "eligible for relicensing" if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole or +in part into the MMC, (1) had no cover texts or invariant sections, and +(2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolshed_version/ProHits_DotPlot_Generator.py Tue Mar 15 15:30:44 2016 -0400 @@ -0,0 +1,56 @@ +####################################################################################### +# Python-code: Dotplot Runner +# Author: Adam L Borne +# Contributers: Paul A Stewart, Brent Kuenzi +####################################################################################### +# This script runs the dotplot program found at http://prohitstools.mshri.on.ca/. +####################################################################################### +# Copyright (C) Adam Borne. +# Permission is granted to copy, distribute and/or modify this document +# under the terms of the GNU Free Documentation License, Version 1.3 +# or any later version published by the Free Software Foundation; +# with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +# A copy of the license is included in the section entitled "GNU +# Free Documentation License". +####################################################################################### +## REQUIRED INPUT ## + +# 1) list_file: SaintExpress output file. +# 2) FDR1: Primary false discovery rate. (default = 0.01) +# 3) FDR2: Secondary false discovery rate. (default = 0.025) +# 4) spec_max: Maximum spectral count. (default = 50) +####################################################################################### +import os +import os +import sys + + +FDR1 = sys.argv[2] +FDR2 = sys.argv[3] +spec_max = sys.argv[4] +os.rename(sys.argv[1], "saint_input.txt") +ins_path = sys.argv[9] + +dirs_list = [] +for (dirpath, dirnames, filename) in os.walk(str(ins_path)): + dirs_list.extend(dirnames) + break +if r"Dotplot_Release" in dirs_list: + pass +else: + cmd = r"tar -xvf /Dotplot_Release.tar.gz " + str(ins_path) + "/Dotplot_Release.tar.gz" + os.system(cmd) + + +cmd = (str(ins_path) + r"Dotplot_Release/dotplot.bash -f saint_input.txt" + r" -c b -s " + str(FDR1) + + r" -t " + str(FDR2) + " -m " + str(spec_max)) +os.system(cmd) + +cmd1 = r"cp -a ./Output_saint_input/. ." +os.system(cmd1) + +os.rename("saint_input.txt", str(sys.argv[1])) +os.rename('dotplot.pdf', str(sys.argv[5])) +os.rename('bait2bait.pdf', str(sys.argv[6])) +os.rename('estimated.pdf', str(sys.argv[7])) +os.rename('stats.pdf', str(sys.argv[8])) \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolshed_version/ProHits_DotPlot_Generator.xml Tue Mar 15 15:30:44 2016 -0400 @@ -0,0 +1,31 @@ +<tool id="ProHits_DotPlot_Generator" name="ProHits DotPlot Generator"> + <description></description> + <command interpreter="python">ProHits_DotPlot_Generator.py $saint_file $FDR1 $FDR2 $spec_max $dotplot $heatmap $estimated $stats</command> + <inputs> + <param format="txt" name="saint_file" type="data" label="SAINT Output"/> + <param type="float" name="FDR1" label="False Discovery Rate 1" value="0.01"/> + <param type="float" name="FDR2" label="False Discovery Rate 2" value="0.025"/> + <param type="integer" name="spec_max" label="Maximum spectral count" value="50"/> + </inputs> + <outputs> + <data format="pdf" name="dotplot" label="DotPlot" /> + <data format="pdf" name="heatmap" label="Heatmap" /> + <data format="pdf" name="estimated" label="Estimated" /> + <data format="pdf" name="stats" label="Stats" /> + </outputs> + <stdio> + <regex match="error" + source="stdout" + level="fatal" + description="Unknown error"/> + </stdio> + + <tests> + <test> + <param name="input" value="fa_gc_content_input.fa"/> + <output name="out_file1" file="fa_gc_content_output.txt"/> + </test> + </tests> + <help> + </help> +</tool> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolshed_version/test_files/SC_SAINT_list.txt Tue Mar 15 15:30:44 2016 -0400 @@ -0,0 +1,473 @@ +Bait Prey PreyGene Spec SpecSum AvgSpec NumReplicates ctrlCounts AvgP MaxP TopoAvgP TopoMaxP SaintScore logOddsScore FoldChange BFDR boosted_by +WT_EGFR EGFR_HUMAN EGFR 67|52|45|55 219 54.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 68.87 547.50 0.00 +WT_EGFR ERBB2_HUMAN ERBB2 4|5|3|5 17 4.25 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 6.28 42.50 0.00 +WT_EGFR P85B_HUMAN PIK3R2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR P55G_HUMAN PIK3R3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR P85A_HUMAN PIK3R1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR K2C1_HUMAN KRT1 3|4|6|5 18 4.50 4 10|10|7|7 0.00 0.00 0.00 0.00 0.00 -27.06 0.53 0.51 +WT_EGFR K1C10_HUMAN KRT10 2|0|3|3 8 2.00 4 1|2|4|3 0.01 0.02 0.01 0.02 0.01 -9.56 0.80 0.49 +WT_EGFR K1C16_HUMAN KRT16 0|0|2|1 3 0.75 4 1|1|2|2 0.03 0.12 0.03 0.12 0.03 -5.35 0.50 0.47 +WT_EGFR GRB2_HUMAN GRB2 2|0|2|2 6 1.50 4 0|0|0|0 0.74 0.99 0.74 0.99 0.74 -0.11 15.00 0.05 +WT_EGFR GRP78_HUMAN HSPA5 16|14|11|12 53 13.25 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 19.16 132.50 0.00 +WT_EGFR K22E_HUMAN KRT2 2|3|6|4 15 3.75 4 4|4|1|1 0.15 0.50 0.15 0.50 0.15 -5.61 1.50 0.44 +WT_EGFR K2C8_HUMAN KRT8 1|1|2|2 6 1.50 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 2.40 15.00 0.19 +WT_EGFR K2C5_HUMAN KRT5 1|1|3|2 7 1.75 4 1|1|2|0 0.29 0.74 0.29 0.74 0.29 -1.74 1.75 0.26 +WT_EGFR K2C4_HUMAN KRT4 0|0|0|0 0 0.00 4 0|1|0|0 0.00 0.00 0.00 0.00 0.00 -0.65 0.00 0.51 +WT_EGFR K2C6B_HUMAN KRT6B 1|2|4|4 11 2.75 4 2|2|2|1 0.25 0.47 0.25 0.47 0.25 -4.44 1.57 0.42 +WT_EGFR K2C7_HUMAN KRT7 0|0|0|2 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +WT_EGFR HSP7C_HUMAN HSPA8 15|10|12|11 48 12.00 4 0|0|1|1 1.00 1.00 1.00 1.00 1.00 12.83 24.00 0.00 +WT_EGFR PK3CA_HUMAN PIK3CA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR ERBB3_HUMAN ERBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR ADT2_HUMAN SLC25A5 5|3|5|5 18 4.50 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 6.28 45.00 0.00 +WT_EGFR ADT3_HUMAN SLC25A6 5|4|5|5 19 4.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 8.02 47.50 0.00 +WT_EGFR K1C9_HUMAN KRT9 1|1|1|0 3 0.75 4 0|0|1|0 0.00 0.00 0.00 0.00 0.00 -0.65 3.00 0.51 +WT_EGFR TBA1A_HUMAN TUBA1A 5|3|5|3 16 4.00 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 6.28 40.00 0.00 +WT_EGFR TBA4A_HUMAN TUBA4A 3|2|3|1 9 2.25 4 0|0|0|0 0.75 1.00 0.75 1.00 0.75 2.40 22.50 0.02 +WT_EGFR ARHG5_HUMAN ARHGEF5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR PK3CB_HUMAN PIK3CB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR IRS1_HUMAN IRS1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR TBB5_HUMAN TUBB 8|6|5|2 21 5.25 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 52.50 0.00 +WT_EGFR TBB3_HUMAN TUBB3 2|2|3|1 8 2.00 4 0|0|0|0 0.74 1.00 0.74 1.00 0.74 2.40 20.00 0.05 +WT_EGFR HS90A_HUMAN HSP90AA1 3|3|1|2 9 2.25 4 0|0|0|0 0.75 1.00 0.75 1.00 0.75 2.40 22.50 0.02 +WT_EGFR HS90B_HUMAN HSP90AB1 4|2|1|2 9 2.25 4 0|0|0|0 0.74 1.00 0.74 1.00 0.74 2.40 22.50 0.04 +WT_EGFR 1433E_HUMAN YWHAE 1|0|0|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_EGFR 1433T_HUMAN YWHAQ 1|0|0|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_EGFR LPPRC_HUMAN LRPPRC 1|3|3|3 10 2.50 4 0|0|0|0 0.75 1.00 0.75 1.00 0.75 2.40 25.00 0.00 +WT_EGFR ERRFI_HUMAN ERRFI1 1|2|1|1 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +WT_EGFR AP2A1_HUMAN AP2A1 1|1|1|1 4 1.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 2.40 10.00 0.51 +WT_EGFR GRB7_HUMAN GRB7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR STAT3_HUMAN STAT3 4|5|3|3 15 3.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 6.28 37.50 0.00 +WT_EGFR ANXA2_HUMAN ANXA2 3|4|0|1 8 2.00 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 20.00 0.10 +WT_EGFR PTPRA_HUMAN PTPRA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR C1QBP_HUMAN C1QBP 0|0|0|0 0 0.00 4 7|5|0|0 0.00 0.00 0.00 0.00 0.00 -11.03 0.00 0.51 +WT_EGFR SHC1_HUMAN SHC1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR PTN11_HUMAN PTPN11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR PON2_HUMAN PON2 1|2|1|1 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +WT_EGFR MET_HUMAN MET 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR CRKL_HUMAN CRKL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR CBL_HUMAN CBL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR PHLA2_HUMAN PHLDA2 1|1|0|1 3 0.75 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 7.50 0.51 +WT_EGFR RT27_HUMAN MRPS27 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR M2OM_HUMAN SLC25A11 1|0|1|2 4 1.00 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 10.00 0.28 +WT_EGFR STAT1_HUMAN STAT1 3|2|1|1 7 1.75 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 2.40 17.50 0.14 +WT_EGFR SLIRP_HUMAN SLIRP 2|1|2|1 6 1.50 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 2.40 15.00 0.19 +WT_EGFR PK3CD_HUMAN PIK3CD 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR GRP75_HUMAN HSPA9 1|2|1|1 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +WT_EGFR AIFM1_HUMAN AIFM1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR PHB_HUMAN PHB 2|1|1|0 4 1.00 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 10.00 0.28 +WT_EGFR HNRPK_HUMAN HNRNPK 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_EGFR TMM33_HUMAN TMEM33 2|0|1|0 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +WT_EGFR RT34_HUMAN MRPS34 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 EGFR_HUMAN EGFR 5|3|4|5 17 4.25 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 6.28 42.50 0.00 +WT_ERBB3 ERBB2_HUMAN ERBB2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 P85B_HUMAN PIK3R2 4|4|4|3 15 3.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 6.28 37.50 0.00 +WT_ERBB3 P55G_HUMAN PIK3R3 2|2|3|3 10 2.50 4 0|0|0|0 0.99 1.00 0.99 1.00 0.99 4.43 25.00 0.00 +WT_ERBB3 P85A_HUMAN PIK3R1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 K2C1_HUMAN KRT1 8|8|6|6 28 7.00 4 10|10|7|7 0.00 0.00 0.00 0.00 0.00 -21.15 0.82 0.51 +WT_ERBB3 K1C10_HUMAN KRT10 5|5|3|2 15 3.75 4 1|2|4|3 0.11 0.21 0.11 0.21 0.11 -5.60 1.50 0.45 +WT_ERBB3 K1C16_HUMAN KRT16 0|1|0|0 1 0.25 4 1|1|2|2 0.00 0.00 0.00 0.00 0.00 -5.35 0.17 0.51 +WT_ERBB3 GRB2_HUMAN GRB2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 GRP78_HUMAN HSPA5 4|3|6|3 16 4.00 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 6.28 40.00 0.00 +WT_ERBB3 K22E_HUMAN KRT2 5|5|4|4 18 4.50 4 4|4|1|1 0.14 0.21 0.14 0.21 0.14 -2.71 1.80 0.44 +WT_ERBB3 K2C8_HUMAN KRT8 0|0|0|1 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_ERBB3 K2C5_HUMAN KRT5 3|2|2|2 9 2.25 4 1|1|2|0 0.51 0.74 0.51 0.74 0.51 -0.28 2.25 0.07 +WT_ERBB3 K2C4_HUMAN KRT4 0|0|0|0 0 0.00 4 0|1|0|0 0.00 0.00 0.00 0.00 0.00 -0.65 0.00 0.51 +WT_ERBB3 K2C6B_HUMAN KRT6B 3|3|3|3 12 3.00 4 2|2|2|1 0.18 0.18 0.18 0.18 0.18 -1.49 1.71 0.44 +WT_ERBB3 K2C7_HUMAN KRT7 0|0|0|1 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_ERBB3 HSP7C_HUMAN HSPA8 5|4|6|5 20 5.00 4 0|0|1|1 0.99 1.00 0.99 1.00 0.99 4.13 10.00 0.00 +WT_ERBB3 PK3CA_HUMAN PIK3CA 3|2|3|3 11 2.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 27.50 0.00 +WT_ERBB3 ERBB3_HUMAN ERBB3 4|5|7|6 22 5.50 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 8.02 55.00 0.00 +WT_ERBB3 ADT2_HUMAN SLC25A5 2|1|2|1 6 1.50 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 2.40 15.00 0.19 +WT_ERBB3 ADT3_HUMAN SLC25A6 1|0|2|1 4 1.00 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 10.00 0.28 +WT_ERBB3 K1C9_HUMAN KRT9 1|2|0|1 4 1.00 4 0|0|1|0 0.23 0.93 0.23 0.93 0.23 -0.65 4.00 0.42 +WT_ERBB3 TBA1A_HUMAN TUBA1A 1|1|2|2 6 1.50 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 2.40 15.00 0.19 +WT_ERBB3 TBA4A_HUMAN TUBA4A 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +WT_ERBB3 ARHG5_HUMAN ARHGEF5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 PK3CB_HUMAN PIK3CB 0|1|1|1 3 0.75 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 7.50 0.51 +WT_ERBB3 IRS1_HUMAN IRS1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 TBB5_HUMAN TUBB 0|1|2|1 4 1.00 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 10.00 0.28 +WT_ERBB3 TBB3_HUMAN TUBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 HS90A_HUMAN HSP90AA1 1|1|1|1 4 1.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 2.40 10.00 0.51 +WT_ERBB3 HS90B_HUMAN HSP90AB1 1|1|1|1 4 1.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 2.40 10.00 0.51 +WT_ERBB3 1433E_HUMAN YWHAE 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 1433T_HUMAN YWHAQ 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 LPPRC_HUMAN LRPPRC 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 ERRFI_HUMAN ERRFI1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 AP2A1_HUMAN AP2A1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 GRB7_HUMAN GRB7 0|1|1|1 3 0.75 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 7.50 0.51 +WT_ERBB3 STAT3_HUMAN STAT3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 ANXA2_HUMAN ANXA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 PTPRA_HUMAN PTPRA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 C1QBP_HUMAN C1QBP 0|0|0|0 0 0.00 4 7|5|0|0 0.00 0.00 0.00 0.00 0.00 -11.03 0.00 0.51 +WT_ERBB3 SHC1_HUMAN SHC1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 PTN11_HUMAN PTPN11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 PON2_HUMAN PON2 1|1|1|0 3 0.75 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 7.50 0.51 +WT_ERBB3 MET_HUMAN MET 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 CRKL_HUMAN CRKL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 CBL_HUMAN CBL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 PHLA2_HUMAN PHLDA2 2|0|0|1 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +WT_ERBB3 RT27_HUMAN MRPS27 1|2|1|1 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +WT_ERBB3 M2OM_HUMAN SLC25A11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 STAT1_HUMAN STAT1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 SLIRP_HUMAN SLIRP 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 PK3CD_HUMAN PIK3CD 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 GRP75_HUMAN HSPA9 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 AIFM1_HUMAN AIFM1 1|1|1|2 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +WT_ERBB3 PHB_HUMAN PHB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 HNRPK_HUMAN HNRNPK 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 TMM33_HUMAN TMEM33 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_ERBB3 RT34_HUMAN MRPS34 1|0|1|2 4 1.00 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 10.00 0.28 +WT_GRB2 EGFR_HUMAN EGFR 19|18|36|36 109 27.25 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 29.68 272.50 0.00 +WT_GRB2 ERBB2_HUMAN ERBB2 0|0|3|1 4 1.00 4 0|0|0|0 0.25 1.00 0.25 1.00 0.25 -0.11 10.00 0.27 +WT_GRB2 P85B_HUMAN PIK3R2 2|0|3|3 8 2.00 4 0|0|0|0 0.75 1.00 0.75 1.00 0.75 -0.11 20.00 0.02 +WT_GRB2 P55G_HUMAN PIK3R3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 P85A_HUMAN PIK3R1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 K2C1_HUMAN KRT1 10|7|13|10 40 10.00 4 10|10|7|7 0.00 0.00 0.00 0.00 0.00 -19.52 1.18 0.50 +WT_GRB2 K1C10_HUMAN KRT10 3|3|9|9 24 6.00 4 1|2|4|3 0.50 0.97 0.50 0.97 0.50 -4.12 2.40 0.18 +WT_GRB2 K1C16_HUMAN KRT16 0|0|0|0 0 0.00 4 1|1|2|2 0.00 0.00 0.00 0.00 0.00 -5.35 0.00 0.51 +WT_GRB2 GRB2_HUMAN GRB2 9|6|10|11 36 9.00 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 11.34 90.00 0.00 +WT_GRB2 GRP78_HUMAN HSPA5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 K22E_HUMAN KRT2 4|5|4|4 17 4.25 4 4|4|1|1 0.10 0.21 0.10 0.21 0.10 -2.71 1.70 0.45 +WT_GRB2 K2C8_HUMAN KRT8 0|0|2|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +WT_GRB2 K2C5_HUMAN KRT5 2|2|2|1 7 1.75 4 1|1|2|0 0.32 0.43 0.32 0.43 0.32 -1.74 1.75 0.25 +WT_GRB2 K2C4_HUMAN KRT4 0|0|0|0 0 0.00 4 0|1|0|0 0.00 0.00 0.00 0.00 0.00 -0.65 0.00 0.51 +WT_GRB2 K2C6B_HUMAN KRT6B 2|2|3|2 9 2.25 4 2|2|2|1 0.08 0.18 0.08 0.18 0.08 -2.92 1.29 0.46 +WT_GRB2 K2C7_HUMAN KRT7 0|0|2|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +WT_GRB2 HSP7C_HUMAN HSPA8 2|2|1|1 6 1.50 4 0|0|1|1 0.40 0.80 0.40 0.80 0.40 0.06 3.00 0.25 +WT_GRB2 PK3CA_HUMAN PIK3CA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 ERBB3_HUMAN ERBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 ADT2_HUMAN SLC25A5 2|3|3|3 11 2.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 27.50 0.00 +WT_GRB2 ADT3_HUMAN SLC25A6 1|2|2|2 7 1.75 4 0|0|0|0 0.74 0.99 0.74 0.99 0.74 2.40 17.50 0.05 +WT_GRB2 K1C9_HUMAN KRT9 3|1|2|1 7 1.75 4 0|0|1|0 0.48 0.99 0.48 0.99 0.48 0.96 7.00 0.24 +WT_GRB2 TBA1A_HUMAN TUBA1A 0|0|2|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +WT_GRB2 TBA4A_HUMAN TUBA4A 0|0|2|1 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +WT_GRB2 ARHG5_HUMAN ARHGEF5 5|7|12|11 35 8.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 9.70 87.50 0.00 +WT_GRB2 PK3CB_HUMAN PIK3CB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 IRS1_HUMAN IRS1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 TBB5_HUMAN TUBB 1|1|2|1 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +WT_GRB2 TBB3_HUMAN TUBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 HS90A_HUMAN HSP90AA1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 HS90B_HUMAN HSP90AB1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 1433E_HUMAN YWHAE 0|0|2|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +WT_GRB2 1433T_HUMAN YWHAQ 0|0|2|1 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +WT_GRB2 LPPRC_HUMAN LRPPRC 0|1|0|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_GRB2 ERRFI_HUMAN ERRFI1 0|0|2|1 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +WT_GRB2 AP2A1_HUMAN AP2A1 3|3|2|3 11 2.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 27.50 0.00 +WT_GRB2 GRB7_HUMAN GRB7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 STAT3_HUMAN STAT3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 ANXA2_HUMAN ANXA2 0|0|3|3 6 1.50 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 15.00 0.12 +WT_GRB2 PTPRA_HUMAN PTPRA 0|3|3|3 9 2.25 4 0|0|0|0 0.75 1.00 0.75 1.00 0.75 -0.11 22.50 0.00 +WT_GRB2 C1QBP_HUMAN C1QBP 0|0|0|0 0 0.00 4 7|5|0|0 0.00 0.00 0.00 0.00 0.00 -11.03 0.00 0.51 +WT_GRB2 SHC1_HUMAN SHC1 2|3|3|2 10 2.50 4 0|0|0|0 0.99 1.00 0.99 1.00 0.99 4.43 25.00 0.00 +WT_GRB2 PTN11_HUMAN PTPN11 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +WT_GRB2 PON2_HUMAN PON2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 MET_HUMAN MET 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +WT_GRB2 CRKL_HUMAN CRKL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 CBL_HUMAN CBL 0|0|1|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_GRB2 PHLA2_HUMAN PHLDA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 RT27_HUMAN MRPS27 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 M2OM_HUMAN SLC25A11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 STAT1_HUMAN STAT1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 SLIRP_HUMAN SLIRP 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 PK3CD_HUMAN PIK3CD 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 GRP75_HUMAN HSPA9 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 AIFM1_HUMAN AIFM1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 PHB_HUMAN PHB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 HNRPK_HUMAN HNRNPK 0|1|1|2 4 1.00 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 10.00 0.28 +WT_GRB2 TMM33_HUMAN TMEM33 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_GRB2 RT34_HUMAN MRPS34 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B EGFR_HUMAN EGFR 7|6|12|7 32 8.00 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 11.34 80.00 0.00 +WT_P85B ERBB2_HUMAN ERBB2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B P85B_HUMAN PIK3R2 26|41|47|39 153 38.25 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 41.42 382.50 0.00 +WT_P85B P55G_HUMAN PIK3R3 3|4|2|3 12 3.00 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 30.00 0.00 +WT_P85B P85A_HUMAN PIK3R1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B K2C1_HUMAN KRT1 16|14|9|7 46 11.50 4 10|10|7|7 0.00 0.00 0.00 0.00 0.00 -19.52 1.35 0.50 +WT_P85B K1C10_HUMAN KRT10 11|8|2|3 24 6.00 4 1|2|4|3 0.48 1.00 0.48 1.00 0.48 -5.60 2.40 0.23 +WT_P85B K1C16_HUMAN KRT16 2|1|0|0 3 0.75 4 1|1|2|2 0.03 0.12 0.03 0.12 0.03 -5.35 0.50 0.47 +WT_P85B GRB2_HUMAN GRB2 0|1|1|1 3 0.75 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 7.50 0.51 +WT_P85B GRP78_HUMAN HSPA5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B K22E_HUMAN KRT2 8|8|3|4 23 5.75 4 4|4|1|1 0.48 0.93 0.48 0.93 0.48 -4.13 2.30 0.23 +WT_P85B K2C8_HUMAN KRT8 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B K2C5_HUMAN KRT5 0|2|0|0 2 0.50 4 1|1|2|0 0.11 0.43 0.11 0.43 0.11 -3.14 0.50 0.45 +WT_P85B K2C4_HUMAN KRT4 4|3|0|0 7 1.75 4 0|1|0|0 0.50 1.00 0.50 1.00 0.50 -0.65 7.00 0.18 +WT_P85B K2C6B_HUMAN KRT6B 4|4|2|0 10 2.50 4 2|2|2|1 0.25 0.47 0.25 0.47 0.25 -6.40 1.43 0.42 +WT_P85B K2C7_HUMAN KRT7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B HSP7C_HUMAN HSPA8 1|0|0|0 1 0.25 4 0|0|1|1 0.00 0.00 0.00 0.00 0.00 -1.55 0.50 0.51 +WT_P85B PK3CA_HUMAN PIK3CA 6|7|11|10 34 8.50 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 11.34 85.00 0.00 +WT_P85B ERBB3_HUMAN ERBB3 2|2|4|4 12 3.00 4 0|0|0|0 0.99 1.00 0.99 1.00 0.99 4.43 30.00 0.00 +WT_P85B ADT2_HUMAN SLC25A5 1|0|1|0 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +WT_P85B ADT3_HUMAN SLC25A6 0|0|1|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_P85B K1C9_HUMAN KRT9 4|2|0|1 7 1.75 4 0|0|1|0 0.48 1.00 0.48 1.00 0.48 -0.65 7.00 0.24 +WT_P85B TBA1A_HUMAN TUBA1A 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B TBA4A_HUMAN TUBA4A 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B ARHG5_HUMAN ARHGEF5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B PK3CB_HUMAN PIK3CB 4|2|5|4 15 3.75 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 37.50 0.00 +WT_P85B IRS1_HUMAN IRS1 3|2|6|3 14 3.50 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 35.00 0.00 +WT_P85B TBB5_HUMAN TUBB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B TBB3_HUMAN TUBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B HS90A_HUMAN HSP90AA1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B HS90B_HUMAN HSP90AB1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B 1433E_HUMAN YWHAE 2|2|1|1 6 1.50 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 2.40 15.00 0.19 +WT_P85B 1433T_HUMAN YWHAQ 1|1|2|1 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +WT_P85B LPPRC_HUMAN LRPPRC 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B ERRFI_HUMAN ERRFI1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B AP2A1_HUMAN AP2A1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B GRB7_HUMAN GRB7 1|1|5|3 10 2.50 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 2.40 25.00 0.09 +WT_P85B STAT3_HUMAN STAT3 0|0|0|1 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_P85B ANXA2_HUMAN ANXA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B PTPRA_HUMAN PTPRA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B C1QBP_HUMAN C1QBP 0|0|0|0 0 0.00 4 7|5|0|0 0.00 0.00 0.00 0.00 0.00 -11.03 0.00 0.51 +WT_P85B SHC1_HUMAN SHC1 0|0|1|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_P85B PTN11_HUMAN PTPN11 1|1|2|1 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +WT_P85B PON2_HUMAN PON2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B MET_HUMAN MET 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B CRKL_HUMAN CRKL 2|1|1|2 6 1.50 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 2.40 15.00 0.19 +WT_P85B CBL_HUMAN CBL 0|2|2|0 4 1.00 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 -0.11 10.00 0.19 +WT_P85B PHLA2_HUMAN PHLDA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B RT27_HUMAN MRPS27 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B M2OM_HUMAN SLC25A11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B STAT1_HUMAN STAT1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B SLIRP_HUMAN SLIRP 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B PK3CD_HUMAN PIK3CD 2|2|2|1 7 1.75 4 0|0|0|0 0.74 0.99 0.74 0.99 0.74 2.40 17.50 0.05 +WT_P85B GRP75_HUMAN HSPA9 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B AIFM1_HUMAN AIFM1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B PHB_HUMAN PHB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B HNRPK_HUMAN HNRNPK 0|0|1|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +WT_P85B TMM33_HUMAN TMEM33 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +WT_P85B RT34_HUMAN MRPS34 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR EGFR_HUMAN EGFR 36|29|12|9 86 21.50 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 16.08 215.00 0.00 +ER_EGFR ERBB2_HUMAN ERBB2 2|1|0|0 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +ER_EGFR P85B_HUMAN PIK3R2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR P55G_HUMAN PIK3R3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR P85A_HUMAN PIK3R1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR K2C1_HUMAN KRT1 17|17|1|1 36 9.00 4 10|10|7|7 0.00 0.00 0.00 0.00 0.00 -32.37 1.06 0.49 +ER_EGFR K1C10_HUMAN KRT10 10|11|1|1 23 5.75 4 1|2|4|3 0.50 1.00 0.50 1.00 0.50 -7.24 2.30 0.13 +ER_EGFR K1C16_HUMAN KRT16 0|0|0|0 0 0.00 4 1|1|2|2 0.00 0.00 0.00 0.00 0.00 -5.35 0.00 0.51 +ER_EGFR GRB2_HUMAN GRB2 1|1|0|0 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_EGFR GRP78_HUMAN HSPA5 9|9|2|1 21 5.25 4 0|0|0|0 0.75 1.00 0.75 1.00 0.75 2.40 52.50 0.02 +ER_EGFR K22E_HUMAN KRT2 7|5|1|1 14 3.50 4 4|4|1|1 0.25 0.79 0.25 0.79 0.25 -7.25 1.40 0.28 +ER_EGFR K2C8_HUMAN KRT8 3|2|0|0 5 1.25 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 12.50 0.14 +ER_EGFR K2C5_HUMAN KRT5 3|2|0|0 5 1.25 4 1|1|2|0 0.29 0.74 0.29 0.74 0.29 -3.14 1.25 0.26 +ER_EGFR K2C4_HUMAN KRT4 2|0|0|0 2 0.50 4 0|1|0|0 0.23 0.93 0.23 0.93 0.23 -0.65 2.00 0.42 +ER_EGFR K2C6B_HUMAN KRT6B 5|3|0|0 8 2.00 4 2|2|2|1 0.24 0.76 0.24 0.76 0.24 -6.40 1.14 0.42 +ER_EGFR K2C7_HUMAN KRT7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR HSP7C_HUMAN HSPA8 10|15|2|2 29 7.25 4 0|0|1|1 0.90 1.00 0.90 1.00 0.90 1.39 14.50 0.00 +ER_EGFR PK3CA_HUMAN PIK3CA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR ERBB3_HUMAN ERBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR ADT2_HUMAN SLC25A5 3|2|0|0 5 1.25 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 12.50 0.14 +ER_EGFR ADT3_HUMAN SLC25A6 3|2|0|0 5 1.25 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 12.50 0.14 +ER_EGFR K1C9_HUMAN KRT9 3|5|0|0 8 2.00 4 0|0|1|0 0.50 1.00 0.50 1.00 0.50 -0.65 8.00 0.17 +ER_EGFR TBA1A_HUMAN TUBA1A 1|1|0|0 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_EGFR TBA4A_HUMAN TUBA4A 1|2|0|0 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +ER_EGFR ARHG5_HUMAN ARHGEF5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR PK3CB_HUMAN PIK3CB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR IRS1_HUMAN IRS1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR TBB5_HUMAN TUBB 3|1|0|0 4 1.00 4 0|0|0|0 0.25 1.00 0.25 1.00 0.25 -0.11 10.00 0.27 +ER_EGFR TBB3_HUMAN TUBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR HS90A_HUMAN HSP90AA1 2|2|0|0 4 1.00 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 -0.11 10.00 0.19 +ER_EGFR HS90B_HUMAN HSP90AB1 1|1|0|0 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_EGFR 1433E_HUMAN YWHAE 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR 1433T_HUMAN YWHAQ 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR LPPRC_HUMAN LRPPRC 1|1|0|0 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_EGFR ERRFI_HUMAN ERRFI1 1|2|0|0 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +ER_EGFR AP2A1_HUMAN AP2A1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR GRB7_HUMAN GRB7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR STAT3_HUMAN STAT3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR ANXA2_HUMAN ANXA2 2|0|0|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +ER_EGFR PTPRA_HUMAN PTPRA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR C1QBP_HUMAN C1QBP 0|1|0|0 1 0.25 4 7|5|0|0 0.00 0.00 0.00 0.00 0.00 -11.03 0.08 0.51 +ER_EGFR SHC1_HUMAN SHC1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR PTN11_HUMAN PTPN11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR PON2_HUMAN PON2 1|2|0|0 3 0.75 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 7.50 0.28 +ER_EGFR MET_HUMAN MET 1|1|0|0 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_EGFR CRKL_HUMAN CRKL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR CBL_HUMAN CBL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR PHLA2_HUMAN PHLDA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR RT27_HUMAN MRPS27 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR M2OM_HUMAN SLC25A11 0|2|0|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +ER_EGFR STAT1_HUMAN STAT1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR SLIRP_HUMAN SLIRP 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR PK3CD_HUMAN PIK3CD 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR GRP75_HUMAN HSPA9 0|1|0|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +ER_EGFR AIFM1_HUMAN AIFM1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR PHB_HUMAN PHB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR HNRPK_HUMAN HNRNPK 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_EGFR TMM33_HUMAN TMEM33 0|2|0|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +ER_EGFR RT34_HUMAN MRPS34 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 EGFR_HUMAN EGFR 0|0|3|3 6 1.50 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 15.00 0.12 +ER_ERBB3 ERBB2_HUMAN ERBB2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 P85B_HUMAN PIK3R2 0|0|3|4 7 1.75 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 17.50 0.10 +ER_ERBB3 P55G_HUMAN PIK3R3 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_ERBB3 P85A_HUMAN PIK3R1 0|0|1|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +ER_ERBB3 K2C1_HUMAN KRT1 5|5|6|5 21 5.25 4 10|10|7|7 0.00 0.00 0.00 0.00 0.00 -22.93 0.62 0.51 +ER_ERBB3 K1C10_HUMAN KRT10 3|3|2|2 10 2.50 4 1|2|4|3 0.01 0.02 0.01 0.02 0.01 -5.60 1.00 0.49 +ER_ERBB3 K1C16_HUMAN KRT16 0|0|0|0 0 0.00 4 1|1|2|2 0.00 0.00 0.00 0.00 0.00 -5.35 0.00 0.51 +ER_ERBB3 GRB2_HUMAN GRB2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 GRP78_HUMAN HSPA5 0|0|2|2 4 1.00 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 -0.11 10.00 0.19 +ER_ERBB3 K22E_HUMAN KRT2 3|3|4|3 13 3.25 4 4|4|1|1 0.03 0.06 0.03 0.06 0.03 -4.13 1.30 0.48 +ER_ERBB3 K2C8_HUMAN KRT8 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 K2C5_HUMAN KRT5 0|0|1|1 2 0.50 4 1|1|2|0 0.00 0.00 0.00 0.00 0.00 -3.14 0.50 0.51 +ER_ERBB3 K2C4_HUMAN KRT4 0|0|0|1 1 0.25 4 0|1|0|0 0.00 0.00 0.00 0.00 0.00 -0.65 1.00 0.51 +ER_ERBB3 K2C6B_HUMAN KRT6B 1|0|2|1 4 1.00 4 2|2|2|1 0.01 0.05 0.01 0.05 0.01 -6.40 0.57 0.48 +ER_ERBB3 K2C7_HUMAN KRT7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 HSP7C_HUMAN HSPA8 0|1|1|2 4 1.00 4 0|0|1|1 0.20 0.80 0.20 0.80 0.20 -1.55 2.00 0.43 +ER_ERBB3 PK3CA_HUMAN PIK3CA 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_ERBB3 ERBB3_HUMAN ERBB3 1|2|2|3 8 2.00 4 0|0|0|0 0.74 1.00 0.74 1.00 0.74 2.40 20.00 0.05 +ER_ERBB3 ADT2_HUMAN SLC25A5 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_ERBB3 ADT3_HUMAN SLC25A6 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 K1C9_HUMAN KRT9 3|2|1|1 7 1.75 4 0|0|1|0 0.48 0.99 0.48 0.99 0.48 0.96 7.00 0.24 +ER_ERBB3 TBA1A_HUMAN TUBA1A 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 TBA4A_HUMAN TUBA4A 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 ARHG5_HUMAN ARHGEF5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 PK3CB_HUMAN PIK3CB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 IRS1_HUMAN IRS1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 TBB5_HUMAN TUBB 0|0|0|1 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +ER_ERBB3 TBB3_HUMAN TUBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 HS90A_HUMAN HSP90AA1 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_ERBB3 HS90B_HUMAN HSP90AB1 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_ERBB3 1433E_HUMAN YWHAE 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 1433T_HUMAN YWHAQ 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 LPPRC_HUMAN LRPPRC 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 ERRFI_HUMAN ERRFI1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 AP2A1_HUMAN AP2A1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 GRB7_HUMAN GRB7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 STAT3_HUMAN STAT3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 ANXA2_HUMAN ANXA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 PTPRA_HUMAN PTPRA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 C1QBP_HUMAN C1QBP 0|0|0|0 0 0.00 4 7|5|0|0 0.00 0.00 0.00 0.00 0.00 -11.03 0.00 0.51 +ER_ERBB3 SHC1_HUMAN SHC1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 PTN11_HUMAN PTPN11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 PON2_HUMAN PON2 0|0|1|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +ER_ERBB3 MET_HUMAN MET 0|0|1|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +ER_ERBB3 CRKL_HUMAN CRKL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 CBL_HUMAN CBL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 PHLA2_HUMAN PHLDA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 RT27_HUMAN MRPS27 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_ERBB3 M2OM_HUMAN SLC25A11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 STAT1_HUMAN STAT1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 SLIRP_HUMAN SLIRP 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 PK3CD_HUMAN PIK3CD 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 GRP75_HUMAN HSPA9 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 AIFM1_HUMAN AIFM1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 PHB_HUMAN PHB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 HNRPK_HUMAN HNRNPK 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 TMM33_HUMAN TMEM33 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_ERBB3 RT34_HUMAN MRPS34 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 EGFR_HUMAN EGFR 5|8|0|0 13 3.25 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 32.50 0.08 +ER_GRB2 ERBB2_HUMAN ERBB2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 P85B_HUMAN PIK3R2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 P55G_HUMAN PIK3R3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 P85A_HUMAN PIK3R1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 K2C1_HUMAN KRT1 6|5|0|0 11 2.75 4 10|10|7|7 0.00 0.00 0.00 0.00 0.00 -35.92 0.32 0.51 +ER_GRB2 K1C10_HUMAN KRT10 0|2|0|0 2 0.50 4 1|2|4|3 0.00 0.00 0.00 0.00 0.00 -9.56 0.20 0.51 +ER_GRB2 K1C16_HUMAN KRT16 1|2|0|0 3 0.75 4 1|1|2|2 0.03 0.12 0.03 0.12 0.03 -5.35 0.50 0.47 +ER_GRB2 GRB2_HUMAN GRB2 7|7|0|0 14 3.50 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 35.00 0.08 +ER_GRB2 GRP78_HUMAN HSPA5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 K22E_HUMAN KRT2 2|1|0|0 3 0.75 4 4|4|1|1 0.00 0.00 0.00 0.00 0.00 -9.57 0.30 0.51 +ER_GRB2 K2C8_HUMAN KRT8 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 K2C5_HUMAN KRT5 0|0|0|0 0 0.00 4 1|1|2|0 0.00 0.00 0.00 0.00 0.00 -3.14 0.00 0.51 +ER_GRB2 K2C4_HUMAN KRT4 0|0|0|0 0 0.00 4 0|1|0|0 0.00 0.00 0.00 0.00 0.00 -0.65 0.00 0.51 +ER_GRB2 K2C6B_HUMAN KRT6B 0|0|0|0 0 0.00 4 2|2|2|1 0.00 0.00 0.00 0.00 0.00 -6.40 0.00 0.51 +ER_GRB2 K2C7_HUMAN KRT7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 HSP7C_HUMAN HSPA8 1|0|0|0 1 0.25 4 0|0|1|1 0.00 0.00 0.00 0.00 0.00 -1.55 0.50 0.51 +ER_GRB2 PK3CA_HUMAN PIK3CA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 ERBB3_HUMAN ERBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 ADT2_HUMAN SLC25A5 1|0|0|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +ER_GRB2 ADT3_HUMAN SLC25A6 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 K1C9_HUMAN KRT9 1|1|0|0 2 0.50 4 0|0|1|0 0.00 0.00 0.00 0.00 0.00 -0.65 2.00 0.51 +ER_GRB2 TBA1A_HUMAN TUBA1A 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 TBA4A_HUMAN TUBA4A 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 ARHG5_HUMAN ARHGEF5 1|1|0|0 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_GRB2 PK3CB_HUMAN PIK3CB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 IRS1_HUMAN IRS1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 TBB5_HUMAN TUBB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 TBB3_HUMAN TUBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 HS90A_HUMAN HSP90AA1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 HS90B_HUMAN HSP90AB1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 1433E_HUMAN YWHAE 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 1433T_HUMAN YWHAQ 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 LPPRC_HUMAN LRPPRC 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 ERRFI_HUMAN ERRFI1 0|1|0|0 1 0.25 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 2.50 0.51 +ER_GRB2 AP2A1_HUMAN AP2A1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 GRB7_HUMAN GRB7 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 STAT3_HUMAN STAT3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 ANXA2_HUMAN ANXA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 PTPRA_HUMAN PTPRA 3|2|0|0 5 1.25 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 -0.11 12.50 0.14 +ER_GRB2 C1QBP_HUMAN C1QBP 0|0|0|0 0 0.00 4 7|5|0|0 0.00 0.00 0.00 0.00 0.00 -11.03 0.00 0.51 +ER_GRB2 SHC1_HUMAN SHC1 1|1|0|0 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_GRB2 PTN11_HUMAN PTPN11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 PON2_HUMAN PON2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 MET_HUMAN MET 2|2|0|0 4 1.00 4 0|0|0|0 0.49 0.99 0.49 0.99 0.49 -0.11 10.00 0.19 +ER_GRB2 CRKL_HUMAN CRKL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 CBL_HUMAN CBL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 PHLA2_HUMAN PHLDA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 RT27_HUMAN MRPS27 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 M2OM_HUMAN SLC25A11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 STAT1_HUMAN STAT1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 SLIRP_HUMAN SLIRP 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 PK3CD_HUMAN PIK3CD 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 GRP75_HUMAN HSPA9 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 AIFM1_HUMAN AIFM1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 PHB_HUMAN PHB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 HNRPK_HUMAN HNRNPK 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 TMM33_HUMAN TMEM33 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_GRB2 RT34_HUMAN MRPS34 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B EGFR_HUMAN EGFR 1|1|1|2 5 1.25 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 2.40 12.50 0.28 +ER_P85B ERBB2_HUMAN ERBB2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B P85B_HUMAN PIK3R2 15|13|16|17 61 15.25 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 22.20 152.50 0.00 +ER_P85B P55G_HUMAN PIK3R3 2|2|3|2 9 2.25 4 0|0|0|0 0.99 1.00 0.99 1.00 0.99 4.43 22.50 0.00 +ER_P85B P85A_HUMAN PIK3R1 3|2|4|3 12 3.00 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 30.00 0.00 +ER_P85B K2C1_HUMAN KRT1 5|4|10|8 27 6.75 4 10|10|7|7 0.00 0.00 0.00 0.00 0.00 -24.89 0.79 0.50 +ER_P85B K1C10_HUMAN KRT10 0|1|5|4 10 2.50 4 1|2|4|3 0.07 0.21 0.07 0.21 0.07 -9.56 1.00 0.46 +ER_P85B K1C16_HUMAN KRT16 1|0|3|3 7 1.75 4 1|1|2|2 0.17 0.35 0.17 0.35 0.17 -5.35 1.17 0.44 +ER_P85B GRB2_HUMAN GRB2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B GRP78_HUMAN HSPA5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B K22E_HUMAN KRT2 1|1|5|4 11 2.75 4 4|4|1|1 0.07 0.21 0.07 0.21 0.07 -7.25 1.10 0.46 +ER_P85B K2C8_HUMAN KRT8 0|0|2|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +ER_P85B K2C5_HUMAN KRT5 0|0|2|2 4 1.00 4 1|1|2|0 0.21 0.43 0.21 0.43 0.21 -3.14 1.00 0.43 +ER_P85B K2C4_HUMAN KRT4 0|0|0|0 0 0.00 4 0|1|0|0 0.00 0.00 0.00 0.00 0.00 -0.65 0.00 0.51 +ER_P85B K2C6B_HUMAN KRT6B 0|0|3|2 5 1.25 4 2|2|2|1 0.06 0.18 0.06 0.18 0.06 -6.40 0.71 0.47 +ER_P85B K2C7_HUMAN KRT7 0|0|2|0 2 0.50 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 5.00 0.28 +ER_P85B HSP7C_HUMAN HSPA8 1|1|0|0 2 0.50 4 0|0|1|1 0.00 0.00 0.00 0.00 0.00 -1.55 1.00 0.51 +ER_P85B PK3CA_HUMAN PIK3CA 3|3|6|6 18 4.50 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 6.28 45.00 0.00 +ER_P85B ERBB3_HUMAN ERBB3 1|0|2|1 4 1.00 4 0|0|0|0 0.25 0.99 0.25 0.99 0.25 -0.11 10.00 0.28 +ER_P85B ADT2_HUMAN SLC25A5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B ADT3_HUMAN SLC25A6 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B K1C9_HUMAN KRT9 1|0|1|0 2 0.50 4 0|0|1|0 0.00 0.00 0.00 0.00 0.00 -0.65 2.00 0.51 +ER_P85B TBA1A_HUMAN TUBA1A 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B TBA4A_HUMAN TUBA4A 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B ARHG5_HUMAN ARHGEF5 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B PK3CB_HUMAN PIK3CB 1|1|4|2 8 2.00 4 0|0|0|0 0.50 1.00 0.50 1.00 0.50 2.40 20.00 0.14 +ER_P85B IRS1_HUMAN IRS1 2|3|3|4 12 3.00 4 0|0|0|0 1.00 1.00 1.00 1.00 1.00 4.43 30.00 0.00 +ER_P85B TBB5_HUMAN TUBB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B TBB3_HUMAN TUBB3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B HS90A_HUMAN HSP90AA1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B HS90B_HUMAN HSP90AB1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B 1433E_HUMAN YWHAE 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_P85B 1433T_HUMAN YWHAQ 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_P85B LPPRC_HUMAN LRPPRC 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B ERRFI_HUMAN ERRFI1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B AP2A1_HUMAN AP2A1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B GRB7_HUMAN GRB7 1|1|1|0 3 0.75 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 7.50 0.51 +ER_P85B STAT3_HUMAN STAT3 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B ANXA2_HUMAN ANXA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B PTPRA_HUMAN PTPRA 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B C1QBP_HUMAN C1QBP 0|0|0|0 0 0.00 4 7|5|0|0 0.00 0.00 0.00 0.00 0.00 -11.03 0.00 0.51 +ER_P85B SHC1_HUMAN SHC1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B PTN11_HUMAN PTPN11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B PON2_HUMAN PON2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B MET_HUMAN MET 0|0|1|1 2 0.50 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 5.00 0.51 +ER_P85B CRKL_HUMAN CRKL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B CBL_HUMAN CBL 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B PHLA2_HUMAN PHLDA2 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B RT27_HUMAN MRPS27 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B M2OM_HUMAN SLC25A11 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B STAT1_HUMAN STAT1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B SLIRP_HUMAN SLIRP 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B PK3CD_HUMAN PIK3CD 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B GRP75_HUMAN HSPA9 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B AIFM1_HUMAN AIFM1 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B PHB_HUMAN PHB 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B HNRPK_HUMAN HNRNPK 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B TMM33_HUMAN TMEM33 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51 +ER_P85B RT34_HUMAN MRPS34 0|0|0|0 0 0.00 4 0|0|0|0 0.00 0.00 0.00 0.00 0.00 -0.11 0.00 0.51
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolshed_version/tool_dependencies.xml Tue Mar 15 15:30:44 2016 -0400 @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<tool_dependency> + <set_environment version="1.0"> + <environment_variable name="INSTALL_RUN_PATH" action="set_to">$REPOSITORY_INSTALL_DIR</environment_variable> + </set_environment> +</tool_dependency> \ No newline at end of file