R breedingSNP

系谱重建 colony 使用指南

2019-06-11  本文已影响12人  董八七

最近在用Colony,和Cervus有所区别。下面是翻译自Colony的用户指南,供理解学习。

1.介绍

Colony程序可以在多个计算机平台上运行,包括Windows、Mac、Linux、Unix。本文档专为Windows用户准备,但对其他平台的用户也很有用。

1.1概述

Colony是一个计算机程序,利用一个似然法和两个成对似然法,使用个体之间多基因座基因型,分配/推断亲子关系、同胞关系和克隆(重复【克隆或重复指的是基因型完全一样的个体】)。这些方法在下面的文章中有正式的描述。
文章略。
Colony可用于估计全同胞和半同胞关系、推断克隆或重复个体、分配亲子关系、重建亲本基因型、推断交配系统(多配偶/一夫一妻制、自交率)和生殖偏斜,以及重新估计每个标记位点的基因分型错误。它适用于二倍体和单倍体二倍体物种,雌雄同株和雌雄异株物种。只要稍微修改数据,它也可以应用于多倍体物种(Wang和Scribner,2014年)。它可以使用有或无基因分型错误的共显性和显性标记数据。Colony的windows-gui版本也可以用来模拟具有特定亲子关系结构的基因型数据,模拟的基因型数据可以用来检查各种系谱重建方法的准确性和标记信息的充分性。
简言之,该方法假设将个体样本细分为3个子样本:后代(OFS)、候选雄性(CMS)和候选雌性(CFS)。OFS是必不可少的,而CMS和CFS都是可选的。OFS中的个体被分配(聚集)到K1父系和K2母系(其中K1和K2未知),而CMS和CFS中的个体(如果可用)被分配或未分配到这些K1和K2家庭中。假设子代个体是重复的(或克隆体的成员)、全同胞(共享双亲)、半同胞(仅共享双亲中的一个)或不相关的(不共享双亲),而候选个体【亲本】被假定为彼此不相关,或者是双亲或不相关的。给后代。假设标记处于连接平衡状态。违反这些假设可能会降低分析的能力,但可以通过使用更多的信息性标记进行补偿(Wang,2004年)。例如,关于被抽样个体的性别和年龄的信息可能不可用。在这种情况下,允许每个个体出现在所有3个子样本中,并且在某些情况下,亲子关系和亲子关系仍然得到令人满意的推断(Wang&Santure 2009)。同样,背景关系的存在(如表亲关系和avunculate关系,这些关系被认为是不存在的或与该方法无关的)可能会降低准确性。然而,随着标记信息量的增加,其精度迅速提高。目前的模型解释了哈代-温伯格平衡的偏差。如果需要,近亲交配(由于近亲交配或自交,或由于种群结构)可以与关系结构一起计算和估计。
Colony程序的分析结果主要包括:OFS中个体间的全同胞和半同胞分配;父子关系(如果有CMS)和母子关系(如果有CFS)分配;OFS中的重复个体;每个子代的每个基因座上的基因型推断;每个基因座上的基因型推断,不管它是否分配给CFS、CMS的候选人;每个后代的每个基因座可能的基因型错误;分配给后代的候选人的每个基因座可能的基因型错误;当使用近交模型时,近交和自受精(雌雄同株物种的自交率);考虑到推断的关系,精确估计每个位点的基因分型错误率;根据估计的兄弟姐妹频率计算的有效种群规模。
软件包Colony包括Windows的可执行文件、用户指南、示例数据集和示例分析结果。Colony程序的计算部分用Fortran 90/95编写,GUI前端用Visual Basic编写。Windows GUI允许用户准备输入数据和分析参数,运行程序,查看分析结果,并在运行期间监控和绘制中间结果。Linux和Mac平台的Colony软件包与Windows软件包在同一个网站上提供。

1.2方法和软件特点

