生物信息学程序设计初步
黄 骥
南京农业大学
生物信息学程序设计
随着基因组计划和后基因组计划的飞速发展,产生了大
批的核酸序列数据。通常人们需要进行DNA翻译、ORF查找、
同源性比较、酶切位点分析、引物设计等来满足序列分析的
需要。
为了能够快速有效地进行核酸序列分析,许多生物软件公
司或生物信息学工作者开发了分析软件.
比较著名的: GCG系统; DNAstar; DNAssist; ClustalX;
GeneDOC……有的时候还必须自己想办法.
Why?
• 计算机专业人员设计生物学程序;未必能切合生物学家
• 分子生物学已经离不开生物信息学的帮助,能做到遇到什
么问题能够自己快速高效的解决;
• 有些问题没有现成的程序, 尤其是各种组学流行的今天
• 程序收费,使用不方便
• 引物合成有Primer3,Primer 5等比较好的程序,但我还
一个例子
是自己做了一个。
生物信息学程序设计
设计语言
C, C++, VB, JAVA, Perl….
语言的种类并不重要.
参考书: 生物信息学算法导论
化学工业出版社, 2007
以BioXM软件为例…
BioXM的编制和运行的软硬件环境要
求不高,只要是Windows系统都可以运
行,程序编制语言是中文版的Visual Basic
6.0。Win7必须采用XP兼容模式运行.
一个最简单的例子:序列格式化
在进行核酸序列分析之前首先要进行核酸
的 序 列 整 理 , 以 除 去 非 法 字 符 。对于DNA序
列,一般只能保留A、G、C、T以及未知的N,
要将数字以及其他字符去除。
BioXM采取的算法是通读全部序列,遇到
合法字符则保留,非法字符则去除。而其他的
一些软件,如流行的DNAssist,对序列要求非
常高,只能去除数字,对于含有其他非法字符
的序列则不能自动分析。
一个最简单的例子:序列格式化
要求: 去掉序列中的数字, 空格等.
方法1:
Dim Seqinf As String
Dim NewSeq as String
Seqinf = UCase(Text1.Text)
For i=1 to len(Seqinf)
Select case mid(seqinf, i, 1)
Case “A”, “G”, “C”, “T”, “N”
NewSeq=NewSeq & mid(seqinf, i , 1)
End select
Next i
速度慢!