changeset 17:26ef4add9f7b draft

Uploaded
author jfb
date Wed, 28 Feb 2018 14:09:19 -0500
parents 15b5d4ae4480
children e16ca3e9fc49
files kinatestid_r/Kinatest-R.R kinatestid_r/kinatestid_r.xml kinatestid_r/screener7-7.csv
diffstat 3 files changed, 209 insertions(+), 112 deletions(-) [+]
line wrap: on
line diff
--- a/kinatestid_r/Kinatest-R.R	Thu Feb 08 15:49:05 2018 -0500
+++ b/kinatestid_r/Kinatest-R.R	Wed Feb 28 14:09:19 2018 -0500
@@ -1,7 +1,6 @@
-
 ImportedSubstrateList<- read.csv("input1", stringsAsFactors=FALSE)
 NegativeSubstrateList<- read.csv("input2", stringsAsFactors=FALSE)
-SubstrateBackgroundFrequency<- read.csv("input3", stringsAsFactors=FALSE)
+SubstrateBackgroundFrequency<- read.csv("input3", stringsAsFactors=FALSE, header = FALSE)
 
 ScreenerFilename<-"screener"
 
@@ -13,21 +12,14 @@
 
 
 
-
-
-
-
-
-
-
+SubstrateBackgroundFrequency<-t(SubstrateBackgroundFrequency)
+# number<-nrow(SubstrateBackgroundFrequency)-1
+SubstrateBackgroundFrequency<-SubstrateBackgroundFrequency[2:nrow(SubstrateBackgroundFrequency),]
+Sub<-na.omit(SubstrateBackgroundFrequency)
+SubstrateBackgroundFrequency<-Sub
 
-
-
-
-
-
-
-
+args = commandArgs(trailingOnly=TRUE)
+TodaysKinase<-args[1]
 
 
 
@@ -594,10 +586,10 @@
 PercentTable<-rbind(HeaderSD,PercentTable)
 row.names(PercentTable)<-NULL
 PercentTable<-data.frame(SetOfAAs,PercentTable)
-numberofY<-as.numeric(SubstrateBackgroundFrequency$Number.of.Y)
+numberofY<-as.numeric(SubstrateBackgroundFrequency[,34])
 numberofY<-numberofY[!is.na(numberofY)]
 
-numberofPY<-as.numeric(SubstrateBackgroundFrequency$Number.of.pY)
+numberofPY<-as.numeric(SubstrateBackgroundFrequency[,35])
 numberofPY<-numberofPY[!is.na(numberofPY)]
 
 NormalizationScore<-sum(numberofPY)/sum(numberofY)
@@ -1161,38 +1153,110 @@
 bareSDs<-SDtable[2:21,2:16]
 goodones<-bareSDs>2
 
+# Positionm7<-which(goodones[,1] %in% TRUE)
+# if (length(Positionm7)<1){Positionm7<-which(bareSDs[,1]==max(bareSDs[,1]))}
+# Positionm6<-which(goodones[,2] %in% TRUE)
+# if (length(Positionm6)<1){Positionm6<-which(bareSDs[,2]==max(bareSDs[,2]))}
+# Positionm5<-which(goodones[,3] %in% TRUE)
+# if (length(Positionm5)<1){Positionm5<-which(bareSDs[,3]==max(bareSDs[,3]))}
+# Positionm4<-which(goodones[,4] %in% TRUE)
+# if (length(Positionm4)<2){Positionm4<-bareSDs[,4][order(bareSDs[,4])[1:2]]}
+# Positionm3<-which(goodones[,5] %in% TRUE)
+# if (length(Positionm3)<2){Positionm3<-bareSDs[,5][order(bareSDs[,5])[1:2]]}
+# Positionm2<-which(goodones[,6] %in% TRUE)
+# if (length(Positionm2)<2){Positionm2<-bareSDs[,6][order(bareSDs[,6])[1:2]]}
+# Positionm1<-which(goodones[,7] %in% TRUE)
+# if (length(Positionm1)<2){Positionm1<-bareSDs[,7][order(bareSDs[,7])[1:2]]}
+# 
+# Positiond0<-which(goodones[,8] %in% TRUE)
+# if (length(Positiond0)<1){Positiond0<-which(bareSDs[,8]==max(bareSDs[,8]))}
+# 
+# Positionp1<-which(goodones[,9] %in% TRUE)
+# if (length(Positionp1)<2){Positionp1<-bareSDs[,9][order(bareSDs[,9])[1:2]]}
+# Positionp2<-which(goodones[,10] %in% TRUE)
+# if (length(Positionp2)<2){Positionp2<-bareSDs[,10][order(bareSDs[,10])[1:2]]}
+# Positionp3<-which(goodones[,11] %in% TRUE)
+# if (length(Positionp3)<2){Positionp3<-bareSDs[,11][order(bareSDs[,11])[1:2]]}
+# Positionp4<-which(goodones[,12] %in% TRUE)
+# if (length(Positionp4)<2){Positionp4<-bareSDs[,12][order(bareSDs[,12])[1:2]]}
+# Positionp5<-which(goodones[,13] %in% TRUE)
+# if (length(Positionp5)<1){Positionp5<-which(bareSDs[,13]==max(bareSDs[,13]))}
+# Positionp6<-which(goodones[,14] %in% TRUE)
+# if (length(Positionp6)<1){Positionp6<-which(bareSDs[,14]==max(bareSDs[,14]))}
+# Positionp7<-which(goodones[,15] %in% TRUE)
+# if (length(Positionp7)<1){Positionp7<-which(bareSDs[,15]==max(bareSDs[,15]))}
+
+
+
+
+# Positionm7<-which(goodones[,1] %in% TRUE)
+# if (length(Positionm7)<1){Positionm7<-which(bareSDs[,1]==max(bareSDs[,1]))}
+# Positionm6<-which(goodones[,2] %in% TRUE)
+# if (length(Positionm6)<1){Positionm6<-which(bareSDs[,2]==max(bareSDs[,2]))}
+# Positionm5<-which(goodones[,3] %in% TRUE)
+# if (length(Positionm5)<1){Positionm5<-which(bareSDs[,3]==max(bareSDs[,3]))}
+# Positionm4<-which(goodones[,4] %in% TRUE)
+# if (length(Positionm4)<1){Positionm4<-which(bareSDs[,4]==max(bareSDs[,4]))}
+# Positionm3<-which(goodones[,5] %in% TRUE)
+# if (length(Positionm3)<1){Positionm3<-which(bareSDs[,5]==max(bareSDs[,5]))}
+# Positionm2<-which(goodones[,6] %in% TRUE)
+# if (length(Positionm2)<1){Positionm2<-which(bareSDs[,6]==max(bareSDs[,6]))}
+# Positionm1<-which(goodones[,7] %in% TRUE)
+# if (length(Positionm1)<1){Positionm1<-which(bareSDs[,7]==max(bareSDs[,7]))}
+# 
+# Positiond0<-which(goodones[,8] %in% TRUE)
+# if (length(Positiond0)<1){Positiond0<-which(bareSDs[,8]==max(bareSDs[,8]))}
+# 
+# Positionp1<-which(goodones[,9] %in% TRUE)
+# if (length(Positionp1)<1){Positionp1<-which(bareSDs[,9]==max(bareSDs[,9]))}
+# Positionp2<-which(goodones[,10] %in% TRUE)
+# if (length(Positionp2)<1){Positionp2<-which(bareSDs[,10]==max(bareSDs[,10]))}
+# Positionp3<-which(goodones[,11] %in% TRUE)
+# if (length(Positionp3)<1){Positionp3<-which(bareSDs[,11]==max(bareSDs[,11]))}
+# Positionp4<-which(goodones[,12] %in% TRUE)
+# if (length(Positionp4)<1){Positionp4<-which(bareSDs[,12]==max(bareSDs[,12]))}
+# Positionp5<-which(goodones[,13] %in% TRUE)
+# if (length(Positionp5)<1){Positionp5<-which(bareSDs[,13]==max(bareSDs[,13]))}
+# Positionp6<-which(goodones[,14] %in% TRUE)
+# if (length(Positionp6)<1){Positionp6<-which(bareSDs[,14]==max(bareSDs[,14]))}
+# Positionp7<-which(goodones[,15] %in% TRUE)
+# if (length(Positionp7)<1){Positionp7<-which(bareSDs[,15]==max(bareSDs[,15]))}
+
+match(c(bareSDs[,2][order(bareSDs[,2])[1:2]]),bareSDs[,2])
+
 Positionm7<-which(goodones[,1] %in% TRUE)
