周斯涵,劉月蘭
(哈爾濱師范大學(xué))
基于Python的自動(dòng)獲取生物信息數(shù)據(jù)的軟件設(shè)計(jì)*
周斯涵,劉月蘭**
(哈爾濱師范大學(xué))
從國際生物信息學(xué)數(shù)據(jù)庫中采集數(shù)據(jù)來進(jìn)行相關(guān)領(lǐng)域的分析,但隨著數(shù)據(jù)庫規(guī)模不斷擴(kuò)大,數(shù)據(jù)來源種類繁多,即便是直接從網(wǎng)頁中搜索所需的數(shù)據(jù),仍十分繁瑣并且消耗了大量的時(shí)間.為了解決該類問題,基于Python開發(fā)出了一款可自動(dòng)從云端數(shù)據(jù)庫中獲取指定的數(shù)據(jù)的應(yīng)用軟件,有效地解決了在巨量生物信息數(shù)據(jù)中如何準(zhǔn)確檢索與快速獲取的難題.
數(shù)據(jù)庫;生物信息;數(shù)據(jù)獲取;軟件設(shè)計(jì)
自從美國啟動(dòng)人類基因組計(jì)劃以來,各種生物的基因組的測序工作進(jìn)展十分迅速.目前,在美國GenBank數(shù)據(jù)庫中的DNA序列的數(shù)量已經(jīng)超過70億堿基對.足可預(yù)見,未來的生物信息數(shù)據(jù)的增長將更為迅速.在人類基因組計(jì)劃進(jìn)入后基因組時(shí)代后,生命科學(xué)的研究面臨著嚴(yán)峻的挑戰(zhàn).生物信息學(xué)是互聯(lián)網(wǎng)不斷發(fā)展以及各種生物實(shí)驗(yàn)數(shù)據(jù)快速增長的形勢下不斷發(fā)展起來的采集生物學(xué)數(shù)據(jù),并從生物學(xué)數(shù)據(jù)中獲取新知識的一門學(xué)科,為了使生物信息學(xué)研究者不在浩如煙海的信息中迷失方向,該文基于Python開發(fā)出一款可自動(dòng)從各大數(shù)據(jù)庫中獲取指定條目數(shù)據(jù)的應(yīng)用軟件,有效地解決了在巨量生物信息數(shù)據(jù)中如何準(zhǔn)確檢索與快速獲取的難題.
目前有許多類別的生物信息學(xué)數(shù)據(jù)庫供相關(guān)領(lǐng)域的研究者使用,并且數(shù)據(jù)庫的容量還在不斷地增長.美、歐、日為首的發(fā)達(dá)國家在建設(shè)生物信息學(xué)數(shù)據(jù)庫方面已經(jīng)走在世界前列,且已在互聯(lián)網(wǎng)上建立了所屬本國的生物信息學(xué)網(wǎng)絡(luò)節(jié)點(diǎn),用來管理大型的生物學(xué)數(shù)據(jù)庫,為研究者提供數(shù)據(jù)的交換、采集、處理、分析等服務(wù).
EMBL、GenBank和DDBJ是目前世界上三大主要的生物信息學(xué)數(shù)據(jù)庫.EMBL是1980年創(chuàng)建于德國海德堡市的歐洲分子生物學(xué)實(shí)驗(yàn)室.
美國國家健康研究院(National Institurte of Health,NIH)也在1982年建立了GenBank,后移交給美國國立衛(wèi)生研究院國家生物技術(shù)中心(NCBI).
DDBJ是日本國立遺傳學(xué)研究所創(chuàng)建的日本DNA數(shù)據(jù)庫.DDBJ、GenBank與EMBL建立了合作關(guān)系,建立了INSD,國際核酸序列數(shù)據(jù)庫(Internat ional Nucleotide Sequence Databank).由日本的DDBJ、歐洲的EMBL和美國的GenBank三家各自建立和共同維護(hù).這個(gè)數(shù)據(jù)庫各自收集所處地區(qū)的實(shí)驗(yàn)室和測序機(jī)構(gòu)所發(fā)布的核酸序列信息,并共享收集到的序列數(shù)據(jù),每天交換數(shù)據(jù)庫新建的數(shù)據(jù)記錄.
比較有名的蛋白質(zhì)數(shù)據(jù)庫還有瑞士生物信息學(xué)研究所和歐洲分子生物學(xué)實(shí)驗(yàn)室共同維護(hù)的SWIS S- PROT和美國生物醫(yī)學(xué)基金會(huì)建立的PIR,而PDB是著名的蛋白質(zhì)結(jié)構(gòu)數(shù)據(jù)庫.除此之外,還有一些以核酸為基礎(chǔ)的二級數(shù)據(jù)庫.如克隆載體數(shù)據(jù)庫Vector[5],密碼子使用表數(shù)據(jù)庫CUTG,基因調(diào)控轉(zhuǎn)錄因子數(shù)據(jù)庫Tr-ansFac[1-2],真核生物啟動(dòng)子數(shù)據(jù)庫EPD[3-4]等.
以蛋白質(zhì)序列數(shù)據(jù)構(gòu)建的二級蛋白質(zhì)數(shù)據(jù)庫有同源蛋白結(jié)構(gòu)域數(shù)據(jù)庫Blocks[13-15],同源蛋白家族數(shù)據(jù)庫Pfam[11-12],蛋白質(zhì)功能位點(diǎn)數(shù)據(jù)庫PROSITE[6-7],蛋白質(zhì)功能位點(diǎn)序列片段數(shù)據(jù)庫PRINTS[8-10].
還有一些其他的數(shù)據(jù)庫,如真核生物基因組轉(zhuǎn)錄調(diào)控區(qū)數(shù)據(jù)庫TRRD,微衛(wèi)星重復(fù)序列數(shù)據(jù)庫 MicroSatellite,復(fù)合元件數(shù)據(jù)庫COMPEL,秀麗線蟲內(nèi)含子和交替剪接數(shù)據(jù)庫Intronerator,酰氨基tRNA合成酶數(shù)據(jù)庫AARSDB,人類基因遺傳圖譜和物理圖譜的分布式集成數(shù)據(jù)庫HuGeMap,常見的生物信息學(xué)數(shù)據(jù)庫見表1.
表1 常見的生物學(xué)數(shù)據(jù)庫
生物信息學(xué)數(shù)據(jù)庫中的數(shù)據(jù)來源于各國的科學(xué)文獻(xiàn)和基因測序小組還有研究機(jī)構(gòu).生物信息學(xué)研究者可利用互聯(lián)網(wǎng)向這些生物信息學(xué)數(shù)據(jù)庫遞交數(shù)據(jù),也可通過網(wǎng)絡(luò)查詢和下載相關(guān)領(lǐng)域的信息.目前,研究者大多通過在互聯(lián)網(wǎng)上,利用國際生物信息學(xué)數(shù)據(jù)庫資源不斷下載數(shù)據(jù)進(jìn)行分析并用其發(fā)現(xiàn)新線索來指導(dǎo)實(shí)驗(yàn)工作.研究者獲取生物信息數(shù)據(jù)的方式見表2.
表2 生物信息數(shù)據(jù)獲取方式
但隨著數(shù)據(jù)庫規(guī)模不斷擴(kuò)大,數(shù)據(jù)來源種類繁多,即便是直接從相關(guān)的網(wǎng)頁中搜索所需的數(shù)據(jù),仍十分繁瑣并且消耗了大量的時(shí)間.
為了更好的解決此類問題,該軟件基于Python的Entrez模塊,可整合查詢基于云端的包含超過40個(gè)不同數(shù)據(jù)庫的信息,以下是所包含的數(shù)據(jù)庫類別:'pubmed', 'protein', 'nuccore', 'nucleotide', 'nucgss', 'nucest', 'structure', 'sparcle', 'genome', 'annotinfo', 'assembly', 'bioproject','biosample', 'blastdbinfo', 'books', 'cdd', 'clinvar', 'clone', 'gap', 'gapplus', 'grasp','dbvar', 'gene', 'gds', 'geoprofiles', 'homologene', 'medgen', 'mesh', 'ncbisearch', 'nlmcatalog','omim', 'orgtrack', 'pmc', 'popset', 'probe', 'proteinclusters', 'pcassay', 'biosystems', 'pccompound', 'pcsubstance', 'pubmedhealth', 'seqannot', 'snp', 'sra', 'taxonomy','biocollections', 'unigene', 'gencoll', 'gtr'
以上數(shù)據(jù)庫一共收錄有超過350,000,000條記錄.
該軟件可在所有主流的操作系統(tǒng)下使用,允許對核酸、蛋白質(zhì)等序列數(shù)據(jù)進(jìn)行集成訪問.所有的信息只需要經(jīng)過一次查詢.該軟件內(nèi)置的Entrez模塊能夠通過數(shù)據(jù)庫之間的兩種類型聯(lián)系:相近性和硬連接來提供集成的數(shù)據(jù)檢索.
(1)相近性
相近性聯(lián)系著一個(gè)給定的數(shù)據(jù)庫之內(nèi)的記錄.使用者在查看某條記錄時(shí),可以要求“找出所有與此有關(guān)的參考文獻(xiàn)”,同理可得,使用者在查詢一個(gè)物種關(guān)鍵詞時(shí),可以要求“找出所有包含該關(guān)鍵詞的相關(guān)序列條目”.數(shù)據(jù)庫中的相近性是建立在計(jì)算對相近性的統(tǒng)計(jì)上的.
(2)硬連接
硬連接用于將來自不同數(shù)據(jù)庫中的數(shù)據(jù)連結(jié)起來,只要這些數(shù)據(jù)之間存在邏輯上的關(guān)系,就有硬連接.
將查詢以及顯示功能封裝成search和find類,其部分源代碼如下所示:
def OnFind(self, event):
Term=self.input2.GetValue()
database_name=self.input2.GetStringSelection()
handle=Entrez.esearch(db=str(database_name),term=str(Term),email="")
record=Entrez.read(handle)
self.output.SetValue("relevantID:"+str(record["IdList"]))
def OnSearch(self, event):
content=[]
ID=str(self.input1.GetValue())
handle=ExPASy.get_sprot_raw(str(ID))
record=SwissProt.read(handle)
accessions=record.accessions
organism=record.organism_classification
taxonomy_id=record.taxonomy_id
=record.cross_references
description=record.description
genename=record.gene_name
sequence=record.sequence
if var.a==1:
content.append("accessions"+"$"+str(accessions)+"$")
if var.d==1:
content.append("description"+"$"+str(description)+"$")
if var.o==1:
content.append("organism"+"$"+str(organism)+"$")
if var.t==1:
content.append("taxonomy_id:"+"$"+str(taxonomy_id)+"$")
if var.r==1:
content.append("references"+"$"+str(references)+"$")
if var.g==1:
content.append("genename:"+"$"+str(genename)+"$")
if var.s==1
content.append("sequence:"+"$"+str(sequence)+"$")
content=str(content).replace('$',' ')
self.output.SetValue(content)
該程序流程如圖1所示.
圖1 程序流程圖
該軟件界面如圖2所示.
圖2 軟件界面
能夠?qū)崿F(xiàn)以下功能如下:
(1)輸入序列ID號,選擇需要獲取的數(shù)據(jù)按鈕,如sequence, genename, references, taxonomyid, org anism,accession,description等,根據(jù)所選的數(shù)據(jù)類型,軟件在文本框中返回相應(yīng)的數(shù)據(jù).
圖3 查詢ID號
如圖3所示,搜索序列號“O23731”,選擇sequenc e,genename, organism按鈕,返回相應(yīng)的基因名、種屬與序列信息.該軟件選定七類作為可返回的數(shù)據(jù),實(shí)際可返回的條目見表3.
表3 可選返回條目
(2)軟件可以在49種不同類型的數(shù)據(jù)庫中選擇特定數(shù)據(jù)庫進(jìn)行檢索,通過關(guān)鍵詞搜索與其相關(guān)的序列條目,返回序列ID號.如輸入關(guān)鍵詞HIV,得到相關(guān)ID號如圖4所示.
圖4 查詢關(guān)鍵詞
通過此軟件,不僅大大地減去了在生物信息研究中不必要的麻煩,提高了獲取的準(zhǔn)確率,而且節(jié)約了因大量查找生物信息數(shù)據(jù)所需的時(shí)間,可在生物信息領(lǐng)域得到廣泛的使用.
[1] Wingender E. The TRANSFAC system on gene regu lation.Trends in Glycoscience and Glyco techno logy, 2000, 12(66):255-264.
[2] Wingender E, Chen X,Hehl R, et al. TRANS FAC: an inte-grated system for gene expression regulation. Nucleic AcidsResearch, 2000, 28(1): 316-319.
[3] Perier RC, Praz V, Junier T,Bonnard C,Bucher P. The Eu-karyotic Promoter Datab ase(EPD). Nucleic Acids Research,2000, 28(1): 302-303.
[4] Perier RC, Junier T, Bonnard C, Bucher P. The EukaryoticPromoter Database(EPD): recent developments.Nucleic Ac-ids Research, 1999, 27(1):307-309.
[5] Seluja GA,FarmerA,McLeodM,HargerC,Schad PA. Es-tablishing a method of vector contami nation identification indatabase sequences. Bioinformatics,1999,15(2):106-110.
[6] Hofmann K, Bucher P, Falquet L, Bairoch A. The PROSITEdatabase, its status in 1999. Nuc leic Acids Research, 1999,27(1): 215-219.
[7] Lin K Y, Wright J, Lim C. Conformational analysis of longspacers in PROSITE patterns. Journal of Molecular Biology,2000, 299(2): 537-548.
[8] Attwood TK,CroningMDR,FlowerDR.PRINTS-S: the data-base formerly known as PRINTS. Nucleic Acids Research,`2000, 28(1): 225~ 227.
[9] Scordis P, Flower DR, Attwood TK. Finger. PRINTS can:intelligent searching of the PRINTS motif database. Bioinfor-matics, 1999, 15(10): 799-806.
[10] Attwood TK, Beck ME, Flower DR, Scordis P, Selley J. ThePRINTS protein fingerprint database in its fifth year. NucleicAcids Research,1998,26(1): 304-308.
[11] Sonnhammer ELL, Eddy SR, Birney E, Bateman A, DurbinR. Pfam: multiple sequence alignments and HMM-profiles ofprotein domains.[J]Nucleic Acids Research, 1998, 26(1): 320-322.
[12] Bateman A, Birney E, Durbin R, Eddy SR, Howe KL,Sonnhammer ELL. The Pfam protein families database. [J]Nu-cleic Acids Research, 2000, 28(1): 263-266.
[13] Henikoff S,Pietrokovski S,Henikoff JG.Superio rper formancein protein homology detection with the Blocks Database servers. [J]Nucleic Acids Research, 26(1): 309-312.
[14] Henikoff JG, Greene EA, Pietrokovski S, Henikoff S.In-creased coverage of protein families with the Blocks Databaseservers.[J] Nucleic Acids Research, 2000, 28(1): 228-230.
[15] Henikoff JG, Henikoff S, Pietrokovski S. New features of theblocks database servers. [J]Nucleic Acids Research, 1999, 27(1): 226- 228.
TheDesignofSoftwareforAutomaticAccesstoBioinformaticsDataBasedonPython
Zhou Sihan,Liu Yuelan
(Harbin Normal University)
Researchers useing international bioinformatics database resources to continuously collect data to carry out relevant areas of analysis, but with the size of the database continues to expand, a wide range of data sources is still very cumbersome and consumed plenty of time , even directly from the web search for the required data.In order to solve this problem,Based on Python, developed an application that automatically gets the specified data from the database. Effectively solve the huge amount of biological information in the data on how to accurately retrieve and fast access problems.
Database; Biological information; Data acquisition; Software design
季春陽)
R857.3
A
1000-5617(2017)04-0040-05
2017-04-03
* 黑龍江省自然科學(xué)基金項(xiàng)目資助(C201437)
**通訊作者:liuyuelan126@126.com