Was kann in 48 Stunden getan werden? Interview mit dem Gewinner des BioHack 2019 Bioinformatik-Hackathons

Der vierte Bioinformatik-Hackathon BioHack 2020 startet am 27. März in St. Petersburg . Während des Hackathons nahmen mehr als 300 junge Spezialisten aus verschiedenen Ländern daran teil und 58 Lösungen wurden entwickelt. Führende Forschungseinrichtungen präsentierten ihre Projekte für die Arbeit beim Hackathon: Institute of Physiology, benannt nach I.P. Pavlova, Institut für Zytologie RAS, Staatliche Universität St. Petersburg, Wissenschaftliches Bundeszentrum für Physikalische Medizin, JetBrains BioLabs, Institut für Protein RAS, Genotek, MIPT, iBinom und andere.

Im Jahr 2019 gewann das Knoblauch-Team den Hauptpreis von 150.000 Rubel. Für 48 Stunden Arbeit hat das Team ein Tool erstellt, mit dem Sie nach genomischen Umlagerungen einer bestimmten Struktur suchen können. Wir haben den Kurator des Projekts, Dmitry Konanov, gebeten, über das Projekt, den Hackathon und allgemein das Leben der Bioinformatik zu sprechen.



- Sag mir, was hast du in dem Moment gemacht, als du Mitglied des Hackathons warst?
- Zum Zeitpunkt meiner Teilnahme am Hackathon arbeitete ich im Bioinformatiklabor des Wissenschaftlich-Praktischen Zentrums für Physikalisch-Chemische Medizin der FMBA in Russland (Wissenschaftliches und Klinisches Zentrum für Physikalische und Chemische Medizin des Bundesamtes für Medizin und Biologie). - Ich habe dort ein Diplom geschrieben. Jetzt arbeite ich weiter im Zentrum.

- Warum hast du dich für BioHack entschieden?
- Irgendwie ist es so spontan passiert. Die Frist rückte bereits näher - an einem der letzten Tage, an denen Projekte eingingen, fragte mich das Labor, ob ich am Hackathon teilnehmen wollte: Ich musste nur das Projekt senden. Ich schrieb etwas in ungefähr 15 Minuten und schickte eine Anfrage.



- Es war also ein Projekt, an dem Sie bereits im Labor gearbeitet haben?
- Ich wollte daran arbeiten, ich fing an daran zu arbeiten, aber es war sehr unvollendet. Beim Hackathon haben wir es in den Zustand gebracht, in den ich es bringen wollte - der Algorithmus ist automatisierter geworden.

- Erzählen Sie mir, wie die Idee des Projekts entstanden ist.
- Im Allgemeinen ist die ursprüngliche Idee nicht meine, sondern Alexander Manolov, Ph.D. Bioinformatik-Labors. Dies ist die Person, die zu dieser Zeit der Leiter meines Diploms war.

Es ist bekannt, dass die Genome von Bakterien sehr plastisch sind. In ihnen können viele Ereignisse auftreten: die Übertragung von Genen von einem Bakterium auf ein anderes, eine Änderung ihrer Sequenz, die Insertion und Entfernung von Fragmenten des Genoms. Die Idee ist folgende: Es gebe 4 Bakteriengenome. Jedes Genom besteht aus 5 Genen: dem ersten XYZTF-Genom, dem zweiten XRLAF-Genom, dem dritten XYKTF-Genom und dem vierten XYLTF. (Abbildung „Perestroika in den Grafiken“). In unserem Beispiel entsprechen die gleichen Buchstaben im Genom homologen (man könnte sagen das gleiche) Genen. Die Buchstabenfolge zeigt die Reihenfolge der Gene in den Genomen.

Wir definieren jedes Gen aus der Genomprobe als Knoten des Graphen und zeichnen Kanten zwischen den Genknoten, die sich nacheinander in mindestens einem der Genome der Probe befinden.



So erhalten wir ein Diagramm, das Informationen zu allen möglichen Varianten des Genwechsels in den ausgewählten Genomen enthält. Und mit dieser Diagrammstruktur können Sie bereits alles tun, was Ihr Herz begehrt.

