APP下载

基于Python的自动获取生物信息数据的软件设计 *

2018-01-08周斯涵刘月兰

关键词:该软件信息学研究者

周斯涵,刘月兰

(哈尔滨师范大学)

基于Python的自动获取生物信息数据的软件设计*

周斯涵,刘月兰**

(哈尔滨师范大学)

从国际生物信息学数据库中采集数据来进行相关领域的分析,但随着数据库规模不断扩大,数据来源种类繁多,即便是直接从网页中搜索所需的数据,仍十分繁琐并且消耗了大量的时间.为了解决该类问题,基于Python开发出了一款可自动从云端数据库中获取指定的数据的应用软件,有效地解决了在巨量生物信息数据中如何准确检索与快速获取的难题.

数据库;生物信息;数据获取;软件设计

0 引言

自从美国启动人类基因组计划以来,各种生物的基因组的测序工作进展十分迅速.目前,在美国GenBank数据库中的DNA序列的数量已经超过70亿碱基对.足可预见,未来的生物信息数据的增长将更为迅速.在人类基因组计划进入后基因组时代后,生命科学的研究面临着严峻的挑战.生物信息学是互联网不断发展以及各种生物实验数据快速增长的形势下不断发展起来的采集生物学数据,并从生物学数据中获取新知识的一门学科,为了使生物信息学研究者不在浩如烟海的信息中迷失方向,该文基于Python开发出一款可自动从各大数据库中获取指定条目数据的应用软件,有效地解决了在巨量生物信息数据中如何准确检索与快速获取的难题.

1 生物信息数据库

1.1 数据库背景

目前有许多类别的生物信息学数据库供相关领域的研究者使用,并且数据库的容量还在不断地增长.美、欧、日为首的发达国家在建设生物信息学数据库方面已经走在世界前列,且已在互联网上建立了所属本国的生物信息学网络节点,用来管理大型的生物学数据库,为研究者提供数据的交换、采集、处理、分析等服务.

1.2 生物信息学数据库种类

EMBL、GenBank和DDBJ是目前世界上三大主要的生物信息学数据库.EMBL是1980年创建于德国海德堡市的欧洲分子生物学实验室.

美国国家健康研究院(National Institurte of Health,NIH)也在1982年建立了GenBank,后移交给美国国立卫生研究院国家生物技术中心(NCBI).

DDBJ是日本国立遗传学研究所创建的日本DNA数据库.DDBJ、GenBank与EMBL建立了合作关系,建立了INSD,国际核酸序列数据库(Internat ional Nucleotide Sequence Databank).由日本的DDBJ、欧洲的EMBL和美国的GenBank三家各自建立和共同维护.这个数据库各自收集所处地区的实验室和测序机构所发布的核酸序列信息,并共享收集到的序列数据,每天交换数据库新建的数据记录.

比较有名的蛋白质数据库还有瑞士生物信息学研究所和欧洲分子生物学实验室共同维护的SWIS S- PROT和美国生物医学基金会建立的PIR,而PDB是著名的蛋白质结构数据库.除此之外,还有一些以核酸为基础的二级数据库.如克隆载体数据库Vector[5],密码子使用表数据库CUTG,基因调控转录因子数据库Tr-ansFac[1-2],真核生物启动子数据库EPD[3-4]等.

以蛋白质序列数据构建的二级蛋白质数据库有同源蛋白结构域数据库Blocks[13-15],同源蛋白家族数据库Pfam[11-12],蛋白质功能位点数据库PROSITE[6-7],蛋白质功能位点序列片段数据库PRINTS[8-10].

还有一些其他的数据库,如真核生物基因组转录调控区数据库TRRD,微卫星重复序列数据库 MicroSatellite,复合元件数据库COMPEL,秀丽线虫内含子和交替剪接数据库Intronerator,酰氨基tRNA合成酶数据库AARSDB,人类基因遗传图谱和物理图谱的分布式集成数据库HuGeMap,常见的生物信息学数据库见表1.

表1 常见的生物学数据库

2 软件背景与功能

2.1 开发背景

生物信息学数据库中的数据来源于各国的科学文献和基因测序小组还有研究机构.生物信息学研究者可利用互联网向这些生物信息学数据库递交数据,也可通过网络查询和下载相关领域的信息.目前,研究者大多通过在互联网上,利用国际生物信息学数据库资源不断下载数据进行分析并用其发现新线索来指导实验工作.研究者获取生物信息数据的方式见表2.

表2 生物信息数据获取方式

但随着数据库规模不断扩大,数据来源种类繁多,即便是直接从相关的网页中搜索所需的数据,仍十分繁琐并且消耗了大量的时间.

2.2 软件功能

为了更好的解决此类问题,该软件基于Python的Entrez模块,可整合查询基于云端的包含超过40个不同数据库的信息,以下是所包含的数据库类别:'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'

以上数据库一共收录有超过350,000,000条记录.

3 算法与流程

3.1 算法描述

该软件可在所有主流的操作系统下使用,允许对核酸、蛋白质等序列数据进行集成访问.所有的信息只需要经过一次查询.该软件内置的Entrez模块能够通过数据库之间的两种类型联系:相近性和硬连接来提供集成的数据检索.

(1)相近性

相近性联系着一个给定的数据库之内的记录.使用者在查看某条记录时,可以要求“找出所有与此有关的参考文献”,同理可得,使用者在查询一个物种关键词时,可以要求“找出所有包含该关键词的相关序列条目”.数据库中的相近性是建立在计算对相近性的统计上的.

(2)硬连接

硬连接用于将来自不同数据库中的数据连结起来,只要这些数据之间存在逻辑上的关系,就有硬连接.

将查询以及显示功能封装成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)

3.2 程序流程

该程序流程如图1所示.

图1 程序流程图

4 实验结果

该软件界面如图2所示.

图2 软件界面

能够实现以下功能如下:

(1)输入序列ID号,选择需要获取的数据按钮,如sequence, genename, references, taxonomyid, org anism,accession,description等,根据所选的数据类型,软件在文本框中返回相应的数据.

图3 查询ID号

如图3所示,搜索序列号“O23731”,选择sequenc e,genename, organism按钮,返回相应的基因名、种属与序列信息.该软件选定七类作为可返回的数据,实际可返回的条目见表3.

表3 可选返回条目

(2)软件可以在49种不同类型的数据库中选择特定数据库进行检索,通过关键词搜索与其相关的序列条目,返回序列ID号.如输入关键词HIV,得到相关ID号如图4所示.

图4 查询关键词

5 结束语

通过此软件,不仅大大地减去了在生物信息研究中不必要的麻烦,提高了获取的准确率,而且节约了因大量查找生物信息数据所需的时间,可在生物信息领域得到广泛的使用.

[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

* 黑龙江省自然科学基金项目资助(C201437)

**通讯作者:liuyuelan126@126.com

猜你喜欢

该软件信息学研究者
鸡NRF1基因启动子区生物信息学分析
高等教育中的学生成为研究者及其启示
简单灵活 控制Windows 10更新更方便
研究者称,经CRISPR技术编辑过的双胞胎已出生。科学将如何回应?
初论博物馆信息学的形成
研究者调查数据统计
医生注定是研究者
miRNA-148a在膀胱癌组织中的表达及生物信息学分析
2014年信息学与计算国际会议
Allen & Heath推出GLD Editor控制软件