当前版本的Colony有以下特点:允许亲本多配。换言之,允许后代为母系半同胞、父系半同胞、全同胞、克隆(或重复)和无亲缘关系,并且所有这些关系都是共同推断的;根据兄弟关系推断克隆(或重复),考虑基因分型错误;允许利用同胞关系同时推断亲子关系;利用Bayes定理,通过考虑3个子样本中和之间重建的关系同时估计群体等位基因频率;考虑关系重建数据中的基因分型错误和突变;检测单个基因型中的基因分型错误和突变;精炼估计每个基因座的基因分型错误率;推断没有基因型数据的个体(后代和推断的父母)的基因型;适用于二倍体和单倍体物种,适用于雌雄同株和雌雄同株物种;适用于二倍体后代、单倍体后代或两者的样本;允许和估计近交,推断雌雄同株物种的自交率;全似然法和新似然评分法的选择(Wang 2012);同胞分配的不同先验或无先验的选择;根据同胞分配估计当前有效种群大小;同时使用共显性和显性标记;利用已知关系与标记数据;允许使用多个核/CPU进行并行计算(通过OpenMP和MPI);模拟具有已知关系的2代或1代基因型数据集,以便通过群体或其他系谱重建程序进行分析;Windows GUI;多个数据集的批处理运行。

2.安装(略)

3.经验数据输入-Windows GUI

本节介绍如何使用Colony的Windows GUI设置经验数据集的Colony项目。在GUI中,所有输入和输出文件都被组织成“项目”。用户在设置新项目时提供项目名称,并在安装colony程序的目录中创建具有此名称的文件夹。所有随后的输入文件和运行colony之后,项目的输出文件都放在这个项目文件夹中。无法将项目文件夹移动到其他位置,以便Colony处理它。
GUI处理大型数据集的能力有限,因为以格式化的表格形式显示数据需要大量的内存。对于大多数计算机来说,处理一个最多有2000个人和2000个位置的数据集应该没有问题。超出限制后,应考虑输入数据并以非GUI模式运行,如下所述。
按照以下步骤设置新项目并将数据输入到项目中。建议在运行Colony创建新项目之前,以所需格式准备下面描述的所有输入文件。这些文件必须是纯文本文件格式,使用逗号、制表符或空格作为分隔符。空行无效。Colony所要求的行内容可以出现在多个连续的行中,在行的末尾有一个行继续标记“&”。因此,符号“&”不能用于其他目的,例如在个体ID中。例如,个体3个位点的ID和基因型行可能是:
IndividualXXX 124 128 212 214 144 144
行可以排列成多个连续行,例如:
IndividualXXX &
124 128 212 214 &
144 144
注意,换行标记“&”不应位于字符串(如IndividualXXX)或数值(如124或12.54)内,并且应始终以一个或多个空格作为前缀。

3.1新建项目

单击File\rightarrowNew Project(或者,单击新建项目工具菜单按钮)打开新建项目设置向导(图1)。要求您提供一个项目名称,该名称应该是一个包含少于40个字母和数字的字符串(项目名称中不允许有空格、逗号、句号、前斜杠和后斜杠等)。您还被问及项目类型,这里应该选择“经验数据分析”。单击“确定”按钮时,将在安装了Colony的目录中创建一个具有项目名称的文件夹。所有输入和输出文件将存储在此文件夹中。所有输出文件将使用相同的项目名,但扩展名不同(可自行解释)。下次运行colony加载项目时,可以使用File\rightarrowOpen Project(或者,File\rightarrowRecent Projects,如果项目是最近的项目)打开项目文件夹。

图1

3.2第一页——输入参数

在上一步中单击“OK”按钮时,将显示一个以“New Project Wizard: Input an empirical dataset”为首的新窗口。在新窗口中,提供了10页来输入数据。这些页面中的输入是连续的,因此只有在完成并选中所有以前的页面后,才能访问下一页。同样,如果返回到上一页并在那里进行任何更改,则下一页可能会丢失已输入的数据,或不选中。这是因为上一页中的数据输入可能会影响下一页中的数据输入(有效性)。如果某个页面中的数据或数据格式有任何问题,您可以(1)退出“新建项目向导”,使用Colony的内置文本文件编辑器(在File\rightarrowOpen File中)更改数据,然后重新运行Colony;或者更方便地(2)使用外部编辑器(如记事本)更改和保存数据,然后继续设置项目。
“新建项目向导”接收每一页中给定的信息,将具有特定文件名的数据保存在项目文件夹中(必要时添加列标题),并将所有数据和参数组合到一个名为“Colony2.dat”的(默认)输入文件中,该文件在数据输入过程完成后保存在项目文件夹中。
在第1页(参见图2)中,需要设置许多参数。在大多数情况下,参数的默认值都很好。
(1)Mating system-I交配系统-I:请指定雄性和雌性交配系统。在这个特定的背景下,男性的“一夫一妻制”意味着在OFS样本中的两个有不同母亲后代的必须由两个不同的男性生育。换句话说,男性“一夫一妻制”规定在OFS样本中不存在父系半同胞。请注意,本文中的交配系统是针对所分析的样本而定义的,而不是针对采集样本的种群或物种。例如,考虑一个种群,其中雄性在繁殖季节与雌性单独交配,但在不同繁殖季节与不同雌性交配。来自多个繁殖季节个体的OFS样本可能包含来自不同母亲但来自单一男性(即父系半同胞)的后代。因此,为了进行群体分析,雄性交配系统仍应设置为“一夫多妻制”。雌性交配系统也有类似的定义。还要注意的是,当男性和女性都被定义为一夫多妻制时,标记物很少并且有基因分型错误,并且没有使用之前的亲子关系时,FL方法的计算会变得非常缓慢,因为ofs中的所有子代(相关或不相关)都可以被推断为在系谱中相关(例如,见图2a),并且必须是在计算配置的可能性时一起考虑。

