Ich habe herausgefunden, dass es eine PhytoMine gibt, die die Daten von Phytozome von Python aufrufen kann, also habe ich es versucht. Phytozome ist ein Ort, der Pflanzenforschern vertraut ist, und ein geeigneter Ort, um die genomischen und genetischen Informationen verschiedener Pflanzenarten zu untersuchen.
PhytoMine ist eines der Register des Data Warehouse-Systems InterMine.
InterMine ist ein Open Source Data Warehouse-System, das unter LGPL2.1 lizenziert ist. InterMine wird verwendet, um eine Datenbank mit biologischen Daten zu erstellen, auf die über erweiterte Webabfragetools zugegriffen werden kann. Mit InterMine können Sie eine Datenbank aus einem einzelnen Dataset erstellen oder mehrere Datenquellen integrieren. Einige gängige biologische Formate werden unterstützt, und es gibt einen Rahmen für das Hinzufügen weiterer Daten. InterMine enthält eine benutzerfreundliche Weboberfläche, die "out of the box" funktioniert und einfach anzupassen ist. Aus Wikipedia "InterMine"
InterMine ist in verschiedenen Programmiersprachen verfügbar, einschließlich Python. Weitere Informationen finden Sie unter API- und Client-Bibliotheken.
Ich habe versucht, PhytoMine in Python zu verwenden, indem ich auf InterMine-Python Tutorial verwiesen habe. Die Installation erfolgte mit pip.
$ pip install intermine
Ich habe die Genfunktion und die Pflanzenart als Abfrage angegeben und versucht, eine Liste der Gene in Python zu erhalten. Die Liste wurde in Pandas erstellt. Der Quellcode lautet wie folgt.
size = 20 #Geben Sie die Anzahl der zu erfassenden Daten an
import pandas as pd
from intermine.webservice import Service
service = Service("https://phytozome.jgi.doe.gov/phytomine/service") #Erstellen Sie eine Instanz, indem Sie die PhytoMine-URL angeben
query = service.new_query("Gene") #Holen Sie sich genetische Informationen
query.add_constraint("briefDescription","CONTAINS","transcription factor") #Geben Sie die Genfunktion an(Bedingung A.)
query.add_constraint("name","CONTAINS","Eucgr") #Zu Beginn des Gennamens von Eucalyptus Grandis"Eucgr"Eukalyptus Grandis als Pflanzenart mit bezeichnen(Bedingung B.)
query.add_constraint("name","CONTAINS","Potri") #Zu Beginn des Papp-Gennamens"Potri"Bezeichnen Sie Pappel als Pflanzenart mit(Bedingung C.)
query.set_logic("A & (B | C)") #Einstellungen zur Untersuchung der Gene von Eucalyptus Grandis und Pappel(Bedingung A und Bedingung B oder Bedingung C.)
dfs = [] #Erstellen Sie eine leere Liste, um die Ausgabe zu speichern
for row in query.rows(size=size):
dfs.append(pd.DataFrame(row.values(),index=row.keys()).T) #Daten abrufen und in Liste speichern
dfs = pd.concat(dfs) #Liste in Datenrahmen konvertieren
dfs.to_csv("Tree_TFs_Top20.csv") #Speichern Sie den Datenrahmen im CSV-Format
Auf der [Query Builder-Seite] von PhytoMine (https://phytozome.jgi.doe.gov/phytomine/customQuery.do) scheint es verschiedene Datentypen außer Genen zu geben, die für Abfragen verwendet werden können, daher werde ich es nach und nach versuchen. ich will
Recommended Posts