2 # -*- coding: utf-8 -*-
11 stepSize
= 1.0*intervalLength
/ (n
-1)
16 for i
in range(1,n
-1):
17 interval
[i
] = a
+(i
*stepSize
)
25 intervalSize
= 1.0*(b
-a
)/(n
-1)
29 for i
in range(1,n
-1):
30 interval
[i
] = 10**(a
+i
*intervalSize
)
35 return math
.log(x
)/math
.log(10)
37 class Plf
: #means piecewise linear function
48 def convert2SWIG(self
):
49 ps
= QPalmaDP
.penalty_struct()
51 ps
.len = len(self
.limits
)
53 ps
.limits
= QPalmaDP
.createDoubleArrayFromList(self
.limits
)
54 ps
.penalties
= QPalmaDP
.createDoubleArrayFromList(self
.penalties
)
56 ps
.max_len
= self
.max_len
57 ps
.min_len
= self
.min_len
66 h
.len = int(model
.intron_len_bins
)
67 h
.limits
= model
.intron_len_limits
68 h
.penalties
= model
.intron_len_penalties
70 h
.max_len
= int(max_intron_len
)
71 h
.min_len
= int(min_intron_len
)
72 h
.transform
= model
.intron_len_transform
75 d
.len = int(model
.donor_bins
)
76 d
.limits
= model
.donor_limits
77 d
.penalties
= model
.donor_penalties
83 a
.len = int(model
.acceptor_bins
)
84 a
.limits
= model
.acceptor_limits
85 a
.penalties
= model
.acceptor_penalties
90 mmatrix
= model
.substitution_matrix
93 def set_param_palma(param
, train_with_intronlengthinformation
,\
94 min_intron_len
=None, max_intron_len
=None, min_svm_score
=None, max_svm_score
=None):
96 print 'Setting parameters ...'
98 if min_intron_len
== None:
99 if train_with_intronlengthinformation
:
106 if min_intron_len
!= None and max_intron_len
!= None:
117 h
.limits
= logspace(math
.log(min_intron_len
,10),math
.log(max_intron_len
,10),30)
118 h
.penalties
= param
[0:30].flatten().tolist()[0]
132 d
.limits
= linspace(min_svm_score
,max_svm_score
,30)
133 d
.penalties
= param
[30:60].flatten().tolist()[0]
147 a
.limits
= linspace(min_svm_score
,max_svm_score
,30)
148 a
.penalties
= param
[60:90].flatten().tolist()[0]
162 mmatrix
= numpy
.matlib
.mat(param
[90:126])
167 if __name__
== '__main__':
170 #print logspace(math.log(min_intron_len,10),math.log(max_intron_len,10),30)
174 print linspace(min_svm_score
,max_svm_score
,30)