structure-2.3---中文使用手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Structure2.3中文使用手册JonathanK.PritchardaXiaoquanWenaDanielFalushb123a芝加哥大学人类遗传学系b牛津大学统计学系软件来自年2月2日1我们在Structure项目中的其他的同事有PeterDonnelly、MatthewStephens和MelissaHubisz。2开发这个程序的第一版时作者(JP、MS、PD)在牛津大学统计系。3关于Structure的讨论和问题请发给在线的论坛上:structure-software@googlegroups.com。在邮递问题之前请查对这个文档并搜索以前的讨论。1引言程序Structure使用由不连锁的标记组成的基因型数据实施基于模型的聚类方法来推断群体结构。这种方法由普里查德(Pritchard)、斯蒂芬斯(Stephens)和唐纳利(Donnelly)(2000a)在一篇文章中引入,由Falush、斯蒂芬斯(Stephens)和普里查德(Pritchard)(2003a,2007)在续篇中进行了扩展。我们的方法的应用包括证明群体结构的存在,鉴定不同的遗传群体,把个体归到群体,以及鉴定移居者和掺和的个体。简言之,我们假定有K个群体(这里K可能是未知的)的一个模型,每个群体在每个位点上由一组等位基因频率来刻画。样本内的个体被(按照概率)分配到群体,或共同分配到两个或更多个群体,如果它们的基因型表明它们是混和的。假定在群体内,位点处于哈迪-温伯格平衡和连锁平衡。不精确地讲,个体被按达到这一点那样的方法指定到群体。我们的模型不假定一个特别的突变过程,并且它可以应用于大多数通常使用的遗传标记,包括微卫星(microsatellites)、SNP和RFLP。模型假定在亚群体内标记不处于连锁不平衡(LD),因此我们不能处理极其靠近的标记。从2.0版开始,我们现在能够处理弱连锁的标记。虽然这里实现的计算方法是相当强有力的,但是为了保证明智的答案,在运行程序的过程中还是需要谨慎。例如,不可能从理论上确定合适的运行长度(时间),这需要用户自己做一些实验。这份资料描述软件的使用和解释,并补充发表的文章,这些文章提供了对方法的更正式的描述和评价。1.1概述软件包Structure由几个部分组成。程序的计算部分用C语言编写。我们发布源码和用于各种平台(目前有苹果机,Windows,Linux,Sun)的可执行文件。C可执行文件读取用户提供的一个数据文件。还有一个Java前端为用户提供各种有帮助的工具,包括对输出的简单的处理。你也可以从命令行调用Structure而不是使用前端。这份资料包括关于怎样格式化数据文件、怎样选择合适的模型、以及怎样解释结果的信息。它也有关于使用两种界面(命令行和前端)的细节以及各种用户定义的参数的汇总。1.2在2.3版中有哪些更新?2.3版(2009年4月发布)引入了新的模型用于改进数据集结构的推论,其中(1)数据对于通常的结构模型来说信息不够,不足以提供准确的推论,但是(2)抽样的地点与群体归属关系(populationmembership)相关。在这种情形下,通过明确利用抽样地点信息,我们使结构得到改善,经常允许性能提高很多(Hubiszetal.,2009)。我们希望在下几个月释放更进一步的改进。表1:实例数据文件。这里MARKERNAMES=1,LABEL=1,POPDATA=1,NUMINDS=7,NUMLOCI=5,MISSING=-9,POPFLAG=0,LOCDATA=0,PHENOTYPE=0,EXTRACOLS=0。第2列显示个体的地理取样位置。我们也可以把数据存储为每个个体一行(ONEROWPERIND=1),在这种情况下第一行为“George1-9-9145-96664009294”。Loc_aLoc_bLoc_cLoc_dLoc_e乔治1-914566092乔治1-9-964094保拉110614268192保拉110614864094马修2110145-9092马修2110148661-9鲍勃210814264194鲍勃2-9142-9094Anja1112142-91-9Anja111414266194彼得1-9145660-9彼得1110145-91-9卡斯坦2108145620-9卡斯坦2110145641922数据文件的格式基因型数据的格式显示在表2中(表1显示一个例子)。基本上,整个数据集被作为一个矩阵安排在单个文件里,其中个体的数据在行里,位点在列里。用户能对格式做出若干选择,大多数这些数据(除基因型外!)是可选择的。对于一个二倍体生物,每个个体的数据可以是作为连续的2行被储存,其中每个位点在一列,或者在一行中,其中每个位点在连续的两列。除非你打算使用连锁模型(见下面),否则单个个体的等位基因的次序并不重要。预基因型(pre-genotype)数据列(见下面)对每个体记录两次。(更一般地,对于n倍体生物来说,每个个体的数据被储存在n个连续的行中,除非ONEROWPERIND选项被使用。)2.1数据文件的组成部分:输入文件的要素如下所列。如果给出,它们一定按以下顺序,然而大多数是可选的并且可以被完全删除。用户必须指明哪些数据被给出,或者在前端里(frontend),或者(当从命令行运行Structure时)在一个单独的文件mainparams里。同时,用户也要指定个体和位点的数目。2.2行1.标记名称(可选择;字符串)文件的第一行可以包含数据集里的每个标记的标识符的一个列表。这一行包含整数或字母的L个字符串,其中L是位点的数目。2.隐性等位基因(仅用于有显性的标记数据;整数)SNP或者微卫星数据一般将不包括这一行。但是如果选项RECESSIVEALLELES被设置为1,则程序要求有这一行来表明每个标记上哪个等位基因(如果有的话)是隐性的。关于更多的信息请参阅第4.1节。该选项用于象AFLP那样的数据,以及用于多倍体的情形,其中基因型可能是含糊的。3.标记之间的距离(可选择;实数)文件里的下一行是一个标记之间距离的集合,供有连锁的位点使用。这些应该是遗传距离(例如,厘摩),或者是这种距离的一些替代,基于(例如)物理距离。如果标记距离(粗略地)与重组率成正比,则距离的实际单位不是那么重要。前端从数据估计一个合适的尺度,但是命令行版本的用户必须在文件extraparams里设置LOG10RMIN、LOG10RMAX和LOG10RSTART。标记必须按照连锁群中的图谱次序排列。当连续的标记来自不同的连锁群(例如,不同的染色体)时,这应该用数值-1注明。第一个标记也被赋值为-1。所有其他的距离都是非负的。这一行包含L个实数。4.连锁相信息(可选择;仅用于二倍体数据;在范围[0,1]内的实数)。这只供连锁模型使用。这是L个概率的一行,出现在每个个体的基因型数据之后。如果连锁相是完全知道的,或者没有连锁相信息可用,则这些行是不必要的。当有来自家系数据的部分连锁相信息,或者当来自雄性的单倍体X染色体数据和二倍体常染色体数据被一起输入时,它们可能是有用的。对于连锁相信息有两种可选择的表示:(1)个体的两行数据被假设为分别与父本的和母本的相对应。连锁相行表明当前标记上的排序正确的概率(设置MARKOVPHASE=0);(2)连锁相行表明与以前的等位基因有关的一个等位基因的连锁相是正确的概率(设置MARKOVPHASE=1)。第一项应该填入0.5,以便把这行填写到L项。例如下列数据输入表示来自一个男性的信息,有5个连锁相未知的常染色体微卫星位点,后面是3个X染色体位点,使用母本/父本相模型:102156165101143105104101100148163101143-9-9-90.50.50.50.50.51.01.01.0其中-9表示“缺失数据”,这里缺失是由第二X染色体缺乏造成的,0.5表明常染色体位点的连锁相是未知的,1.0表明X染色体位点由母本遗传的概率为1.0,因此其连锁相是已知的。相同的信息可以用markovphase模型来描述。这样的话输入文件将读为:102156165101143105104101100148163101143-9-9-90.50.50.50.50.50.51.01.0这里,21.0s表明那个第1和第2,其次和第3个X染色体位点彼此完全同相。注意站点以站点产量在这些2模式下将不同。在第一例子中,Structure将输出母亲和父亲染色体的任务可能发生的事件。在第2个情况下,它将输出在输入文件里列举的每等位基因的可能发生的事件。5.个体/基因型数据(必需的)取样的每一个个体的数据象在下面描述的那样安排成一行或多行。2.3个体/基因型数据个体数据的每一行包含下列要素。这些形成数据文件里的列。1.Label(标签)(可选择;字符串)一串整数或者字母,用来指明样本中的每个个体。2.PopData(可选择;整数)一个整数,指明一个用户定义的群体,从其中获得个体(例如这些整数可以指明个体取样的地理位置)。在默认的模型中,这个信息不被聚类算法使用,但是能用来帮助组织输出(例如,将来自相同的预定义群体的个体彼此紧挨着绘图)。3.PopFlag(可选择;0或者1)一个布尔标签,表明使用学习样本时是否使用PopData(见USEPOPINFO,在下面)。(注:布尔(Boolean)变量(标签)是取值为TRUE或FALSE的变量,在这里分别用整数1(使用PopData)和0(不使用PopData)表示。)4.LocData(可选择;整数)一个整数,为每个个体指明一个用户定义的取样地点(或者其他特性,例如一个分享的表现型)。当LOCPRIOR模型被打开时,这个信息用来帮助聚类。如果你仅仅希望使用LOCPRIOR模型的PopData,那么你可以省略LocData列,并设置LOCISPOP=1(这告诉程序使用PopData来设置地点)。5.Phenotype(可选择;整数)一个整数,为每个个体指明一个所关心的表现型的值(表中的(i))。(表现型信息实际上没有用于Structure。这里用来允许与关联作图程序STRAT有一个平滑的接口。)6.ExtraColumns(可选择;字符串)用户把被程序忽略的附加数据包括在输入文件里可能是方便的。这些数据就在这里输入,可以是由整数或字符组成的串。7.GenotypeData(必需的;整数)一个给定位点上的每个等位基因应该由一个独特的整数来编码(例如微卫星重复得分)。2.4缺失的基因型数据缺失数据应该用没在数据中的其他地方出现过的一个数字来标明(按照惯例经常使用-9)。这个数字也可以用于有单倍体和二倍体数据混合的地方(例如男性中的X和常染色体位点)。缺失数据值是与描述数据集特性的其它参数一起被设置的。2.5格式化的错误。我们已经进行了相当仔细的错误检查,以保证数据集的格式正确,并且程序将试图提供一些关于存在的任何问题的性质的提示。前端要求在每行的结束回车,不允许在行内回车;Structure的命令行版本以与处理空格或制表符(Tab)同样的方式处理回车。可能出现的一个问题是,在将数据导入Structure之前用来组装数据的编辑程序可能引入隐藏的格式化字符,经常在行的末尾,或者在文件的末尾。前端能自动除去大多数这些错误,但是当数据文件好像处于正确的格式时,这类问题可能对错误负责。如果你正在把数据导入到一个Unix系统,dos2unix功能可能对彻底清理这些错误有帮助。3用户的建模决策3.1祖先模型个体的祖先有4个主要模型:(1)非混合模型(个体离散地来自一个群体或者另一个群体);(2)混合模型(每个个体从K个群体中的每一个抽取他/她的基因组的一部分);(3)连锁模型(象混合模型一样,但是连锁的位点更可能来自相同的群体);(4)有先验信息的模型(允许Structure使用关于取样地点的信息:或者帮助用弱的数据进行的聚类,发现迁移者,或者预定义一些群体)。关于

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功