摘 要:高中阶段的生物教材中,仅把生物信息学作为科普知识向学生做简要介绍.为了加强学生对它的直观认识,通过和学生共同探讨思考,利用现有的简陋条件,指导学生设计了相关的程序,取得了良好的教学和思想教育效果.
关 键 词:生物信息学;高中教学;编程
高中教材必修二的《基因的表达》这一章节中就介绍了有关生物信息学的概念和一些应用的实例.在这个内容的学习过程中,学生表达出强烈的兴趣.特别是当笔者提到需要编写程序时,学生感觉特别高深,但又表达出强烈的学习兴趣,愿意学习这个内容.经过和学生们再三思考讨论后,笔者发现Excel软件具备一些这样的功能.这个软件学生在通用技术上学习过,并且它自带了一款入门时简单易学的编程软件VB,所以这就为实验的开展打下了基础,我们所要做的就是将生物语言转化成计算机语言.
1.内容确定
我们选择高中教材必修二的《基因的表达》这部分知识,因为它和信息学更容易衔接.最后确定用于编程的生物学相关内容:(1)判断某序列是否为DNA序列;(2)将DNA序列转化成RNA序列;(3)将RNA序列翻译成蛋白质序列.
2.程序编写和调试
2.1软件选择
Excel2003版本.先将版本安全性调低,有利于宏的运行.方法:选择工具―宏―安全性(调低).再打开Excel自带的程序编辑器,方法:选择工具―宏―VB编辑器.
2.2程序的编写
2.2.1判断某序列是否为DNA序列
设计思路:生物学原理是,如果序列中的字母不是A、T、C、G,则这个序列不是DNA序列.
2.2.1将DNA序列转化成RNA序列
设计思路:生物学原理是碱基互补配对原则,程序语言实现―字母的转换A-U,U-A,G-C,C-G.
2.2.3将RNA序列翻译成蛋白质序列
设计思路:生物学基础是蛋白质的子表.如果有AUG序列则翻译开始,如果出现UAA、UAG、UGA序列,则翻译终止.其他情况则根据子表逐一翻译.
最终通过一系列的编写调试,这三个程序编写成功.具体程序见附录1.并且举例验证其不光能够运行,同时也符合生物学原理,验证过程见附录2.
3.实验总结
学生参与这个实验后,对学科之间的交叉有了直观、深刻的认识,并切实提高了对学习的浓厚兴趣.他们在总结讨论表示:原本以为Excel已经很精通了,不曾想到这么简单的东西还可以用来做这么深奥的学问,由此带来的震撼和体会特别巨大.他们深刻地感到,知识不再是为了应付考试而存在的抽象空洞概念,而是可以切切实实用于解决问题的工具.同时,由此带来的学生课堂学习态度的变化非常明显,教师们明显感觉到学生上课过程中眼中带着对知识的渴求.
笔者对这个实验带来的这些意外惊喜效果也感触颇深.教育是一门艺术而不是技术,它完成的质量的高低,取决于教师付出多少努力和心血.切实地去思考去做去完善自己的教育理念,一定会比单纯地说教更能取得良好的效果.
[附录1]
1.判断某序列是否为DNA序列
PrivateFunctionTX(DNA)
Dima,iAsInteger;DimB,cAsString
a等于Len(DNA);B等于UCase(DNA)
Fori等于1Toa
IfMid(B,i,1)等于“A”OrMid(B,i,1)等于“T”OrMid(B,i,1)等于“C”OrMid(B,i,1)等于“G”Then
Else:ExitFor
EndIf
Nexti
Ifi等于a+1Then
c等于“是基因序列”
Else:c等于“不是基因序列”
EndIf
TX等于c
EndFunction
2.将DNA序列转化成RNA序列
PrivateFunctionTrc(DNA)
Dima,iAsInteger;DimBAsString
a等于Len(DNA);B等于UCase(DNA)
Fori等于1Toa
IfMid(B,i,1)等于“A”Then
Mid(B,i,1)等于“U”
ElseIfMid(B,i,1)等于“T”Then
Mid(B,i,1)等于“A”
ElseIfMid(B,i,1)等于“C”Then
Mid(B,i,1)等于“G”
ElseIfMid(B,i,1)等于“G”Then
Mid(B,i,1)等于“C”
EndIf
Nexti
Trc等于B
EndFunction
3.将RNA序列翻译成蛋白质序列
PrivateFunctionTrs(RNA)
Dima(64),B(64)AsString;Dimd,e,f,i,j,k,lAsInteger;DimP,Q,RAsString
a(1)等于“UUU”:B(1)等于“-F-”;
a(2)等于“UUC”:B(2)等于“-F-”;
a(3)等于“UUC”:B(3)等于“-L-”;a(4)等于“UUC”:B(4)等于“-L-”;
a(5)等于“CUU”:B(5)等于“-L-”;
a(6)等于“CUC”:B(6)等于“-L-”;
a(7)等于“CUA”:B(7)等于“-L-”;
a(8)等于“CUG”:B(8)等于“-L-”;
a(9)等于“AUU”:B(9)等于“-I-”;
a(10)等于“AUC”:B(10)等于“-I-”;
a(11)等于“AUA”:B(11)等于“-I-”;
a(12)等于“AUG”:B(12)等于“-M-”;
a(13)等于“GUU”:B(13)等于“-V-”;
a(14)等于“GUC”:B(14)等于“-V-”;
a(15)等于“GUA”:B(15)等于“-V-”;
a(16)等于“GUG”:B(16)等于“-V-”;
a(17)等于“UCU”:B(17)等于“-S-”
a(18)等于“UCC”:B(18)等于“-S-”
a(19)等于“UCA”:B(19)等于“-S-”
a(20)等于“UCG”:B(20)等于“-S-”
a(21)等于“CCU”:B(21)等于“-P-”
a(22)等于“CCC”:B(22)等于“-P-”
a(23)等于“CCA”:B(23)等于“-P-”
a(24)等于“CCG”:B(24)等于“-P-”
a(25)等于“ACC”:B(25)等于“-T-”
a(26)等于“ACA”:B(26)等于“-T-”
a(27)等于“ACG”:B(27)等于“-T-”
a(28)等于“ACU”:B(28)等于“-T-”
a(29)等于“GCU”:B(29)等于“-A-”
a(30)等于“GCC”:B(30)等于“-A-”
a(31)等于“GCA”:B(31)等于“-A-”
a(32)等于“GCG”:B(32)等于“-A-”
d等于Len(RNA):P等于UCase(RNA)
Fori等于1Tod
Q等于Mid(P,i,3)
IfQ等于“AUG”Then
l等于l+1
ElseIf(Q等于“UGA”OrQ等于“UAG”OrQ等于“UAA”)Andl<>0Then
ExitFor
EndIf
Ifl<>0Then
Forj等于1To64
Ifa(j)等于QThen
R等于R&B(j):i等于i+2
EndIf
Nextj
EndIf
Nexti
Ifl等于0ThenR等于“无起始子”
Trs等于R
EndFunction
[附录2]
1.打开Excel2003选择工具―宏―安全性(调低)
选择工具―宏―VB编辑器,
2在左侧工程-VBProject窗口空白处右击―插入模块
3.将附录一中的程序复制粘贴于此处
4.测试过程
(1)判断某序列是否为DNA序列
Excel的单元格A1中输入的是DNA序列;A2单元格输入的不是DNA序列
在C1单元格中输入等于tx(a1);C2表格中输入等于tx(a1)
(注:TX是我们编写的宏程序代码)
测试结果成功,能够判断其是否为DNA序列,如果是则输出“是基因序列”,否则输出“不是基因序列”.
(2)将DNA序列转化成RNA序列
如果经过1步骤测试是DNA序列,我们可以将它翻译成RNA序列
A1单元格中输入DNA序列,我们在E1单元格输入等于trc(a1)
结果E1单元格返回代码值是转录后的序列,并且测试结果符合我们生物学原理
(3)将RNA序列翻译成蛋白质序列.
A1单元格中我们输入的是有起始子和终止子的RNA序列
A2单元格中我们输入的RNA序列没有起始子
在A4单元格中输入等于trs(a1);在A5中输入等于trs(a2)
测试结果成功,并生物学原理:A4中输出的是序列翻译后的结果,A5则输出“不存在起始子”.