Mittwoch, 8. Mai 2013

Tag 13 - Mittwoch 08.05


Da ist er nun der letzte Tag des Praktikums, ich bin zwar schon ziemlich kaputt von den 2 1/2 Wochen doch es hat mir viel Spaß gemacht.

In meinem Abschlussgespräch heute habe ich bestätigt wie toll ich das Praktikum fand. Außerdem hat sich Prof. Leser mein Programm angeguckt.

Da es heute nicht sehr viel zu erzählen gibt habe ich mal den Quellcode des Programms eingefügt.
Mir hat das Praktikum sehr gut gefallen und ich kann es jedem empfehlen der irgendwann mal in der Informatik arbeiten möchte.

Tag 12 - Dienstag 07.05

Ich habe heute mein Programm fortgesetzt.
Mein  ersten Schritt war es die Eingaben so zu verbinden damit sie den Variablenwert bestimmen.
Das klappte nicht ganz so wie ich es wollte. Aber statt darauf zu kommen dass es an den Eingaben liegt dachte ich mein Button meine Funktion nicht auslöst.

Ich habe jedoch von Stefan den Tipp bekommen erstmal die Variablen vor meinen Schleifen abzufragen.
Durch diese Hilfe wurde klar das meine Textfelder nicht richtig angewendet wurden.

Nach dem ich das nun endlich hin bekommen hatte, sollte ich die Ausgabe bearbeiten damit man im Text die Muster farbig hervorgehoben erhält. Dies war jedoch ziemlich knifflig da ich mit dem neuen Befehl "substring" arbeiten musste der aus einem Text einen Teil heraus extrahiert. Diesen extrahierten Text musste ich dann färben - das klappte, nun wollte wir aber den gesamten Text haben und nicht nur das Muster.

Um zu erreichen das wir den Teil vor dem Match hatten mussten wir das Ganze auch mit "substring" einfügen. Das größte Problem war jedoch für mich den Rest richtig einzufügen da dort mit 2 Variablen gearbeitet wurde und ich erst überlegen musste wo das Ganze einsetze. 

Heute hatte ich auch ohne ein Gespräch viel zu tun.

Ich bin sehr stolz darauf heute alles geschafft zu haben, da ich so etwas vorher noch nie gemacht habe. 

Dienstag, 7. Mai 2013

Tag 11 - Montag 06.05.

Die letzte Woche bricht an und ich bin darüber ein wenig traurig da hier alles sehr interessant ist und ich viel Neues lerne. Nun aber zu meinem Tag ich habe heute weiter an meiner Aufgabe gearbeitet und versucht meine Funktion mit einem Button aufzurufen. 

Um das zu erreichen habe ich lange recherchiert, auf SelfHTML. Doch am Ende habe ich die Befehle gehabt nun hatte ich das Problem das das ganze nicht klappt obwohl alle Befehle richtig waren.
Als die Lösung stand war es auch schon Zeit für mein Gespräch mit Lars.

Er arbeitet nicht wie die meisten anderen an biologischen Themen er arbeitet im Bereich der Erdbebenforschung.
Er analysiert mit Hilfe von einem Algorithmus die Opferzahlen bei Erdbeben. Theoretisch lässt sich das Ganze mühelos auch auf andere Katastrophen zur Berechnung des Anstiegs der Opferzahlen anwenden.
Für diese Analyse werden Texte über solche Katastrophen abgesucht nach bestimmten Schemen also wieder eine Art text minen.

Die Ergebnisse werden in einer Tabelle dargestellt um das Schema zu vereinfachen kann man es auch als Graph darstellen mit gerichteten Kanten. Dieses Gesamtthema nennt man Inhalte-Extraktion.
Das kann genutzt werden um zu bestimmen wie viele Ressourcen an Rettungskräften für das Gebiet benötigt werden.

Meiner Meinung nach ist diese Forschung sehr wichtig das es in vielen Gebieten auch gut genutzt werden kann.

Tag 10 - Freitag 03.05.

Heute habe ich weiter an meiner Aufgabe gearbeitet und am Ende des Tages die Grundfunktion fertig gestellt.
Das Problem an der Grundfunktion ist, dass nun die vergleichenden Texte im Quellcode verankert sind das bedeutet ich kann weder neue Texte einfügen noch das Muster selbst bestimmen. Deshalb musste ich nun eine HTML-Seite erzeugen auf der ein Textfeld für meinen Haupttext und einen Textkasten für mein Muster existiert. Da der Tag aber schon vorbei ist habe ich es nicht mehr geschafft die Komponenten zu verbinden.

