======== 使用方式 ======== .. warning:: 嘿!你正在查看一份 **旧版本程序** 的说明文档!这意味着 **这里面的内容都有可能不再适用于最新版本** ! 如果你想了解最新版本的程序,请访问:https://mendelcalculatordoc.readthedocs.io/zh_CN/latest/ 从最基础的开始 --------------- 最基础的命令就是从1到9的自然数,这个数字将会决定[性状数量]。 MendelCalculator> *1* 请输入基因型: 第1组(父本)> *aa* 第2组(母本)> *aa* 父本配子: [0][a]=1 母本配子: [0][a]=1 子代: [0][aa]=1 [信息]输出完毕,共使用9.006毫秒! 输入命令之后,程序将会对其进行必要的检查,保证它符合计算或者执行的要求。 命令列表 ---------------- 下面我们来介绍一下一些其他的用法。 .. list-table:: 目前支持的命令列表 :widths: 15 10 30 :header-rows: 1 * - 命令 - 功能 - 备注 * - exit - 退出此程序 - * - save - 将上一次计算的结果保存为文件 - 如果未进行任何计算,则会提示错误 * - read - 读取文件,并将其中的数据覆盖在之前的数据上 - 如果未读取任何存档或者是读取后被覆盖, 则有可能会提示错误 * - count - 对读取的存档中的数据进行计算 - * - gen-df - 针对某一个存档生成[配子或子代存活率文件] - 目前功能还未完成, 可以生成,但是不能读取和计算 * - gen-result - 针对计算结果生成表格.xlsx文件 - 如果没有读取存档或者进行计算会提示错误 * - list-saves - 列出存档目录下的所有存档 - * - list-saves-s - 在list-saves添加关键词搜索功能 - 不支持以下搜索方法: (假设你要寻找demo存档) 关键词> dm (结果列表中不会出现demo存档) * - upd-save - 由于不同的存档生成器的存在, 目前存档分为v1.0和v1.1两个版本, 此命令可以将v1.0的存档转化为v1.1的存档 - * - clear-cache - 由于使用了lru_cache装饰器 缓存返回值来减少计算所花的时间, 所以这有可能导致此程序占用内存过大。 此命令用于清除所有函数运行导致的缓存 - 根据测试,这个命令似乎并不会减少多少的内存占用, 但是却会使运行时间加长 (不同的输入会有不同程度的影响) * - cls - 系统命令,用于清屏 - 仅限windows. save >>>>>>>>>>>>>>>>> .. warning:: / \\ : \* ? " < > | 这些符号在Windows当中不能作为文件夹或文件的名字! 下文为实例: MendelCalculator> *save* <保存失败:没有进行任何的计算!> *[未经计算直接试图保存会输出错误。]* MendelCalculator> *1* *[省略]* MendelCalculator> *save* 请输入存档名字: *example* 请输入描述:*[如果没有描述可以直接回车]* *[如果成功生成一个存档,那么会提示以下信息(文件的路径可能有所不同)]* <[.../saves/example]已成功被创建!> *[存档一般保存在与mendel.exe同个目录下的saves目录中]* <[.../saves/example/gene_pool]已成功被创建!> <[.../saves/example/result]已成功被创建!> <[.../saves/example/example.json]已成功被创建!> <[.../saves/example/gene_pool/parents.json]已成功被创建!> read >>>>>>>>>>> 此命令将会从mendel.exe所在的文件夹下的saves文件夹中读取存档, .. note:: 在MendelCalculator v1.1 Preview 1中,如果saves文件夹不存在,则有可能在输入存档名之后导致崩溃。 下文为实例: MendelCalculator> *read* 请输入存档名字:*demo* <正在读取目录[.../saves/demo]...> 作者[MeteorShower2004] 注释[For testing.] <正在读取基因库文件[demo/parents.json]...> <已成功载入基因库文件[demo/gene-pool/parents.json]!> <亲本[[Aa, Aa]],等位基因数[1]> count >>>>>>>>>>>>>>>>>>>>>>>> 此命令用于在读取存档后 .. note:: 只有在读取存档后才能使用count命令,另外,在读取存档后马上使用计算功能,会覆盖读取的数据。 下文为实例: MendelCalculator> *count* 子代: [0][AA]=1 [Aa]=2 [aa]=1 使用cmd.exe调用孟德尔计算器 ----------------------------- 调用方法1:直接在cmd.exe中输入 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> **此用法仅支持Windows.** .. note:: 不会打开cmd.exe? 看看[ :ref:`唤出cmd.exe` ]。 我们可以在路径后面加上[亲本性状数] [父本基因] [母本基因]。 那么格式就是这样的: .. code-block:: shell [mendel.exe路径] [亲本性状数] [父本基因] [母本基因] 假设mendel.exe在 G:/ 目录下,那么我们要调用这个程序就需要使用 *G:/mendel.exe* 举个例子: .. code-block:: shell G:/mendel.exe 1 aa aa 这样会在执行mendel.exe的时候自动提供前三个参数。 调用方法2:借助.bat文件 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 为了使孟德尔计算器的这个功能 *看起来更有用一点* ,我们可以借助.bat文件来达到同样的目的。 * 创建一个.bat文件 在你想要的地方右键-新建-文本文档。 将名字的后缀改为.bat*[看不到后缀名请自行百度。]* 系统会提示"可能会导致文件不可用",直接点"是"。 * 键入命令 对着这个.bat文件右键-编辑 会用记事本打开这个文件,在里面输入: .. code-block:: shell G:/mendel.exe 1 aa aa echo 按任意键退出 @pause 保存这个文件。 * 运行 直接双击文件运行。 问题 >>>>>>>> 1.如何更好地在cmd.exe中键入mendel.exe的位置 ::::::::::::::::::::::::::::::::::::::::::::::::::::: 见[ :ref:`如何更好地在cmd.exe中键入mendel.exe的位置` ]. 2.为什么有时候提供了参数,但是仍然要求输入参数? ::::::::::::::::::::::::::::::::::::::::::::::::::::: 由于目前程序的限制,如果参数没有给全或者给错参数会引起程序报错,从而自动退出。所以就设置成了 **没有给全参数** 或者 **参数给的不符合需求** 就会要求重新输入