Use Cases

General Use Cases

  • Alphabet auswaehlen √ (Rolf)
  • ~Alphabet eingeben (NewAlphabetPage √ (Rolf)
  • rootsequence(s)/organisms √ (Rolf)
  • ~durchschnittliche sequenzlaenge √ (Rolf)
  • Auftrittswahrscheinlichkeiten der characters eingeben
  • ~Auftrittswahrscheinlichkeiten der characters auswaehlen
  • Newick tree T eingeben
  • ~Sequenzdistanz eingeben → tree erzeugen
  • Sequenz per Hand annotieren
  • Für Root Annotation folgende Wahrscheinlichkeiten:
    • Verhaeltnis der Evopls untereinander (inv:subs:ins:dels…) (nur für evopls-track)
    • substitutionsmatrix auswaehlen: Alphabet x Alphabet
    • substitutionsmatrix eingeben: Alphabet x Alphabet
    • Annotation x Annotation Rearrangement Wahrscheinlichkeitsmatrix
    • Insertionswahrscheinlichkeiten √ (Rolf)
    • Deletionswahrscheinlichkeiten √ (Rolf)
    • insertion / deletion probability functions (Laenge) √ (Rolf)
  mutation probability likelihood vector (bleibt für annotation gleich) spezifiziert, mit welcher Wahrscheinlichkeit mutiert wird (conserved regions) 
  out: Alignment der Sequenzen 

Evopel + Edge

  • Gegeben Kantenlaenge, Sequenz (+ Eigenschaften) → Evolviere Sequenz bzgl. Kantenlaenge
    • Evolviere Sequenz bzgl. Annotationen
      • Evolviere Annotation:
      • Substitution(en)
        • Gegeben: Annotation, Substitutionstabelle/Magictable (?)
        • Verarbeitung: Entlang Sequenz der Annotation character mithilfe der Tabelle substitutieren
        • Ergebnis: neue Sequenz
      Deletion(en) 
      * Gegeben: //neue// Sequenz aus dem Schritt davor, Deletionswahrscheinlichkeit und Laengendistribution der Deletionen dieser Annotation 
      * Verarbeitung:  
        * Position bestimmen.  
        * Maximale Laenge ermitteln.  
        * Laenge bestimmen. 
        Ergebnis: //neuere// Sequenz ohne deletiertem Bereich 
      Insertionen(en) 
      * Gegeben: //neuere// Sequenz nach der Deletion, Insertionswahrscheinlichkeit und Laengendistribution dieser Annotation 
      * //feststellen ob Ins oder nicht// 
        * wenn Ins:  
          * Position bestimmen 
          * die Länge bestimmen 
          * chars pro Position bestimmen und einfügen und der Annotation begreiflich machen, dass die chars ihr gehören. 
          wenn keine Ins: mit nächster Annotation fortfahren 
        Ergebnis: //neueste// Sequenz mit Insertion(en) 

Tree Evolution

  • Controller erstellen √
  • Controller ruft Mutatoren auf √
  • Evoperations aufrufen (Controller) √
  • Rearrangements auswählen √
  • Interface für Rearrangement Mutatoren √
  • Rearrangement Mutator für Deletion √
  • Rearrangement Mutator für Transposons √
  • Rearrangement Mutator für Duplikation √
  • Rearrangement Mutator für Translokation √
  • Rearrangement Mutator für Inversion √
  • Rearrangement Mutator für k-cut&join X
  • Wahrscheinlichkeiten für Mutatoren ins RoseData Interface schreiben (setter) √
  • Rearrangements loggen √
  • Organismen, Sequenzen und Buchstaben tiefenkopierbar √
  • Controller durchläuft Baum √
  • cut- und join- Operationen √
  • Rearrangements abhängig von Annotationen √
  • Prozentangabe an die GUI senden √
  • alles durchtesten √
  • Logger überarbeiten und Output definieren X
  • Annotationen mit Input verzahnen X
  • Endpositionen nach Verteilung auswählen X

über 80% √

HMM based Evolution

  • Automaton Modell definieren √
  • Automaton Schnittstellen definieren & implementieren√
  • Automaton fuer Character-Basierte Evolution erstellen √/X
  • Automaton Controller erstellen √/X
  • Join Automata √
  • Import von konkreten Automata erstellen X
  • Schnittstelle zum User Interface herstellen X
  • Konkrete Automata fuer verschiedene Annotationen erstellen X

knapp 50% √