科研代碼分享|基于python腳本抓取dbSNP數(shù)據(jù)庫中的突變信息
科研有捷徑,輸入代碼,一鍵獲取科研成果!就是這么省事,來具體看下有多方便!
搜索http://985.so/a9kb查看全部代碼(目前共計50+持續(xù)新增中),也可以點擊右側【目錄】,可以看到更多有趣的代碼
真香提示:文末可以知道如何獲取代碼~?
SNPs(單核苷酸多態(tài)性)作為新一代遺傳標記具有數(shù)量多、分布范圍廣、密度大等特點,已廣泛應用于遺傳學的研究中。
SNPs的檢測一直是遺傳學研究的一個熱點,傳統(tǒng)的方法有SSCP(單鏈構象多態(tài))、DGGE(變性梯度凝膠電泳)、RFLP(限制性酶切片段多態(tài))。
后期發(fā)展起來的技術主要包括DHPLC(變性高效液相色譜)、DNA芯片、大規(guī)模測序等。這些技術(特別是后者)為dbSNP數(shù)據(jù)庫提供了大量的相關信息。
如何最大限度地使用dbSNP數(shù)據(jù)庫,以期降低研究成本提高研究效率已成為了廣大研究者們共同關注的課題。
盡管dbSNP數(shù)據(jù)庫為用戶提供了非常豐富的基因突變信息,但是我們往往很難同時考慮多個層面的突變信息來分析和解決問題。
因此更多的情況下我們可能只是想單一的考慮某一個層面的突變,例如只考慮missense錯義突變,而synonymous同義突變,或其他突變類型如缺失,插入等我們可能就不考慮了。

那么問題就是如何從海量突變數(shù)據(jù)中篩選出我們想要的突變信息呢。今天我們就為大家介紹一下如何通過python語言抓取dbSNP數(shù)據(jù)庫中任意類型的基因突變信息。
首先我們從主界面輸入任意基因的ID,跳轉到基因的突變信息界面。

這里提供了非常豐富的檢索方式,例如查詢基因名,基因組project,Mesh,探針名,OMIM ID等等。這里我們以最簡單最常規(guī)的基因名為例,輸入solute carrier family 12 (potassium/chloride transporters)對應的基因ID 6560.
注意:由于dbSNP只能識別ENTREZ_GENE_ID,所以在檢索基因例如是來自uniprot數(shù)據(jù)庫或使用其他平臺ID時需經過ID conversion轉換為dbSNP數(shù)據(jù)庫可識別的Gene ID。
之后我們就可以獲得基因ID為6560的突變信息。

如圖上方紅框內為我們要跳轉到當前頁面所需的URL域名地址,可以看到基因ID 6560在URL后面,因此只要知道基因ID,就可以獲得URL,然后用腳本跳轉到當前頁面。
下一步就是如何從眾多突變類型中篩選出我們想要的錯義突變missense突變類型了。通過查看源代碼可以看到

可以看到紅線標注部分,rs372333519為dbSNP參考ref的聚類ID,
也就是我們最后要抓取的結果,后面用missense標記,說明這個突變屬于錯義突變。所以我們基于正則表達式,就可以在網頁中將所有錯義突變的dbSNP cluster ID下載下來。
?
Python實現(xiàn)上述抓取過程的腳本代碼如下

輸出結果:

輸出結果包括三列,第一列為染色體定位,第二列為mRNA pos,第三列為dbSNP cluster id。