예제 #1
0
 def load(self, handler):
     # type: (BinaryIO) -> None
     for s in handler.readlines():
         s = s.split()
         if len(s) == 0:
             continue
         if s[0] == "mat":
             self.sMatch[basic.letterToIndex(
                 s[1])] = -math.log10(float(s[2]))
         elif s[0] == "mis":
             self.sMM[basic.letterToIndex(s[1][0])][basic.letterToIndex(
                 s[1][-1])] = -math.log10(float(s[2]))
         elif s[0] == "del":
             self.sDel[basic.letterToIndex(s[1])] = -math.log10(float(s[2]))
             self.sHomo[basic.letterToIndex(
                 s[1])] = -math.log10(float(s[2])) / 3
         elif s[0] == "ins":
             self.sIns[basic.letterToIndex(s[1])] = -math.log10(float(s[2]))
예제 #2
0
 def scoreIns(self, char):
     return self.sIns[basic.letterToIndex(char)]
예제 #3
0
 def scoreMatch(self, char):
     return self.sMatch[basic.letterToIndex(char)]
예제 #4
0
 def scoreHomo(self, char):
     return self.sHomo[basic.letterToIndex(char)]
예제 #5
0
 def scoreMM(self, char1, char2):
     return self.sMM[basic.letterToIndex(char1)][basic.letterToIndex(char2)]
예제 #6
0
 def scoreDel(self, char):
     return self.sDel[basic.letterToIndex(char)]