.版本 2
.支持库 iext2
.程序集 窗口程序集_启动窗口, , , ' 本源码来自三叶资源网(www.sanye.cx)
.子程序 _按钮1_被单击
.局部变量 碱基序列, 文本型
.局部变量 起始密码子, 文本型
.局部变量 氨基酸, 氨基酸, , "0"
.局部变量 i, 整数型
.局部变量 字符格式, 字符格式
.局部变量 总, 文本型
超级编辑框1.内容 = “”
碱基序列 = 编辑框1.内容
起始密码子 = 取文本左边 (碱基序列, 3)
.如果 (起始密码子 = “AUG” 或 起始密码子 = “GUG”)
取氨基酸 (编辑框1.内容, 氨基酸)
.计次循环首 (取数组成员数 (氨基酸), i)
字符格式.文本颜色 = #红色
加入文本 (字符格式, 氨基酸 [i].密码子)
字符格式.文本颜色 = #黑色
加入文本 (字符格式, “ - ”)
字符格式.文本颜色 = #紫色
加入文本 (字符格式, 氨基酸 [i].名称 + #换行符)
总 = 总 + 氨基酸 [i].名称 + “ ”
.计次循环尾 ()
字符格式.文本颜色 = #黑色
加入文本 (字符格式, “总:”)
字符格式.文本颜色 = #紫色
加入文本 (字符格式, 总)
.否则
' 待编写
.如果结束
.子程序 取氨基酸
.参数 碱基序列, 文本型
.参数 氨基酸, 氨基酸, 数组
.参数 错误信息, 文本型, 可空
.局部变量 n, 整数型
.局部变量 密码子, 文本型
.局部变量 密码子_数组, 文本型, , "0"
.局部变量 总碱基, 整数型
.局部变量 剩余碱基, 文本型
.局部变量 i, 整数型
.局部变量 该段碱基序列, 文本型, , "0"
.局部变量 氨基酸名称, 文本型
.局部变量 尾密码子, 文本型
.局部变量 a, 氨基酸
总碱基 = 取文本长度 (碱基序列)
.判断循环首 (真)
n = n + 1
密码子 = 取文本中间 (碱基序列, 3 × n - 2, 3)
加入成员 (密码子_数组, 密码子)
.如果真 (3 × (n + 1) - 2 ≥ 总碱基)
剩余碱基 = 取文本右边 (碱基序列, 3 × n)
跳出循环 ()
.如果真结束
.判断循环尾 ()
.计次循环首 (取数组成员数 (密码子_数组), i)
加入成员 (该段碱基序列, 密码子_数组 [i])
.如果真 (密码子_数组 [i] = “UAA” 或 密码子_数组 [i] = “UAG” 或 密码子_数组 [i] = “UGA”)
跳出循环 ()
.如果真结束
.计次循环尾 ()
尾密码子 = 该段碱基序列 [取数组成员数 (该段碱基序列)]
.如果真 (尾密码子 ≠ “UAA”)
.如果真 (尾密码子 ≠ “UAG”)
.如果真 (尾密码子 ≠ “UGA”)
错误信息 = “未找到终止密码子!”
返回 ()
.如果真结束
.如果真结束
.如果真结束
.计次循环首 (取数组成员数 (该段碱基序列), i)
a.密码子 = 该段碱基序列 [i]
a.名称 = 翻译 (该段碱基序列 [i])
加入成员 (氨基酸, a)
.计次循环尾 ()
.子程序 翻译, 文本型
.参数 密码子, 文本型
.局部变量 第一碱基, 文本型
.局部变量 第二碱基, 文本型
.局部变量 第三碱基, 文本型
.局部变量 密码表, 文本型
.局部变量 第二密码子表, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 数组, 文本型, , "0"
.局部变量 第三密码子表, 文本型
.局部变量 氨基酸, 文本型, , "4"
.如果真 (取文本长度 (密码子) ≠ 3)
返回 (“”)
.如果真结束
第一碱基 = 取文本左边 (密码子, 1)
第二碱基 = 取文本中间 (密码子, 2, 1)
第三碱基 = 取文本右边 (密码子, 1)
.判断开始 (第一碱基 = “U”)
密码表 = #U
.判断 (第一碱基 = “C”)
密码表 = #C
.判断 (第一碱基 = “A”)
密码表 = #A
.判断 (第一碱基 = “G”)
密码表 = #G
.默认
.判断结束
第二密码子表 = 分割文本 (密码表, #换行符, )
.计次循环首 (取数组成员数 (第二密码子表), i)
数组 = 分割文本 (第二密码子表 [i], “:”, )
.如果真 (数组 [1] = 第二碱基)
第三密码子表 = 数组 [2]
跳出循环 ()
.如果真结束
.计次循环尾 ()
氨基酸 = 分割文本 (第三密码子表, “,”, )
.判断开始 (第三碱基 = “U”)
返回 (氨基酸 [1])
.判断 (第三碱基 = “C”)
返回 (氨基酸 [2])
.判断 (第三碱基 = “A”)
返回 (氨基酸 [3])
.判断 (第三碱基 = “G”)
返回 (氨基酸 [4])
.默认
返回 (“”)
.判断结束
.子程序 加入文本
.参数 格式, 字符格式
.参数 文本, 文本型
超级编辑框1.起始选择位置 = 取文本长度 (超级编辑框1.内容)
超级编辑框1.置选择区字符格式 (格式)
超级编辑框1.被选择文本 = 文本
易语言超级编辑框的应用