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
.limits
= QPalmaDP
.createDoubleArrayFromList(self
.limits
)
52 ps
.penalties
= QPalmaDP
.createDoubleArrayFromList([elem
[0] for elem
in self
.penalties
.tolist()])
54 ps
.max_len
= self
.max_len
55 ps
.min_len
= self
.min_len
64 h
.len = int(model
.intron_len_bins
)
65 h
.limits
= model
.intron_len_limits
66 h
.penalties
= model
.intron_len_penalties
68 h
.max_len
= int(max_intron_len
)
69 h
.min_len
= int(min_intron_len
)
70 h
.transform
= model
.intron_len_transform
73 d
.len = int(model
.donor_bins
)
74 d
.limits
= model
.donor_limits
75 d
.penalties
= model
.donor_penalties
81 a
.len = int(model
.acceptor_bins
)
82 a
.limits
= model
.acceptor_limits
83 a
.penalties
= model
.acceptor_penalties
88 mmatrix
= model
.substitution_matrix
91 def set_param_palma(param
, train_with_intronlengthinformation
,\
92 min_intron_len
=None, max_intron_len
=None, min_svm_score
=None, max_svm_score
=None):
94 print 'Setting parameters ...'
96 if min_intron_len
== None:
97 if train_with_intronlengthinformation
:
104 if min_intron_len
!= None and max_intron_len
!= None:
115 h
.limits
= logspace(math
.log(min_intron_len
,10),math
.log(max_intron_len
,10),30)
116 h
.penalties
= param
[0:30]
130 d
.limits
= linspace(min_svm_score
,max_svm_score
,30)
131 d
.penalties
= param
[30:60]
145 a
.limits
= linspace(min_svm_score
,max_svm_score
,30)
146 a
.penalties
= param
[60:90]
160 mmatrix
= numpy
.matlib
.mat(param
[90:126])
165 if __name__
== '__main__':
168 #print logspace(math.log(min_intron_len,10),math.log(max_intron_len,10),30)
172 print linspace(min_svm_score
,max_svm_score
,30)