Natürlich hatte ich auch heute wieder ein Gespräch. Micha ist Bioinformatiker und nimmt an einem Projekt der Charité teil. In diesem versucht man den genauen Aufbau der Leber als animierte Grafik zu simulieren. Dabei wird jedoch nicht nur die Leber als Organ betrachtet sondern auch alle Abläufe auf Mikroebene. Um das alles zu ermöglichen muss man jedoch auch chemische Verbindungen im Ablauf finden und deren Funktion. Das versucht Micha, er sucht für die Leute im Labor Reaktionen die diese dann testen können. Die Informationen die Micha benutzt sucht er sich aus Publikationen im Internet mit den text minen.

Das war zwar nur eine einfache Darstellung der Dinge, aber genau so das ich es verstehen konnte.
Mir persönlich hat es sehr gut gefallen.

Tag 9 - Donnerstag 02.05.

Der neunte Tag des Praktikums und heute begann meine neue Aufgabe.

Zuerst hatte ich aber ein Gespräch mit Marc, er arbeitet mit Workflows aber nicht wie Jörgen für die graphische Darstellung von Daten.
Marc versucht die Arbeitsabläufe eines Workflows auf verschiedene PC optimal auf zu splitten weil es nicht nötig ist einen super PC zu kaufen für eine einmalige Berechnung da es es gibt verschiedene Firmen die Rechenkapazitäten verleihen. Für unser Bsp. nehmen wir Amazon. Wir haben eine Menge an Daten die es zu analysieren gilt, dafür brauchen wir aber mehr Rechenleistung, also leihen wir welche bei Amazon. Nun bekommen wir aber nicht die gesamte Leistung eines Computers weil ein anderer auch auf diesem Rechner arbeitet. Wir bekommen also nur insgesamt die Rechenleistung sie muss nicht auf einem einzigen PC sein. Da der andere auf dem PC diesem nun eine menge Rechenleistung abfordert wäre es unklug  ihm eine Aufgabe zu geben die viel Rechenleistung benötigt damit er nicht ewig braucht nun hat dieser  Rechner aber vielleicht eine gute Bandbreite dann könnte man ihm Aufgaben zur Verteilung im Netzwerk geben. Diese Optimierung versucht Marc zu erreichen damit möglichst wenig Zeit benötigt wird um die Kosten gering zu halten.

Meine neue Aufgabe ist eine Suchmaschine die Muster in Texten sucht. Dafür benutze ich einen naiven Algorithmus . Zuerst sollte ich einen Pseudo Code erstellen. Als dieser fertig war habe ich das ganze ich Javascript aufgeschrieben.


Freitag, 3. Mai 2013

Tag 8 - Dienstag 30.04.

Heute habe ich den Admin Bereich des Omix Analyzer getestet. Dort sollte ich die verschiedenen Funktionen testen, eine Funktion ist das Benutzer hinzufügen oder löschen. Falls etwas nicht funktioniert sollte ich ein Ticket schreiben.

Am Nachmittag habe ich heute mit Karin gesprochen, sie hat als erstes am Analyzer gearbeitet und konnte mir deshalb auch viele der Funktionen und Analysen erklären.

Ihre eigentliche Arbeit ist jedoch eine andere ,sie sucht nach Unterschieden von Proteinen aus dem selben Abschnitt des Gens. Aus dem Gen werden Exons von Introns getrennt diesen Vorgang nennt man transkribieren . Die Exons werden dann wieder zusammen gebastelt das heißt Splicing. Aus jedem Teil des Exons werden drei Nukleotide.

In der Translation werden aus den verschiedenen Nukleotiden Proteine. Es werden jedoch nicht alle Nukleotiden in einem Protein benutzt es können z.B. nur E¹ und E³ benutzt werden wobei sie P⁴ ergeben und E¹ ,E² und E³ ergeben P¹.

Beim Alternativen Splicing kommt es zu Fehlern z.b.  wird ein Intron nicht von den Exons getrennt.

