Editorial

Tipp 217: RNA-seq-Tool BioJupies

Das freie Online-Tool BioJupies erleichtert Biologen ohne spezielle Bioinformatik-Kenntnisse die Analyse von RNA-seq-Daten. Herzstück des Programms ist ein digitales Notizbuch, in dem alle wichtigen Informationen zu den Daten gesammelt und auch anderen Nutzern zugänglich gemacht werden.

Die biologische und medizinische Forschung ist auf dem direkten Weg in eine Datenwissenschaft. Die Datenmengen, die bei vielen Forschungsprojekten anfallen, lassen sich bereits heute nicht mehr mit Stift und Papier bearbeiten – auch wenn es noch einige gibt, die RNA-seq-Daten, etwa von differenziellen ­Genexpressionen, wie in alten Zeiten auf zehn Seiten Papier ausdrucken. Auch die üblichen Tabellenprogramme kapitulieren bei diesen Datenfluten. Zudem ändern sie schon mal eigenmächtig die Gensymbole. Ein Beleg dafür sind hin und wieder auftauchende Studien, bei denen die differenzielle Expression von Kalendertagen beschrieben wird – das Programm hat dann zum Beispiel das Gen MARCH10 automatisch in MAR10 umgewandelt.

Die einzige echte Alternative für die Datenanalyse sind selbstgeschriebene Skripte und Analyse-Pipelines. Für viele Biologen mag das zunächst unbequem sein. Will man jedoch die Interpretationshoheit nicht an einen fachfremden Informatiker verlieren, bleibt nur die Flucht nach vorne. Das Schreiben von Skripten ist gar nicht so schwer und nur zu Beginn etwas ungewohnt. Ich möchte hier allen Mut zusprechen, den Schritt zu wagen und dem Programmieren eine Chance zu geben.


Das digitale Notebook BioJupies senkt die Hemmschwelle für Biologen, die Analyse von RNA-seq-Daten in die eigene Hand zu nehmen. Foto: Avi Ma'ayan - Klicken Sie hier für eine größere Abbildung

Den Einstieg in die Welt der Bits und Bytes schafft man am besten, indem man einfach loslegt. Das Internet ist voll von hilfreichen Tipps und Anleitungen. So kann man sich Stück für Stück das nötige Wissen aneignen, um die ersten eigenen Programme zu schreiben. Für die Datenanalyse nutzt man dann existierende Algorithmen und Programm-Pakete. Auf diese Weise kann sich auch der Anfänger schnell eine funktionierende Analyse-Pipeline zusammenstellen.

Wer sich schon ein bisschen im Internet umgeschaut hat, ist dabei vermutlich auch auf digitale Notebooks gestoßen. Die momentan beliebteste Variante ist das Jupyter Notebook. Digitale Notizbücher basierten ursprünglich auf der verbreiteten Programmiersprache Python. Python unterstützt viele gängige Bioinformatikwerkzeuge und Bibliotheken bei der statistischen Analyse und Visualisierung von Daten. Heutige Versionen von Jupyter unterstützen viele zusätzliche Sprachen wie R und Julia. Zudem erleichtern Programme wie die Open Source-Software Anaconda den schnellen und unkomplizierten Einstieg in Jupyter Notebooks

Einfache Computersprache

Jupyter Notebooks sind in individuelle Zellen unterteilt, die entweder einen Quellcode oder die einfach zu verwendende Computersprache Markdown enthalten. Der Code kann in den individuellen Zellen einzeln ausgeführt werden, was das Testen von Programmteilen erleichtert. Die Markdown-Zellen unterstützen Einsteiger-freundliche maschinenlesbare Sprachen (Auszeichnungssprache) sowie das Textsatzsystem LaTeX zur Dokumentierung von Formeln. Darüber hinaus enthalten sie begleitende und erklärende Texte. Da die visuelle Darstellung im HTML-Format erzeugt wird, kann man die Notebooks unkompliziert über GitHub online teilen.

