Schreiben Sie mit dem ETE Toolkit verschiedene Formen phylogenetischer Bäume in Python

(2017/2/22, OS X El Capitan)

Einführung

Ich habe eine phylogenetische Analyse durchgeführt und wollte einen phylogenetischen Baum schreiben, der Ausrichtungsinformationen enthält. Deshalb habe ich das ETE Toolkit eingeführt. Mit dem ETE Toolkit können Sie mit Python einen phylogenetischen Baum erstellen, der Ausrichtung, Domänen, Heatmaps und mehr integriert. Dieses Mal möchte ich einen einfachen phylogenetischen Baum, einen phylogenetischen Baum mit Ausrichtung und andere nützliche Funktionen vorstellen. Derzeit gibt es keine umfassenden Informationen außer der offiziellen Website. Bitte lassen Sie mich wissen, wenn Sie Vorschläge zur Verwendung haben.

Referenzseite

http://etetoolkit.org

Installation

Sie müssen die beiden oben genannten installieren. Das Betriebssystem ist unter Mac oder Linux verfügbar. Auf der offiziellen Website wird empfohlen, das ETE Toolkit mit Anaconda zu installieren, das häufig zum Erstellen von Python-Umgebungen verwendet wird. Bitte installieren Sie anaconda auf den folgenden Seiten. http://qiita.com/y__sama/items/5b62d31cb7e6ed50f02c

Erstellen Sie nach der Installation von anaconda eine virtuelle Umgebung und fügen Sie sie mit conda ein. Als Einschränkung scheint es, dass Installationsfehler in Python 3.5 oder höher auftreten. Daher ist es besser, eine virtuelle Umgebung als Python 3.4 zu erstellen (Stand: 23. Februar 2017).

$conda install -c etetoolkit ete3 ete3_external_apps

Überprüfen Sie abschließend, ob es korrekt installiert wurde.

$ete3 version
$ete3 build check

Laut der offiziellen Website können Sie auch aus der Quelle bauen. http://etetoolkit.org/download/

Wie benutzt man

Einfacher phylogenetischer Baum

Bereiten Sie eine Baumdatei im Neick-Format vor (Erweiterung kann .txt sein).

phylotree.py


#!/usr/bin/env python
import sys
from ete3 import PhyloTree

t = PhyloTree(sys.argv[1]) #Geben Sie die newic-Datei als Argument an.
t.render("motifs.png ", w=2000, dpi=500) #Dateispezifikation exportieren. w ist Breite, h ist Höhe, Einheit ist Einheit(“px”: pixels, “mm”: millimeters, “in”: inches), Dpi kann angegeben werden

画像

Kreisförmiger phylogenetischer Baum

Sie können einen kreisförmigen Stil festlegen, indem Sie in TreeStyle () "c" angeben. Darüber hinaus können Sie in TreeStyle verschiedene Dinge wie Knotenfarbe und -form (Punkte, dicke Linien usw.) angeben. Bitte besuchen Sie die offizielle Website unten. http://etetoolkit.org/docs/latest/reference/reference_treeview.html?highlight=treestyle#treestyle

phylotree_circular.py


#!/usr/bin/env python
import sys
from ete3 import Tree, PhyloTree, TreeStyle

t = PhyloTree(sys.argv[1])
circular_style = TreeStyle() #TreeStyle()Sie können die Form des phylogenetischen Baums mit angeben
circular_style.mode = "c" #"c"Geben Sie ein Rundschreiben an_Machen Sie es zu einem Stilbaum
circular_style.scale = 60 #Sie können die Skalierung des Knotens angeben
t.render("circular_tree_3.png ", w=800, dpi=200, tree_style=circular_style)  #Export. w ist Breite, h ist Höhe, Einheit ist Einheit(“px”: pixels, “mm”: millimeters, “in”: inches), Dpi kann angegeben werden

sample.png

Phylogenetischer Baum mit Ausrichtung

Bereiten Sie zusätzlich zur newick-Datei eine Fasta-Datei vor, die auf mafft usw. ausgerichtet ist. Ich habe auf die folgende Seite verwiesen, um zu erfahren, wie man mafft benutzt. http://qiita.com/MaedaTaro_Umiushi/items/2d05225677ded15b19a7 Zusätzlich zum normalen phylogenetischen Baumskript können Sie den phylogenetischen Baum und die Ausrichtung mithilfe der Option "link_to_alignment" einfach kombinieren und visualisieren.

phylotree_align


#!/usr/bin/env python
import sys
from ete3 import Tree, PhyloTree, SeqMotifFace, TreeStyle

