时间:2022-05-19 12:38:52
摘 要:高中阶段的生物教材中,仅把生物信息学作为科普知识向学生做简要介绍。为了加强学生对它的直观认识,通过和学生共同探讨思考,利用现有的简陋条件,指导学生设计了相关的程序,取得了良好的教学和思想教育效果。
关键词:生物信息学;高中教学;编程
高中教材必修二的《基因的表达》这一章节中就介绍了有关生物信息学的概念和一些应用的实例。在这个内容的学习过程中,学生表达出强烈的兴趣。特别是当笔者提到需要编写程序时,学生感觉特别高深,但又表达出强烈的学习兴趣,愿意学习这个内容。经过和学生们再三思考讨论后,笔者发现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序列
Private Function TX(DNA)
Dim a, i As Integer;Dim B, c As String
a = Len(DNA);B = UCase(DNA)
For i = 1 To a
If Mid(B, i, 1) =“A”Or Mid(B, i, 1) = “T” Or Mid(B, i, 1) = “C” Or Mid(B, i, 1) =“G”Then
Else:Exit For
End If
Next i
If i = a + 1 Then
c =“是基因序列”
Else:c =“不是基因序列”
End If
TX = c
End Function
2.将DNA序列转化成RNA序列
Private Function Trc(DNA)
Dim a, i As Integer;Dim B As String
a = Len(DNA);B = UCase(DNA)
For i = 1 To a
If Mid(B, i, 1) =“A”Then
Mid(B, i, 1) =“U”
ElseIf Mid(B, i, 1) =“T”Then
Mid(B, i, 1) =“A”
ElseIf Mid(B, i, 1) =“C”Then
Mid(B, i, 1) =“G”
ElseIf Mid(B, i, 1) =“G”Then
Mid(B, i, 1) = “C”
End If
Next i
Trc=B
End Function
3.将RNA序列翻译成蛋白质序列
Private Function Trs(RNA)
Dim a(64), B(64) As String;Dim d, e, f, i, j, k, l As Integer;Dim P, Q, R As String
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)
For i = 1 To d
Q = Mid(P, i, 3)
If Q =“AUG”Then
l = l + 1
ElseIf (Q =“UGA”Or Q =“UAG”Or Q =“UAA”) And l 0 Then
Exit For
End If
If l 0 Then
For j = 1 To 64
If a(j) = Q Then
R = R & B(j):i = i + 2
End If
Next j
End If
Next i
If l = 0 Then R =“无起始密码子”
Trs = R
End Function
[附录2]
1.打开Excel 2003选择工具―宏―安全性(调低)
2在左侧工程-VB Project窗口空白处右击―插入模块
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则输出“不存在起始密码子”。
参考文献:
林卓然.VB语言程序设计[M].电子工业出版社,2009-01.
作者简介:沈亮余,男,1986年12月,理学硕士,就职于四川省大竹中学,研究方向:高中生物教学。