Und was sind die Vorteile von Jupyter Notebooks gegenüber der klassischen Python-Programmierung? Auf der Suche nach einer Antwort findet man im Internet haufenweise Blogeinträge, in denen erklärt wird, warum Jupyter Notebooks klassischen Implementierungen unterlegen sind. Das Hauptargument ist, dass ein guter Code modular aufgebaut und damit idealerweise für andere Anwendungen wiederverwendbar sein sollte. In der Tat sind die Programme in Jupyter Notebooks eher linear strukturiert und haben den Charakter eines Skriptes.

217b
Alexander Lachmann (2.v.l.) arbeitet in Avi Ma‘ayans (3.v.l.) Team an der Mount Sinai Universität in New York. Foto: Avi Ma'yan

Einige Schwachstellen der Jupyter Notebooks wurden durch die Einführung von JupyterLab behoben. So verbessert etwa die neue Benutzeroberfläche die Integration zwischen mehreren Notebooks und Dokumenten. Dennoch existieren deutlich fortschrittlichere Entwicklungsumgebungen, welche die Entwicklung von Programmen im Vergleich zu Jupyter Notebooks erheblich vereinfachen. Einige davon, etwa PyCharm oder Visual Studio Code, sind als kostenlose Versionen erhältlich und unterstützen, wie im Fall von Visual Studio Code, viele Programmiersprachen.

Vorteile überwiegen

Trotz dieser Schwächen sind Jupyter Notebooks beliebt. Viele Programmieranfänger begegnen ihnen in Online Tutorials, etwa über Links von Video Tutorials zu kleinen Beispielprogrammen in Jupyter Notebooks. Aufgrund der einfachen Publikation im Internet speichern viele Tutorials den Code in Notebooks. Wenn Jupyter Notebook-Dateien in GitHub gespeichert werden, können sie direkt von jedem Nutzer unkompliziert im Browser geöffnet werden. Didaktisch gesehen sind sie zwar nicht optimal für den Programmier-Unterricht geeignet. Gerade für Einsteiger sind sie aber weit weniger gruselig als ein verschachteltes GitHub-Repository mit vielen Unterverzeichnissen. Die Limitierung der Notebooks zwingt den Erzeuger dazu, den Inhalt linear abzuarbeiten. Das erhöht die Nachvollziehbarkeit, da man das Programm einfach von oben nach unten liest. Dies ist jedoch nur bei kurzen Programmen ein Vorteil. Bei längeren und komplexeren kann es schnell unübersichtlich werden.

Als Bioinformatiker sind mir Laborbücher eigentlich fremd – bei der Softwareentwicklung schreibt man grundsätzlich alles in Form eines Quellcodes auf. Wenn man nicht vergisst, ein paar Kommentare in den Quellcode einzufügen, kann man seine Arbeit auch Monate später noch recht gut nachvollziehen. Dachte ich zumindest – in der Praxis stößt dieses Vorgehen jedoch schnell an seine Grenzen. Wie es besser geht, habe ich von Biologen gelernt, mit denen ich während meines Bioinformatik-Studiums zusammenarbeitete. Diese protokollierten ihre Experimente immer akribisch und klebten fleißig Fotos, etwa von Western Blots, in ihre Laborbücher. Dieses Vorgehen erinnerte zwar ein bisschen an eine Bastelstunde ist aber auch für Informatiker sehr hilfreich.

Für meinen damaligen Doktorvater, Andrea Califano vom Columbia University Medical­Center in New York, war die logische Anordnung der Protokollbeschreibungen in Kombination mit den daraus resultierenden experimentellen Ergebnissen so überzeugend, dass er alle Programmierer im Labor dazu verdonnerte, ein digitales Notizbuch zu führen. Nach anfänglichem Widerstand zeigte sich, dass diese Art der Dokumentation sehr viele Vorteile bietet – insbesondere an der Schnittstelle zwischen Softwareentwicklung und Datenanalyse. Durch die Mischung aus Quellcode, erklärenden Kommentaren und Visualisierung der analysierten Daten ergibt sich ein nachvollziehbares, reproduzierbares Bild des Forschungsprozesses.

