GEO數據庫是NCBI創建并維護的基因表達數據庫,始于2000年,收錄了世界各國研究機構提交的高通量基因表達數據,現芯片集數據量高達12萬以上。想要從這里面挖掘(bai piao)數據,發個sci提前畢業升職稱?那么第一步就是篩選自己所需要的芯片集。
我采用的方法是利用Python,爬取相關芯片集,翻譯并整理成本地文件。(自帶翻譯心動嗎?)
為什么要用python?因為人生苦短!對于我們這些非編程專業的人,python是極易上手的語言之一。其簡潔的編程風格,深受小白們的喜歡。個人認為python的學習時間成本很低,只需要短短幾周甚至幾天,即可打造屬于自己的定制爬蟲。
那么,下面我們正式開始python爬取之旅!(python安裝請自行百度)
第1步,在GEO進行初步檢索。

我們檢索“obesity”這個關鍵詞,發現有1432個芯片集。我比較推薦數量在200到2000之間,這樣既能保證數據足夠,又避免審核過多芯片集會造成時間浪費。如果芯片集過多,可限定檢索條件,如年份、組織、研究類型等。芯片集過少,可放寬檢索條件或增加關聯的關鍵詞。
第2步,將每頁顯示調為500條芯片集,查看網頁源代碼并將所有代碼保存到txt文件。


如果有多頁,則需要一頁一頁點開,并將所有代碼復制到同一txt文件中。這樣子我們的芯片集數據就收集完畢了。當然,python也能實現自動收集,不過個人認為編寫該部分爬蟲比較麻煩,還不如手動更便捷。
第3步,確定芯片集內容。

我們點開一個芯片集,里面有哪些信息我師們需要的呢?Title、Organism、Summary等等。查看網頁源代碼,我們發現這些內容都有統一的編寫格式。那么,我們就可以編寫爬蟲,逐一提取里面的信息。好了,前期準備完成了!下面我們開始愉悅的python開發。(python的安裝與入門可參考:www.runoob.com)
第4步,利用python爬蟲獲取芯片集。

簡單來說,就是獲取txt文件中,帶有’GSEXXXX’的芯片集序號。
第5步,編寫循環體,用python爬蟲逐一爬取芯片集內容。

main函數就是我們爬蟲的主體
第6步,python爬蟲。

我們根據所需要的芯片集內容,用不同的正則表達式爬取。
第7步,最令人期待的——自動翻譯。

我們可以在百度翻譯平臺,申請開發者賬號和通用翻譯api,獲得相關id和密匙,這樣就可以調用翻譯功能(附件有api接口代碼)。關鍵是全程免費!免費!
第8步,保存到Excel,完美收工。

看看這龐大數據,看看這熟悉的文字,是不是感到熱淚盈眶?ヽ(??▽?)ノ
個人心得:
①根據本人研究內容,我一般將Organism限定為Mus musculus 和Homo sapiens,減少無用芯片集。
②芯片集以Samples降序排序,優先挑選樣本量大的芯片集,服用效果更好。
③目前我編寫的爬蟲,已實現斷點爬取、隨機IP、循環下載、自動關機等優化功能。因篇幅限制就不一一敘述。有興趣的老鐵可自行研究更有趣的功能。歡迎各種學習交流!
放源代碼和動版的信息:
鏈接: https://pan.baidu.com/s/1RxqD96_2BVogk9jG3vQTnw
提取碼: ht66






