Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Dieses Buch ist die Antwort auf eine Frage, die ich mir vor zwei Jahren gestellt habe: "Welches Buch sollte ich als erstes lesen, wenn ich in der Bioinformatik anfange?" Als ich anfing, in diesem Bereich zu arbeiten, hatte ich zwar Programmierkenntnisse in Python und R, aber sonst wenig. Ich war auf der Suche nach einem guten Einführungsbuch in die Bioinformatik, und obwohl ich einige gute Bücher fand, waren die meisten nicht auf meine tägliche Arbeit als Bioinformatikerin ausgerichtet. Einige der Texte, die ich fand, behandelten die Bioinformatik aus einer theoretischen und algorithmischen Perspektive und behandelten Themen wie Smith-Waterman-Alignment, Phylogenie-Rekonstruktion, Motivfindung und Ähnliches. Obwohl sie faszinierend zu lesen waren (und ich empfehle dir, dich mit diesem Material zu beschäftigen), musste ich bei meiner täglichen Arbeit in der Bioinformatik keine bioinformatischen Algorithmen von Grund auf neu implementieren - es gab bereits zahlreiche großartige, hoch optimierte und gut getestete Implementierungen dieser Algorithmen. Andere Bioinformatik-Texte verfolgten einen eher praktischen Ansatz, indem sie Leser/innen, die mit Computern nicht vertraut sind, durch die einzelnen Schritte von Aufgaben wie der Ausführung eines Aligners oder dem Herunterladen von Sequenzen aus einer Datenbank führten. Diese Bücher waren zwar besser auf meine Arbeit anwendbar, aber viele der Inhalte waren veraltet.
Wie du dir vielleicht denken kannst, konnte ich das beste "erste" Bioinformatik-Buch nicht finden.Bioinformatics Data Skills ist meine Version des Buches, das ich gesucht habe. Dieses Buch richtet sich an Leser/innen, die sich nicht sicher sind, wie sie die riesige Lücke zwischen der Kenntnis einer Skriptsprache und der Praxis der Bioinformatik überbrücken können, um wissenschaftliche Fragen auf robuste und reproduzierbare Weise zu beantworten. Um diese Kluft zu überbrücken, muss man Datenkompetenz erlernen - einen Ansatz, der ein Kernset von Werkzeugen verwendet, um alle Daten zu manipulieren und zu erforschen, auf die man bei einem Bioinformatikprojekt stößt.
Datenkompetenz ist der beste Weg, um Bioinformatik zu lernen, denn diese Fähigkeiten nutzen bewährte Open-Source-Tools, die nach wie vor der beste Weg sind, um veränderte Daten zu bearbeiten und zu erforschen. Dieser Ansatz hat sich im Laufe der Zeit bewährt: Das Aufkommen der Hochdurchsatz-Sequenzierung hat das Feld der Bioinformatik rapide verändert, aber erfahrene Bioinformatiker/innen haben sich mit denselben Werkzeugen und Fähigkeiten an diese neuen Daten angepasst. Die Daten der nächsten Generation waren schließlich auch nur Daten (andere Daten und mehr davon), und erfahrene Bioinformatiker/innen verfügten über die notwendigen Fähigkeiten, um Probleme zu lösen, indem sie ihre Werkzeuge auf diese neuen Daten anwandten.Bioinformatics Data Skills wurde geschrieben, um dich in diesen Kernwerkzeugen zu schulen und dir zu helfen, diese Fähigkeiten zu entwickeln.
Der Ansatz dieses Buches
Viele Biologen, die in die Bioinformatik einsteigen, neigen dazu, "Bioinformatik lernen" mit "lernen, wie man Bioinformatiksoftware ausführt" gleichzusetzen. Das ist eine unglückliche und falsche Vorstellung davon, was Bioinformatiker/innen eigentlich tun. Das ist vergleichbar mit der Vorstellung, dass "Molekularbiologie lernen" nur "Pipettieren lernen" bedeutet. Abgesehen von ein paar einfachen Beispielen zur Datengenerierung inKapitel 11 behandelt dieses Buch keine Bioinformatiksoftware wie Aligner, Assembler oder Varianten-Caller. Das Ausführen von Bioinformatiksoftware ist nicht besonders schwierig, erfordert keine besonderen Fähigkeiten und stellt keine der großen Herausforderungen der Bioinformatik dar. Ich unterrichte in Bioinformatics Data Skills aus den folgenden Gründen nicht, wie man diese Arten von Bioinformatik-Anwendungen ausführt:
-
Es ist leicht genug, das selbst herauszufinden
-
Das Material würde schnell veralten, wenn neue Softwareversionen oder ganz neue Programme in der Bioinformatik verwendet werden.
-
Die Original-Handbücher für diese Software sind immer die beste und aktuellste Quelle für die Ausführung eines Programms.
Stattdessen konzentriert sich dieses Buch auf die Fähigkeiten, die Bioinformatiker/innen nutzen, um komplexe, große Bioinformatik-Datensätze zu erforschen und daraus Informationen zu extrahieren. Das Erforschen und Extrahieren von Informationen aus diesen Datensätzen ist der unterhaltsame Teil der bioinformatischen Forschung. Das Ziel von Bioinformatics Data Skills ist es, dir die Computerwerkzeuge und Datenkenntnisse zu vermitteln, die du brauchst, um diese großen Datensätze nach Belieben zu erforschen. Mit diesen Datenkenntnissen hast du die Freiheit, alle bioinformatischen Daten in jedem Format und in jeder Dateigröße zu betrachten und die Daten zu erforschen, um biologische Zusammenhänge zu erkennen.
In meinem Kurs Bioinformatics Data Skills lege ich großen Wert auf robustes und reproduzierbares Arbeiten. Ich glaube, dass diese beiden Qualitäten - Reproduzierbarkeit und Robustheit - in der modernen Computerarbeit zu oft übersehen werden. Mitrobust meine ich, dass deine Arbeit widerstandsfähig gegen stille Fehler, Störfaktoren, Softwarefehler und unordentliche oder verrauschte Daten ist. Im Gegensatz dazu ist ein anfälliger Ansatz einer, der die Wahrscheinlichkeit, dass ein Fehler deine Ergebnisse beeinträchtigt, nicht verringert. Mit reproduzierbar meine ich, dass deine Arbeit von anderen Forschern wiederholt werden kann und sie zu denselben Ergebnissen kommen. Damit das der Fall ist, muss deine Arbeit gut dokumentiert sein, und deine Methoden, dein Code und deine Daten müssen verfügbar sein, damit andere Forscher/innen das Material haben, um alles zu reproduzieren. Reproduzierbarkeit setzt auch voraus, dass deine Arbeit robust ist - wenn ein Arbeitsablauf auf einem anderen Rechner zu einem anderen Ergebnis führt, ist er weder robust noch vollständig reproduzierbar. Ich stelle diese Konzepte in Kapitel 2 genauer vor, und diese Themen tauchen im ganzen Buch wieder auf.
Warum sich dieses Buch auf Sequenzierungsdaten konzentriert
Die Bioinformatik ist eine breit gefächerte Disziplin und umfasst Teilbereiche wie Proteomik, Metabolomik, Strukturbioinformatik, vergleichende Genomik, maschinelles Lernen und Bildverarbeitung. Bioinformatik Data Skills konzentriert sich vor allem auf den Umgang mit Sequenzierungsdaten, und zwar aus mehreren Gründen.
Erstens: Sequenzierungsdaten gibt es im Überfluss. Derzeit gibt es keine anderen "Omics"-Daten, die so zahlreich sind wie Hochdurchsatz-Sequenzierungsdaten. Sequenzierungsdaten finden in der gesamten Biologie breite Anwendung: Variantenerkennung und Genotypisierung, Transkriptomsequenzierung für Genexpressionsstudien, Protein-DNA-Interaktionsassays wie ChIP-seq und Bisulfit-Sequenzierung für Methylierungsstudien, um nur einige Beispiele zu nennen. Die Möglichkeiten, Sequenzierungsdaten zur Beantwortung biologischer Fragen zu nutzen, werden weiter zunehmen.
Zweitens sind Sequenzierungsdaten hervorragend geeignet, um deine Datenkenntnisse zu verbessern. Selbst wenn du in Zukunft andere Datentypen analysieren willst, sind Sequenzdaten ein hervorragendes Beispiel, um damit zu lernen. Die Textverarbeitungsfähigkeiten, die du für die Arbeit mit Sequenzierungsdaten brauchst, lassen sich auch auf viele andere Datentypen übertragen.
Drittens sind andere Teilbereiche der Bioinformatik viel domänenspezifischer. Die breite Verfügbarkeit und die sinkenden Kosten der Sequenzierung haben es Wissenschaftlern aller Fachrichtungen ermöglicht, Genomikdaten zur Beantwortung von Fragen in ihren Systemen zu nutzen. Im Gegensatz dazu sind Teilgebiete der Bioinformatik wie die Proteomik oder die Hochdurchsatz-Bildverarbeitung viel spezieller und weniger verbreitet. Wenn du dich jedoch für diese Bereiche interessierst, wirst du in Bioinformatik Data Skills nützliche Rechen- und Datenkenntnisse erlernen, die dir bei deiner Forschung helfen werden.
Publikum
Nach meiner Erfahrung, die ich in einem einwöchigen Intensivkurs an der UC Davis gemacht habe, sind die meisten Menschen, die Bioinformatik lernen wollen, entweder Biologen oder Informatiker/Programmierer. Biologen wollen die nötigen Rechenfertigkeiten entwickeln, um ihre eigenen Daten zu analysieren, während die Programmierer und Informatiker ihre Rechenfertigkeiten auf biologische Probleme anwenden wollen. Obwohl sich diese beiden Gruppen in Bezug auf ihr biologisches Wissen und ihre Computererfahrung stark unterscheiden, deckt Bioinformatics Data Skills Material ab, das für beide hilfreich sein sollte.
Wenn du Biologe bist, vermittelt dir Bioinformatics Data Skills die grundlegenden Kenntnisse, die du für die Arbeit mit bioinformatischen Daten brauchst. Es ist wichtig zu wissen, dass Bioinformatics Data Skills kein How-to-Buch zur Bioinformatik ist; ein solches Buch zur Bioinformatik würde schnell veralten oder wäre zu eng gefasst, um den meisten Biologen zu helfen. Du musst dieses Buch mit Kenntnissen über deine spezielle Forschung und dein System sowie über die modernen statistischen und bioinformatischen Methoden, die in deinem Teilgebiet verwendet werden, ergänzen. Wenn dein Projekt z. B. das Alignment von Sequenzierdaten an ein Referenzgenom beinhaltet, wird dir dieses Buch nicht die neueste und beste Alignment-Software für dein spezielles System nennen. Aber unabhängig davon, welchen Aligner du verwendest, musst du ein gründliches Verständnis der Alignment-Formate haben und wissen, wie du Alignment-Daten manipulieren kannst - ein Thema, das in Kapitel 11 behandelt wird. In diesem Buch sind diese allgemeinen Rechen- und Datenkenntnisse als solide, allgemein anwendbare Grundlage gedacht, auf der die meisten Biologen aufbauen können.
Wenn du Informatiker/in oder Programmierer/in bist, bist du wahrscheinlich schon mit einigen der Computerwerkzeuge vertraut, die ich in diesem Buch vermittle. Auch wenn sich die Inhalte in Bioinformatik-Datenkenntnisse mit deinem bereits vorhandenen Wissen überschneiden, lernst du dennoch die spezifischen Formate, Werkzeuge und Ansätze kennen, die Bioinformatiker bei ihrer Arbeit verwenden. Wenn du die Beispiele in diesem Buch durcharbeitest, bekommst du außerdem eine gute Übung darin, deine Rechenkenntnisse auf Genomikdaten anzuwenden.
Der Schwierigkeitsgrad von bioinformatischen Datenkenntnissen
Bioinformatics Data Skills ist ein gründliches - und zum Teil sehr dichtes - Buch. Als ich mit dem Schreiben dieses Buches begann, beschloss ich, dass der größte Fehler, den ich begehen könnte, darin bestünde, Bioinformatik als ein Thema zu behandeln, das einfacher ist, als es tatsächlich ist. Bei meiner Arbeit als Bioinformatikerin habe ich immer wieder erlebt, wie subtile Probleme auftauchen und das Ergebnis der Analyse negativ beeinflussen können, wenn sie nicht erkannt werden. Ich möchte nicht, dass deine Bioinformatikarbeit fehlerhaft ist, weil ich ein Thema künstlich vereinfacht habe. Die Tiefe, mit der ich die Themen in Bioinformatics Data Skills behandle, soll dich darauf vorbereiten, ähnliche Probleme in deiner eigenen Arbeit zu erkennen, damit deine Ergebnisse robust sind.
Das führt dazu, dass einige Abschnitte dieses Buches ziemlich fortgeschritten sind und für manche Leser/innen schwierig sein werden. Lasst euch nicht entmutigen! Wie das meiste in der Wissenschaft ist auch dieser Stoff schwierig und es kann ein paar Mal gelesen werden, bis man ihn ganz verstanden hat. Ich versuche, im ganzen Buch darauf hinzuweisen, wenn bestimmte Abschnitte besonders fortgeschritten sind, damit du sie überspringen und später darauf zurückkommen kannst.
Zu guter Letzt verwende ich in diesem Buch oft Fachjargon. Ich verwende den Jargon nicht gerne, aber er ist notwendig, um technische Konzepte in der Informatik zu vermitteln. In erster Linie hilft er dir bei der Suche nach zusätzlichen Ressourcen und Hilfe. Es ist viel einfacher, erfolgreich nach "Left Outer Join" zu googeln als nach "Datenzusammenführung, bei der Null-Datensätze in einer Tabelle enthalten sind."
Annahmen, die dieses Buch macht
Bioinformatics Data Skills ist ein Buch für Einsteiger in die Bioinformatik. Um sicherzustellen, dass alle auf dem gleichen Niveau anfangen, beginnt das Buch mit ein paar einfachen Kapiteln. In Kapitel 2 behandle ich die Grundlagen des Aufbaus eines Bioinformatikprojekts, und in Kapitel 3 vermittle ich einige grundlegende Unix-Themen, die sicherstellen sollen, dass du Unix gut beherrschst (denn Unix spielt in den späteren Kapiteln eine große Rolle). Da es sich um ein Buch für Fortgeschrittene handelt, setze ich jedoch einige Voraussetzungen voraus:
- Du kennst eine Skriptsprache
-
Das ist die wichtigste Voraussetzung für dieses Buch. Abgesehen von ein paar Python-Programmen und dem R-Material (R wird inKapitel 8 vorgestellt) kommt es in diesem Buch nicht direkt auf die Verwendung von Skripten an. Wenn du jedoch eine Skriptsprache lernst, hast du bereits viele wichtige Computerkonzepte kennengelernt, wie z. B. die Arbeit mit einem Texteditor, das Ausführen von Programmen auf der Kommandozeile und die Grundlagen der Programmierung. Wenn du keine Skriptsprache kennst, würde ich dir empfehlen, Python zu lernen, während du dieses Buch liest. Bücher wie Bioinformatics Programming Using Python von Mitchell L. Model (O'Reilly, 2009), Learning Python, 5th Edition, von Mark Lutz (O'Reilly, 2013) und Python in a Nutshell, 2nd, von Alex Martelli (O'Reilly, 2006) eignen sich hervorragend für den Einstieg. Wenn du eine andere Skriptsprache als Python kennst (z. B. Perl oder Ruby), kannst du den meisten Beispielen folgen (auch wenn du einige Beispiele in deine bevorzugte Skriptsprache übersetzen musst).
- Du weißt, wie man einen Texteditor benutzt
-
Es ist wichtig, dass du dich mit einem Texteditor (z. B. Emacs, Vim, TextMate2 oder Sublime Text) auskennst. Mit einem Textverarbeitungsprogramm (z. B. Microsoft Word) wird es nicht funktionieren, und ich würde davon abraten, Texteditoren wie Notepad oder OS X TextEdit zu verwenden, da sie keine Syntaxhervorhebung für gängige Programmiersprachen unterstützen.
- Du hast grundlegende Unix-Kommandozeilen-Kenntnisse
-
Ich gehe zum Beispiel davon aus, dass du den Unterschied zwischen einem Terminal und einer Shell kennst, weißt, wie man Befehle eingibt, was Befehlszeilenoptionen/Flags und Argumente sind und wie man den Pfeil nach oben benutzt, um den zuletzt eingegebenen Befehl aufzurufen. Außerdem solltest du ein grundlegendes Verständnis der Unix-Dateihierarchie haben (einschließlich Konzepten wie deinem Heimatverzeichnis, relativen und absoluten Verzeichnissen und Stammverzeichnissen). Du solltest auch in der Lage sein, Verzeichnisse und Dateien in Unix mit Befehlen wie
cd
,ls
,pwd
,mv
,rm
,rmdir
undmkdir
zu verschieben und zu manipulieren. Schließlich solltest du ein grundlegendes Verständnis von Unix-Dateibesitz und -Rechten haben und diese mitchown
undchmod
ändern können. Wenn dir diese Konzepte unklar sind, empfehle ich dir, zuerst in der Unix-Befehlszeile herumzuspielen (vorsichtig!) und ein gutes Einsteigerbuch wie Practical Computing for Biologists von Steven Haddock und Casey Dunn (Sinauer, 2010) oder UNIX and Perl to the Rescue von Keith Bradnam und Ian Korf (Cambridge University Press, 2012) zu Rate zu ziehen. - Du hast ein grundlegendes Verständnis der Biologie
-
Bioinformatics Data Skills ist ein BYOB-Buch - bringdeine eigene Biologie mit. Die Beispiele erfordern nicht viel Hintergrundwissen in Biologie, abgesehen davon, was DNA, RNA, Proteine und Gene sind und was das zentrale Dogma der Molekularbiologie ist. Du solltest auch mit einigen grundlegenden Konzepten der Genetik und Genomik vertraut sein (z. B. Einzelnukleotid-Polymorphismen, Genotypen, GC-Gehalt usw.). Alle biologischen Beispiele im Buch sind recht einfach gehalten. Wenn du mit einem Thema nicht vertraut bist, solltest du in der Lage sein, schnell einen Wikipedia-Artikel zu überfliegen und mit dem Beispiel fortzufahren.
- Du hast ein grundlegendes Verständnis von regulären Ausdrücken
-
Gelegentlich werde ich in diesem Buch reguläre Ausdrücke verwenden. In den meisten Fällen versuche ich, die Grundlagen der Funktionsweise eines regulären Ausdrucks kurz zu erläutern, damit du dir ein Bild machen kannst. Wenn du beim Erlernen einer Skriptsprache bereits mit regulären Ausdrücken in Berührung gekommen bist, kannst du sofort loslegen. Wenn nicht, empfehle ich dir, die Grundlagen zu lernen - nicht, weil reguläre Ausdrücke in diesem Buch häufig verwendet werden, sondern weil die Beherrschung regulärer Ausdrücke eine wichtige Fähigkeit in der Bioinformatik ist. Introducing Regular Expressions von Michael Fitzgerald (O'Reilly) ist eine gute Einführung. Heutzutage ist es dank Online-Tools wiehttp://regex101.com und http://www.debuggex.com einfacher denn je, reguläre Ausdrücke zu schreiben, zu testen und zu debuggen . Ich empfehle, diese Tools bei deiner eigenen Arbeit und beim Durchgehen meiner Beispiele für reguläre Ausdrücke zu verwenden.
- Du weißt, wie du Hilfe bekommst und die Dokumentation liest
-
In diesem Buch versuche ich, so wenig Informationen wie möglich zu vermitteln, die in Handbüchern, in der Hilfedokumentation oder im Internet zu finden sind. Dafür gibt es drei Gründe:
-
Ich möchte Platz sparen und mich darauf konzentrieren, Material auf eine Art und Weise zu präsentieren, die du nirgendwo anders finden kannst.
-
Handbuchseiten und Dokumentation sind immer die beste Quelle für diese Informationen
-
Die Fähigkeit, schnell Antworten in der Dokumentation zu finden, ist eine der wichtigsten Fähigkeiten, die du beim Erlernen der Computertechnik entwickeln kannst.
-
Dieser letzte Punkt ist besonders wichtig: Du musst dich nicht an alle Argumente eines Befehls oder einer R-Funktion erinnern - du musst nur wissen, wo du diese Informationen findest. Programmierer ziehen bei ihrer Arbeit ständig Dokumentationen zu Rate. Deshalb gibt es Dokumentationswerkzeuge wie man
(unter Unix) und help()
(in R).
- Du kannst dein Computersystem verwalten (oder hast einen Systemadministrator)
-
Dieses Buch vermittelt dir keine Systemadministrationskenntnisse wie das Einrichten eines Bioinformatik-Servers oder -Clusters, die Verwaltung von Benutzerkonten, Netzwerksicherheit, die Verwaltung von Festplatten und Festplattenspeicher, RAID-Konfigurationen, Datensicherung und Konzepte für Hochleistungsrechner. Der Platz reicht einfach nicht aus, um diese wichtigen Themen angemessen zu behandeln. Sie sind jedoch alle sehr, sehr wichtig - wenn du keinen Systemadministrator hast und diese Rolle in deinem Labor oder deiner Forschungsgruppe übernehmen musst, ist es unerlässlich, dass du auch diese Fähigkeiten beherrschst. Gute Systemadministratoren haben eine unglaubliche Geduld und Erfahrung im Umgang mit Problemen, die die meisten Wissenschaftler/innen in den Wahnsinn treiben würden. Wenn du einen Vollzeit-Systemadministrator einstellen kannst, der in mehreren Laboren oder Gruppen arbeitet, oder wenn du einen Universitäts-Cluster mit einem Systemadministrator nutzen kannst, würde ich das tun. Zu guter Letzt, das muss eigentlich nicht gesagt werden, aber nur für den Fall der Fälle: Mach ständig Backups deiner Daten und deiner Arbeit. Beim Erlernen von Unix kann es leicht passieren, dass man einen Befehl ausführt, der Dateien zerstört - der beste Schutz davor, alles zu verlieren, sind kontinuierliche Backups.
Ergänzendes Material auf GitHub
Das zusätzliche Material, das für die Beispiele in diesem Buch benötigt wird, ist im GitHub-Repository verfügbar. Du kannst das Material aus diesem Repository herunterladen, wenn du es brauchst (das Repository ist nach Kapiteln geordnet), oder du kannst alles über den Link Download Zip herunterladen. Sobald du in Kapitel 5 Git gelernt hast, empfehle ich dir, das Repository zu klonen, damit du alle Beispieldateien wiederherstellen kannst, falls du sie versehentlich überschreibst.
Navigiere jetzt zu diesem Repository und stöbere darin herum, damit du dich mit dem Layout vertraut machst. Im Verzeichnis des Vorworts findest du die Datei README.md, die zusätzliche Informationen zu vielen der von mir besprochenen Themen enthält. Zusätzlich zu den zusätzlichen Dateien, die für alle Beispiele im Buch benötigt werden, enthält dieses Repository:
-
Dokumentation darüber, wie alle zusätzlichen Dateien erstellt wurden oder wie sie erworben wurden. In einigen Fällen habe ich Makefiles oder Skripte verwendet (beide Themen werden in Kapitel 12 behandelt), um Beispieldaten zu erstellen. Alle diese Ressourcen sind im GitHub-Verzeichnis des jeweiligen Kapitels verfügbar. Ich habe diese Materialien nicht nur zu reproduzierbaren Zwecken aufgenommen, sondern auch als zusätzliches Lernmaterial.
-
Zusätzliche Informationen zu den einzelnen Kapiteln, die für die Leser interessant sein könnten. Diese Informationen findest du in der README.md-Datei jedes Kapitels. Ich habe auch andere Ressourcen wie Listen mit empfohlenen Büchern zum Weiterlernen hinzugefügt.
-
Errata und alle notwendigen Aktualisierungen, wenn das Material aus irgendeinem Grund veraltet ist.
Ich habe mich dafür entschieden, die Zusatzdateien für Bioinformatics Data Skills auf GitHub zu hosten, damit ich alles auf dem neuesten Stand halten und auf mögliche Probleme der Leser eingehen kann. Wenn du ein Problem mit dem Buch oder dem Zusatzmaterial entdeckst, kannst du gerne einen neuen Eintrag auf GitHub erstellen.
Rechenressourcen und Einrichtung
Ich habe das gesamte Buch auf meinem Laptop geschrieben, einem 15-Zoll-MacBook Pro mit 16 GB Arbeitsspeicher. Obwohl dies ein leistungsstarker Laptop ist, ist er viel kleiner als die in der Bioinformatik üblichen Server. Alle Beispiele sind so konzipiert und getestet, dass sie auf einem Rechner dieser Größe laufen. Fast alle Beispiele sollten auch auf einem Rechner mit 8 GB Speicher laufen.
Alle Beispiele in diesem Buch funktionieren auf Mac OS X und Linux - andere Betriebssysteme werden nicht unterstützt (vor allem, weil die moderne Bioinformatik auf Unix-basierte Betriebssysteme angewiesen ist). Alle Software, die in diesem Buch benötigt wird, ist frei verfügbar und kann leicht installiert werden; ich gebe in jedem Abschnitt einige grundlegende Anweisungen, wenn eine Softwareinstallation erforderlich ist. Im Allgemeinen solltest du das Paketverwaltungssystem deines Betriebssystems verwenden (z.B. apt-get
unter Ubuntu/Debian). Wenn du einen Mac verwendest, empfehle ich dir Homebrew, einen hervorragenden Paketmanager für OS X, mit dem du Software ganz einfach über die Kommandozeile installieren kannst. Ausführliche Anleitungen findest du auf der Homebrew-Website. Das Wichtigste: Homebrew unterhält eine Sammlung wissenschaftlicher Softwarepakete namens homebrew-science, darunter die Bioinformatik-Software, die wir in diesem Buch verwenden. Befolge die Anweisungen in der README.md von homebrew-science, um zu erfahren, wie du diese wissenschaftlichen Programme installierst.
Aufbau dieses Buches
Dieses Buch besteht aus drei Teilen: Teil I, der ein Kapitel über Ideologie enthält; Teil II, der die Grundlagen für den Einstieg in ein Bioinformatikprojekt behandelt; und Teil III, der sich mit bioinformatischen Datenkenntnissen befasst. Obwohl die Kapitel so geschrieben wurden, dass sie der Reihe nach gelesen werden sollten, kannst du, wenn du dich mit Unix und R auskennst, problemlos zwischen den Kapiteln hin und her springen.
In Kapitel 1 erkläre ich, warum das Erlernen der Bioinformatik durch die Entwicklung von Datenkompetenz der beste Ansatz ist. Außerdem stelle ich die Ideologie dieses Buches vor und beschreibe reproduzierbare und robuste Bioinformatik sowie einige Empfehlungen, die du bei deiner eigenen Arbeit anwenden kannst.
Teil II von Bioinformatics Data Skills führt in die grundlegenden Fähigkeiten ein, die du brauchst, um ein Bioinformatikprojekt zu starten. Zunächst schauen wir uns in Kapitel 2 an, wie man ein Projektverzeichnis einrichtet und verwaltet. Das mag trivial klingen, aber komplexe Bioinformatik-Projekte verlangen, dass wir über Projektmanagement nachdenken. In der Hektik der Forschung gibt es überall Dateien. Wenn du mit einem sorgfältig organisierten Projekt beginnst, kannst du in Zukunft eine Menge Ärger vermeiden. Wir werden auch etwas über die Dokumentation mit Markdown lernen, einem nützlichen Format für die Projektdokumentation im Klartext.
In Kapitel 3 beschäftigen wir uns mit den Grundlagen von Unix in der Bioinformatik. Damit soll sichergestellt werden, dass du die wichtigsten Konzepte (z. B. Pipes, Umleitung, Standardeingabe und -ausgabe usw.) verstehst. Wenn du diese grundlegenden Themen verstehst, kannst du dich in den späteren Kapiteln auf die Analyse von Daten konzentrieren und musst dich nicht mit den Unix-Grundlagen herumschlagen.
Die meisten Aufgaben in der Bioinformatik erfordern mehr Rechenleistung, als wir auf unseren persönlichen Arbeitsplätzen zur Verfügung haben, so dass wir mit entfernten Servern und Clustern arbeiten müssen. Kapitel 4 enthält einige Tipps und Tricks, mit denen du deine Produktivität bei der Arbeit mit entfernten Rechnern steigern kannst.
In Kapitel 5 lernen wir Git kennen, ein System zur Versionskontrolle, das die Verwaltung von Projektversionen erleichtert. Bioinformatik-Projekte bestehen aus vielen Codes und Daten, die mit denselben modernen Werkzeugen verwaltet werden sollten wie kollaborativ entwickelte Software. Git ist eine große, leistungsstarke Software, daher ist dieses Kapitel sehr lang. Allerdings wurde dieses Kapitel so geschrieben, dass du den Abschnitt über Verzweigungen überspringen und später darauf zurückkommen kannst.
Kapitel 6 befasst sich mit Daten in Bioinformatik-Projekten: wie man große Datenmengen herunterlädt, Datenkomprimierung verwendet, die Datenintegrität überprüft und Daten für ein Projekt reproduzierbar herunterlädt.
In Teil III widmen wir uns der Entwicklung der grundlegenden Datenkenntnisse, die alle Bioinformatiker/innen benötigen, um Probleme bei ihrer täglichen Arbeit anzugehen. In Kapitel 7geht es um Unix-Datentools, mit denen du schnell leistungsstarke Unix-Pipelines für die Verarbeitung bioinformatischer Daten schreiben kannst. Dieser Ansatz ist ein Eckpfeiler der modernen Bioinformatik und eine absolut unverzichtbare Datenkompetenz.
In Kapitel 8 führe ich dich in die Sprache R ein und zeige dir Techniken zur explorativen Datenanalyse. Dieses Kapitel bereitet dich darauf vor, R zu nutzen, um deine eigenen Daten mit Techniken wie Visualisierung und Datenzusammenfassungen zu untersuchen.
Genomische Bereichsdaten sind in der Bioinformatik allgegenwärtig, daher befassen wir uns in Kapitel 9 mit Bereichsdaten und Bereichsoperationen. Zunächst werden wir die verschiedenen Möglichkeiten zur Darstellung von genomischen Bereichen durchgehen und mit Hilfe des IRanges
Pakets von Bioconductor die Bereichsoperationen durchgehen, um unsere Intuition für den Bereich zu schärfen. Dann arbeiten wir mit genomischen Daten unter GenomicRanges
. Zum Schluss schauen wir uns die BEDTools Suite an, mit der wir auf der Kommandozeile mit Bereichsdaten arbeiten können.
In Kapitel 10 lernen wir etwas über Sequenzdaten, die Hauptstütze der Bioinformatikdaten. Wir sehen uns die FASTA- und FASTQ-Formate (und ihre Grenzen) an und arbeiten daran, Basen geringer Qualität aus Sequenzen zu entfernen, um zu sehen, wie sich dies auf die Verteilung der Qualitätswerte auswirkt. Außerdem werden wir uns mit dem Parsen von FASTA und FASTQ beschäftigen.
Kapitel 11 befasst sich mit den Alignment-Datenformaten SAM und BAM. Das Verstehen und Bearbeiten von Dateien in diesen Formaten ist eine wesentliche bioinformatische Fähigkeit bei der Arbeit mit Hochdurchsatz-Sequenzierungsdaten. Wir werden sehen, wie man Samtools verwendet, um diese Dateien zu bearbeiten und die Daten zu visualisieren, und wir werden ein detailliertes Beispiel durchgehen, das einige der Feinheiten des Variantenaufrufs veranschaulicht. Schließlich werden wir lernen, wie man Pysam verwendet, um SAM/BAM-Dateien zu analysieren, damit du deine eigenen Skripte schreiben kannst, die mit diesen speziellen Datenformaten arbeiten.
Der Großteil der täglichen Arbeit in der Bioinformatik besteht im Schreiben von Datenverarbeitungsskripten und Pipelines. In Kapitel 12 schauen wir uns an, wie man solche Datenverarbeitungspipelines auf robuste und reproduzierbare Weise schreibt. Wir befassen uns insbesondere mit Bash-Skripten, der Bearbeitung von Dateien mit Unix-Powertools wie find
und xargs
und werfen schließlich einen kurzen Blick darauf, wie du Pipelines mit Make und Makefiles schreiben kannst.
In der Bioinformatik sind unsere Daten oft zu groß, um in den Speicher unseres Computers zu passen. In Kapitel 7 haben wir gesehen, wie Streaming mit Unix Pipes helfen kann, dieses Problem zu lösen, aber Kapitel 13 befasst sich mit einer anderen Methode: Out-of-Memory-Ansätze. Zuerst schauen wir uns Tabix an, eine schnelle Methode, um auf Informationen in indizierten tabulatorgetrennten Dateien zuzugreifen. Anschließend lernen wir die Grundlagen von SQL kennen, indem wir einige GWAS-Daten mit SQLite analysieren.
In Kapitel 14 erörtere ich schließlich, wohin du als Nächstes gehen solltest, um deine Bioinformatikkenntnisse weiterzuentwickeln.
Code-Konventionen
Die meisten Bioinformatikdaten haben eines gemeinsam: Sie sind groß. In Codebeispielen muss ich die Ausgabe oft kürzen, damit sie auf die Breite einer Seite passt. Um anzuzeigen, dass die Ausgabe gekürzt wurde, verwende ich in der Ausgabe immer [...]
. Außerdem verwende ich in Codebeispielen oft kurze Variablennamen, um Platz zu sparen. Ich möchte dich ermutigen, in deiner eigenen Arbeit aussagekräftigere Namen zu verwenden als die, die ich in diesem Buch benutzt habe.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Wenn du eine CD-ROM mit Beispielen aus den O'Reilly-Büchern verkaufst oder verteilst, ist eine Genehmigung erforderlich. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Erlaubnis erforderlich.
Wir schätzen die Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Bioinformatics Data Skills von Vince Buffalo (O'Reilly). Copyright 2015 Vince Buffalo, 978-1-449-36737-4."
Wenn du der Meinung bist, dass deine Verwendung von Codebeispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
Safari® Bücher Online
Hinweis
Safari Books Online ist eine digitale On-Demand-Bibliothek, die Experteninhalte in Buch- und Videoform von weltweit führenden Autoren aus den Bereichen Technologie und Wirtschaft liefert.
Technologieexperten, Softwareentwickler, Webdesigner sowie Geschäftsleute und Kreative nutzen Safari Books Online als Hauptressource für Recherchen, Problemlösungen, Lernen und Zertifizierungsschulungen.
Safari Books Online bietet eine Reihe von Plänen und Preisen für Unternehmen, Behörden, Bildungseinrichtungen und Privatpersonen.
Mitglieder haben Zugang zu Tausenden von Büchern, Schulungsvideos und Manuskripten von Verlagen wie O'Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology und Hunderten mehr in einer vollständig durchsuchbaren Datenbank. Wenn du mehr über Safari Books Online erfahren möchtest, besuche uns bitte online.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter http://bit.ly/Bio-DS aufrufen .
Wenn du Kommentare oder technische Fragen zu diesem Buch stellen möchtest, sende eine E-Mail an bookquestions@oreilly.com.
Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://www.youtube.com/oreillymedia
Danksagungen
Ein Buch zu schreiben ist eine gewaltige Anstrengung - zwei Jahre lang habe ich nachts und an den Wochenenden anBioinformatik Data Skills gearbeitet. Dies geschah zusätzlich zu meiner anspruchsvollen Karriere als Bioinformatiker (und in den letzten fünf Monaten des Schreibens als Doktorand). Für die meisten Wissenschaftler ist es schon schwierig genug, Arbeit und Leben unter einen Hut zu bringen; ich weiß jetzt, dass es fast unmöglich ist, Arbeit, Leben und das Schreiben eines Buches unter einen Hut zu bringen. Ohne die Unterstützung meiner Partnerin, Helene Hopfer, hätte ich diesen Prozess nicht überlebt.
Ich danke Ciera Martinez, die mir immer wieder nützliches Feedback gegeben und mir geholfen hat, den Ton und die Zielgruppe dieses Buches zu kalibrieren. Cody Markelz hat mir unermüdlich Feedback gegeben und sich nie gescheut zu sagen, wenn ich in einem Kapitel daneben lag - dafür sollten mir alle Leserinnen und Leser dankbar sein. Meinem Freund Al Marks gebührt besondere Anerkennung, nicht nur für sein wertvolles Feedback zu vielen Kapiteln, sondern auch dafür, dass er mich schon in der High School in die Welt der Informatik und des Programmierens eingeführt hat. Ich danke auch Jeff Ross-Ibarra dafür, dass er meine Leidenschaft für die Populationsgenetik geweckt hat und mich in seinem Labor mit herausfordernden und interessanten Projekten konfrontiert hat. Ich schulde dem gesamten UC Davis Bioinformatics Core Dank für die fantastische Zeit, die ich dort verbracht habe. Mein besonderer Dank gilt Dawei Lin, Joe Fass, Nikhil Joshi und Monica Britton, die ihr Wissen mit mir geteilt und mir die Freiheit gegeben haben, die Bioinformatik zu erkunden. Auch Mike Lewis gebührt ein besonderer Dank dafür, dass er mir das Rechnen beigebracht hat und ein großartiger Mensch war, mit dem ich mich über technische Details austauschen konnte. Peter Morrell, sein Labor und die "Does[0]compute?"-Lesegruppe haben mir viel nützliches Feedback gegeben, für das ich sehr dankbar bin. Ich danke Jorge Dubcovsky - sein unermüdliches Streben nach Wissenschaft hat mich motiviert, das Gleiche zu tun. Und schließlich danke ich meinem wunderbaren Betreuer Graham Coop für seine Geduld, die es mir ermöglichte, dieses Buch fertigzustellen.
Dieses Buch wurde durch die wertvollen Beiträge vieler Rezensenten, Kollegen und Freunde erheblich verbessert. Danke an Peter Cock, Titus Brown, Keith Bradnam, Mike Covington, Richard Smith-Unna, Stephen Turner, Karthik Ram, Gabe Becker, Noam Ross, Chris Hamm, Stephen Pearce, Anke Schennink, Patrik D'haeseleer, Bill Broadley, Kate Crosby, Arun Durvasula, Aaron Quinlan und David Ruddock. Shaun Jackman verdient Anerkennung für seinen unermüdlichen Einsatz, mit dem er die Installation von Bioinformatik-Software durch die Projekte Homebrew und apt-get
vereinfacht hat - meine Leser werden davon sehr profitieren. Ich bin auch dankbar für die Kommentare und das positive Feedback, das ich von vielen Lesern der ersten Auflage dieses Buches erhalten habe; die positive Resonanz hat mich sehr motiviert, alles fertigzustellen. Als Autor übernehme ich jedoch die volle Verantwortung für alle Fehler oder Auslassungen, die diesen engagierten Rezensenten entgangen sind.
Die meisten Autorinnen und Autoren haben Glück, wenn sie mit einer großartigen Lektorin oder einem großartigen Lektor arbeiten - ich durfte mit zwei arbeiten. Danke, Courtney Nash und Amy Jollymore, für euren unermüdlichen Einsatz und eure Ermutigung während dieses Prozesses. Kurz gesagt: Ohne euch hätte ich das nicht geschafft. Außerdem möchte ich mich bei meiner Redakteurin Nicole Shelby, der Lektorin Jasmine Kwityn und dem restlichen O'Reilly-Produktionsteam für ihre harte Arbeit bei der Bearbeitung von Bioinformatics Data Skills bedanken. Und schließlich danke ich dir, Mike Loukides, für dein Feedback und dafür, dass du dich für mein Buch interessiert hast, als es nur eine Sammlung von frühen, groben Ideen war - du hast mehr gesehen.
Get Bioinformatik Datenkenntnisse now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.