简介:这份PPT系统讲解生物信息学数据库及检索方法,面向生物信息学入门者、生命科学领域研究生,以及需要处理生物数据的计算机背景学习者,帮助理清核苷酸数据库(GenBank、EMBL、DDBJ)、蛋白质数据库、Taxonomy、Pubmed等常用资源,以及MySQL、AceDB等数据库工具的核心概念与应用场景,并涉及投稿前序列提交规范和关键词、序列相似性等检索方式。资源为1个PPTX演示文稿,压缩包约15MB,共127张幻灯片,内容从数据库基本定义、GenBank分区与记录标识,到EST、UniGene、dbSTS等二级数据库实例,层次分明,适合自学或课堂、组会汇报参考。已有88人浏览学习。课件不仅说明三大核苷酸数据库的更新、来源物种和共享机制,也给出具体序列条目样例与染色体定位等实际操作,能帮助读者快速建立生物信息学数据库的整体框架,并提升信息检索与数据利用能力,适合用于课程预习、考试复习和科研入门。
1. 生物信息学数据库与检索:这套127页PPT把最该懂的库讲透了
生物信息学数据库是收集、整理、储存、加工、发布和检索生物数据的系统,论文投稿前把序列提交进库、做分析前先检索别人的数据,都绕不开它。很多初学者一上来就扎进BLAST和各种组学分析,反而把最基础的“数据库与检索”落下了。这套127页的PPT把核苷酸数据库、蛋白质数据库、GenBank的flatfile结构、以及dbEST/UniGene/dbSTS/dbGSS这类二级数据库串成了一条线,还专门讲了纯文本、MySQL和AceDB三种数据库工具的选型。适合刚入门生物信息学、想系统补一遍数据库基础的研究生和从业者;有分析经验但没系统梳理过数据库结构的熟手,也能快速核对概念。计算机背景的读者想切入生物信息学,这份材料同样能补齐领域侧的数据组织知识。
2. 数据库工具选型:纯文本数据库、MySQL与AceDB的适用边界
2.1 数据库记录的两层结构:原始数据加注释
PPT开头给了生物数据库最核心的定义:用于收集、整理、储存、加工、发布和检索数据的系统。注意这不是泛指关系型数据库里的“表”,而是特指生物学科里一套完整的组织方式。每条记录通常包含两部分,一是原始数据(序列本身),二是对数据做的生物学注释,比如基因名、功能描述、来源物种、染色体定位。很多新手下载回来一条核苷酸序列,只盯着序列字母看,忽略了注释区,这是最典型的错误——注释才是数据库检索的价值所在。
一份数据库记录往往不是孤立的,一个库通常会链接多个相关数据库。比如核苷酸库里的某个条目,可能链向Protein、PubMed文献、Taxonomy分类信息甚至UniGene基因群。所以你在理解生物数据库时,要把它当成一张网,而不是一个文件夹。这个认知贯穿整套PPT的后续章节,后面讲到的所有二级数据库本质上都是这张网上的节点。
2.2 纯文本数据库:GenBank与EMBL的组织方式
生物信息学里最早大量应用的建库方式,是纯文本数据库。GenBank数据库和EMBL核苷酸数据库是两大代表。它们在结构上是“纯文本”的,也就是把每条序列连同注释写成一个flatfile(扁平文件),按固定格式组织,用关键字行做标记,后续章节会详细展开flatfile的内部字段。
这种做法的好处是简单、可移植、任何平台都能打开,程序处理也容易;代价是查询效率不高,主要靠文本检索工具配合,数据量大了之后响应速度会明显下降。对于教学、小规模共享、以及历史数据的存档,纯文本依然够用,NCBI至今仍在以flatfile形式发布GenBank的完整release,这也是为什么理解flatfile格式是一项基础功。
提示:纯文本数据库不等于“没有结构”。flatfile的每个字段位置和缩写都有明确约定,解析时必须按规范逐行处理,否则一个换行符的差异就可能导致整条记录读错。
2.3 MySQL与SQL:结构化查询把序列元数据变成可检索的表
当数据量上去了,纯文本就撑不住了,这时就要引入真正的数据库管理系统。PPT里特别点到MySQL数据库工具,强调SQL是世界上流行且标准化的数据库语言,能够快速灵活地存储记录文件和图像。放在生物信息学场景里,常见做法是把flatfile里的关键字段拆出来建表,让所有日常检索都变成标准SQL操作:
-- 建一张序列信息表,管理序列的注册号、物种、基因名和序列长度 CREATE TABLE sequence_record ( accession VARCHAR(32) PRIMARY KEY, -- 注册号,如水稻基因OsDR8的登录号 locus_name VARCHAR(32), -- 位点名,对应GenBank的LOCUS行 organism TEXT NOT NULL, -- 物种信息 gene_name VARCHAR(64), -- 基因名,例如OsDR8 seq_length INT, -- 序列长度 definition TEXT, -- 注释描述 raw_sequence LONGTEXT -- 原始序列本体 ); -- 常见检索:按基因名查所有水稻序列 SELECT accession, locus_name, seq_length FROM sequence_record WHERE gene_name = 'OsDR8' AND organism LIKE '%Oryza%';这段SQL说明了把flatfile导入MySQL之后的典型用法:把每条GenBank记录的注册号、位点名、物种、基因名拆成字段,之后所有查询都变成标准SQL语句。“增删改查”四个动作清清楚楚,检索可以按基因名、物种、长度范围任意组合,这是纯文本做不到的。
不过要泼一盆冷水:MySQL这类关系型数据库适合存元数据和注释,但不适合直接存大段序列做比对分析。真实场景里,序列本身往往以FASTA文件落盘,数据库里只存注册号和文件路径。生物信息学专用的序列检索(如BLAST)有自己独立的索引机制,和SQL没有直接关系,很多初学者在这里混淆,以为序列比对也要靠SQL完成——这个认知后面会反复踩坑。
PPT里提到“下载MySQL”,并给出了一个形似“: ///11”的地址占位,实际课件里这页通常是视频截图或链接失效状态。遇到这种情况不用死磕,MySQL官网的社区版即可满足本地测试。
2.4 AceDB:为基因组数据设计的灵活工具
第三类工具是AceDB(A C. elegans DataBase,线虫数据库),PPT里给出的版本号是0.84。尽管最初为线虫基因组设计,它后来被广泛应用为管理和提供基因组数据的工具,特点是对数据形式的兼容性好,遗传图谱、物理图谱、新陈代谢途径、序列等都能组织进来。
AceDB与MySQL的核心理念不同:它不强制你把数据先规范化成一张张表,而是用非规范化的对象模型存储,属性可以灵活附加,适合基因组项目里那些“还没有统一schema”的异构数据。对今天的从业者来说,AceDB本身较少直接进入了,但它代表的设计思路仍然值得理解:基因组数据天然异构,图谱、序列、注释、通路各自结构不同,硬塞进关系型表会非常痛苦。
在第2章末尾,PPT还插入了一片实际序列片段,展示的是水稻抗病相关基因OsDR8所在区域的原始序列,开头是“gggctccacc actagtaccc …”,同时给出G1810.42、L1044、NBS1190.21、RM2240.21、R15060.00、Xa261.47、S12886RM144这批分子标记及图谱距离数据。这是在演示一个真实的数据库条目如何把原始序列与遗传图谱信息放在一起。引申出的实战问题是:如果你在一篇文献里看到“OsDR8”,想知道它对应的注册号、基因注释和物理位置,该去哪查?这就是下一章GenBank的内容。
3. GenBank实战:flatfile结构、三种标识与16个分支的用法
3.1 三大核苷酸数据库与GenBank的规模
国际上三大核苷酸数据库是GenBank、EMBL核苷酸数据库和DDBJ,三者在国际核苷酸序列数据库合作协议框架下,以天为基础交换序列数据,信息共享。换句话说,无论你把序列提交到其中哪一个,另外两个都会在几天内同步到同一条记录,只是在本地拥有不同的格式偏好和编号体系。提交专利的核苷酸序列也由合作机制一并收集,来源包括美国专利商标局(USPTO)、欧洲专利局(EPO)、日本专利局(JPO)。如果你处理的是专利相关序列,要意识到它们已经混入常规release中,检索时要留意PAT分支。
GenBank是NCBI的数据库,里面也收纳部分蛋白质序列。更新节奏是“数据每天更新,每年发行六版”。PPT给出的Release 185是理解规模的一把尺子:142,284,608条序列,碱基数(bases)达到千亿量级,loci同为1.4亿级别,下载全部序列大约需要511 GB。PPT里附了一张“Growth of GenBank (1982- )”的变化曲线,直观展示了序列量与条目数从八十年代至今的陡峭增长。
这个数字对实际工作意味着什么?第一,单机全量下载不现实,按需检索才是常态;第二,物种覆盖超过500,000个,其中约12.2%来自Homo sapiens,人类序列是当之无愧的最大来源之一。在做同源比对时,如果你不做物种过滤,结果里会混入大量人类序列的冗余命中,需要严格控制过滤条件。
3.2 flatfile与三种标识符:Locus name、Accession number、GI
每条GenBank序列对应一个flatfile。flatfile以成对的关键字—内容行组织,从LOCUS开始到“//”结束,中间按FEATURES、ORIGIN等段落展开,原始序列出现在ORIGIN之后。判断一条flatfile是否完整,先看结尾有没有“//”,再看每个关键字的缩进是否符合规范,这是我处理NCBI导出文件时最先检查的两项。
每条序列有三个专有编号或标识符(identifier),它们的用途完全不同:
| 标识符 | 全称 | 稳定性 | 用途 |
|---|---|---|---|
| Locus name | 位点名 | 可变,可能重复 | 记录识别,历史命名 |
| Accession number | 注册号或登陆号 | 稳定唯一 | 文献引用、投稿定位 |
| GI | GenInfo identifier | 随序列修订变化 | NCBI内部版本追踪 |
Locus name是一个短名称,历史上承载物种与分支信息,但现在更多是人为指定的记录名,长度有限制,它不等于注册号,不能保证全局唯一。Accession number才是稳定、唯一的ID,写论文、引文献、向数据库提交序列后获得的号就是它。GI是纯数字内部标识符,由NCBI内部维护,序列内容一旦变化GI就会变,所以同一个Accession可能对应多个GI版本。
注意:写论文时引用序列,请用Accession number,不要用GI也不要只写Locus name。GI会随更新变,位点名可能重复,注册号才是可复现的凭证。
3.3 16个分支(division):检索时先缩小范围
GenBank按来源把序列分进16个分支(divisions),每个分支用三个字母的缩写标识。这张表直接决定了你检索时的过滤策略:
| 缩写 | 分支全称 | 缩写 | 分支全称 |
|---|---|---|---|
| PRI | 灵长类序列 | SYN | 合成序列 |
| ROD | 啮齿类序列 | UNA | 未注释序列 |
| MAM | 其它哺乳类序列 | EST | 表达序列标签 |
| VRT | 其它脊椎动物序列 | PAT | 已专利序列 |
| INV | 无脊椎动物序列 | STS | 序列标签位点 |
| PLN | 植物、真菌和海藻类序列 | GSS | 基因组调查序列 |
| BCT | 细菌序列 | HTG | 高通量基因组序列 |
| VRL | 病毒序列 | HTC | 高通量cDNA序列 |
| PHG | 噬菌体序列 |
这个分支体系是理解检索结果的过滤器。实操里最常见的用法是:检索水稻基因时,把范围限定在PLN分支,避免命中其他物种;检索某个病毒基因时,直接在VRL分支内查询,命中率和信噪比都会好很多。把EST单列一个分支是因为它数量太大、质量参差,单独放置方便人们在常规序列与表达序列之间做取舍。PAT分支收录已专利序列,涉及知识产权核查时要在这一分支里单独检索——比如你的引物序列是否已被他人专利覆盖,这是分子育种和产业化项目里常被忽略的一步。
另一个容易被忽略的事实:GenBank里大约64%以上的序列是EST,意味着如果检索时不过滤分支,结果里一大半可能是单次测序的短表达序列,而非完整基因。这直接导致“检索到序列,但序列质量不高”的问题。后文会专门讲这一点。
3.4 投稿前的序列提交流程
PPT在开头就点明一个科研规范:投稿文章前,必须先将核苷酸或蛋白质序列提交到相应数据库。这不是形式要求,而是期刊的硬性规定,也是主流杂志对“数据可用性”的通行要求。常见做法是:
- 整理序列的物种来源、克隆载体、测序方向和注释信息。
- 到NCBI的BankIt或序列提交工具填写元数据。
- 获得Accession number,写进论文。
- 核对release版本号,确保与文稿引用的版本一致。
- 论文返修期间序列如有更新,用“revised”方式提交,保留原有注册号。
这套流程里最容易翻车的是注释部分:提交时必须填CDS区域、基因名和功能描述,填得马虎,数据库管理人员会打回修改,且每个循环都可能耗时数天。如果你只是复现别人的分析,不打算投稿,就可以跳过这里,直接进入下一步:如何在GenBank里检索你要的基因。
4. 二级数据库检索与避坑:dbEST、UniGene、dbSTS、dbGSS的用法边界
4.1 dbEST:表达序列标签库,质量与数量并存
dbEST是GenBank的二级数据库,专门收录EST(Expressed Sequence Tags)。EST本质上是cDNA序列的一个片断,可以来自5'端、3'端或CDS区域,长度通常在300到400 bp,属于single-pass sequence(单次测序)。正因为是单次测序,EST的碱基错误率明显高于精心注释过的常规序列,所以在用它做比对、设计引物或拼装时,必须接受“有噪音”的前提。
GenBank中64%以上的序列是EST,这是一个被反复引用的统计。它意味着:你在GenBank直接按关键词检索时,很容易被EST淹没。实用对策是:
- 先确定自己需要的是“完整基因(mRNA/gene)”还是“表达证据(EST)”。
- 需要完整基因时,优先用Gene数据库或限定mRNA来源来过滤。
- 需要表达证据时,检索dbEST并使用表达序列标签的专用分类。
EST还有别的用途:用不同组织来源的EST做数字表达分析是常见做法,特定EST在某个cDNA文库中出现的频次,可以粗略反映基因在该组织里的表达水平。这套PPT在检索层面把dbEST的定位讲得比较清楚——它是二级数据库,是GenBank的一个分区,而不是独立的跨库搜索引擎。
4.2 UniGene与dbSTS:从基因群到染色体定位
UniGene是NCBI的另一个核苷酸数据库,核心思路是把来源于同一基因的非重复EST组成基因序列群(gene cluster)。目前覆盖人、大鼠、小鼠、斑马鱼、牛、蛙等动物,还包括拟南芥、水稻、小麦、大麦、玉米等植物,PPT里提到共97个物种。它的价值在于把海量EST归并到“基因”这个层级,让你不必在一堆冗余片段中挣扎。
UniGene的实际检索方式很简单,建议直接在NCBI的UniGene主页输入关键词,比如“OsDR8 rice”,配合物种过滤器,得到的是一个基因群条目,里面包含基因名称、所属物种、序列成员列表、表达谱和同源信息。这一步比在GenBank全库里搜OsDR8干净得多。
dbSTS(Database of Sequence Tagged Sites)则是GenBank的另一个二级数据库,收录STS:一类长度在200到500 bp、已定位于染色体上的单拷贝DNA短片段。STS最大的意义在于作为物理图谱的路标,把遗传图谱、物理图谱和序列组装串起来。PPT里给出的检索路径是:在GenBank主页选择UniSTS后输入关键词,返回的每个条目可在详情页查看染色体定位。比如水稻抗病基因OsDR8附近的一系列分子标记(RM224、RM144、Xa26等),都能在STS或标记数据库里定位到具体染色体区间。做图位克隆和标记辅助选择时,这一套检索流程非常常用。
4.3 dbGSS与高通量数据:来源决定一切
dbGSS(Genome Survey Sequences)与EST非常相似,连NCBI自己的定义都在强调两者类似。但本质区别在来源:EST来自cDNA(mRNA反转录产物),GSS来自基因组DNA。GSS通常由做基因组测序的实验室提交给NCBI,用途是作为基因组物理图谱和测序框架。cosmid、BAC、YAC这类克隆载体的末端序列,往往以GSS形式进入数据库。
这意味着:如果你要的是“某一基因在基因组里的侧翼序列”,GSS是很好的线索源;如果你要做的是基因表达分析,GSS完全不适用的。很多初学者看到“survey sequence”就以为是表达序列,这是对二级数据库命名最普遍的误解。判断规则很简单——看来源:cDNA就是表达证据,genomic DNA就是结构证据。
HTG(high throughput genomic sequences)和HTC(high throughput cDNA sequences)也在这个体系里,对应高通量产出、尚未完成注释的序列。它们通常比较“原始”,可能在后续版本里被重注释甚至拆分。使用这类序列时,记得在方法部分写清楚使用的是哪一版release。
4.4 常见问题与避坑:五个高频翻车现场
下面这几条都是我在实际检索和带人的过程中反复遇到的,每一条都按现象、原因、解决记录。
坑1:检索结果里全是EST,找不到完整的基因序列
现象:在GenBank里输入基因名检索,返回几百条结果,点开看都是300 bp左右的短序列,找不到想要的mRNA全长。
原因:没有过滤分支,GenBank总量里EST占比超过64%,关键词匹配很容易命中大量EST。
解决:先限定division为PRI、PLN等目标分支,或改用NCBI Gene、UniGene入口检索;拿到Gene ID后再转mRNA序列,绕开EST噪音。
坑2:论文里只写了GI号,审稿人要求补Accession number
现象:返修意见要求提供sequence accession,作者对着GI号找不着对应关系。
原因:GI是NCBI内部版本标识,会随序列修订变化,不是期刊认可的标准凭证。
解决:回到GenBank flatfile的ACCESSION行,取第一个稳定的注册号写入论文;同时注明检索日期和release版本。
坑3:从一年前的导出文件里复现比对,序列对不齐
现象:去年下载的序列与当前版本记录一致,但复现比对时关键位点不一致。
原因:GenBank每天更新,注释和序列可能被作者修正,旧的flatfile过期。
解决:复现实验的关键序列,重新在NCBI核验一次注册号对应的当前版本;在方法部分写清“检索于XXXX年XX月,GenBank Release XXX”。
坑4:用MySQL管理序列后发现文本损坏
现象:把FASTA、GenBank文本直接灌进MySQL,读出来换行符丢失、序列断行错乱。
原因:没有设置合适的字符集和换行处理,直接用TEXT字段存原始格式。
解决:规范做法是只把元数据拆字段入库,序列以FASTA文件落盘,DB里只存注册号与文件路径;如必须存长文本,选LONGTEXT并用显式换行符。
坑5:检索植物基因时跑出大片人类序列
现象:BLAST或关键词检索后,高分段全是human mRNA,目标植物序列排在很远。
原因:没有做物种过滤,而人类序列在总库中约占12.2%,且注释质量高、命中常优先。
解决:在NCBI Entrez检索式里加物种字段,例如“OsDR8[All Fields] AND Oryza sativa[Organism]”,把人源结果挡在门外。
注意:以上五条看似零散,其实指向同一个底层能力——检索前先想清楚“我到底要什么类型的序列”,再决定用哪个数据库入口和哪个分支、物种过滤器。工具是次要的,筛选逻辑才是检索的命门。
5. 把PPT变成自己的检索手册:一条基因的完整验证流程
这套PPT的知识密度不低,但如果只是从头到尾看一遍,一周后多半只剩个模糊印象。我的做法是把它当作操作手册,拿一个具体的基因走一遍全流程,边看边动手,最后把每一步的操作痕迹留下来。这套127页的PPT正好可以作为这份对照手册的原始底稿,建议先把它保存到本地,边检索边翻页核对。
具体来说,我强烈建议你拿PPT里反复出现的水稻抗病相关基因OsDR8当实验对象,完成下面这条验证链路。第一步,打开NCBI,在检索框输入“OsDR8[Gene Name] AND Oryza sativa[Organism]”,确认Gene入口下能查到该基因条目及其Gene ID。第二步,从Gene页面点进Nucleotide,找到对应的完整mRNA序列,记录它的Accession number。第三步,用这个Accession number去查看它的flatfile,对照PPT里讲的字段,找到LOCUS行、ACCESSION行、FEATURES区的CDS注释,验证Locus name、Accession和GI三者是否与前面的表格对应。第四步,回到PPT里那240 bp的序列片段,用NCBI的BLASTn短序列比对工具把它贴进去,看它能否精确匹配到你刚找到的那条完整序列。如果匹配度达到100%,说明你对flatfile结构的理解是对的,这套PPT的示例数据也经得起验证。
做完这一步,再额外做一个反向练习:用UniGene和dbSTS分别查一次OsDR8或它附近的分子标记(比如RM224),把从不同入口得到的结果记录到同一张表里:
| 检索入口 | 关键词 | 期望返回 | 序列类型 | 用途 |
|---|---|---|---|---|
| Gene | OsDR8 rice | 基因条目 | 注释信息 | 获取Gene ID |
| Nucleotide | OsDR8 mRNA | 全长序列 | mRNA | 获取Accession |
| UniGene | OsDR8 rice | 基因群 | cluster成员 | 表达归属 |
| UniSTS / STS | RM224 | 分子标记 | STS | 染色体定位 |
这张表做完,你对“生物信息学数据库不是单一检索框,而是一套彼此链接的检索网络”这件事,就有了身体记忆,而不是只在PPT上看过结论。
讲讲我自己的血泪经验:第一次给学生布置这个练习时,我自己先踩了坑。我在UniGene里输入“OsDR8”,结果返回的是人源UniGene条目,当时吓了一跳。后来才意识到,UniGene是分物种展示的,必须先在页面左上角选定rice物种,否则关键词匹配会优先把你带到别的物种。从那以后,我每次检索前都强制自己先走一遍“物种→数据库入口→关键词→分支过滤”四步检查,再点检索按钮。这套习惯帮我少走了很多弯路,也让我在带新人时能直接指出问题出在哪一步。希望帮到你。
本文还有配套的精品资源,点击获取