Package medite :: Package MediteAppli :: Module alignement :: Class AlignAstar2
[hide private]
[frames] | no frames]

Class AlignAstar2

source code

object --+    
         |    
     Align --+
             |
            AlignAstar2
Known Subclasses:
AlignAstarRecur

texte passé en paramétre des fonctions

Instance Methods [hide private]
 
calcPosCoutFixe(self, L)
Calcule des dictionnaires des positions et des couts fixes...
source code
 
deplacements_pond(self, Lv1, Lv2)
Fonction qui aligne 2 liste d'intervalles du texte...
source code
 
deplacements_pond_Astar_(self, L1Static, L2Static, diffSym, dicoPos, coutFixe)
implémentation de A* pour rechercher le meilleur chemin dans l'arbre des appariement entre blocs Renvoie le noeud du dernier appariement
source code
 
deplacements_pond_Astar(self, L1Static, L2Static, diffSym, dicoPos, coutFixe, dicoMinMax1=None, dicoMinMax2=None, lSuppression=None, lInsertion=None, arrayRepetT1=None, arrayRepetT2=None, MO=False)
implémentation de A* pour rechercher le meilleur chemin dans l'arbre des appariement entre blocs Renvoie le noeud du dernier appariement
source code
 
cout(self, (d1, d2), (f1, f2), diffSym, coutFixe, bestValue)
calcul du cout d'un noeud
source code
 
getDiffSym(self, f1, f2, diffSym) source code
 
preTraitDiffSym(self, L1, L2, dicoPos, niveau=0) source code
 
preTraitDiffSymVect(self, L1, L2, dicoPos, niveau=0) source code
 
preTraitDiffSym2(self, L1, L2, texte, dicoPos, niveau=0) source code
 
preTraitDiffSym__(self, L1, L2, texte, dicoPos, niveau=0) source code
 
preTraitDiffSym_(self, L1, L2, texte, dicoPos, niveau=0)
Précalcul de toutes les différences symétriques possibles.
source code
 
difference_symetrique(self, L1, L2, texte, deb1, deb2, dicoPos)
différence symétrique entre 2 listes de blocs ...
source code

Inherited from Align: __init__, ass2__, ass__, lint2str, repetition, syserr

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

calcPosCoutFixe(self, L)

source code 
Calcule des dictionnaires des positions et des couts fixes

pre: isinstance(L,list)
     len(L)>0
#post: forall([texte[x[0]:x[1]] in __return__[0].keys() for x in L])

deplacements_pond(self, Lv1, Lv2)

source code 
Fonction qui aligne 2 liste d'intervalles du texte

pre: isinstance(L1,list)
     isinstance(L2,list)
     len(L1)>0
     len(L2)>0
     forall([L1[i][0] >= L1[i-1][1] for i in range(1, len(L1))])
     forall([L2[i][0] >= L2[i-1][1] for i in range(1, len(L2))])

Overrides: Align.deplacements_pond
(inherited documentation)

preTraitDiffSym_(self, L1, L2, texte, dicoPos, niveau=0)

source code 
Précalcul de toutes les différences symétriques possibles.
Ainsi chacune est calculée une seule fois et non un nombre combinatoire de fois si on faisait le calcul à la demande 
pre: forall([texte[x[0]:x[1]] in dicoPos[1].keys() for x in L1])
     forall([texte[x[0]:x[1]] in dicoPos[2].keys() for x in L1])
     forall([texte[x[0]:x[1]] in dicoPos[1].keys() for x in L2])
     forall([texte[x[0]:x[1]] in dicoPos[2].keys() for x in L2])
     len(self.tool.difference(L1,L2))>0

difference_symetrique(self, L1, L2, texte, deb1, deb2, dicoPos)

source code 
différence symétrique entre 2 listes de blocs 
pre: forall([texte[x[0]:x[1]] in dicoPos[1].iterkeys() for x in L1])
     forall([texte[x[0]:x[1]] in dicoPos[2].iterkeys() for x in L1])
     forall([texte[x[0]:x[1]] in dicoPos[1].iterkeys() for x in L2])
     forall([texte[x[0]:x[1]] in dicoPos[2].iterkeys() for x in L2])
     len(self.tool.difference(L1,L2))>0
     forall(L1, lambda x:texte[x[0]:x[1]] in dicoPos[1].iterkeys())
     forall(L1, lambda x:texte[x[0]:x[1]] in dicoPos[2].iterkeys())
     forall(L2, lambda x:texte[x[0]:x[1]] in dicoPos[1].iterkeys())
     forall(L2, lambda x:texte[x[0]:x[1]] in dicoPos[2].iterkeys())