图2
(2)Mating system-II交配系统二:也可以定义是否有近亲繁殖。当不存在近交时,假设种群处于哈代-温伯格平衡状态,用HW定律计算基因型频率。在这种情况下,不推断近亲繁殖,所有后代都假定来自雌雄同株的异交。当存在近交时,种群水平(平均)近交系数,相当于赖特的FIS,用其他参数(如关系、等位基因频率)迭代地推断,并用于计算基因型频率。在这种情况下,可以推断出近亲繁殖,并且假设后代来自于雌雄同株的近亲繁殖和自交。注意,对于雌雄异株,建议采用非近交模式,除非有强有力的近交证据,且近交水平较高。否则,对低或无近交的数据使用近交模型可以大大降低计算速度,而对关系的估计几乎没有或根本没有改善。
还可以选择是否推断克隆(重复)。对于“无克隆”的选择,假设所有后代的多基因座基因型都来自非克隆配偶的独特个体。换句话说,默认情况下,所有后代的多基因座基因型都是不同的。任何相同的多基因型都必须是偶然的,因为标记信息有限,或者是由于输入错误,或者两者都有。使用此选项,不会推断克隆(重复)。
对于“有克隆”的选择,假设一些后代可能具有相同或相似的多基因型,因为它们是重复的或来自相同的克隆,尽管由于错误的类型,它们可能具有不同的多焦点表型。有了这个选择,就可以首先推断出同胞身份。然后给出一个推断的全同胞,通过最大化克隆配置的可能性,将这个完整同胞家族中的个体划分为克隆集群。这两个步骤的过程非常有效,正如模拟(Wang 2016)所验证的那样,当克隆的大小(即个体数量)很小时,对于sibship和clone推理都非常有效。然而,当克隆体的大小较大时(例如,一个克隆体中有10个以上的个体),孟德尔分离被扭曲,从而导致全同胞家庭的分裂。如果只关心克隆的推论,那就不是问题。否则,有两种方法可以克服这个问题。第一种方法是使用完全似然法运行原始数据集,允许重复。如果检测到较大的克隆,那么完整的同胞关系可能会被分割。可以删除除推断克隆之外的所有成员,并使用相同的方法重新运行缩减的数据集。如果未检测到大型克隆,则无需重新运行数据。第二种方法是使用似然评分法,因为它考虑了成对的个体,所以能够抵抗孟德尔分离的扭曲。
(3)Species物种:Colony适用于雌雄异株和雌雄同株物种的同胞和亲代分配。在这两种情况下,有或没有候选亲本(CMS,CFS)都可以。对于雌雄同株,如果存在,CMS和CFS必须相同。对于雌雄异株,物种可以是二倍体或单倍体。在二倍体的情况下(雌雄异株或雌雄同株),所有个体都被假定为二倍体。在单倍体的情况下,男性和女性分别被假定为单倍体和二倍体(对于具有二倍体男性和单倍体女性的物种,只需交换两种性别),OFS的后代可以是二倍体、单倍体或两者的混合体。对于雌雄同株,物种总是被假定为二倍体。对于多倍体物种,在进行群体分析之前,可以将共显性标记基因型数据转换为多倍体二倍体显性标记数据,如Wang&Scribner(2014)所述。
(4)Length of run运行长度:长时间运行在模拟退火算法中考虑更多的配置,以寻找具有最大似然的最佳分配,从而更容易找到最大似然配置,但这样做需要更多的时间。提供了四种运行长度选项,即短/中/长/弯曲,将运行时间增加约10倍(例如,长运行时间约为短运行时间的100倍)。在大多数情况下,中等运行是运行时间和精度之间的一个很好的折衷。更多详情请参见常见问题14.1和14.5。
(5)Analysis method分析方法:四种方法(完全似然,FL;成对似然得分,PLS;FL和PLS组合,FPL;纯成对似然,PPL)在colony2实施。通过模拟和经验数据分析,FL方法是最准确的方法(Wang 2012)。PLS方法使用与FL相同的模拟退火过程来寻找最佳配置。然而,它计算并使用成对的日志相似性之和而不是完整的日志可能性作为评估配置合理性的标准。fpls与fl类似,只是配置首先由pls筛选以加快计算速度。当一个新的配置被构造时,它的PLS被计算并与旧配置的PLS进行比较。如果根据大都会黑斯廷斯算法,由于PLS的变化而放弃了新的配置,则无需计算新配置的FL。FPL工作良好,在精度上与FL相似,但比FL快,因为Sibship大小不太大,标记信息充足。否则,它的准确度略低于FL,但仍然比PLS更准确。正如Wang&Santure(2009)所述,PPL方法计算了不同候选人关系下一对个人独立于其他个人的可能性。
一般来说,FL是最准确的,其次是FPL和PLS,而PPL是最不准确的。然而,ppl是计算速度最快的方法,而fl是最慢的方法。对于包含许多标记(例如,数百个)和许多个人(例如,数千个)的大中型数据集,一个好的折衷办法是使用PLS方法。在colony2中,经常使用ppl进行分析并给出分析结果。但是,要求用户在FL、PLS和FPL之间进行选择。默认方法是fl。
(6)Likelihood precision似然精度:只有当选择FL或FPLS作为分析方法,并且男性和女性都被指定为多配偶时,该选项才有效。如前所述,当存在基因分型错误和两性都是一夫多妻制时,对于涉及许多后代的大型数据集,fl或(较小程度上)fpls方法可能非常慢。降低似然计算的精度可以减少运行时间,对分配精度有轻微的负面影响。
(7)Update allele frequency更新等位基因频率:计算配置的可能性时需要等位基因频率。这些频率可以由用户提供(见下文),也可以使用OFS、CMS(可选)和CFS(可选)中的基因型通过菌落计算。在后一种情况下,你可以要求Colony更新等位基因频率估计,在寻找最大似然配置的过程中考虑推断的亲子关系。然而,更新等位基因频率可以大幅度增加计算时间,如果样本的遗传结构不强(即家族规模小且分布均匀,大多数候选者没有被指定为亲子),则可能无法改善关系推断。我建议不要更新等位基因频率,除非怀疑家族规模(未知)较大(相对于样本规模)且高度可变。
(8)Sibship size scaling同胞规模比例:如果标记信息不够高,当一个完整同胞变大,包含数百个同胞时,可能会通过全似然法错误地重建为2个或更多的完整同胞(Wang 2013)。为了避免这种错误,根据等位基因的数量和一个位点的基因分型错误率以及实际的全同胞规模,缩小全同胞规模(Wang 2013)。通过对大量模拟数据集和大量经验数据集的分析,验证了该缩放方案能够在不导致小同胞融合的情况下,高效地减少大同胞分裂(即该方案保持了低的假完全同胞率和假不完全同胞率)。因此,sibship scaling的默认选项是yes。
然而,非常偶然的是,缩放方案会导致小的全同胞过度合并,从而产生错误的大的全同胞。这种假大的全同胞的特点是,基因座的比例非常高,显示出与全同胞不相容的基因型,例如在二倍体物种的共显性基因座上显示4个以上的等位基因和2种以上的纯合子。据我所知,这个问题只有一个报告。在这种情况下,可以重新设置项目,采用sibship scaling、no的替代选项,并重新运行数据集。
在您知道最大完整同胞规模很小的情况下(例如,<20),那么就需要使用备选方案no进行单次运行。在您不知道可能的完整sibship大小范围或怀疑某些完整sibship可能很大的情况下,我的建议是使用默认选项yes来运行数据集。如果结果表明,由于重建的完全同胞太大或包含太多不相容基因型,小同胞过度融合,则需要使用替代同胞比例选项no进行第二次试验。否则(我假设这是正常的),就不需要第二次运行了。
(9)Number of runs运行次数。对于同一个项目的数据集和参数,可以进行多次运行,以便更容易找到具有最大可能性的最佳配置,并且更可靠地评估估计的不确定性(见下文)。但是,多次运行非常耗时。此外,在典型情况下,单次运行足以进行点估计。
(10)Random number seed随机数种子。Colony使用模拟退火算法搜索ML配置。这是一种类似于MCMC的蒙特卡罗方法,通过退火“温度”可以很好地控制再配置的接受率。从初始配置开始,在初始配置中,除了那些具有已知关系的个人之外,所有个人都被设置为不相关,对配置的一部分进行随机更改以生成新配置。然后计算新配置和旧配置的相似性并进行比较,以确定新配置是被接受还是被拒绝。如果新的可能性大于旧的可能性,则接受新的配置。否则,使用当前温度、新的和旧的似然值计算验收率,并将其与从[0,1]范围内均匀分布中提取的随机数进行比较。如果随机数值小于接受率,尽管新配置比旧配置差,但仍然可以接受。这是为了避免算法陷入局部极大似然曲面。因此,随机数种子部分地决定了搜索路径。对于完全相同的数据和参数值,使用不同随机数种子的不同运行可能会给出稍微不同的最终最佳配置和似然值。当标记数据中没有足够的信息来解决遗传结构、样本的实际遗传结构非常弱或样本量非常大(即数千个个体)时,偶尔会发生这种情况。例如,当标记的数量很小,和/或标记不具有信息性(很少有频率分布不均匀的等位基因),和/或大多数家族都非常小(例如,每个同胞有一个后代),很难让复制运行(使用不同的随机数种子)收敛到相同的最佳配置。可以使用不同的随机数种子对同一个数据集进行多次运行,以检查/确认分析结果的可靠性。在复制运行产生不同结果的情况下,好消息是可靠推断的关系通常在运行之间一致地重建,而可疑的关系在运行之间不一致地推断。我们只需要关注那些可靠的、一致的关系,而忽略(放弃)下游分析中那些不可靠的、不一致的关系。
(11)Sibship size prior先验同胞个数。可以选择使用或不使用先验分布来对后代的父子关系和母子关系进行分配。
在两性均为多配的情况下,如果要推断父系和母系的半同胞关系,一些不相关的或松散相关的个体(如表亲)可能被推断为半同胞或全同胞,因为如果标记不具有高度的信息性,它们具有相似的基因型。事实上,松散相关的(例如表亲)或甚至不相关的个体可能具有相同的基因型,随着标记信息数量的减少(标记更少、多态性更少、错误分型率更高),基因型的概率也会增加。样本量越大,数据集拥有的标记信息越少,问题就越严重。有时,OFS中的所有后代被推断为直接(通过共享同一亲本或亲本对)或间接地在一个两代系谱中相连。这个问题不仅降低了推理精度,而且大大增加了计算时间。图2A描绘了一个典型的错误推断的大系谱的形状,其中样本中的所有后代都可以舒适地坐着。
另一方面,关于父子关系和母子关系的平均大小的任何信息都可以在“先验”中使用,以帮助进行同胞关系和亲子关系分配。
基于以上两个考虑,我将Ewen的抽样公式作为父系和母系同胞规模分布的先验公式。模拟结果表明,先验算法能有效地抑制松散和不必要的复杂谱系,减少伪同胞和计算时间,提高推断精度。
假设亲子关系大小分布为,其中是亲子关系的数量,每个亲子关系恰好由个后代组成。后代总数为,非空父系亲子关系的平均数(=贡献父亲的数目)是,其中是一个浓度参数,用于确定个体分配给同一个父亲的程度。我们可以用n/np代替k,用数值方法求解,其中np是样本中每个父亲的平均子代数。给定,,mn的先验概率是。母系同胞规模的先验分布也有类似的定义。
先验强度通过在计算中使用来调节,其中x取0(无先验)、0.25(弱先验)、0.5(中先验)和1.0(强先验)的值若要使用先验,需要提供(估计的)平均父系(np)和母系(nm)亲子关系大小以及x的值当您不知道平均亲子关系大小时,请使用x=0(无先验),并且您不会被问到np和nm值。否则,当您对所提供的np和nm值的信心分别为低、中和高时,使用x=0.25、0.5和1.0。父系的默认设置为np=1,母系同胞的默认设置为nm=1,x=0.25。此默认设置旨在减少错误的sibship分配,并减少计算时间。
先验的第5个选项“已知的Ne”也适用于以下情况:(1)从已知有效大小的人群中随机抽取个体样本,Ne和大致已知的性别比,r和(2)随机抽取个体样本,从同胞频率中估计样本人群的Ne(Wang 2016)。在第(2)种情况下,先前的Ne和r可能是由等位基因频率的不平衡或时间变化所假定的值或估计值。在这两种情况下,在给定的先验Ne和R值的情况下,Colony在进行关系推理和Ne估计时都会计算并使用一个最优的先验关系。
请注意,先验的设置与其他参数相关。因此,对先验参数和其他参数有直观的相互约束。(1)当两性都是一夫一妻制时,我们有np=nm。(二)一种性别为多配,另一种性别为一夫一妻制的,多夫一妻制的平均同胞数不得小于一夫一妻制的平均同胞数。(3)NP和NM不得大于后代样本量。
为了尽量减少图2a所示的假大谱系,NP和NM最好分别作为每个父亲和母本的子代的调和平均数。如果大多数亲子关系较小,只有少数亲子关系较大,那么np应该较小,接近最小值,而不是算术平均亲子关系大小。
(12)Note to the project项目说明。可以在文本框中放置任何内容,例如设置项目时、数据集的注释等。GUI将在注释中附加一些基本信息,例如创建新项目的日期和时间。

