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.