-if (length(Positionm7)<1){Positionm7<-which(bareSDs[,1]==max(bareSDs[,1]))}
+if (length(Positionm7)<3){Positionm7<-match(c(bareSDs[,1][order(bareSDs[,1])[19:20]]),bareSDs[,1])}
 Positionm6<-which(goodones[,2] %in% TRUE)
-if (length(Positionm6)<1){Positionm6<-which(bareSDs[,2]==max(bareSDs[,2]))}
+if (length(Positionm6)<3){Positionm6<-match(c(bareSDs[,2][order(bareSDs[,2])[19:20]]),bareSDs[,2])}
 Positionm5<-which(goodones[,3] %in% TRUE)
-if (length(Positionm5)<1){Positionm5<-which(bareSDs[,3]==max(bareSDs[,3]))}
+if (length(Positionm5)<3){Positionm5<-match(c(bareSDs[,3][order(bareSDs[,3])[19:20]]),bareSDs[,3])}
 Positionm4<-which(goodones[,4] %in% TRUE)
-if (length(Positionm4)<1){Positionm4<-which(bareSDs[,4]==max(bareSDs[,4]))}
+if (length(Positionm4)<3){Positionm4<-match(c(bareSDs[,4][order(bareSDs[,4])[19:20]]),bareSDs[,4])}
 Positionm3<-which(goodones[,5] %in% TRUE)
-if (length(Positionm3)<1){Positionm3<-which(bareSDs[,5]==max(bareSDs[,5]))}
+if (length(Positionm3)<3){Positionm3<-match(c(bareSDs[,5][order(bareSDs[,5])[19:20]]),bareSDs[,5])}
 Positionm2<-which(goodones[,6] %in% TRUE)
-if (length(Positionm2)<1){Positionm2<-which(bareSDs[,6]==max(bareSDs[,6]))}
+if (length(Positionm2)<3){Positionm2<-match(c(bareSDs[,6][order(bareSDs[,6])[19:20]]),bareSDs[,6])}
 Positionm1<-which(goodones[,7] %in% TRUE)
-if (length(Positionm1)<1){Positionm1<-which(bareSDs[,7]==max(bareSDs[,7]))}
+if (length(Positionm1)<3){Positionm1<-match(c(bareSDs[,7][order(bareSDs[,7])[19:20]]),bareSDs[,7])}
 
 Positiond0<-which(goodones[,8] %in% TRUE)
-if (length(Positiond0)<1){Positiond0<-which(bareSDs[,8]==max(bareSDs[,8]))}
+#if (length(Positiond0)<3){Positiond0<-bareSDs[,8][order(bareSDs[,8])[1:2]]}
 
 Positionp1<-which(goodones[,9] %in% TRUE)
-if (length(Positionp1)<1){Positionp1<-which(bareSDs[,9]==max(bareSDs[,9]))}
+if (length(Positionp1)<3){Positionp1<-match(c(bareSDs[,9][order(bareSDs[,9])[19:20]]),bareSDs[,9])}
 Positionp2<-which(goodones[,10] %in% TRUE)
-if (length(Positionp2)<1){Positionp2<-which(bareSDs[,10]==max(bareSDs[,10]))}
+if (length(Positionp2)<3){Positionp2<-match(c(bareSDs[,10][order(bareSDs[,10])[19:20]]),bareSDs[,10])}
 Positionp3<-which(goodones[,11] %in% TRUE)
-if (length(Positionp3)<1){Positionp3<-which(bareSDs[,11]==max(bareSDs[,11]))}
+if (length(Positionp3)<3){Positionp3<-match(c(bareSDs[,11][order(bareSDs[,11])[19:20]]),bareSDs[,11])}
 Positionp4<-which(goodones[,12] %in% TRUE)
-if (length(Positionp4)<1){Positionp4<-which(bareSDs[,12]==max(bareSDs[,12]))}
+if (length(Positionp4)<3){Positionp4<-match(c(bareSDs[,12][order(bareSDs[,12])[19:20]]),bareSDs[,12])}
 Positionp5<-which(goodones[,13] %in% TRUE)
-if (length(Positionp5)<1){Positionp5<-which(bareSDs[,13]==max(bareSDs[,13]))}
+if (length(Positionp5)<3){Positionp5<-match(c(bareSDs[,13][order(bareSDs[,13])[19:20]]),bareSDs[,13])}
 Positionp6<-which(goodones[,14] %in% TRUE)