Unsere erste Aufgabe bestand darin, nach Regionen mit einer hohen lokalen Beteiligung an Graphen zu suchen, die an den sogenannten Hot Spots genomischer Umlagerungen entstehen - Orte, an denen sich das Genom aus Gründen, die nicht immer verstanden werden, von Stamm zu Stamm intensiv verändert. Wir haben das Maß der Verschränkung in der Nähe der Komplexität des Knotengenoms genannt. Dieser Wert zeigt im Wesentlichen numerisch, wie oft Perestroika in bestimmten Regionen auftritt.

- Und was ist der Kern des Problems, das Sie beim Hackathon mit dem Team gelöst haben?
- Beim Hackathon haben wir eine Aufgabe herausgebracht, die mathematisch schöner ist oder so.
Jede Genomumlagerung, sei es eine Deletion (ca. Verlust einer Chromosomenstelle), Insertion oder Inversion (ca. umgekehrte Reihenfolge der Gene einer Chromosomenstelle), führt zur Bildung von Teilgraphen einer bestimmten Topologie in unserem großen Diagramm der Umlagerungen. Und ich dachte, es wäre gut, wenn wir nach bestimmten Untergraphen suchen könnten, deren Struktur der für uns interessanten Perestroika entspricht. Dies würde es ermöglichen, Punkte im Genom, an denen Ereignisse häufiger auftreten, effizient zu finden und die Häufigkeit zwischen verschiedenen Arten und Gattungen von Bakterien zu vergleichen. Es ist zum Beispiel bekannt, dass es Teile des Genoms gibt, die für Inversionen verboten sind, und Bereiche, in denen Inversionen am häufigsten auftreten.

Ein rein grundlegendes Interesse bestand darin, die Häufigkeitsverteilungsprofile entlang des Genoms und andere Arten von Umlagerungen zu untersuchen. Wenn wir über die praktische Bedeutung sprechen, dann hängt diese Geschichte direkt mit der Biotechnologie zusammen: Wir glauben, dass wir, wenn wir die Anfälligkeit verschiedener Fragmente des Genoms für die Inserts kennen, im Voraus annehmen können, wo es wahrscheinlicher ist, dass ein zufälliges Fragment fremder DNA eingefügt wird. Aber wir haben es nicht überprüft.

Noch vor dem Hackathon habe ich etwas mit Stiften gehandhabt und einen ziemlich krummen Algorithmus geschrieben, der nach einem bestimmten Muster sucht (Codename Smile aufgrund seines charakteristischen Erscheinungsbilds). Ich fand die Häufigkeit und Verteilung entlang des Genoms für viele Arten, sogar einige lustige Dinge wurden herausgefunden, zum Beispiel bei Bakterien mit einer großen Anzahl von Smileys, Umlagerungen jeglicher Art traten gleich wahrscheinlich entlang des gesamten Genoms auf und bei Bakterien mit einer kleinen Anzahl von Smileys nur an einer begrenzten Anzahl von Hot Spots (at enges Integral in der Genomfrequenz). Natürlich wollte ich etwas Universelleres tun, damit ich mögliche Untergraphen für die Suche fragen konnte. Ich habe diese Idee zum Hackathon gebracht.

Als Ergebnis von zwei Arbeitstagen haben wir ein Tool namens GARLIC-Finder erhalten - ein Tool zur Untersuchung genomischer Umlagerungen einer bestimmten Struktur. Wir haben eine universelle Sprache für die Angabe von Untergraphen für die Suche geschrieben, aber da eine solche Aufgabe NP-kompliziert ist, stellte sich heraus, dass es sich nur um kleine statische Untergraphen handelte. Aus diesem Grund haben wir dem Benutzer die Möglichkeit hinzugefügt, benutzerdefinierte Algorithmen hinzuzufügen, die für die Suche nach bestimmten Mustern optimiert sind. Beim Hackathon haben wir uns auf drei Muster festgelegt - ein Genpaar, zwischen dem häufig Inserts (Knoblauch), Transpositionen eines Genomfragments (Pinguin) und ein Gen mit einer sehr reichen Umgebung (Spinne) auftreten (Abb. „Suche nach Subgraph-Umlagerungen“). Knoblauch war der erste und gab daher unserem Tulu den Namen. Es ist zu einem Akronym geworden: G enome re AR rangementsL verdienen I nterfa C e.



