Biopython - Plotten
In diesem Kapitel wird das Zeichnen von Sequenzen erläutert. Bevor wir zu diesem Thema übergehen, wollen wir die Grundlagen des Zeichnens verstehen.
Plotten
Matplotlib ist eine Python-Plotbibliothek, die Qualitätsfiguren in verschiedenen Formaten erstellt. Wir können verschiedene Arten von Plots wie Liniendiagramme, Histogramme, Balkendiagramme, Kreisdiagramme, Streudiagramme usw. erstellen.
pyLab is a module that belongs to the matplotlib which combines the numerical module numpy with the graphical plotting module pyplot.Biopython verwendet das Pylab-Modul zum Zeichnen von Sequenzen. Dazu müssen wir den folgenden Code importieren -
import pylab
Vor dem Importieren müssen wir das matplotlib-Paket mit dem Befehl pip mit dem folgenden Befehl installieren -
pip install matplotlib
Beispiel-Eingabedatei
Erstellen Sie eine Beispieldatei mit dem Namen plot.fasta in Ihrem Biopython-Verzeichnis und fügen Sie die folgenden Änderungen hinzu -
>seq0 FQTWEEFSRAAEKLYLADPMKVRVVLKYRHVDGNLCIKVTDDLVCLVYRTDQAQDVKKIEKF
>seq1 KYRTWEEFTRAAEKLYQADPMKVRVVLKYRHCDGNLCIKVTDDVVCLLYRTDQAQDVKKIEKFHSQLMRLME
>seq2 EEYQTWEEFARAAEKLYLTDPMKVRVVLKYRHCDGNLCMKVTDDAVCLQYKTDQAQDVKKVEKLHGK
>seq3 MYQVWEEFSRAVEKLYLTDPMKVRVVLKYRHCDGNLCIKVTDNSVCLQYKTDQAQDV
>seq4 EEFSRAVEKLYLTDPMKVRVVLKYRHCDGNLCIKVTDNSVVSYEMRLFGVQKDNFALEHSLL
>seq5 SWEEFAKAAEVLYLEDPMKCRMCTKYRHVDHKLVVKLTDNHTVLKYVTDMAQDVKKIEKLTTLLMR
>seq6 FTNWEEFAKAAERLHSANPEKCRFVTKYNHTKGELVLKLTDDVVCLQYSTNQLQDVKKLEKLSSTLLRSI
>seq7 SWEEFVERSVQLFRGDPNATRYVMKYRHCEGKLVLKVTDDRECLKFKTDQAQDAKKMEKLNNIFF
>seq8 SWDEFVDRSVQLFRADPESTRYVMKYRHCDGKLVLKVTDNKECLKFKTDQAQEAKKMEKLNNIFFTLM
>seq9 KNWEDFEIAAENMYMANPQNCRYTMKYVHSKGHILLKMSDNVKCVQYRAENMPDLKK
>seq10 FDSWDEFVSKSVELFRNHPDTTRYVVKYRHCEGKLVLKVTDNHECLKFKTDQAQDAKKMEK
Liniendiagramm
Lassen Sie uns nun ein einfaches Liniendiagramm für die obige Fasta-Datei erstellen.
Step 1 - Importieren Sie das SeqIO-Modul, um die Fasta-Datei zu lesen.
>>> from Bio import SeqIO
Step 2 - Analysieren Sie die Eingabedatei.
>>> records = [len(rec) for rec in SeqIO.parse("plot.fasta", "fasta")]
>>> len(records)
11
>>> max(records)
72
>>> min(records)
57
Step 3 - Importieren wir das Pylab-Modul.
>>> import pylab
Step 4 - Konfigurieren Sie das Liniendiagramm, indem Sie Beschriftungen für die x- und y-Achse zuweisen.
>>> pylab.xlabel("sequence length")
Text(0.5, 0, 'sequence length')
>>> pylab.ylabel("count")
Text(0, 0.5, 'count')
>>>
Step 5 - Konfigurieren Sie das Liniendiagramm, indem Sie die Rasteranzeige einstellen.
>>> pylab.grid()
Step 6 - Zeichnen Sie ein einfaches Liniendiagramm, indem Sie die Plotmethode aufrufen und Datensätze als Eingabe bereitstellen.
>>> pylab.plot(records)
[<matplotlib.lines.Line2D object at 0x10b6869d 0>]
Step 7 - Speichern Sie das Diagramm abschließend mit dem folgenden Befehl.
>>> pylab.savefig("lines.png")
Ergebnis
Nachdem Sie den obigen Befehl ausgeführt haben, wird das folgende Bild in Ihrem Biopython-Verzeichnis gespeichert.
Histogramm-Diagramm
Ein Histogramm wird für kontinuierliche Daten verwendet, wobei die Bins Datenbereiche darstellen. Das Zeichnungshistogramm entspricht dem Liniendiagramm mit Ausnahme von pylab.plot. Rufen Sie stattdessen die hist-Methode des Pylab-Moduls mit Datensätzen und einem Custum-Wert für Bins auf (5). Die vollständige Codierung lautet wie folgt:
Step 1 - Importieren Sie das SeqIO-Modul, um die Fasta-Datei zu lesen.
>>> from Bio import SeqIO
Step 2 - Analysieren Sie die Eingabedatei.
>>> records = [len(rec) for rec in SeqIO.parse("plot.fasta", "fasta")]
>>> len(records)
11
>>> max(records)
72
>>> min(records)
57
Step 3 - Importieren wir das Pylab-Modul.
>>> import pylab
Step 4 - Konfigurieren Sie das Liniendiagramm, indem Sie Beschriftungen für die x- und y-Achse zuweisen.
>>> pylab.xlabel("sequence length")
Text(0.5, 0, 'sequence length')
>>> pylab.ylabel("count")
Text(0, 0.5, 'count')
>>>
Step 5 - Konfigurieren Sie das Liniendiagramm, indem Sie die Rasteranzeige einstellen.
>>> pylab.grid()
Step 6 - Zeichnen Sie ein einfaches Liniendiagramm, indem Sie die Plotmethode aufrufen und Datensätze als Eingabe bereitstellen.
>>> pylab.hist(records,bins=5)
(array([2., 3., 1., 3., 2.]), array([57., 60., 63., 66., 69., 72.]), <a list
of 5 Patch objects>)
>>>
Step 7 - Speichern Sie das Diagramm abschließend mit dem folgenden Befehl.
>>> pylab.savefig("hist.png")
Ergebnis
Nachdem Sie den obigen Befehl ausgeführt haben, wird das folgende Bild in Ihrem Biopython-Verzeichnis gespeichert.
GC-Prozentsatz in Sequenz
Der GC-Prozentsatz ist eine der häufig verwendeten Analysedaten zum Vergleich verschiedener Sequenzen. Wir können ein einfaches Liniendiagramm mit dem GC-Prozentsatz einer Reihe von Sequenzen erstellen und es sofort vergleichen. Hier können wir einfach die Daten von der Sequenzlänge in den GC-Prozentsatz ändern. Die vollständige Codierung ist unten angegeben -
Step 1 - Importieren Sie das SeqIO-Modul, um die Fasta-Datei zu lesen.
>>> from Bio import SeqIO
Step 2 - Analysieren Sie die Eingabedatei.
>>> from Bio.SeqUtils import GC
>>> gc = sorted(GC(rec.seq) for rec in SeqIO.parse("plot.fasta", "fasta"))
Step 3 - Importieren wir das Pylab-Modul.
>>> import pylab
Step 4 - Konfigurieren Sie das Liniendiagramm, indem Sie Beschriftungen für die x- und y-Achse zuweisen.
>>> pylab.xlabel("Genes")
Text(0.5, 0, 'Genes')
>>> pylab.ylabel("GC Percentage")
Text(0, 0.5, 'GC Percentage')
>>>
Step 5 - Konfigurieren Sie das Liniendiagramm, indem Sie die Rasteranzeige einstellen.
>>> pylab.grid()
Step 6 - Zeichnen Sie ein einfaches Liniendiagramm, indem Sie die Plotmethode aufrufen und Datensätze als Eingabe bereitstellen.
>>> pylab.plot(gc)
[<matplotlib.lines.Line2D object at 0x10b6869d 0>]
Step 7 - Speichern Sie das Diagramm abschließend mit dem folgenden Befehl.
>>> pylab.savefig("gc.png")
Ergebnis
Nachdem Sie den obigen Befehl ausgeführt haben, wird das folgende Bild in Ihrem Biopython-Verzeichnis gespeichert.