Karin untersucht den Unterschied zwischen den Proteinen bei gesunden und kranken Menschen und versucht das Gen zu finden das nicht richtig funktioniert und ein falsches Protein das eine falsche bzw. gefährliche Funktion ausübt.

Tag 7 - Montag 29.04.

Nun sind schon sieben Praktikumstage vorbei und es ist immer noch alles super spannend. Ich lerne viel neues und wahrscheinlich ist vieles 2-3 Jahre vor dem Biologieunterricht voraus.

Ich habe heute mit Phil gesprochen.Er hat mich über zwei Methoden des "text minen" aufgeklärt. Die erste war das Oberflächenpattern bei der zwischen zwei  Personen bzw. Gegenständen eine Verknüpfung erstellt wird, die erklärt wie die beiden sich zueinander verhalten. Ein Bsp. dafür wäre Marc mag Peter.

Die zweite Möglichkeit sind die syntaktischen Pattern dabei wird die Verbindungen der einzelnen Elemente in Graphen dargestellt, um es möglichst übersichtlich zu gestalten. Das Ganze funktioniert an ganz einfachen Sätzen, wie z.B. Mark mag Birnen, sehr gut da es weder mehrere Personen noch mehrere Objekte gibt.

Es gibt, jedoch auch Sätze ,die man den Satz verschieden interpretieren kann, als Bsp. Marc mag Äpfel und Peter auch. Eine Interpretation wäre Marc mag Äpfel und er mag Peter auch. Es geht aber auch Marc mag Äpfel, Peter mag Äpfel auch.

Der Computer hätte nun Schwierigkeiten ohne zusätzlichen Text die richtige Interpretation zu finden.


Da der Computer jedoch nicht von selbst diese Fehlinterpretationen erkennt gibt es wieder die Methode den maschinellen Lernens, doch diesmal nicht auf der Suche nach Identitäten, sondern auf Suche nach Verknüpfungen wie zwei Menschen zueinander stehen. Also die Beziehung zwischen zwei Personen dafür kann man im Internet suchen als Bsp. Jonny Depp und Kate Moss waren mal verlobt.

Donnerstag, 2. Mai 2013

Tag 6 - Freitag 26.04

Heute habe ich gleich zwei Gespräche, zuerst mit Jörgen und dann mit Astrid.
Das Gespräch mit Jörgen war sehr informativ über die Möglichkeit Daten aus Tabellen mit sogenannten Workflowsystemen graphisch darzustellen. Diese Workflowsysteme arbeitet wie eine selbstgeschriebene Software nur das man ein wenig eingeschränkter ist dafür hat man aber auch sehr viel Zeitersparnis welches einem natürlich nützlich sein kann. Workflowsysteme können in verschiedenen Bereichen eingesetzt werden wo Menschen miteinander arbeiten. Da es lange dauern würde jemandem zu erklären woran man gearbeitet hat, kann man es mit Workflowsystemen ganz einfach darstellen ohne dafür wieder ein Programm zu schreiben.
Wie man auf dem Bild erkennt kann wurde im ersten Schritt aus einer unübersichtlichen Aneinanderreihung von Zahlen ein übersichtliche Tabelle. Im zweiten Schritt wurden den drei verschiedenen Versuchsobjekten ein Farbe gegeben welche durch den letzten Schritt zu einer Grafik dargestellt wurde.


Astrid hat mir jetzt auch noch erklärt was sie macht. Meiner Meinung ein sehr wichtiges und spannendes Thema. Sie arbeitet daran das verschiedene Vorgänge auf viele Computer aufgeteilt werden. Das nennt man "Verteiltes Rechnen". Für dieses Verteilen gibt es verschiedene Programme wie z.B. Hadoop.
Man nennt dieses Netzwerk für die verschiedenen Aufgaben auch Cloud. In einer solchen Cloud weiß man jedoch nicht wo genau die Daten im Moment sind. Das ganze System wird auch bei Facebook angewandt. Dort werden einem Menschen vorgeschlagen mit denen viele meiner bisherigen Freunde befreundet sind.


Durch die Verteilung der Aufgaben auf mehrere PCs ergibt sich zum einem die Möglichkeit das ganze schneller und effektiver zu gestalten. Bei größeren Datenmengen wie z.B. Wikipedia gibt es gar keine andere Möglichkeit diese ganzen Text mit einem PC zu "textminen" (siehe Tag 2).