====== Use Cases ====== ===== General Use Cases ===== * Alphabet auswaehlen √ (Rolf) * ~Alphabet eingeben ([[:NewAlphabetPage|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|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% √