t = PhyloTree(sys.argv[1]) #Geben Sie eine neue Datei als Argument an
t.link_to_alignment(sys.argv[2])   #Verknüpfen Sie die Ausrichtungsdatei mit dem Baum.
t.render("motifs_align.png ", w=2000, dpi=500) #Export. w ist Breite, h ist Höhe, Einheit ist Einheit(“px”: pixels, “mm”: millimeters, “in”: inches), Dpi kann angegeben werden

画像

Andere Eigenschaften

Sie können die Liste der für den Baum verwendeten Gene wie folgt abrufen.

gene_list.py


import sys
from ete3 import Tree

t = Tree(sys.argv[1]) #Laden Sie den Baum
gene_list = t.get_leaf_names() #Erwerb des Gennamens(Blattname)
print(gene_list)

Am Ende

Auf der Seite "The Programmable Tree Drawing Engine" der offiziellen ETE Toolkit-Website (http://etetoolkit.org/docs/latest/tutorial/tutorial_drawing.html?highlight=heatmap) finden Sie alles von Heatmaps bis zum Hinzufügen von Bilddateien Hat sich als möglich erwiesen. Ich werde es hinzufügen, wenn ich verstehe, wie ich es in Zukunft verwenden soll.

Recommended Posts

Schreiben Sie mit dem ETE Toolkit verschiedene Formen phylogenetischer Bäume in Python
Übung, dies in Python zu verwenden (schlecht)
Ausgabebaumstruktur von Dateien in Python
Zusammenfassung verschiedener for-Anweisungen in Python
Schreiben Sie mit f2py ein Python-Modul in fortran
Zeichnen Sie mit graphviz eine Baumstruktur in Python 3
Zusammenfassung der Excel-Operationen mit OpenPyXL in Python
Grundlagen des Eingabe- / Ausgabebildschirms mit tkinter in python3
Old openssl verursacht Probleme in verschiedenen Teilen von Python
Schreiben Sie Python in MySQL
Lesen und schreiben Sie NFC-Tags mit Python mit PaSoRi
Verschiedene Verarbeitung von Python
Ssh-Verbindungsnotiz mit ProxyCommand von ssh_config in Python
Ich habe verschiedene Methoden der Kommunikation zwischen Prozessen bei der Mehrfachverarbeitung von Python3 gemessen
Ein Memo, dass ich eine Grundfunktion in Python mit Wiederholung geschrieben habe
Schreiben Sie die Beta-Distribution in Python
Schreiben Sie Python in Rstudio (reticulate)
Über verschiedene Codierungen von Python 3
Objektäquivalenzbeurteilung in Python
Python: Grundlagen der Verwendung von Scikit-Learn ①
Implementierung der schnellen Sortierung in Python
Übersetzt mit Googletrans in Python
Verwenden des Python-Modus in der Verarbeitung
Ich habe den Code geschrieben, um den Brainf * ck-Code in Python zu schreiben
Verschiedene Möglichkeiten, um in Python ein Array von Zahlen von 1 bis 10 zu erstellen.
Bildpixel-Manipulation in Python
Schreiben Sie eine Dichotomie in Python
GUI-Programmierung in Python mit Appjar
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
Schreiben Sie ein JSON-Schema mit Python DSL
Schreiben Sie einen HTTP / 2-Server in Python
Zeitdelta in Python 2.7-Serie teilen
Trübungsentfernung mit Python detailEnhanceFilter
Schreiben Sie die AWS Lambda-Funktion in Python
MySQL-automatische Escape-Funktion von Parametern in Python
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Umgang mit JSON-Dateien in Python
Versuchen Sie es mit LevelDB mit Python (plyvel)
Implementierung eines Lebensspiels in Python
Audio-Wellenform-Anzeige in Python
Compiler in Python: PL / 0-Syntaxbaum
Zusammenfassung verschiedener Operationen in Tensorflow
Verwendung globaler Variablen in Python-Funktionen
Schreiben Sie Selentestcode in Python
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Mal sehen, wie man Eingaben in Python verwendet
Gesamtleistung in Python (mit Funktools)
Implementierung von Desktop-Benachrichtigungen mit Python
Python-Implementierung eines nicht rekursiven Segmentbaums
Das Gesetz der Zahlen in Python
Implementierung der ursprünglichen Sortierung in Python
Algorithmus (Segmentbaum) in Python (Übung)
Reversibles Verwürfeln von Ganzzahlen in Python
Handschriftliche Zeichenerkennung mit KNN in Python
Schreiben Sie einen C-Sprach-Unit-Test in Python
Versuchen Sie es mit LeapMotion mit Python
Suche nach Tiefenpriorität mit Stack in Python