Grundlagen der Bioinformatik, SS 2011 Prof. Dr. Daniel Huson und Dr. Simone Linz 27. Juni 2011 Bitte schicken Sie Ihre Lösungen bis zum 4. Juli 2011 (16.15 h) per Email an den jeweiligen Tutor. Alle Java Dateien, die Sie zum Lösen der Aufgaben benötigen, erhalten Sie von der Homepage der Vorlesung. Bitte stellen Sie sicher, dass Ihr Java Code kompilierbar ist, bevor Sie ihn abgeben. 1 Nussinov Algorithmus (7 Punkte) Bitte implementieren Sie den Nussinov Algorithmus einschließlich des traceback. Als Eingabe soll eine RNA Sequenz im Fasta-Format eingelesen werden. Die Ausgabe soll die Matrix nach dem sogenannten filling step, die maximale Anzahl von Basenpaaren und die berechnete Struktur beinhalten. Letztere soll als eine Liste von Basenpaaren ausgegeben werde, welche wiederum in einen String geschrieben werden soll, den man mit dem Aufruf der Funktion getSecondaryStructure() erhält. Ein Beispiel für eine Eingabe mit zugehöriger Ausgabe finden Sie in example.fa bzw. example.txt. Bitte implementieren Sie für diese Aufgabe die Klasse Nussinov.java und verwenden Sie dazu die Funktionen der Basisklasse NussinovBase.java. Kompilieren Sie das Programm zusammen mit den Java-Datein der Klassen FastA.java und FastABase.java (siehe Übungszettel 2). Sagen Sie bitte auch die Struktur für die anderen mitgelieferten RNA Sequenzen vorher. 2 Nussinov Algorithmus – Traceback (3 Punkte) Entwerfen Sie bitte eine RNA Sequenz mit der Eigenschaft, dass beim traceback im Nussinov Algorithmus eine Verzweigung entsteht. Veranschaulichen Sie bitte den Zusammenhang zwischen dem traceback path in der Matrix und der RNA Sekundärstruktur.