對於基因的研究現在已經如火如荼的進行中,很多資料庫都涉及到豐富的基因相關注釋信息,例如基因功能,基因互作,基因相關疾病,基因相關的藥物,基因序列,結構信息等等。
然而設計到基因組織分布的信息卻非常缺乏。基因的組織特異性信息雖然用途不如上述信息廣泛,但是在特定情況下可以發揮重要的作用。
例如我們預測某一基因為藥物靶點,儘管預測模型中基因和藥物有很強的相關性,也確實可以證明基因參與了某一疾病的發生或治療過程,但是如果基因的分布組織是藥物無法到達的。
如腦組織血腦屏障。因此識別基因的組織特異性信息是對於基因,藥物等研究非常有價值的信息。
GeneCards是為數不多的記錄了基因組織分布的資料庫,但是由於GeneCards同時還是收錄了其他信息,導致信息檢索過程繁瑣冗長,因此今天我們介紹給大家一種基於Python網頁抓取的方法,從GeneCards資料庫抓取基因的組織特異性信息。
GeneCards主頁
http://www.genecards.org/
上圖為GeneCards主頁,我們以TP53為例,在檢索詞中輸入TP53,點擊search,進入下面界面。
如圖上面紅框位置為URL地址,地址後面有一個字符串為TP53,說明我們只要將檢索詞加在後面就可以跳轉到這個頁面。下面紅框內為匹配的基因。我們點擊第一個檢索到的匹配項TP53.
之後進入上面的頁面,也是我們最終想要得到的target目標頁面。看上面的地址欄,有一串藍色選中的字符串,我們似乎沒有見過。
但是和上一級類似的情況,只要我們找到這個字符串,就可以跳轉到target URL頁面,那麼問題來了,我們如何獲得這個字符串呢?那麼我們就到上一級的原始碼中找找看。
如圖,我們找到了這個字符串,原來它是一個變量,真實值是originalQueryHash。
接下來我們就可以在target頁面找我們的終極目標了,就是組織特異性信息,如上面紅框所示。
同樣的,對於上面每一個組織名稱,我們都到原始碼中尋找對應的位置,發現他們的結構比較統一,可以用正則表達式抓取。
所以從主界面一步一步進入最後的target頁面,獲得組織信息,整個過程還是比較順利的,那麼下面我們就介紹一下如何通過Python腳本自動化實現上面的全過程。
Python下實現上述過程全自動化的網頁抓取代碼如下
運行結果
通過簡單的文本處理,在代碼中加一個循環就可以實現批量檢索的目的了。
1、RCT的Meta分析:文獻檢索-質量評價-統計分析-RevMan/Stata/R
https://ke.qq.com/course/89244#term_id=100088703
2、RCT的Meta分析(文獻檢索-質量評價-統計分析-Stata)
https://ke.qq.com/course/89362#term_id=100088872
3、RCT的Meta分析(文獻檢索-質量評價-統計分析-R)
https://ke.qq.com/course/89364#term_id=100088874
4、RCT的Meta分析(文獻檢索-質量評價-統計分析-RevMan)
https://ke.qq.com/course/89360#term_id=100088870