こんにちは、
いくつかのPythonコードを変換して、Webサイトからデータを投稿および取得するには、ヘルプ/ガイダンスが必要です( https://maayanlab.cloud/Enrichr/help#api )遺伝子リストまたはいくつかの生物学的経路に濃縮があるかどうかを判断するように設計されています。 これを実現するために「新しいHTTPリクエスト」を使用してRESTAPIと対話するために必要な構文に精通していません。
そのサービスから情報を取得する機能は、いくつかの基本的な遺伝子発現分析を実行するように設計されたアドインに統合されます。 アドインユーザーが必要のない場合に自分のマシンにPythonをインストールすることを避けたいので、JMP内でPythonに依存する必要を避けようとしています。
ステップ1-遺伝子リストをサービスに投稿する-Pythonコードは以下のとおりです
jsonをインポートする
インポートリクエスト
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 = '遺伝子リストの例'
ペイロード= {
'リスト'
なし、genes_str)、
'説明'
なし、説明)
}
応答= requests.post(ENRICHR_URL、files = payload)
response.okでない場合:
Exception( '遺伝子リストの分析エラー')を発生させます
データ= json.loads(response.text)
print(data)
これにより、分析からデータを取得するために使用されるuserListIdが生成されます
ステップ2-サービスからいくつかの遺伝子濃縮を示す生物学的経路のリストを取得します- Pythonコードは以下のとおりです。
インポートjson
インポートリクエスト
ENRICHR_URL = ' http://maayanlab.cloud/Enrichr/enrich '
query_string = '?userListId =%s&backgroundType =%s'
user_list_id = 363320
gene_set_library = 「KEGG_2015」
応答= requests.get(ENRICHR_URL + query_string%(user_list_id、gene_set_library))
もしないresponse.ok:
上げる例外( 「エンリッチメント結果のフェッチエラー」 )
データ= json.loads(response.text)
print(data)
上記の例では、理想的には3つのことが起こるはずです。
- (HTTPリクエストは複数のgene_setライブラリをループしている必要があります(gene_set_library = {"KEGG_2015"、 "Panther_2016"、 "WikiPathways_2016"、 "Reactome_2016"} //さらに多くのライブラリが利用可能です)
- 取得されたJsonは簡単に解析されないようで、ヘッダーが必要です(ランク、用語名、P値、Zスコア、結合スコア、重複遺伝子、調整済みp値、古いp値、古い調整済みp値)に関連付けられています
- 取得した各Jsonファイルは、JMPテーブルに連結する必要があります
ちょっとした挑戦を探していて、喜んでやってくれる人がいることを願っています。
宜しくお願いします、
セバスチャン