Bio, C#, Root

03 Der Needleman-Wunsch-Algorithmus

Einführung in die Bioinformatik Vorbereiten der Software Grundlagen der objektorientierten Programmierung Einfaches Codebeispiel – manipulieren eines strings Referenzieren einzelner Zeichen in einem string Generieren einer zufälligen Aminosäure-Sequenz Scoring von Alignments Prüfen auf Identität Bewerten von Mutationen – Substitution Matrix Bewerten eines Alignments Der Needleman-Wunsch-Algorithmus Die F-Matrix (abstrakt) Auswählen des Alignments (abstrakt) F-Matrix (Code) Auswählen des Alignments (Code) Die F-Matrix (abstrakt) Der Needleman-Wunsch-Algorithmus geht bei der Berechnung des idealen Alignements in zwei Schritten vor, um exponentiell skalierende Rechenzeit zu vermeiden. Zunächst wird die sogenannte F-Matrix berechnet, aus welcher anschließend das ideale Alignment zusammengesetzt wird. Zur Veranschaulichung alignen wir die Sequenzen GACFC und GCFHC. Jedes Feld in der Matrix (jede Zelle der Tabelle) beinhaltet einen Score. Diese Punktzahl ist jene, die auf dem Weg zur Berechnung des Feldes gesammelt wurde. Zur Berechnung einer Zelle sind immer die Felder links oben, oben und links notwendig: Unter den drei Feldern wird jenes gewählt, durch…

Bio, C#, Root

02 Scoring von Alignments

Einführung in die Bioinformatik Vorbereiten der Software Grundlagen der objektorientierten Programmierung Einfaches Codebeispiel – manipulieren eines strings Referenzieren einzelner Zeichen in einem string Generieren einer zufälligen Aminosäure-Sequenz Scoring von Alignments Prüfen auf Identität Bewerten von Mutationen – Substitution Matrix Bewerten eines Alignments Der Needleman-Wunsch-Algorithmus Die F-Matrix (abstrakt) Auswählen des Alignments (abstrakt) F-Matrix (Code) Auswählen des Alignments (Code) — coming soon Prüfen auf Identität Die einfachste Art, zwei Sequenzen miteinander zu vergleichen ist, zu prüfen, ob sie identisch sind. Dazu müssen jeweils die 0. Position der ersten Sequenz mit der 0. Position der zweiten, die 1. der ersten mit der 1. der zweiten und so weiter vergleichen werden: Der folgende Code macht genau das gleiche, verwendet dabei jedoch statt einer for-Schleife eine while-Schleife: Das Ergebnis einer solchen Prüfung kann offensichtlich nur zwei Werte annehmen: true oder false. Sowohl Mutationen, als auch Rasterverschiebungen führen bei dieser Methode zu einem ‘false‘: APFELSAFT APPELSAFT…

Bio, C#, Root

01 Einführung in die Bioinformatik

Gerade Biologen/Biotechnologen ohne Vorkenntnisse aus der Informatik, haben oft Probleme beim Verständnis grundlegender Verfahren der Bioinformatik. In einer kleinen Serie von Tutorials, werde ich versuchen, dieser Zielgruppe den Einstieg zu erleichtern. Die Codebeispiele folgen der Syntax der Programmiersprache C#, die abstrakten Verfahren können aber auf andere objektorientierte Programmiersprachen übertragen werden. (z.B. Java, C++, VisualBasic…) Die Theorie zu lesen ist zwar schön und gut, doch am Besten verstehen, was vor sich geht kann man, indem man es selbst macht. Ich empfehle jedem, die Codebeispiele nachzubauen, bzw. in echt nachzuvollziehen! Keine Sorge, du musst nicht alles selbst machen. Im folgenden findest du zunächst eine Anleitung, wie du dir die notwendige Software installierst. Anschließend kannst du ein bereits vorbereitetes Projekt herunterladen. Einführung in die Bioinformatik Vorbereiten der Software Grundlagen der objektorientierten Programmierung Einfaches Codebeispiel – manipulieren eines strings Referenzieren einzelner Zeichen in einem string Generieren einer zufälligen Aminosäure-Sequenz Scoring von Alignments Prüfen auf…