Die Vorzüge der Jupyter Notebooks brachten unsere Gruppe um Avi Ma‘ayan von der Icahn School of Medicine at Mount Sinai University, New York, schließlich auf die Idee, das Cloud-basierte Tool BioJupies zu entwickeln, das Wissenschaftlern schnelle und unkomplizierte Einblicke in RNA-Seq-Daten ermöglicht (Cell Systems 7, 556-61).

Hunderttausende öffentlich verfügbare Genexpressionsprofile warten darauf, wiederverwendet und in neue Studien mit eingebunden zu werden. Die Daten mehrerer Wissenschaftler-Generationen liegen frei verfügbar, nur einen Mausklick entfernt, zur Abholung im Internet bereit. Dem Wunsch, externe Daten in das eigene Projekt einzubinden, steht jedoch ihre wachsende Komplexität und der damit verbundene Aufwand gegenüber. Zu selten lohnt es sich, viele Tage mit der Auswertung von RNA-seq-Daten zu verbringen, um hinterher festzustellen, dass man sie nicht gebrauchen kann.

Generelle Lösung

Wir wollten ein Werkzeug entwickeln, mit dem man dieses Risiko vermeidet. Und weil die initiale Analyse immer die gleichen Schritte erfordert, bot es sich an, eine generalisierte Lösung zu entwickeln. Das Alignment der Roh-Daten gegen ein Referenzgenom ist der zeitaufwendigste und Ressourcen-hungrigste Schritt der RNA-seq-Auswertung. Durch verbesserte Algorithmen für das RNA-seq-Alignment, wie zum Beispiel Kallisto, ist die Berechnung der Genexpression aus den Roh-Daten jedoch deutlich preisgünstiger geworden. So erlaubt es die Cloud-basierte Infrastruktur und Datenbank ARCHS4, alle publizierten RNA-seq-Experimente kostengünstig mit einer homogenen Pipeline zu analysieren. Weil alle Daten auf die gleiche Weise verarbeitet werden, sind sie zueinander kompatibel. Durch die Vorberechnung entfällt einer der aufwendigsten Schritte und die darauf folgenden benötigen deutlich weniger Rechen-Aufwand.

BioJupies baut auf den Daten von ARCHS4 auf. Über die Benutzeroberfläche kann der Nutzer einzelne Experimente auswählen, die über eine Gene Expression Omnibus (GEO) Accession auf der Startseite von BioJupies (https://amp.pharm.mssm.edu/biojupies) eingegeben werden. Nachdem ein Datensatz gefunden wurde, kann man die Analyse beliebig anpassen, voreingestellter Standard ist die explorative Visualisierung der Daten. Für die Analyse differenzieller Genexpressions-Daten lassen sich die einzelnen RNA-seq-Profile in Gruppen einteilen, zwischen denen die Berechnung stattfinden soll. Zusätzliche statistische Werkzeuge erlauben das reverse Engineering der zugrundeliegenden, biologischen Mechanismen. Alle Schritte, die zu Beginn ausgewählt werden, sind nachvollziehbar in einem Jupyter Notebook zu sehen – transparent aufgelistet und mit ausgiebigen Erklärungen kommentiert. Tabellen und Grafiken lassen sich durch Links als Dateien herunterladen. Je nach Anzahl der RNA-seq-Profile ist das Notebook in weniger als einer Minute fertiggestellt, die Ergebnisse kann der Nutzer speichern und mithilfe fester URLs mit anderen teilen.

Natürlich kann BioJupies nicht alle individualisierbaren Pipelines abdecken, die Biowissenschaftler für die Analyse ihrer Daten benötigen. Wir hoffen aber, dass es den Zugang zu existierenden RNA-seq-Datensätzen vereinfacht und erleichtert. Über das Internet ist eine nahezu grenzenlose Menge an Daten und Wissen nicht nur für Wissenschaftler frei zugänglich. Diese einzigartige Chance sollten wir nutzen.

Alexander Lachmann



Letzte Änderungen: 06.02.2019