+ minor fixes
[qpalma.git] / qpalma / computeSpliceWeights.py
index 7fc8667..1bfb21e 100644 (file)
@@ -46,14 +46,21 @@ def calculateWeights(plf, scores):
 
    return currentWeight
 
-def computeSpliceWeights(d, a, h, SpliceAlign, don_supp, acc_supp):
+def computeSpliceWeights(d, a, h, SpliceAlign, don_supp, acc_supp,dec=False):
    ####################################################################################
    # 1. Donor: In don_supp stehen Werte der SVM., in SpliceAlign die Einsen
    ####################################################################################
 
    # Picke die Positionen raus, an denen eine Donorstelle ist
-   DonorScores = [elem for pos,elem in enumerate(don_supp) if SpliceAlign[pos] == 1]
-   assert not ( -inf in DonorScores )
+   try:
+      #if dec:
+      DonorScores = [elem for pos,elem in enumerate(don_supp) if SpliceAlign[pos] == 1]
+      #else:
+      #   DonorScores = [elem for pos,elem in enumerate(don_supp) if pos > 0 and SpliceAlign[pos-1] == 1]
+      assert not ( -inf in DonorScores )
+   except:
+      print 'Error'
+      pdb.set_trace()
 
    #print 'donor'
    weightDon = calculateWeights(d,DonorScores)
@@ -63,8 +70,16 @@ def computeSpliceWeights(d, a, h, SpliceAlign, don_supp, acc_supp):
    ####################################################################################
 
    #Den Vektor Acceptorstellen durchgehen und die Gewichtsvektoren belasten:
-   AcceptorScores = [elem for pos,elem in enumerate(acc_supp) if pos > 0 and SpliceAlign[pos-1] == 2]
-   assert not ( -inf in AcceptorScores )
+   try:
+      #if dec:
+      #AcceptorScores = [elem for pos,elem in enumerate(acc_supp) if pos > 0 and SpliceAlign[pos-1] == 2]
+      AcceptorScores = [elem for pos,elem in enumerate(acc_supp) if pos > 0 and SpliceAlign[pos-1] == 2]
+      #else:
+      #   AcceptorScores = [elem for pos,elem in enumerate(acc_supp) if pos > 0 and SpliceAlign[pos] == 2]
+      assert not ( -inf in AcceptorScores )
+   except:
+      print 'Error'
+      pdb.set_trace()
 
    #print 'acceptor'
    weightAcc = calculateWeights(a,AcceptorScores)