C#, UI, Windows Phone

Making a reverse Autocomplete-TextBox on Windows Phone

I’m sure you’re familiar with autocomplete textboxes and maybe you’ve even used them in a project yourself. They provide a fast and easy way for the user to select something, but they lack one important feature: they don’t show what could be selected. ReverseAutocompletePopup is a mixture between an autocomplete text box and the kind of popup you get when a ComboBox has more than five items. At first it displays all options in a ListBox and as you type non-matching ones are filtered out. (And brought back when you delete the text!) EDIT: In the newer version, the user can hit Enter to select, or optionally use his input as the result. When working with it there’re a few things you need to have in mind: The Popup control is no real navigation-thing, so you are in charge to handle OnBackKeyPress according to the guidelines! The Options for the…

Politik

Lesen: ACTA

Ich werde hier nicht viel darüber schreiben, was ACTA ist und warum es gefährlich ist, aber unter den Tisch fallen will darf ich es auch nicht einfach. Einen guten Überblick bietet dieser text bei Telemedicus. Wer dann einige der Paragrafen aufmerksam gelesen und auch festgestellt hat, dass so etwas nicht in Kraft treten darf, dem sei auch der 11. Februar als europaweiter internationaler Anti-ACTA Tag mitgeteilt, an dem in allen großen Städten Demonstrationen stattfinden!

Life, Root

Von verpassten und verspäteten Zügen

That was weird. Der Tag fing ganz normal an: Ich stand mäßig begeistert um 06:15 auf, um nach Aachen zu fahren. Mein Bus sollte um 06:47 kommen. In Düsseldorf sollte ich umsteigen uns nach 1:50h Aachen West erreichen. Soweit stellte das kein Problem dar. Beim Frühstück (06:35) musste ich dann feststellen, dass ich ein Zeitproblem hatte. Durch das Zeitproblem verringerte sich das Motivationsproblem. Allerdings nicht genug, sodass der Bus ohne mich zum S-Bahnhof fuhr. Der Haken an der Sache: die nächste Verbindung dauerte 2:05 (S8 bis Mönchengladbach, dann weiter nach Aachen – alles S-Bahnen). Zu dem Zeitpunkt schwer getroffen von diesem herben Rückschlag, rasierte ich mich noch zwei Mal und nahm anschließend den Bus um 07:07. Wie ich angekommen war in Millrath S-Bahnhof musste ich feststellen, dass offenbar wenige Sekunden zuvor eine S8 in Schrittgeschwindigkeit den Bahnhof durchfahren hatte. Als wäre das nicht schon ungewöhnlich genug, näherte sich einige Minuten…

Hardware, UI

Touchwand–Progress Report

wie in dem nachfolgenden Video zu sehen ist, verliefen die ersten Tests der Touchwand bereits erfolgreich: TouchViewer in Aktion… Das Video ist jetzt ein paar Wochen alt, denn zum jetzigen Zeitpunkt ist der Rahmen (Glasscheibe + Lasertechnik) aus dem Gehäuse ausgebaut. Auch am Rest des Gehäuses musste in den letzten paar Wochen noch weitergearbeitet werden. Zu den Veränderungen gehört die Stromversorgung… Der Strom kommt von außen über eine Kaltgeräte-Buchse …sowie eine Serviceklappe an der Vorderseite, die durch ein Schloss gesichert wird. Sie beherbergt Maus und Tastatur, sowie einen USB-Port. Ein An/Aus-Knopf wird auch durch diese Klappe erreichbar sein. Da die Klappe senkrecht zugeklappt wird, müssen Maus und Tastatur Halterungen haben.. Als Nächstes steht an, das Gehäuse vollständig auseinanderzubauen, um die Bretter von beiden Seiten mit Holzlasur anzustreichen.   PS.: Hoffentlich habe ich beim nächsten Post nicht wieder so eine Schreibblockade…