-
遗传学模拟程序用户手册
[TOC]
🌱 程序简介
这是一个用于模拟遗传规律的互动程序,可以帮助你:
- 观察显性和隐性基因的遗传规律
- 模拟不同基因组合的繁殖结果
- 统计基因型和表型的分布比例
- 理解孟德尔遗传定律的实际应用
🧬 基本概念速查
基因相关
- 显性基因:用大写字母表示(如A),决定显性性状
- 隐性基因:用小写字母表示(如a),只有两个隐性基因组合时才表现性状
- 基因型:个体的基因组合(如AA/Aa/aa)
- 表型:实际表现出的性状(如高茎/矮茎)
组别功能
- 实验容器:每个组都是一个独立的实验环境
- 数据隔离:不同组的实验数据互不影响
- 模式切换:支持随机交配和人工杂交两种模式
- 历史记录:自动保存各代繁殖数据
💻 快速入门
启动程序
1python main.py出现
>>>提示符表示启动成功基础指令速查
指令 功能 示例 /help 查看帮助文档 /help /add 添加新基因 /add A a 高茎 矮茎 /create 创建新组 /create 豌豆组 /random 随机生成个体 /random 豌豆组 10 2 /run 执行一代繁殖 /run 豌豆组 /show 查看统计数据 /show 豌豆组 -details 📚 详细使用指南
第一步:定义基因
1/add [显性符号] [隐性符号] [显性性状] [隐性性状]示例:
1 2/add A a 高茎 矮茎 /add B b 圆粒 皱粒💡 小贴士:基因符号必须为单个字母,显性用大写
第二步:创建实验组
1/create [组名]示例:
1 2/create 实验一组 /create 对照组第三步:添加实验个体
方法1:手动添加
1/change [组名] [基因型] add [数量]示例:
1/change 实验一组 AA add 5 # 添加5个AA型个体方法2:随机生成
1/random [组名] [数量] [基因长度]示例:
1/random 实验一组 20 4 # 生成20个双基因个体(如AaBb)第四步:执行繁殖实验
1 2 3/run [组名] # 观察结果但不保存 /write [组名] # 执行并保存结果 /runs [次数] # 连续繁殖多代示例流程:
1 2 3 4/create 豌豆实验 /random 豌豆实验 10 2 # 生成10个单基因个体 /show 豌豆实验 # 查看初始分布 /run 豌豆实验 # 执行一代繁殖第五步:查看实验结果
1 2/show [组名] # 基础统计 /show [组名] -details # 详细数据输出示例:
1 2 3 4 5 6 7 8 9 10 11 12=== 实验组 统计 === 总个体数:50 基因型分布: Aa: 25 (50.00%) AA: 15 (30.00%) aa: 10 (20.00%) 表型分布: (高茎,): 数量:40 占比:80.00% 基因型:Aa, AA🧪 实验模式说明
🌐 随机交配模式
- 自然随机配对
- 适合模拟自然种群
- 使用指令:
/mode [组名] random
✂️ 人工杂交模式
- 可控配对组合
- 适合特定基因型杂交实验
- 使用指令:
/mode [组名] cross
💡 学习案例:豌豆实验
实验目标
观察高茎(AA/Aa)与矮茎(aa)豌豆的杂交结果
操作步骤
-
添加基因定义
1/add A a 高茎 矮茎 -
创建实验组
1/create 豌豆实验 -
添加亲本
1 2/change 豌豆实验 AA add 10 # 10株高茎纯合体 /change 豌豆实验 aa add 10 # 10株矮茎 -
设置杂交模式
1/mode 豌豆实验 cross -
执行杂交
1/run 豌豆实验 -
分析结果
1/show 豌豆实验 -details
📥 LOAD指令详解
指令作用
/load [文件路径]可以批量执行预先编写好的实验指令文件,适合:- 保存常用实验方案
- 快速重建复杂实验
- 课堂演示重复实验
文件格式要求
- 使用普通文本文件(建议.txt扩展名)
- 每行一条有效指令
- 支持#号注释
- 使用UTF-8编码
使用步骤
- 用记事本创建指令文件
- 每行写一个有效命令
- 保存时选择UTF-8编码
- 在程序中执行
/load 文件路径
📋 实例代码库
基础示例:单基因实验
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18BASH# 保存为 basic_exp.txt # 第一步:定义基因 /add A a 高茎 矮茎 # 第二步:创建实验组 /create 单基因实验 # 第三步:生成初始种群 /random 单基因实验 20 2 # 第四步:设置杂交模式 /mode 单基因实验 cross # 第五步:执行三次繁殖 /runs 3 # 第六步:查看最终结果 /show 单基因实验 -details进阶示例:双基因自由组合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20BASH# 保存为 two_genes.txt # 定义两个性状基因 /add A a 高茎 矮茎 /add B b 圆粒 皱粒 # 创建双基因实验组 /create 双基因实验 # 添加特定基因型亲本(AABB × aabb) /change 双基因实验 AABB add 5 /change 双基因实验 aabb add 5 # 设置杂交模式 /mode 双基因实验 cross # 执行两代繁殖 /runs 2 # 保存最终结果 /save 双基因结果课堂演示脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21BASH# 保存为 class_demo.txt # 初始化设置 /add M m 正常 白化 /add C c 能尝味 不能尝味 # 创建对照组 /create 对照组 /random 对照组 30 4 # 创建实验组 /create 实验组 /change 实验组 MmCc add 10 /change 实验组 mmcc add 10 # 批量执行5代繁殖 /mode 实验组 cross /runs 5 # 对比两组结果 /show 对照组 /show 实验组 -details🛠️ LOAD使用技巧
-
渐进式实验:分阶段保存不同脚本
1 2 3BASH/load 01_初始化基因.txt /load 02_创建对照组.txt /load 03_创建实验组.txt -
参数化实验:修改数字快速生成不同规模实验
1 2BASH# 修改数量参数即可生成不同规模种群 /random 实验组 ${数量} 4 -
错误处理:遇到错误时会显示行号
1 2TEXT[行5] 执行: /add A a 高茎 !! 行5执行失败: 参数数量错误,需要4个参数 -
快速重建:保存成功实验配置
1 2 3 4BASH# 保存当前状态 /save 成功案例 # 下次使用时 /read 成功案例
💼 实战案例包
案例1:三代显性追踪
1 2 3 4 5 6 7BASH# 保存为 three_generations.txt /add H h 正常 亨廷顿症 /create 家族追踪 /random 家族追踪 10 2 /show 家族追踪 /runs 3 /show 家族追踪 -details案例2:多性状组合实验
1 2 3 4 5 6 7 8 9 10BASH# 保存为 multi_traits.txt /add T t 卷舌 平舌 /add E e 双眼皮 单眼皮 /add F f 有酒窝 无酒窝 /create 三性状实验 /random 三性状实验 50 6 /mode 三性状实验 random /runs 5 /write 三性状实验案例3:异常情况测试
1 2 3 4 5 6BASH# 保存为 error_test.txt # 测试各种错误情况 /add X y 显性 隐性 # 应该报错(显隐基因相同) /create /read 不存在的组 /change 测试组 AAA add 10📌 使用注意事项
- 文件路径建议使用英文命名
- 复杂实验建议每10行添加注释
- 遇到编码问题可使用Notepad++保存为UTF-8格式
- 重要实验前先用小数据量测试脚本
💡 教学建议:可让学生先手动操作理解流程,再用LOAD指令进行大规模实验对比,加深对遗传规律的理解。
❓ 常见问题解答
Q1:为什么提示"基因长度不符"?
A:同一实验组的所有个体必须具有相同的基因组合长度,添加新个体时请保持与现有个体相同的基因位数
Q2:如何比较不同代的实验结果?
A:可以为每代创建不同组(如F1代、F2代),使用/list指令查看各组数据
Q3:为什么隐性性状没有出现?
A:检查:
- 是否正确定义隐性性状
- 实验个体是否包含隐性基因
- 繁殖代数是否足够
Q4:如何保存实验结果?
A:程序运行期间数据保存在内存中,关闭前可以使用/save指令保存组状态
🚀 进阶技巧
- 多基因实验:添加多个基因定义(如同时研究茎高和种子形状)
- 历史回溯:通过创建多个组保存不同阶段的实验数据
- 批量操作:使用
/load指令从文件批量执行命令 - 性状组合:在详细统计模式查看多基因性状组合
📊 遗传规律验证
通过本程序可以验证:
- 分离定律(子一代性状分离比)
- 自由组合定律(多对性状组合)
- 显隐性关系
- 基因型与表型对应关系
📌 提示:开始实验前建议先用/help查看完整指令列表,遇到问题可尝试输入/help [指令名]查看具体帮助