3.3第二页——标记

第2页中(见图3),应提供有关标记的信息。

图3
(1)Number of loci genotyped分型的位点数。为样本中的个体提供标记基因型的最大数量。注意,标记位置有一个隐式的顺序,在整个输入中应该一致地遵循这个顺序。例如,在后代、候选雄性和雌性基因型数据、等位基因频率数据以及标记类型和基因分型错误数据中,必须遵循相同的标记位点顺序。例如,在所有这些文件中,“第一位点”或“位点1”必须指同一标记。
(2)Marker type and error rate标记类型和错误率。单击“Marker type and error rate”下的“Load”按钮加载文件。在该文件中,应为每个标记(在列中)提供4个值。第一个值(第1行)指定标记名或ID(最多包含20个字母/数字,其他值(如空格、逗号、句号、向前和向后斜杠)在名称/ID中不允许出现。第二个(在第2行)表示标记类型,无论是共显性(0)还是显性(1)。第三和第四个值(分别在第3行和第4行)给出标记的等位基因退出率和其他类型基因分型错误(包括突变)的发生率。有关基因分型错误模型的更多信息,请参阅Wang(2004)。
请注意,该文件设置了在所有以下输入中必须遵循的标记位置的顺序。第一列为位点1,第二列为位点2,…
注意,当标记出现基因分型错误时,FL方法的计算变得缓慢。当父母本都被指定为多配时,这一点尤其明显。错误率越高,程序运行速度越慢
下面显示了一个带有5个位点的“arker type and error rate”的示例文件,当加载到Colony中时,它看起来像图3(下窗格)。注:图3中的列名(即“Locus-1”)不应包含在文件中。在加载文件时,Colony会自动添加列标题。对于以下所有加载到colony的文件都是这样的。
mk1 mk2 mk3 mk4 mk5 
0 0 0 0 0
0.0000 0.0000 0.0000 0.0000 0.0000 
0.0001 0.0001 0.0001 0.0001 0.0001

当所有的位置都具有相同的通用标记名/id(第1行)或当所有的位置具有相同的值(2-4行)时,可以极大地简化输入。在这种情况下,每行只需要一个输入项。例如,上面的示例输入被简化为每行一项:

mk@ 
0@ 
0.0000@ 
0.0001@

符号@表示相同的值应用于所有位置(第2-4行),或相同的通用名称应用于所有标记(第1行),Colony将向其通用名称添加标记的顺序。对于不同的行,可以混合完整和简单的输入【上面这2中输入方法可以混用】。例如,第2行和第3行可以是

0 0 0 1 0 
0.0000@
上一篇 下一篇

猜你喜欢

热点阅读