-if (length(Positionp6)<1){Positionp6<-which(bareSDs[,14]==max(bareSDs[,14]))}
+if (length(Positionp6)<3){Positionp6<-match(c(bareSDs[,14][order(bareSDs[,14])[19:20]]),bareSDs[,14])}
 Positionp7<-which(goodones[,15] %in% TRUE)
-if (length(Positionp7)<1){Positionp7<-which(bareSDs[,15]==max(bareSDs[,15]))}
+if (length(Positionp7)<3){Positionp7<-match(c(bareSDs[,15][order(bareSDs[,15])[19:20]]),bareSDs[,15])}
+
 
 aa_props2 <- c("1"="A", "2"="C", "3"="D", "4"="E", "5"="F", "6"="G", "7"="H", "8"="I", "9"="K", "10"="L", "11"="M", "12"="N",
                "13"="P", "14"="Q", "15"="R", "16"="S", "17"="T", "18"="V", "19"="W", "20"="Y")
@@ -1714,66 +1778,79 @@
 AblThresh<-as.numeric(Abl[24,1])
 AblTrueThresh<-((AblThresh*AblNorm)/(100-AblThresh))
 AblActive<-unlist(AblGeneratedScores)>AblTrueThresh
+if (TodaysKinase=="ABL"){AblActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 ArgNorm<-1/as.numeric(Arg[22,1])
 ArgThresh<-as.numeric(Arg[24,1])
 ArgTrueThresh<-((ArgThresh*ArgNorm)/(100-ArgThresh))
 ArgActive<-unlist(ArgGeneratedScores)>ArgTrueThresh
+if (TodaysKinase=="ARG"){ArgActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 BtkNorm<-1/as.numeric(Btk[22,1])
 BtkThresh<-as.numeric(Btk[24,1])
 BtkTrueThresh<-((BtkThresh*BtkNorm)/(100-BtkThresh))
 BtkActive<-unlist(BtkGeneratedScores)>BtkTrueThresh
+if (TodaysKinase=="BTK"){BtkActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 CskNorm<-1/as.numeric(Csk[22,1])
 CskThresh<-as.numeric(Csk[24,1])
 CskTrueThresh<-((CskThresh*CskNorm)/(100-CskThresh))
 CskActive<-(CskGeneratedScores)>CskTrueThresh
+if (TodaysKinase=="CSK"){CskActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 FynNorm<-1/as.numeric(Fyn[22,1])
 FynThresh<-as.numeric(Fyn[24,1])
 FynTrueThresh<-((FynThresh*FynNorm)/(100-FynThresh))
 FynActive<-unlist(FynGeneratedScores)>FynTrueThresh
+if (TodaysKinase=="FYN"){FynActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 HckNorm<-1/as.numeric(Hck[22,1])
 HckThresh<-as.numeric(Hck[24,1])
 HckTrueThresh<-((HckThresh*HckNorm)/(100-HckThresh))
 HckActive<-unlist(HckGeneratedScores)>HckTrueThresh
+if (TodaysKinase=="HCK"){HckActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 JAK2Norm<-1/as.numeric(JAK2[22,1])
 JAK2Thresh<-as.numeric(JAK2[24,1])
 JAK2TrueThresh<-((JAK2Thresh*JAK2Norm)/(100-JAK2Thresh))
 JAk2Active<-unlist(JAK2GeneratedScores)>JAK2TrueThresh
+if (TodaysKinase=="JAK2"){JAk2Active<-rep(0,times=nrow(GeneratedPeptides))}
 
 LckNorm<-1/as.numeric(Lck[22,1])
 LckThresh<-as.numeric(Lck[24,1])
 LckTrueThresh<-((LckThresh*LckNorm)/(100-LckThresh))
 LckActive<-unlist(LckGeneratedScores)>LckTrueThresh
+if (TodaysKinase=="LCK"){LckActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 LynNorm<-1/as.numeric(Lyn[22,1])
 LynThresh<-as.numeric(Lyn[24,1])
 LynTrueThresh<-((LynThresh*LynNorm)/(100-LynThresh))
 LynActive<-unlist(LynGeneratedScores)>LynTrueThresh
+if (TodaysKinase=="LYN"){LynActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 Pyk2Norm<-1/as.numeric(Pyk2[22,1])
 Pyk2Thresh<-as.numeric(Pyk2[24,1])
 Pyk2TrueThresh<-((Pyk2Thresh*Pyk2Norm)/(100-Pyk2Thresh))
 Pyk2Active<-unlist(Pyk2GeneratedScores)>Pyk2TrueThresh
+if (TodaysKinase=="PYK2"){Pyk2Active<-rep(0,times=nrow(GeneratedPeptides))}
 
 SrcNorm<-1/as.numeric(Src[22,1])
 SrcThresh<-as.numeric(Src[24,1])
 SrcTrueThresh<-((SrcThresh*SrcNorm)/(100-SrcThresh))
 SrcActive<-unlist(SrcGeneratedScores)>SrcTrueThresh
+if (TodaysKinase=="SRC"){SrcActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 SykNorm<-1/as.numeric(Syk[22,1])
 SykThresh<-as.numeric(Syk[24,1])
 SykTrueThresh<-((SykThresh*SykNorm)/(100-SykThresh))
 SykActive<-unlist(SykGeneratedScores)>SykTrueThresh
+if (TodaysKinase=="SYK"){SykActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 YesNorm<-1/as.numeric(Yes[22,1])
 YesThresh<-as.numeric(Yes[24,1])
 YesTrueThresh<-((YesThresh*YesNorm)/(100-YesThresh))
 YesActive<-unlist(YesGeneratedScores)>YesTrueThresh
+if (TodaysKinase=="YES"){YesActive<-rep(0,times=nrow(GeneratedPeptides))}
 
 AllActive<-AblActive+ArgActive+BtkActive+CskActive+FynActive+HckActive+JAk2Active+LckActive+LynActive+Pyk2Active+SrcActive+SykActive+YesActive
 #Btkactive+
@@ -1884,23 +1961,24 @@
 
 #create the MCC table
 
-threshold<-c(1:100)
-threshold<-order(threshold,decreasing = TRUE)
+threshold<-c(1:100,(1:9)/10,(1:9)/100,0,-.1)
+threshold<-threshold[order(threshold,decreasing = TRUE)]
+threshold
 
-Truepositives<-c(1:100)
-Falsenegatives<-c(1:100)
-Sensitivity<-c(1:100)
-TrueNegatives<-c(1:100)
-FalsePositives<-c(1:100)
-Specificity<-c(1:100)
-Accuracy<-c(1:100)
-MCC<-c(1:100)
-EER<-c(1:100)
+Truepositives<-c(1:120)
+Falsenegatives<-c(1:120)
+Sensitivity<-c(1:120)
+TrueNegatives<-c(1:120)
+FalsePositives<-c(1:120)
+Specificity<-c(1:120)
+Accuracy<-c(1:120)
+MCC<-c(1:120)
+EER<-c(1:120)
 
 #MAKE DAMN SURE THAT THE ACCESSION NUMBERS FOLLOW THE MOTIFS
 
-for (z in 1:100) {
-  thres<-101-z
+for (z in 1:120) {
+  thres<-threshold[z]
   Truepositives[z]<-length(PositiveWeirdScores[PositiveWeirdScores>=(thres)])
   Falsenegatives[z]<-nrow(positivesubstrates)-Truepositives[z]
   Sensitivity[z]<-Truepositives[z]/(Falsenegatives[z]+Truepositives[z])
@@ -1909,10 +1987,10 @@
   FalsePositives[z]<-nrow(NegativeSubstrateList)-TrueNegatives[z]
   Specificity[z]<-1-(TrueNegatives[z]/(FalsePositives[z]+TrueNegatives[z]))
   Accuracy[z]<-100*(Truepositives[z]+TrueNegatives[z])/(Falsenegatives[z]+FalsePositives[z]+TrueNegatives[z]+Truepositives[z])
-  MCC[z]<-((Truepositives[z]+TrueNegatives[z])-(Falsenegatives[z]+FalsePositives[z]))/sqrt(round(round(Truepositives[z]+Falsenegatives[z])*round(TrueNegatives[z]+FalsePositives[z])*round(Truepositives[z]+FalsePositives[z])*round(TrueNegatives[z]+Falsenegatives[z])))
+  MCC[z]<-((Truepositives[z]*TrueNegatives[z])-(Falsenegatives[z]*FalsePositives[z]))/sqrt(round(round(Truepositives[z]+Falsenegatives[z])*round(TrueNegatives[z]+FalsePositives[z])*round(Truepositives[z]+FalsePositives[z])*round(TrueNegatives[z]+Falsenegatives[z])))
   EER[z]<-.01*(((1-(Sensitivity[z]))*(Truepositives[z]+Falsenegatives[z]))+(Specificity[z]*(1-(Truepositives[z]+Falsenegatives[z]))))
 }
-Characterization<-cbind.data.frame(threshold,Truepositives,Falsenegatives,Sensitivity,TrueNegatives,FalsePositives,Specificity,Accuracy,MCC,EER)
+Characterization<-cbind.data.frame(threshold,Truepositives,Falsenegatives,Sensitivity,TrueNegatives,FalsePositives,Specificity,MCC,EER)
 
 positiveheader<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,"RPMS","PMS")
 positivewithscores<-rbind.data.frame(positiveheader,positivewithscores)
@@ -1931,4 +2009,5 @@
 
 # header<-colnames(RanksPeptides)
 # RanksPeptides<-rbind.data.frame(header,RanksPeptides)
+write.table(x="Off Target Kinase activity (your kinase of interest should have zeros here because it is ON-target)",file = FILENAME3,append = FALSE,row.names = FALSE,col.names = TRUE,sep = ",")
 write.table(RanksPeptides,file = FILENAME3,append = FALSE,row.names = FALSE,col.names = TRUE,sep = ",")
--- a/kinatestid_r/kinatestid_r.xml	Thu Feb 08 15:49:05 2018 -0500
+++ b/kinatestid_r/kinatestid_r.xml	Wed Feb 28 14:09:19 2018 -0500
@@ -8,7 +8,7 @@
         ln -s '$substrates' input1 && 
         ln -s '$negatives' input2 && 
         ln -s '$SBF' input3 &&
-        Rscript '$__tool_directory__/Kinatest-R.R' &&
+        Rscript '$__tool_directory__/Kinatest-R.R' outGroup &&
         mv output1 output1.csv &&
         mv output2 output2.csv &&
         mv output3 output3.csv
@@ -17,11 +17,12 @@
         <param format="csv" name="substrates" type="data" label="Positive/Phosphorylated Substrate List"/>
         <param format="csv" name="negatives" type="data" label="Negative/unPhosphorylated Substrate List"/>
         <param format="csv" name="SBF" type="data" label="Substrate Background Frequency List"/>
+		<param name="outGroup" type="text" value="kinase" label="Kinase Name"/>
     </inputs>      
     <outputs>
-        <data format="csv" name="SDtable" from_work_dir="output1.csv" label="Standard Deviation Table"/>
-        <data format="csv" name="EPM" from_work_dir="output2.csv" label="Endogenous Probability Matrix"/>
-        <data format="csv" name="Characterization" from_work_dir="output3.csv" label="Characterization Table"/>
+        <data format="csv" name="SDtable" from_work_dir="output1.csv" label="${outGroup}_Standard Deviation Table"/>
+        <data format="csv" name="EPM" from_work_dir="output2.csv" label="${outGroup}_Characterization Table"/>
+        <data format="csv" name="Characterization" from_work_dir="output3.csv" label="${outGroup}_Generated Sequences"/>
     </outputs>
     <tests>
         <test>
@@ -36,7 +37,24 @@
 
     
     <help><![CDATA[
+Important!
+**Please write the name of your kinase in ALL CAPS so the R script can recognize it!  Thank you!**
+**If your kinase is one of the following kinases, please use this form of its name:  ABL, ARG, BTK, CSK, FYN, HCK, JAK2, LCK, LYN, PYK2, SRC, SYK, YES, FLT3**
+**So for example if your kinase is ARG please use ARG and not ABL2**
+	
 This tool is intended for use in conjunction with KinaMine.jar and Negative Motif Finder.  Using the outputs from those two functions (The Positive and Negative substrates as well as the Substrate Background Frequency) this tool calculates optimal substrates
+
+===========
+Formatting
+===========
+**Positive Substrates**
+The Positive Substrates file should be formatted such that accession numbers are in the third column, the indibidual amino acids of the phosphorylated motif takes up columns 4 to 18, with the phosphorylated Tyrosine in column 11 and the phosphorylated Tyrosine marked as xY instead of simply Y.  The list of motifs and accession numbers should start on the second row and not the first.
+
+**Negative Substrates**
+This file should be formatted such that accession numbers are in the first column, the entire motifs are in the second column, and the list of accession numbers plus motifs should start on the second row
+
+**Substrate Background Frequency list**
+Accession numbers and percentages starting on row 2.  Accession numbers in column 1, A-Y amino acids in columns 2-21, number of Y in column 34, number of pY in column 35.
     ]]></help>
     <citations>
         <citation type="doi">10.1021/ja507164a</citation>
--- a/kinatestid_r/screener7-7.csv	Thu Feb 08 15:49:05 2018 -0500
+++ b/kinatestid_r/screener7-7.csv	Wed Feb 28 14:09:19 2018 -0500
@@ -1,74 +1,74 @@
 Amino Acid,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,Abl
-A,1,1,0.882322561,0.946431352,1.267758769,1.089980567,0.849406684,0,1.983180862,1.248128878,0.226122254,0.685178519,1,1,1,
-C,1,1,0.009604626,0.009015706,0.742749396,0.997377969,0.007640366,0,0.63304489,1.858200501,0.012268107,1.92009365,1,1,1,
-D,1,1,1.431703724,1.637464053,2.605079343,0.770520959,1.328600707,0,2.148130938,0.5957361,0.176594551,0.332519791,1,1,1,
-E,1,1,0.643983264,1.989447239,2.094100346,1.439507752,1.245765716,0,1.24627458,0.468097263,0.000848801,0.725553316,1,1,1,
-F,1,1,0.497001165,0.3379037,0.411572204,0.296542087,2.060804142,0,0.005820098,0.531995278,2.357742596,0.438745823,1,1,1,
-G,1,1,0.893453251,1.528088747,0.67390472,1.762542109,0.335648512,0,1.013042344,0.800811003,0.003981392,1.313121648,1,1,1,
-H,1,1,0.007832281,1.127242108,2.091972175,1.320938614,1.865005518,0,0.696245424,0.649606912,0.00730737,0.615276036,1,1,1,
-I,1,1,0.881063052,0.167205137,1.184813256,2.035674575,9.807795409,0,1.654479752,0.950940898,1.507303461,0.722455635,1,1,1,
-K,1,1,0.947921128,0.179766965,1.205417608,0.829787272,0.346855573,0,0.473066457,0.370489984,0.377025864,0.864435576,1,1,1,
-L,1,1,0.500899691,0.262736557,0.121229505,0.303230844,1.077236813,0,0.809602792,0.382513407,0.718680068,1.105911199,1,1,1,
-M,1,1,2.478037279,0.993521392,1.241173771,0.538634574,0.008436542,0,1.208456381,0.008168982,1.117390063,0.646024916,1,1,1,
-N,1,1,1.615827052,1.179411378,0.744890739,1.439814286,0.551625197,0,0.7261286,1.289433753,0.196816516,0.004444734,1,1,1,
-P,1,1,1.763222042,1.350550742,2.12505232,1.096484314,0.600847155,0,0.097493956,1.817626621,15.1017903,2.066452756,1,1,1,
-Q,1,1,1.215052286,0.530735921,0.747268713,0.003547182,0.595958957,0,2.457274164,1.724106317,0.284965727,0.999253879,1,1,1,
-R,1,1,0.927974325,0.678582936,0.212622438,0.67541443,0.422441115,0,1.268478795,1.252943286,0.002905196,1.263432811,1,1,1,
-S,1,1,1.089114937,1.168382233,0.988930826,1.549280904,0.123768289,0,0.561910123,1.64939594,0.794937114,0.852167102,1,1,1,
-T,1,1,1.318701224,1.079684538,0.783764874,0.324638108,0.646699246,0,0.934807562,2.570822141,0.732168201,0.828210681,1,1,1,
-V,1,1,0.588885966,0.475177842,2.217365652,2.992336523,5.02600581,0,0.604585498,0.606232586,1.78752705,1.267711545,1,1,1,
-W,1,1,1.389710835,0.015370202,0.020295574,0.018497672,0.846222832,0,0.024623679,0.014549452,2.690111916,1.570439269,1,1,1,
-Y,1,1,0.006900535,0.342484705,0.417151943,0.004117292,1.253245644,677.8566817,0.430627113,1.078415219,0.010911903,0.444693959,1,1,1,
+A,1.141092292,1.252907868,1.191434599,1.188212023,1.11003241,1.246224821,0.712752276,4.63E-06,1.932538727,1.176325221,0.875432956,0.962064616,0.773214895,0.995600019,0.792751136,
+C,0.297584,0.762403229,0.914633176,0.841081942,0.762403229,0.783398843,0.58861289,2.29E-05,1.042515919,1.208910299,0.531154015,1.334764597,0.985183393,0.82219731,1.002911629,
+D,1.412523157,1.503938163,1.65046155,1.675095304,1.958252816,1.551036155,1.388499336,6.60E-06,0.94414764,0.819751155,0.12733309,0.644535082,0.991944063,0.709576725,0.697238684,
+E,0.713757649,1.181227064,1.248619518,1.173971536,1.976283741,1.393623191,1.227645926,4.78E-06,0.926104788,0.909495968,0.230792977,0.586599944,0.684918956,0.628768593,0.470639684,
+F,0.894539082,0.748338988,0.678421446,0.916854876,0.795110175,0.415570778,0.859409971,9.85E-06,0.779306846,1.075364616,1.539628507,1.146374131,0.799125882,0.735574249,0.681909474,
+G,1.176676384,0.954434822,1.066304513,1.424321117,1.280339395,1.221325491,0.595487419,4.90E-06,1.865104209,0.756703305,0.870367732,1.293975641,1.228314585,1.098327357,1.089649912,
+H,1.997402571,1.000374152,1.58617263,1.097080815,1.192753797,1.009318238,2.578421304,1.62E-05,1.364021946,1.006659065,0.813101932,1.414582759,1.469469568,1.210228112,1.062885173,
+I,0.988398967,0.620144076,0.973171532,0.8390971,0.844084992,1.020388256,3.264582628,7.25E-06,0.696189059,1.106253027,1.204123634,0.85951787,0.640589342,1.018652536,0.370120265,
+K,0.669287351,0.556720292,0.527019051,0.449763522,0.300628958,0.207284601,0.064185784,4.69E-06,0.671039696,0.326624025,0.533951228,1.003908723,1.510736428,1.414902568,2.170178704,
+L,0.839940831,0.922246591,0.880085062,0.981550259,0.634044531,0.634085382,1.349870963,4.04E-06,0.606216945,0.693101076,1.538241708,0.857760324,0.627591522,0.870254818,0.530765953,
+M,0.760904105,0.905087148,0.637816676,0.66172158,0.661409839,0.736434917,0.627102998,1.47E-05,0.789822075,0.63478147,0.679064181,0.670393334,0.489816005,0.61317325,0.641095939,
+N,1.344461327,1.207804111,1.09282418,1.19578616,1.453838282,1.589861684,1.208775991,9.42E-06,0.697778622,1.418639623,0.945341271,1.096429538,1.213904132,1.013079107,0.9954638,
+P,1.177253197,0.989406853,1.047729698,0.777329852,0.654285177,1.053307412,0.379471342,6.72E-06,0.022629526,0.936255322,2.633066293,0.866093682,1.090636489,1.325150713,1.175571888,
+Q,1.055028624,1.428706685,1.53289453,0.986320541,1.409399838,1.486723008,1.154705589,8.13E-06,1.587930849,1.546009242,0.580624841,1.453448891,1.183665742,1.190270175,1.451884828,
+R,0.23114842,0.197398944,0.279870881,0.167515522,0.042299774,0.035794422,0.030480344,5.94E-06,1.029713138,0.301828266,0.607400563,1.098491631,1.72887863,1.596604736,1.839333348,
+S,1.238337917,1.175941697,0.991260956,1.54261904,1.249438053,1.451175393,0.247146467,5.16E-06,1.415677733,1.699542231,1.135015884,1.29744777,1.144947022,1.186706706,1.27834536,
+T,1.497448153,1.395064382,1.191819252,1.045752952,1.013082468,1.264837658,0.945418017,6.99E-06,0.57699664,1.527398321,1.282392889,1.192116705,1.068274409,0.856716114,0.917576316,
+V,1.174873487,1.381211351,0.915186655,0.774038465,0.873029816,1.245977013,1.999934145,5.49E-06,0.748344433,1.384326163,1.270919521,0.866877682,0.628613056,0.672165541,0.719915467,
+W,0.243928566,0.178554076,0.68156511,0.106066451,0.267831113,0.151093952,0.514649526,3.76E-05,0.379798515,0.495469776,1.233591091,0.781501343,0.358911728,0.336976132,0.959097021,
+Y,0.58250686,0.692885567,0.895175983,1.203122999,0.772833902,0.586325562,0.979355038,31.81943721,1.114814012,1.204321329,1.472921532,0.909793293,0.937441332,0.771177087,0.736182352,
 Normalize Factor,,,,,,,,,,,,,,,,
 0.072093023,,,,,,,,,,,,,,,,
 Threshold,,,,,,,,,,,,,,,,
 56,,,,,,,,,,,,,,,,
 Amino Acid,,,-5,-4,-3,-2,-1,0,1,2,3,4,,,,
-A,1,1,0.943094978,1.501384107,1.95135657,1.880160203,0.073038604,0,1.338932042,1.229900149,0.075951271,0.063813178,1,1,1,Arg
-C,1,1,0.218421841,2.659957114,0.134966466,3.894705692,0.204796443,0,3.601559506,0.265189109,0.297715434,0.236145846,1,1,1,
-D,1,1,3.221368524,3.46570699,1.632661257,0.091767791,0.111076842,0,2.351303857,1.01810513,0.747194926,2.713123437,1,1,1,
-E,1,1,0.074069921,2.323155165,3.38088485,1.190296131,0.095487211,0,0.90830603,0.882663695,0.506328757,0.915744205,1,1,1,
-F,1,1,0.11911299,0.102411767,2.157136787,0.101526802,0.143188264,0,0.128628653,1.908695899,2.223303906,0.174281004,1,1,1,
-G,1,1,1.685622529,0.694699429,0.03921412,3.013734957,0.800499624,0,1.041247934,0.737769895,0.070805422,6.003019282,1,1,1,
-H,1,1,0.196014995,0.1697973,0.212485913,0.163795158,0.190485555,0,2.645948806,0.172270587,0.156995244,3.84815868,1,1,1,
-I,1,1,1.508289663,0.065177198,1.559508344,2.933058204,2.764966898,0,0.054804971,0.108136152,1.645039272,0.144904016,1,1,1,
-K,1,1,0.089214088,0.060880995,1.160673525,0.059748979,1.28191666,0,1.7991125,1.104219033,0.047129496,1.581213152,1,1,1,
-L,1,1,0.766134776,0.550490812,0.042706744,0.521090197,0.922278598,0,0.488097183,0.515508197,0.838542183,2.525765703,1,1,1,
-M,1,1,0.183007686,0.215571796,0.234226123,0.186724251,0.180862087,0,0.186984606,0.176222704,0.167007548,0.233359192,1,1,1,
-N,1,1,1.60882355,2.037002384,0.111833718,0.103920626,2.114804742,0,1.278246059,1.449706467,0.106007904,0.134726637,1,1,1,
-P,1,1,1.898982629,1.020370128,1.957193478,0.620632498,1.471814965,0,0.320897039,0.930181861,12.93638863,0.636420888,1,1,1,
-Q,1,1,0.115081151,0.077781018,1.822560872,0.086034572,0.107745105,0,1.317326295,3.360211597,0.053618813,0.152884364,1,1,1,
-R,1,1,0.080322909,0.840272359,1.142684789,0.804560624,1.761724878,0,0.056416598,2.031498393,0.044445059,0.099521147,1,1,1,
-S,1,1,1.701844849,1.295324423,1.051598065,1.896612309,0.049865058,0,1.753858348,2.066234396,0.072489528,0.91997117,1,1,1,
-T,1,1,2.53639453,1.148008316,0.054364793,0.074365971,1.280048125,0,0.07442302,2.361957309,0.109260498,0.108511711,1,1,1,
-V,1,1,0.906972084,0.792966751,1.049307131,1.979870741,7.437472497,0,0.738343688,0.088215149,1.932584874,4.036264909,1,1,1,
-W,1,1,0.467574504,0.374753154,0.404391897,0.393830856,0.240722056,0,0.378170018,0.258955748,5.286577276,0.52712616,1,1,1,
-Y,1,1,0.134994722,0.11606667,2.444755025,0.115063709,0.162280033,700,0.14577914,0.135199293,0.157484027,0.197518471,1,1,1,
+A,1.009231339,1.394228537,0.986803975,1.085283395,1.236762726,1.222676115,0.767569945,1.71E-05,2.031174242,1.219024597,0.742440294,0.930534476,0.757461474,1.102090396,0.734538298,Arg
+C,0.002231235,0.759502716,0.959927044,0.56305293,0.813114673,1.061818742,0.655893212,9.30E-05,1.282872338,1.31064628,0.629132939,0.97482013,1.146181545,1.025006844,0.545642741,
+D,1.485517171,1.915392103,1.245004867,1.825669052,1.75765393,1.61711526,1.506411583,2.51E-05,0.844927897,0.543017293,0.048569761,0.579480404,0.898137839,0.633053322,0.589739148,
+E,0.774985942,0.749436955,1.326087057,1.305638231,1.627600729,1.257295629,1.18114109,1.84E-05,1.012696248,0.741478333,0.283791991,0.461712358,0.701214478,0.63575118,0.430729029,
+F,1.127791299,0.623206495,0.551364635,0.693015776,1.239081148,0.277222442,0.740011508,3.82E-05,0.953968643,1.326381965,1.58557023,1.159832115,0.705370535,0.540684448,0.522345444,
+G,1.485981057,1.159678295,0.955894247,1.541890517,1.179846614,1.307278836,0.685794592,1.85E-05,1.836381524,0.870093373,0.948684642,1.572574118,1.438121494,1.195677889,1.15914755,
+H,2.163822979,1.046244078,1.983504398,1.551253948,1.200103501,0.930806533,2.258795044,6.41E-05,1.104503609,1.023097085,0.742846901,1.074281648,1.499963525,1.815410805,1.002191696,
+I,0.800725258,0.368727487,1.062549707,0.779058848,0.642887218,1.096603785,3.295715143,2.71E-05,0.864156924,1.348955247,1.335186683,0.965452336,0.701132564,0.59715104,0.317881907,
+K,0.646095752,0.694217658,0.596641509,0.360257962,0.339758289,0.158816833,0.029975709,1.70E-05,0.55698484,0.303489843,0.624344515,1.033591198,1.361956035,1.472270922,1.994962321,
+L,1.137652042,0.862860416,0.916070141,1.055466325,0.71262119,0.838938936,1.453044657,1.59E-05,0.614863121,0.67005311,1.562237395,0.830609639,0.527375135,0.898325441,0.433927962,
+M,0.706137032,1.062223228,0.575370915,0.674976878,0.556997726,0.52072675,0.491419999,5.58E-05,0.961176471,0.628470886,0.538708789,0.584297685,0.343505024,0.614379113,0.654105883,
+N,0.909542333,0.586371614,1.778660562,1.032420082,1.569406378,1.602285003,1.202653049,3.59E-05,0.990437436,1.382902965,1.283688702,0.978388743,1.238868053,0.904403675,0.982943995,
+P,1.025911358,0.88185787,1.114570364,0.694620227,0.606925711,1.008717313,0.404577143,2.70E-05,0.023274091,1.09061626,2.295812037,0.707414194,1.197747257,1.105124852,1.267090519,
+Q,1.063388524,1.199720386,1.429666794,1.048228199,1.572742691,1.666371403,1.02680695,3.15E-05,1.411272009,1.626675239,0.608440768,1.484844343,0.892329342,1.090423826,1.846937963,
+R,0.184652201,0.238086355,0.361097638,0.165472441,0.081929716,0.022694684,0.019275675,2.19E-05,0.659778166,0.328685587,0.549394325,1.260531246,1.913278528,1.54920067,1.924270306,
+S,0.77937025,1.172386018,1.016067882,1.583079286,1.203912364,1.596475373,0.235033496,2.05E-05,1.219988698,1.714855401,1.109879091,1.289789977,1.213215381,1.291611714,1.885073307,
+T,1.239688172,1.380458624,1.212139546,1.050326435,1.166765338,1.191208746,0.964692101,2.67E-05,0.713324053,1.303945081,1.212282842,1.398801887,0.921028692,0.882489885,0.887355744,
+V,1.500459491,1.820854956,0.949310318,0.822583279,1.044313872,1.214962927,1.879579149,2.09E-05,0.828969567,1.512175728,1.353432136,0.920218747,0.669798325,0.724050243,0.531432092,
+W,0.638624639,0.00150811,0.624432981,0.000466225,0.188904095,0.000219246,0.533323542,0.000151267,0.651960189,0.426288002,0.876966995,0.63412094,0.372795809,0.952524886,0.000778379,
+Y,0.883654697,0.797555008,0.69121434,1.01359333,0.679597293,0.260653452,1.180722005,31.10464532,1.082528259,0.983079814,1.739271455,0.701938399,1.031663195,0.658996723,0.654834638,
 Normalize Factor,,,,,,,,,,,,,,,,
 0.102912621,,,,,,,,,,,,,,,,
 Threshold,,,,,,,,,,,,,,,,
 82,,,,,,,,,,,,,,,,
 Amino Acid,,,-5,-4,-3,-2,-1,0,1,2,3,4,,,,
-A,1,1,0.044381874,0.808018927,0.042483655,4.727446696,1.629763579,0,0.053933999,0.040586868,0.043147817,1.093373169,1,1,1,BTK
-C,1,1,0.171255268,0.132254167,0.108681486,0.151433639,0.114820242,0,0.153840144,0.237765702,6.234953474,0.200351026,1,1,1,
-D,1,1,1.652345758,0.897457099,2.105928553,3.50926934,1.006061286,0,6.214753725,1.195408042,0.034012814,0.046222325,1,1,1,
-E,1,1,0.901452164,1.847279376,1.653848553,0.554411504,0.578481321,0,0.575082552,2.47311858,0.409034889,1.389136379,1,1,1,
-F,1,1,1.341323276,0.057140029,0.066603758,1.180704853,0.059154462,0,0.050268526,1.27238898,0.044637618,0.065969889,1,1,1,
-G,1,1,0.030746937,0.617814078,0.564148285,0.0320781,0.821258494,0,0.804444745,0.032001962,2.866357582,0.03900623,1,1,1,
-H,1,1,4.175782342,0.109106933,0.101716337,0.062485155,0.087229512,0,0.053189077,0.120027584,2.637047896,0.116822108,1,1,1,
-I,1,1,0.083361157,1.042578865,1.832995717,0.054752111,11.29933017,0,1.221579932,5.70331886,1.250779759,0.08583019,1,1,1,
-K,1,1,2.096189542,0.035020638,1.029018438,0.88988126,0.026530439,0,0.012000432,0.905110186,0.016221358,0.044438289,1,1,1,
-L,1,1,0.849037162,0.523047957,4.404301347,0.444994187,11.15724937,0,1.291778579,0.045056222,0.810074856,3.714668232,1,1,1,
-M,1,1,0.091780034,0.105701851,0.103458173,0.104446754,1.854948496,0,0.073319874,0.109965726,1.440974591,0.116127339,1,1,1,
-N,1,1,1.712635901,0.040286136,2.498918299,0.049694317,0.058867286,0,0.037374922,0.079319721,1.361328437,1.645818343,1,1,1,
-P,1,1,0.03653949,0.942093268,0.827398564,1.049542676,0.037298892,0,0.697185973,1.805176031,2.238843771,1.758510603,1,1,1,
-Q,1,1,2.316251784,0.881964642,0.048176891,0.900307183,0.701946744,0,0.032716791,0.828852753,0.871885325,1.679944797,1,1,1,
-R,1,1,1.251223129,0.77474441,0.85383986,1.312850727,0.036271896,0,0.360782415,0.040627655,0.023960853,3.139336976,1,1,1,
-S,1,1,1.551900463,2.396951692,0.984862248,1.372278563,0.520245562,0,0.697043056,5.38653068,1.345252626,2.723345561,1,1,1,
-T,1,1,2.122625315,0.048045775,0.044705684,0.033108315,0.061613885,0,0.917167653,2.144376213,0.055180668,1.975319482,1,1,1,
-V,1,1,2.004585911,3.317768149,2.119212322,0.796847499,0.096197128,0,3.735447746,3.920519199,1.183701952,3.129626917,1,1,1,
-W,1,1,0.194449125,3.210845759,0.170632689,0.138140512,0.133735449,0,0.239681249,0.167541039,0.066972821,0.178386603,1,1,1,
-Y,1,1,0.062989876,0.056350406,1.379350437,0.055447075,0.058337001,527.638191,1.041051068,2.509611431,0.924436086,0.065058245,1,1,1,
+A,0.393157175,1.226183269,1.104857755,1.094585317,0.872617145,0.86003132,0.543893325,0.000209969,2.203830259,0.832288375,0.852923624,1.003369874,1.043900086,1.298160484,0.819077448,BTK
+C,0.014079146,1.366095326,2.014242744,0.391976216,0.673051844,2.012144574,0.81803732,0.001052671,1.077934593,1.669060016,2.280588892,0.718623062,0.475778027,0.650828434,2.463850499,
+D,2.258525297,1.391390722,2.436203281,2.395405618,2.31361128,2.415367332,0.416592281,0.000268041,1.372367802,1.416637731,0.290352196,1.006403055,1.090322557,0.994319313,0.627368138,
+E,0.738119849,2.046272847,1.508566114,1.54124457,2.142347853,1.453173452,0.510557207,0.000197099,1.866924226,1.614637169,0.266882177,0.807318584,1.33625145,0.487437636,0.615099874,
+F,0.804284114,0.557424634,0.410948088,1.279542909,2.1970688,0.3518743,2.002762815,0.000429534,0.87968575,0.567539194,1.512187075,1.026300042,1.164825269,0.796696528,0.335118381,
+G,1.134048666,0.13099572,1.352028823,1.127605207,0.77447226,1.433311508,0.261473671,0.000201882,1.55045716,1.013632208,0.820076514,0.826910485,1.186188834,0.998533416,1.102547314,
+H,2.115525164,0.004838962,2.161850532,0.280467351,0.722374446,0.205676058,1.755969504,0.000753208,0.192821304,0.199041346,0.407952511,0.771285216,0.002347789,1.397044919,1.175291758,
+I,0.851257178,0.98330037,0.869897846,0.902848522,0.775128487,0.413805572,3.768411221,0.00030308,1.396593807,1.361553819,0.98492566,0.620708359,0.273967827,0.562150966,0.002815004,
+K,0.34028708,0.001167537,0.260803966,0.135341452,0.058097794,0.000206772,0.000186068,0.000181733,0.093047248,0.144073159,1.279591913,1.736881971,1.807041735,1.235948357,1.843221684,
+L,0.743395658,0.644030892,0.759674395,1.034840547,0.571145445,0.433647467,3.188080195,0.000198508,0.558998688,1.101604453,0.967643109,0.677574168,0.62804116,1.350034568,0.154874095,
+M,0.574549326,1.592810011,0.587130698,0.228513936,0.392375149,0.837884433,0.158966217,0.000613685,0.471309994,0.324342361,0.498575861,0.209471108,0.001912887,0.003579428,0.478791105,
+N,2.639862234,1.56823499,0.96345337,2.399874758,1.416511443,2.089890935,0.626054285,0.000402811,0.618717711,1.277352694,0.87268173,0.549971299,0.182059464,0.249043607,1.257077254,
+P,1.487725952,1.443536072,1.520303892,0.710051022,0.812806374,1.041408166,0.987897075,0.000317813,0.000317813,0.755860766,0.774601115,0.759360121,0.287285011,1.375444748,1.735680277,
+Q,0.729848426,0.758753314,0.932288136,0.72570156,2.242948822,2.022288348,0.605803042,0.000389781,1.496759468,1.648044833,0.738896134,1.197407574,1.409362478,0.963950752,2.128724576,
+R,0.219971193,0.304910565,0.11239404,0.000497094,0.000366401,0.000267326,0.00024056,0.000234955,0.360890239,0.248354573,1.590700777,1.523758786,1.805280826,1.743167945,1.833093276,
+S,0.877378109,1.368188635,0.784516922,1.221350208,1.123471968,2.175166561,0.303441045,0.000234285,1.319494421,1.795441089,0.888254697,1.359479101,0.953014153,1.013951116,1.462296848,
+T,1.42713365,1.384743541,1.020869326,1.135219949,0.974627858,1.248741944,1.342520983,0.000304869,0.468278229,1.530715931,1.155860311,1.144680115,1.377922145,1.31942545,0.951422433,
+V,1.751008793,1.66865937,0.894676026,0.783476946,0.672643622,0.57454976,1.513965112,0.000233785,1.196978667,0.988472706,2.27920566,1.117180089,0.422657295,0.722704101,0.547190248,
+W,1.727102004,0.011851499,0.882460878,0.003902929,0.002876791,0.002098909,0.955708619,0.001844744,0.472254454,0.974976938,0.99914992,0.003279545,0.833773381,0.010759802,0.017133948,
+Y,0.441172985,1.22305382,0.450833707,1.228265697,1.054511038,0.257350908,0.976509374,30.88210896,0.603166191,0.124524633,0.765672123,0.804221588,1.490860433,0.874021952,0.367644154,
 Normalize Factor,,,,,,,,,,,,,,,,
 0.078014184,,,,,,,,,,,,,,,,
 Threshold,,,,,,,,,,,,,,,,