Hallo,
Ich benötige Hilfe/Anleitung, um Python-Code zum Posten zu konvertieren und Daten von einer Website abzurufen ( https://maayanlab.cloud/Enrichr/help#api ) dient dazu, festzustellen, ob eine Genliste oder einige biologische Signalwege angereichert sind. Ich bin nicht vertraut genug mit der Syntax, die für die Interaktion mit der REST-API unter Verwendung der „neuen HTTP-Anfrage“ erforderlich ist, um dies zu erreichen.
Die Möglichkeit, Informationen von diesen Diensten abzurufen, wird in ein Add-In integriert, mit dem einige grundlegende Genexpressionsanalysen durchgeführt werden können. Ich versuche zu vermeiden, in JMP auf Python angewiesen zu sein, weil ich vermeiden möchte, dass die Add-In-Benutzer Python auf ihrem Computer installieren, wenn sie es nicht müssen.
Schritt 1 – Senden Sie eine Genliste an den Service - Der Python-Code ist unten
json importieren
Importanfragen
ENRICHR_URL = ' http://maayanlab.cloud/Enrichr/addList '
genes_str = '\n'.join([
„PHF14“, „RBM3“, „MSL1“, „PHF21A“, „ARL10“, „INSR“, „JADE2“, „P2RX7“,
„LINC00662“, „CCDC101“, „PPM1B“, „KANSL1L“, „CRYZL1“, „ANAPC16“, „TMCC1“,
„CDH8“, „RBM11“, „CNPY2“, „HSPA1L“, „CUL2“, „PLBD2“, „LARP7“, „TECPR2“,
„ZNF302“, „CUX1“, „MOB2“, „CYTH2“, „SEC22C“, „EIF4E3“, „ROBO2“,
„ADAMTS9-AS2“, „CXXC1“, „LINC01314“, „ATF7“, „ATP5F1“
])
description = 'Beispiel-Genliste'
Nutzlast = {
'list': (Keine, genes_str),
'Beschreibung': (Keine, Beschreibung)
}
Antwort = Anfragen.post(ENRICHR_URL, Dateien=Nutzlast)
Wenn nicht, Antwort.ok:
raise Exception('Fehler beim Analysieren der Genliste')
data = json.loads(response.text)
drucken(Daten)
Dadurch wird eine userListId generiert, die zum Abrufen der Daten aus der Analyse verwendet wird
Schritt 2 – Holen Sie sich vom Dienst eine Liste der biologischen Pfade, die eine gewisse Genanreicherung aufweisen – Der Python-Code ist unten:
importieren json
importieren Anfragen
ENRICHR_URL = ' http://maayanlab.cloud/Enrichr/enrich '
query_string = '?userListId=%s&backgroundType=%s'
user_list_id = 363320
gene_set_library = 'KEGG_2015'
Antwort = request.get( ENRICHR_URL + query_string % (user_list_id, gene_set_library) )
Wenn nicht Antwort.ok:
heben Ausnahme( „Fehler beim Abrufen der Anreicherungsergebnisse“ )
data = json.loads(response.text)
drucken(Daten)
Im obigen Beispiel sollten im Idealfall drei Dinge passieren:
- (Die HTTP-Anfrage sollte mehrere gene_set-Bibliotheken durchlaufen (gene_set_library= {"KEGG_2015", „Panther_2016“, „WikiPathways_2016“, „Reactome_2016“} //viele weitere Bibliotheken sind verfügbar)
- Der abgerufene JSON scheint nicht einfach zu analysieren zu sein und muss über Header verfügen ( Rang, Begriffsname, P-Wert, Z-Score, kombinierter Score, überlappende Gene, angepasster p-Wert, alter p-Wert, alter angepasster p-Wert).
- Jede abgerufene JSON-Datei sollte in einer JMP-Tabelle verkettet werden
Ich hoffe, es gibt jemanden da draußen, der eine kleine Herausforderung sucht und bereit ist, es zu versuchen.
Mit freundlichen Grüßen,
Sebastian