Das habe ich sogar etwas später ausgenutzt.

- Wenig? Das heißt, dieses Projekt ist nicht weiter fortgeschritten als der Hackathon?
- Das Problem ist nun, dass wir noch einen großen Artikel über Grafiken und genomische Komplexität veröffentlichen. Eine Person, die eine Dissertation zu diesem Thema schreibt, ist damit beschäftigt. Wir haben die erste Option im Sommer gesendet, aber sie wurde leider abgelehnt. Neulich wieder verschickt, schon in einer anderen Ausgabe. Wenn alles gut geht, werden wir vielleicht weiter in diese Richtung graben.

- Was hat dir der Hackathon gegeben?
- Das Projekt ist zu einem großen Teil meiner Arbeit geworden. Neue Optimierungsideen sind aufgetaucht. Im Allgemeinen habe ich selbst viele neue Dinge gelernt.

- Wofür hast du Geld ausgegeben, wenn nicht geheim?
- Es ist kein Geheimnis, ein guter Spieler mit Kopfhörern :).

- Mit welcher Programmiersprache wurde das Problem gelöst?
- Python, ausschließlich Python. Und verschiedene Bibliotheken dazu. Arbeiten mit NetworkX-Diagrammen, Visualisieren von Graphviz und seiner Bindung an einen Python. Nun, die klassischen Matplotlib und Pandas für die Arbeit mit Daten. Und eine selbstgeschriebene Bibliothek ist gene-graph-lib .

- Und wer war in deinem Team?
- Zwei Programmierer und ein Biologe. Jeder erwies sich als sehr hilfreich.
Was war Ihr globales Ziel, warum haben Sie beschlossen, das Projekt zu einem Hackathon zu schicken?
Ich wollte ein Problem lösen und es effektiv lösen. Ich hatte vor, es selbst zu machen, aber hier ergab sich eine einmalige Gelegenheit, und ich entschied mich, sie zu nutzen. Ich wollte nur sehen, was ein Hackathon ist.

- Gefällt es dir?
- Wunderbar, einfach wunderbar! Die Organisation, das Essen, der Raum, in dem das alles passiert ist, die Leute sind wunderbar. Es gab überhaupt nichts zu beanstanden.

Es wäre sehr gut, wenn sie mir erlauben würden, lokale Monitore und Personalausrüstung zu verwenden, so wie ich es verstehe - der Hackathon fand im EPAM-Büro statt -, aber natürlich durften wir nicht.

- Wie hast du dich auf den Hackathon vorbereitet? Was muss zusätzlich zur Mitnahme Ihrer Ausrüstung getan werden?
- An die Leiter (ca. Kuratoren)Es war erforderlich, eine Präsentation für 1,5 bis 2 Minuten über das Projekt vorzubereiten. Für die Teilnehmer ist es wichtig, die Bedingungen der Projekte sorgfältig zu lesen, um festzustellen, welche Anforderungen die Leiter an die Teammitglieder haben. Es kann vorkommen, dass eine Person auf einem Laptop vollständig mit der Umgebung des zweiten Python und des Kurators, beispielsweise des dritten, ausgestattet ist. Dies spielt keine Rolle, aber die Neuinstallation der Umgebung kann zusätzliche Zeit in Anspruch nehmen, und Sie mussten nur sorgfältig lesen, dass Sie ein drittes Python benötigen.

Aber in Bezug auf das Wissen, wie man sich vorbereitet, ist hier nicht alles klar. Natürlich müssen Sie in der Lage sein, in den erforderlichen Sprachen zu programmieren und ein wenig im Kontext des Problems zu fummeln, das als Projekt vorgeschlagen wird. Obwohl wir ein Teammitglied hatten, das die Biologie überhaupt nicht kannte, aber sehr nützlich war - er war es, der den Sprachparser für die Definition von Untergraphen schrieb -, fiel diese Aufgabe ganz auf seine Schultern.

