structure 2.3- 中文 下载本文

是祖先的实际比例是有偏的。那个例子也是我们用真正的数据的更新近的经历的代表。

这发生因为在缺乏任何程度非掺和的个体的情况下,可能有一些不可识别性(nonidentifiability),在那里有可能把等位基因频率推得更开,把混合比例挤压到一起(反过来也是这样),获得几乎一样的模型拟合。当有强烈非对称的混合时,使用POPALPHAS = 1(每个群体单独的?)能帮助一点,但是不解决基本的问题。因此,在这些情形下的混合性的估计应该被谨慎对待。

7 从命令行运行Structure

有许多由用户设置的程序参数。这些在两个文件中(mainparams和extraparams),每当程序执行的时候,这些文件被读取。mainparams指定数据文件的输入形式和最基本的运行参数。extraparams指定多种程序选项。你需要设置mainparams里的所有值,而以extraparams里的默认值开始运行或许没有问题。注意默认模型假定混合,并且不使用用户定义的PopData。

在这两个文件中每个参数都以大写字母打印,在参数前面有―#define‖(它们在整个这份资料中也全部以大写字母打印。) 值是紧跟在参数的名字之后立即被确定的(例如―#define NUMREPS 1000‖把MCMC的重复数量设置为1000)。

继每个参数定义之后,有一个简短的注释(用―//‖标明),描述这个参数。这包括期望的值的类型。这些包括: ―(str)‖,用于字符串(用于输入和输出文件的名字);―(int)‖,用于整数;―(d)‖,用于双精度数(即,一个实数,比如3.14;―(B)‖,用于布尔数(Boolean)(即,参数取值为TRUE或FALSE,通过分别把这个设置为1或0)。

程序对参数的次序不敏感,因此你可以重排它们或者增加说明,等等。一次给定的运行所使用的全部参数的值被打印在输出文件的末尾。

7.1 程序参数

在这一节里我们列举可以被用户确定的所有参数。这些被根据用在Structure的命令行版本的参数文件排序。

7.2 文件mainparams里的参数

在运行程序之前,用户需要确定所有这些参数。这些参数的一些(LABEL, POPDATA,

POPFLAG, PHENOTYPE, EXTRACOLS)表明是否特殊类型的数据存在于输入文件中;这些在第2节中描述。

基本的程序参数

MAXPOPS (整数) 为程序的一次特定的运行假设的群体的数目。Pritchard等(2000a)称之

为K。有时(取决于数据的性质)有可以被使用的K的自然值,否则K可以通过在K的不同值检查模型的配合被估计(参阅第5节)。

BURNIN (整数) 在开始数据收集之前的burnin时期的长度。(参阅第3.3节) NUMREPS (整数) 在burnin之后的MCMC重复的数目。(参阅第3.3节)

输入/输出文件

INFILE (字符串) 输入数据文件的名字。最大长度30个字符(或者也许更少,取决于操作

系统)。

OUTFILE (字符串) 程序输出文件的名字( 后缀―_1‖, ―_2‖, ...,―_m‖(用于中间的结果)以

及―_f‖(最终结果)被添加到这个名字)。有这些名字的现有的文件将被覆盖。名字的最大的长度为30个字符(或者也许更少,取决于操作系统)。

数据文件格式

NUMINDS (整数) 数据文件里的个体的数目。 NUMLOCI (整数) 数据文件里的位点的数目。 PLOIDY (整数) 生物体的倍性。默认是2(二倍体)。

MISSING (整数) 为遗漏基因型数据给的价值。必须是一个整数,并且不可在数据集里的

其他地方出现过。默认是-9。

ONEROWPERIND (布尔值) 每个个体的数据被安排在一单个的行中。例如,对于二倍体

数据来说,这将意味着每个位点的两个等位基因在相同的行中按照连续的次序,而不是被安排在相同的纵行里的连续两行中。关于输入格式的细节请参阅第2节。 LABEL (布尔值) 输入文件包含每个个体的标签(名字)。1 = 是的;0 = 不。

POPDATA (布尔值) 输入文件为每个个体包含一个用户定义的群体来源。1 = 是的;0 =

不。

POPFLAG (布尔值) 输入文件包含一个指示变量,它表明当USEPOPINFO==1(见下面)

时是否使用popinfo。1 = 是的;0 = 不。

LOCDATA (布尔值) 输入文件为每个个体包含一个用户定义的取样位置。1 = 是的;0 =

不。用于LOCPRIOR模型。可以设置LOCISPOP = 1以便在LOCPRIOR模型里改为使用POPDATA。

PHENOTYPE (布尔值) 输入文件包含一个表现型信息的列。1 = 是的;0 = 不。 EXTRACOLS (整数) 在基因型数据开始之前,在表现型之后的附加的数据列的数目。这

些被程序忽略。0 = 没有额外的列。

MARKERNAMES (布尔值) 数据文件的顶行包含对应于使用的标记的一个L名字的列表。 RECESSIVEALLELES (布尔值) 数据文件的下一行包含一个L整数的列表,表明每个位点

上的等位基因是隐性的。把这设置为1意味着使用的是显性标记模型。

MAPDISTANCES (布尔值) 数据文件的下一行(或者如果MARKERNAMES==0,则为第

一行)包含相邻的位点之间的mapdistances的一个列表。

高级数据文件选项

PHASED (布尔值) 供连锁模型使用。表明数据处于正确的连锁相。如果(LINKAGE=1,

PHASED=0),则PHASEINFO可以被使用——这是输入文件里的一个额外的行,给出连锁相的概率。当PHASEINFO = 0时每个值被设置为0.5,暗示没有连锁相的信息。当连锁模型被用于多倍体时,要求PHASED=1。

PHASEINFO (布尔值) 每个个体的基因型数据的行后面有一行关于单倍型连锁相的信息。

这只供连锁模型使用。有关详细情形,参阅第2节和3.1节。

MARKOVPHASE (布尔值) 连锁相信息跟随一个Markov模型。欲了解详细信息,参见第

2.2节和9.6节。

NOTAMBIGUOUS (整数) 当RECESSIVEALLELES=1时,供多倍体使用。定义代码,表

明一个标记上的基因型数据是不含糊的。不可与数据里的MISSING或者任何等位基因值相匹配。

7.3 文件extraparams里的参数

这些选项允许用户以各种各样的方式来精炼模型,并且做复杂的分析。默认值首先或许是好的。对于Boolean选项,键入1用于―Yes‖,或者―Use this option‖;0用于―No‖或者―Don’t use this option‖。

程序选项

NOADMIX (布尔值) 假定模型没有混合(Pritchard et al., 2000a)。(每个个体被假设为完

全来自K个群体之一)。在输出中,程序不是如同在混合的情况下打印Q的平均值,而是打印每个个体来自每个群体的后验概率。1 = 没有混合;0 = 有混合的模型。 LINKAGE (布尔值) 使用连锁模型。参阅第3.1节。RLOG10START设置每单位距离的重

组率r的初始值。RLOG10MIN和RLOG10MAX确定用于log10r的最小和最大允许值。RLOG10PROPSD设置每次更新中log10r的建议的改变的大小。前端对这些做出一些猜测,但是用户需要注意,确信那些值对于特定的应用是合理的。

USEPOPINFO (布尔值) 使用先验的群体信息来分派个体到群(cluster)。也见MIGRPRIOR

和GENSBACK。必须有POPDATA = 1。

LOCPRIOR (布尔值) 使用地点信息来提高结构信息弱的数据的性能。

FREQSCORR (双精度) 使用―F model‖,其中等位基因频率跨越群体相关 (Falush et al.,

2003a)。更具体地说,不是假定一个先验,在其中每个群体中的等位基因频率是来自一个均匀的Dirichlet分布的独立抽样,而是从一个分布开始,这个分布以样本的平均等位基因频率为中心。这个模型对于亲缘关系非常近的群体更真实(其中我们预期等位基因 频率跨越群体相似),并且可以产生更好的聚类(第3.2节)。Fk的先验是用FPRIORMEAN 和FPRIORSD确定的。当FREQSCORR被开启时,可能有一种过高估计K的趋势。 ONEFST (布尔值) 对全部群体假定相同的Fk的值(类似于Wright的传统的FST)。这不为大

多数数据推荐,因为在实践中你或许期望每个群体中的不同的分歧(divergence)水平。当K = 2时,有时可能难以分别估计FST的二个值(但是见Harter等(2004))。当你试图估计K时,你应该把相同的模型用于全部K(我们建议ONEFST = 0)。

INFERALPHA (布尔值) 根据数据推断模型参数?的值;否则?被固定在值ALPHA上,它

是由用户选择的。在NOADMIX模型下这个选项被忽略。(祖先向量Q的先验是具有参