你好,
我需要一些幫助/指導來轉換一些Python代碼以發布並從網站獲取數據( https://maayanlab.cloud/Enrichr/help#api ),旨在確定基因列表或某些生物途徑中是否存在富集。 我對使用“新HTTP請求”與REST API進行交互所需的語法不夠熟悉。
從這些服務中獲取信息的能力將合併到旨在執行一些基本基因表達分析的插件中。 我試圖避免在JMP中依賴Python,因為我想避免讓外接用戶在不需要的情況下在其計算機上安裝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),
'說明':(無,說明)
}
響應= request.post(ENRICHR_URL,files = payload)
如果沒有response.ok:
引發Exception('錯誤分析基因列表')
數據= json.loads(response.text)
打印(數據)
這將生成一個userListId,用於從分析中檢索數據
第2步-獲取顯示該服務中一些基因富集的Biological Pathways的列表- Python代碼如下:
進口json
進口要求
ENRICHR_URL = ' http://maayanlab.cloud/Enrichr/enrich '
query_string = '?userListId =%s&backgroundType =%s'
user_list_id = 363320
gene_set_library = 'KEGG_2015'
響應= request.get(ENRICHR_URL + query_string%(user_list_id,gene_set_library))
如果不response.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表中
我希望有人在尋找一點挑戰,並願意嘗試一下。
最好的祝福,
塞巴斯蒂安