- Sie haben bereits über die Organisation, die Räumlichkeiten, das Essen gesprochen. Wo hast du geschlafen? Und hast du überhaupt geschlafen?
"48 Stunden lang habe ich vier Stunden geschlafen, denke ich." Ich war immer vor Ort, in der letzten Nacht bin ich gerade ins Hotel gegangen.

- Das heißt, die Teilnehmer müssen mental darauf vorbereitet sein.
- Und moralisch und körperlich besonders. Wenn eine Person Erfahrung in der Vorbereitung auf einige schreckliche Sitzungen hat und Sie zwei Nächte lang nicht schlafen, ist dies eine gute Vorbereitung. Ich hatte solche Fälle während meines Studiums, also war ich bereit.

- Was ist Ihr globales Ziel? Warum machst du Bioinformatik?
- Im Allgemeinen bin ich versehentlich in die Bioinformatik gekommen. Ich habe an der Fakultät der Akademie der Agrarwissenschaften studiert Dort müssen die Studierenden ab dem zweiten Jahr an einem Tag in der Woche an einem der Institute der Russischen Akademie der Wissenschaften wissenschaftlich arbeiten. Ich antwortete auf den Vorschlag des IBCh RAS, ohne eine Ahnung zu haben, was ich tun müsste. Ich kam dorthin und es stellte sich heraus, dass ich eine Analyse der NGS-Daten und der Proteomik durchführen würde. Dann fing ich an, Python zu lernen und Bioinformatik zu verstehen. Er hat dort zwei Jahre lang gearbeitet, das Projekt schien etwas ins Stocken zu geraten, und ich bin dorthin gegangen, wo ich jetzt arbeite.
Ich mag das. Ich habe sowohl Mathematik als auch Biologie immer geliebt, irgendwie ist es passiert.

- Welche Bücher, Kurse, Vorträge und Filme empfehlen Sie Kindern zum Anschauen?
- An der Coursera der Universität von San Diego gibt es einen Kurs über bioinformatische Algorithmen, an dessen Erstellung ich teilgenommen habePavel Pevzner , auf Stepic ist er auch. Ich habe dort einige Probleme gelöst - sehr nützlich. Sie ermöglichen es Ihnen, Wissen sowohl in der Molekularbiologie als auch in der Kodierung zu pumpen. Das Wesentliche bei den meisten Aufgaben ist, dass Sie eine einfache Sequenzanalyse oder ähnliches programmieren müssen. Ich weiß, dass das Institut für Bioinformatik Gastvorträge hält , die auf YouTube angesehen werden können. Außerdem gibt es Kurse zu Stepic . In Python habe ich ungefähr 500 der ersten Seiten von Learning Python von Mark Lutz getreu gelesen und dann nur die Dokumentation, Änderungsprotokolle und Übungen gelesen.

Das Wichtigste ist, Probleme zu lösen. Es ist sinnlos, die Theorie zu lesen, und beim Lösen von Problemen lernen Sie, echte Probleme zu lösen.

- Planen Sie dieses Jahr am Hackathon teilzunehmen?
"Ja, ich denke schon."

- Mit was? Oder ist es immer noch ein Geheimnis?
- Es gibt zwei Möglichkeiten, während Ideen entstehen. Ich werde es nicht aussprechen. Ich habe noch einen ganzen Monat. Ich werde es wahrscheinlich wie immer im letzten Moment geben :)

- Und was wird jetzt in der Welt der Bioinformatik diskutiert?
- Lieben Sie oft Hype-Themen. Ich habe einen Studenten der Russischen Chemisch-Technischen Universität, der ein Diplom zu einem Graphenthema schreibt. Deshalb hat er beschlossen, einen Graph über das kürzlich veröffentlichte Genom des Coronavirus und seiner Verwandten zu erstellen.

- Fasziniert. Wir warten auf neue Entdeckungen und neue interessante Projekte von Ihnen und Ihren Kollegen!

Sie können das Projekt bis zum 28. Februar einreichen und sich bis zum 5. März als Teilnehmer bei biohack.ru registrieren .

All Articles