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