:多基因数据的系统发育方法

实现了分析多个基因DNA序列的新类和新方法。它实现了从扩展对象类的新类潘戈恩存储多个基因数据,以及一些有用的包装器,这些包装器模仿多个基因的现有功能。本文档概述了软件包的内容。

正在安装

要从github安装开发版本,请执行以下操作:

图书馆(开发工具)
安装github(“thibautjombart/apex”)

稳定版本可以从CRAN安装,使用:

安装.包(“顶点”)

然后,要加载包,请使用:

图书馆(“顶点”)

导入数据

包装纸

两个简单的功能允许将数据从多条路线导入到多纳对象:*读取多重dna:读取多种不同格式的DNA比对*read.multiFASTA(读取多个FASTA):FASTA文件相同

这两种功能都依赖于并接受相同的参数。每个文件应包含来自给定基因的数据,其中序列应仅以单个标签命名。下面是一个使用来自的数据集的示例:

##获取apex内文件的地址
文件<- 目录(system.file(系统文件)(包装=“顶点”),模式=“拍”,完全=真的)

##读取这些文件
x个<- 读取多个FASTA(个文件)
x个
##===多个===##[4个基因中的32个DNA序列]## ##@n.ind:8人##@n.seq:共32个序列##@n.seq.miss:8个空白(缺失)序列##@标签:2340_50156.ab1 2340_50149.ab1 12340_50674.ab1 2370_45312.ab1 2340~50406.ab1 2330_45424.ab1。。。## ##@dna:(DNAbin矩阵列表)##$patr_poat43美元##以二进制格式存储在矩阵中的8个DNA序列。## ##相同长度的所有序列:764## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.320 0.158 0.166 0.356 ##(总计:6.11 kb)## ##$patr_poat47美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有相同长度的序列:626## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.227 0.252 0.256 0.266 ##(总计:5.01 kb)## ##$patr_poat48美元##以二进制格式存储在矩阵中的8个DNA序列。## ##所有相同长度的序列:560## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.305 0.185 0.182 0.327 ##(总计:4.48 kb)## ##$patr_poat49美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有相同长度的序列:556## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.344 0.149 0.187 0.320 ##(总计:4.45 kb)
姓名(x)@dna)#基因的名称
##[1]“patr_poat43”“patr_poat47”“patr_poat48”“patr_poat49”
旧款<-标准(三月=c(c)(6,11,4,1))
情节(x)
块读取文件的绘图
块读取文件的绘图
标准(旧款)

潘戈恩包装纸

除上述导入数据的功能外:*读取多个物理数据:以各种格式读取多重DNA比对。论点与单基因相同读.phyDat在里面潘戈恩:

z(z)<- 读取多物理数据(文件,格式=“法斯塔”)
z(z)
##===多个日期===##[4个基因中的32个DNA序列]## ##@类型:##@n.ind:8人##@n.seq:共32个序列##@n.seq.miss:8个空白(缺失)序列##@标签:2340_50156.ab1 2340_50149.ab1 12340_50674.ab1 2370_45312.ab1 2340~50406.ab1 2330_45424.ab1。。。## ##@seq:(phyDat对象列表)##43美元##8个序列,764个字符,8个不同的位点模式。##州是一个中心## ##$patr_poat47美元##8个序列,626个字符,29个不同的位点模式。##州是一个中心## ##$patr_poat48美元##8个序列,560个字符,24个不同的位点模式。##州是一个中心## ##$patr_poat49美元##8个序列,556个字符,8个不同的位点模式。##州是一个中心

新对象类

两类新的对象扩展了多基因的现有数据结构:*多名称:基于DNAbin公司类,用于基于距离的树*多个日期:基于潘戈恩物理数据类,对于基于lilihood和节约型树很有用。这些类之间的转换可以使用多na2multiPhydat多重植物虫2多重dna.

多纳

这个形式(S4)类可以看作是DNAbin公司类。数据存储为DNAbin公司对象,带有额外的插槽以获取额外信息。类定义可以通过以下方式获得:

获取类定义(“多名称”)
##类别“multina”[包装“apex”]## ##插槽:##                                                                                            ##名称:dna标签n.ind n.seq n.seq.miss##类:listOrNULL字符整数整数##                                         ##名称:ind.info gene.info##类:data.frameOrNULL data.frame或NULL## ##扩展:“多信息”

这些插槽中的任何一个都可以使用@但是,大多数情况下都可以使用访问器函数,并且是首选函数(参见下面的示例)。

新建多纳可以通过不同的方式创建对象:

  1. 使用构造函数新(“多个名称”,…)
  2. 从文件中读取数据(请参阅下面的“导入数据”部分)
  3. 转换多个yDat对象使用多na2多phyDat

我们在下面演示了构造函数的用法(请参见?新的多重dna)了解更多信息。我们使用的数据集山鼠我们将其人工分割为两个“基因”,保留第一个基因的前500个核苷酸,其余的作为第二个基因。请注意,个体不需要跨不同基因进行匹配:匹配由构造函数处理。

##空对象
新的(“多名称”)
##===多个===##[0基因中的DNA序列]## ##@n.ind:0个人##@n.seq:共0个序列##@n.seq.miss:0 gap-only(缺少)sequence##@标签:
##使用基因列表作为输入
数据(山鼠)
山鼠
##15个二进制格式的DNA序列存储在矩阵中。## ##所有相同长度的序列:965## ##标签:##305号##304号##306号##编号0906S##编号0908S##编号0909S## ...## ##基底成分:##a c g t公司## 0.307 0.261 0.126 0.306 ##(总计:14.47 kb)
基因<- 列表(基因1=林鼠[,1:500],基因2=林鼠[,501:965])
x个<- 新的(“多德纳”,基因)
x个
##===多个===##【2个基因中的30个DNA序列】## ##@n.ind:15人##@n.seq:总共30个序列##@n.seq.miss:0 gap-only(缺少)sequence##@标签:No305 No304 No306 No0906S No0908S No0909S。。。## ##@dna:(DNAbin矩阵列表)##$基因1##以二进制格式存储在矩阵中的15个DNA序列。## ##所有相同长度的序列:500## ##标签:##305号##304号##306号##编号0906S##编号0908S##编号0909S## ...## ##基底成分:##a c g t公司## 0.326 0.230 0.147 0.297 ##(总计:7.5 kb)## ##$基因2##15个二进制格式的DNA序列存储在矩阵中。## ##所有相同长度的序列:465## ##标签:##305号##304号##编号306##编号0906S##编号0908S##编号0909S## ...## ##基底成分:##a c g t公司## 0.286 0.295 0.103 0.316 ##(总计:6.97 kb)
##访问各种插槽
获取数字标识(x)#个人数量
## [1] 15
获取位置编号(x)#位点的数量
## [1] 2
获取位置名称(x)#地点的名称
##[1]“基因1”“基因2”
获取序列名称(x)#每个位点序列名称的列表
##$基因1##[1]“No305”“No304”“No306”“No0906S”“No0.908S”“No 0909S”##[11]“No1007S”“No1114S”“No1202S”“No 1206S”“No1208S”## ##$基因2##[1]“No305”“No304”“No306”“No0906S”“No0.908S”“No 0909S”##[11]“No1007S”“No1114S”“No1202S”“No 1206S”“No1208S”
获取序列(x)#所有位点的列表
##$基因1##以二进制格式存储在列表中的15个DNA序列。## ##所有相同长度的序列:500## ##标签:##305号##编号304##306号##编号0906S##编号0908S##编号0909S## ...## ##基底成分:##a c g t公司## 0.326 0.230 0.147 0.297 ##(总计:7.5 kb)## ##$gene2美元##15个二进制格式的DNA序列存储在列表中。## ##所有相同长度的序列:465## ##标签:##305号##304号##306号##编号0906S##编号0908S##编号0909S## ...## ##基底成分:##a c g t公司## 0.286 0.295 0.103 0.316 ##(总计:6.97 kb)
获取序列(x,位点= 2,简化= 错误的)#只有第二个轨迹(单个元素列表)
##$基因2##15个二进制格式的DNA序列存储在列表中。## ##所有相同长度的序列:465## ##标签:##305号##304号##306号##编号0906S##编号0908S##编号0909S## ...## ##基底成分:##a c g t公司## 0.286 0.295 0.103 0.316 ##(总计:6.97 kb)
获取序列(x,位点= “基因1”)#作为DNAbin对象的第一个轨迹
##15个二进制格式的DNA序列存储在列表中。## ##所有相同长度的序列:500## ##标签:##305号##304号##306号##编号0906S##编号0908S##编号0909S## ...## ##基底成分:##a c g t公司## 0.326 0.230 0.147 0.297 ##(总计:7.5 kb)
##比较输入数据集和新的multina
旧款<- 标准(mfrow公司=c(c)(,1),马尔=c(c)(6,6,2,1))
形象(山鼠)
形象(作为矩阵(获取序列(x,1)))
形象(作为矩阵(获取序列(x,2)))
块多naclass的绘图
块多naclass的绘图
标准(旧款)
##相同但缺少序列和顺序错误
基因<- 列表(基因1=林鼠[,1:500],基因2=木老鼠[c(c)(5:1,14:15),501:965])
x个<- 新的(“多名称”,基因)
x个
##===多个===##【2个基因中的30个DNA序列】## ##@n.ind:15人##@n.seq:总共30个序列##@n.seq.miss:8个空白(缺失)序列##@标签:No305 No304 No306 No0906S No0908S No0909S。。。## ##@dna:(DNAbin矩阵列表)##$基因1##15个二进制格式的DNA序列存储在矩阵中。## ##所有相同长度的序列:500## ##标签:##305号##304号##编号306##编号0906S##编号0908S##编号0909S## ...## ##基础成分:##a c g t公司## 0.326 0.230 0.147 0.297 ##(总计:7.5 kb)## ##$基因2##15个二进制格式的DNA序列存储在矩阵中。## ##所有相同长度的序列:465## ##标签:##305号##编号304##306号##编号0906S##编号0908S##编号0909S## ...## ##基底成分:##a c g t公司## 0.286 0.294 0.103 0.316 ##(总计:6.97 kb)
旧款<- 标准(三月=c(c)(6,6,2,1))
情节(x)
块多naclass的绘图
块多naclass的绘图
标准(旧款)

多个yDat

喜欢多纳DNAbin公司,形式(S4)类多功能数据是多基因的延伸潘戈恩物理数据类。数据存储为物理数据对象,带有额外的插槽以获取额外信息。类定义可以通过以下方式获得:

获取类定义(“multiyDat”)
##类“multiplyDat”[包“apex”]## ##插槽:##                                                                                            ##名称:seq类型标签n.ind n.seq##类:listOrNULL字符整数##                                                          ##名称:n.seq.miss ind.info gene.info##类:整数data.frameOrNULL data.frame或NULL## ##扩展:“多信息”

这些插槽中的任何一个都可以使用@(参见下面的示例)。

至于多纳,多个yDat可以通过不同的方式创建对象:

  1. 使用构造函数新建(“multiyDat”,…)
  2. 从文件中读取数据(请参阅下面的“导入数据”部分)
  3. 转换多纳对象使用multiyDat2多dna

如前所述,我们在下面演示了构造函数的使用(请参见?新建多物理数据)了解更多信息。

数据(劳拉西亚瑟)
劳拉西亚瑟(Laurasiatherian)
##47个序列,3179个字符和1605个不同的位点模式。##州是一个中心
##空对象
新的(“multiyDat”)
##===多个日期===##[0基因中的DNA序列]## ##@类型:##@n.ind:0个人##@n.seq:共0个序列##@n.seq.miss:0 gap-only(缺少)sequence##@标签:
##人工将数据拆分为2个基因后的简单转换
基因<- 列表(基因1=Laurasiatherian[,1:1600],基因2=Laurasiatherian[,1601:3179])
x个<- 新的(“multiyDat”、基因、,类型=“DNA”)
x个
##===多个日期===##【2个基因中的94个DNA序列】## ##@type:DNA##@n.ind:47人##@n.seq:94个序列##@n.seq.miss:0 gap-only(缺少)sequence##@labels:鸭嘴兽Wallaroo Possum Bandicoot Opposum犰狳。。。## ##@seq:(phyDat对象列表)##$基因1##47个序列,1600个字符,827个不同的位点模式。##州是一个中心## ##$基因2##47个序列,1579个字符,844个不同的位点模式。##州是一个中心

处理数据

有几个功能有助于数据处理:*连接:将几个基因串联成一个DNAbin公司物理数据矩阵*x[i,j]:个体x子集(i)和/或基因(j)*多na2multiphyDat:转换自多纳多个yDat*multiyDat2multidna:转换自多个yDat多纳

示例代码:

文件<- 目录(system.file(系统文件)(包装=“顶点”),模式=“拍”,完全=真的)

##读取文件
x个<- 读取多个FASTA(个文件)
x个
##===多纳===##[4个基因中的32个DNA序列]## ##@n.ind:8人##@n.seq:共32个序列##@n.seq.miss:8个空白(缺失)序列##@标签:2340_50156.ab1 2340_50149.ab1 12340_50674.ab1 2370_45312.ab1 2340~50406.ab1 2330_45424.ab1。。。## ##@dna:(DNAbin矩阵列表)##$patr_poat43美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有长度相同的序列:764## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.320 0.158 0.166 0.356 ##(总计:6.11 kb)## ##$patr_poat47美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有相同长度的序列:626## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.227 0.252 0.256 0.266 ##(总计:5.01 kb)## ##$patr_poat48美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有长度相同的序列:560## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.305 0.185 0.182 0.327 ##(总计:4.48 kb)## ##$patr_poat49美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有相同长度的序列:556## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.344 0.149 0.187 0.320 ##(总计:4.45 kb)
旧款<- 标准(三月=c(c)(6,11,4,1))
情节(x)
块处理图
块处理图
##子集
情节(x)[1:,2:4])
块处理图
块处理图
标准(旧款)
##串联
年<- 连接(x)
##8以二进制格式存储在矩阵中的DNA序列。## ##所有相同长度的序列:2506## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.298 0.187 0.197 0.319 ##(总计:20.05 kb)
旧款<- 标准(三月=c(c)(5,8,4,1))
形象(年)
块连接图
块连接图
标准(旧版)

##连接multiyDat对象
z(z)<- 多na2多phyDat(x)
u个<- 连接(z)
u个
##8个序列,2506个字符,69个不同的位点模式。##州是一个中心
树<- 普拉切特(u,轨迹=0,全部= 错误的)
旧款<- 标准(三月=c(c)(1,1,1,1))
情节(树,“u”)
块连接图
块连接图
标准(旧款)

建造树木

基于距离的树

可以为多纳对象使用获取树

##生成树,默认参数
树木<- 获取树(x)
##4个系统发育树
情节(树木,4,类型=“无根”)
区块图MultiPhylo
区块图MultiPhylo

作为一种替代方法,可以将所有基因汇集到一个单一比对中,以获得一棵树,使用:

## ##具有8个尖端和6个内部节点的系统发育树。## ##提示标签:##2340_550156.ab1、2340_550149.ab1、2340_50674.ab1、2370_45312.ab1、2340_550406.ab1、2370_445424.ab1。。。## ##无根;包括分支长度。
chunk plotPhyloSingle的绘图
chunk plotPhyloSingle的绘图

基于可能性的树

也可以使用潘戈恩用极大似然树进行估计。下面是一个使用多个yDat对象z(z)在上一节中创建:

##输入对象
z(z)
##建造树木
聚丙烯<- pml部件(高炉~ 边缘+ nni、z、,控制= pml.控制(轨迹= 0))
聚丙烯
##转换树以进行打印
树木<- pml第2部分多物理(第页)
情节(树木,4)

正在导出数据

以下函数启用从到其他包:*多na2genind:连接基因并将SNP输出到天才对象;或者,多位点序列类型(MLST)可用于将基因视为单独的位点,将唯一序列视为等位基因*multiyDat2genind:对multiyDat对象执行相同的操作

如下所示:

##在apex中查找源文件
图书馆(阿德盖内特)
文件<- 目录(system.file(系统文件)(包装=“顶点”),模式=“拍”,完全=真的)

##导入数据
x个<- 读取多个FASTA(个文件)
x个
##===多纳===##[4个基因中的32个DNA序列]## ##@n.ind:8人##@n.seq:共32个序列##@n.seq.miss:8个空白(缺失)序列##@标签:2340_50156.ab1 2340_50149.ab1 12340_50674.ab1 2370_45312.ab1 2340~50406.ab1 2330_45424.ab1。。。## ##@dna:(DNAbin矩阵列表)##$patr_poat43美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有长度相同的序列:764## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.320 0.158 0.166 0.356 ##(总计:6.11 kb)## ##$patr_poat47美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有相同长度的序列:626## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.227 0.252 0.256 0.266 ##(总计:5.01 kb)## ##$patr_poat48美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有长度相同的序列:560## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.305 0.185 0.182 0.327 ##(总计:4.48 kb)## ##$patr_poat49美元##8以二进制格式存储在矩阵中的DNA序列。## ##所有相同长度的序列:556## ##标签:##2340_50156.ab1号机组##2340_50149.ab1号机组##2340_50674.ab1号文件##2370_45312.ab1号##2340_50406.ab1号##2370_45424.ab1## ...## ##基底成分:##a c g t公司## 0.344 0.149 0.187 0.320 ##(总计:4.45 kb)
##提取SNP并导出到genind
对象1<- 多na2基因(x)
对象1
##///GENIND对象/////////## ##//8个人;11个位点;22个等位基因;尺寸:11 Kb## ##//基本内容##@tab:8 x 22等位基因计数矩阵##@loc.n.all:每个基因座的等位基因数(范围:2-2)##@loc.fac:@tab中22列的轨迹因子##@all.names:每个基因座的等位基因名称列表##@ploidy:每个个体的倍性(范围:1-1)##@type:codom(类型:codom)##@call:DNAbin2genind(x=串联(x,基因=基因))## ##//可选内容##-空-

MLST选项可用于快速诊断个体之间的多样性。虽然它最适合克隆生物,但我们使用我们的玩具数据集来说明这一过程:

对象3<- 多脱氧核糖核酸(x,mlst(最大持续时间)=真的)
对象3
##///GENIND对象/////////## ##//8个人;4个位点;27个等位基因;尺寸:26.8 Kb## ##//基本内容##@tab:8 x 27等位基因计数矩阵##@loc.n.all:每个基因座的等位基因数量(范围:6-8)##@loc.fac:@tab的27列的轨迹因子##@all.names:每个基因座的等位基因名称列表##@ploidy:每个个体的倍性(范围:1-1)##@type:codom(类型:codom)##@call:df2genind(X=xdfnum,ind.names=X@labels,ploidy=1)## ##//可选内容##-空-
##第一个位点的等位基因(=序列)
等位基因(对象3)[[1]]
## [1] "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"## [2] “--tacactttgataaaaaaaaatactaaatgtaagatgttagttatattcttgtggctttttatctatattcttaatgcactatattttgataagaggttgtgtgtgttgatgaaacctaccacctcttcagtttataaaattaccataccattttttatatactgaaagttaatcktgtttgaatttttttgttaaactttttttttggttttttagttttttgaaagtatattatttattctttttgtgtgtaaaaataaattatattatattattgttatatttatatataaattttatattagttattaaattagttagtttaaattattaattatataattgtcattaaaaattagtcttagttaattttagtcattataattaatttagttgaaatcttagtcaatt阿格tgatgaatggtgtaggcatttcagttctctttagatttttttttcttagatttcctttgtgtgtgtaggtaaacagaatttagtcagtctaggtaggatgttctaggattgtaggatgatagagagagatagatatagataattgaataattgtagaaaacttctagaaaagtcacacacacagccagattgtgtgttagagagagattttcacacctcattttgtttgtttttgtgtttgtgtcagatttagattgttagattcacacattgatttagagattgattgtttgattttgttagtagataggattagatagaattagaaaataataataatatagatactacattgttggatttagttagatgttgtgtttttttgttgttgtttgtcccataaccaaaaaacaaacaaagaagaaacataagaacacatatttctcatgaacagagagattt-“## [3] “--tacactttgataaaaaaaaatactaaatgtaagatgttagttatattcttgtggctttttatctatattgttaatgcactactcatacttttgtaaaaccccactctctctctcattataaaattaccattaccataccattttttatataactgaaagttaattgtctttcaatttttgttttaaacttttttttttgtcttttttagttttttgaaagtatattttattctttttgtgtgtgtaaaaataaatatatatattttttattatatagaaatttttttatataatgaaattagttagtttataaaaattagtcttagttattaaaaatcttagtcattaattataattaaattgaaattgagaaatcttttagtctcttttaattttagctttagttgaaatc阿格tgatgaatggtgtaggcatttcagttctctttagatttttttttcttagatttcctttgtgtgtgtaggtaaacagaatttagtcagtctaggtaggatgttctaggattgtaggatgatagagagagactgaaatagataattgaataattgtagaaaacttctagaaaagtcacacacacagccagattgtgtgttagagagagattttcacacctcattttgtttgtttttgtgtttgtgtcagatttagattgttagattcacacattgatttagagattgattgtttgattttgttagtaggattcacattagactcattgttagataataataataaatagaatatagataggatttagtagatagatagaaaccaaaaaacaaacaaagaagaaacataagaacacatatttctcatgaacagagagattt-“## [4] “--tacactttgataaaaaaaaatactaaatgtaagatgttagttatattcttgtggctttttatctatattgttaatgcactactcatacttttgtaaaaccccactctctctctcattataaaattaccattaccataccattttttatataactgaaagttaattgtctttcaatttttgttttaaacttttttttttgtcttttttagttttttgaaagtatattttattctttttgtgtgtgtaaaaataaatatatatattttttattatatagaaatttttttatataatgaaattagttagtttaaattagtcattaattataattaaattgaaatcttttagtcttagttaattaattagtatataaattttagtaaattaatcttagtctcttagtaattagaaa阿格tgatgaatggtgtaggcatttcagttctctttagatttttttttcttagatttcctttgtgtgtgtaggtaaacagaatttagtcagtctaggtaggatgttctaggattgtaggatgatagagagagatagatatagataattgaataattgtagaaaacttctagaaaagtcacacacacagccagattgtgtgttagagagagattttcacacctcattttgtttgtttttgtgtttgtgtcagatttagattgttagattcacacattgatttagagattgattgtttgattttgttagtagataggattagatagaattagaaaataataataatatagatactacattgttggatttagttagatgttgtgtttttttgttgttgtttgtcccataaccaaaacaaaccaagaaacacataagraaaccaaatatatttctcattgaacagagagaggattt“## [5] “--tacactttgataaaaaaaaatactaaatgtaagatgttagttatattcttgtggctttttatctatattgttaatgcactactcatacttttgtaaaaccccactctctctctcattataaaattaccattaccataccattttttatataactgaaagttaattgtctttcaatttttgttttaaacttttttttttgtcttttttagttttttgaaagtatattttattctttttgtgtgtgtaaaaataaatatatatattttttattatatagaaatttttttatataatgaaattagttagtttataaaaattagtcttagttattaattataaattgaaattattagaaatcttagtctcttttagtcaattagtatataaatcttattattagttgaaatctctt阿格tgatgaatggtgtaggcatttcagttctctttagatttttttttctttgtgtgtgtaggtaaacagagaatttagtcmgtccctaggatgttaccattgtagatagagactgataaatgaataattgaatataattgtatagaaaacttctagaaaagtcacacacacagccagtaggattgtgtgttagagagagatttccacacactcattttgtttgtttttgtgtttgtgattgttagattaggattagataggatttagattgtttcacacattgtttgattgtgttttagatttagagattgtgattttgttagtaggataataaaataataatatagatatagatagcattgttggattgtttttttgttgttgtttgtcccattgtgtccatagataaccaaaacaaaccaagaaacacataagraaaccaaatatatttctcattgaacagagagaggattt“## [6] “--tacactttgataaaaaaaaatacataaatgtaagatgttagttatattcttgtggctttttatctatattgttaatgcactactcatacttttgtaaaaccccactcttcattatgataaattaccataccattttttatataactgaaagttaatyggactttgcaattttggattcttttaaacttttttttttgttaaattaatttttttattttttgtgttttttagataattatattttttatattattctttgtgtgtaaaaataaattatatattatttatttatattatattagttattaaattattaattaatgaaattttagttagtttaattaaaaattagttttattataaattagtcttagttgaaaaattatttagttaatcttagtcattaaatcttaatt阿格tgatgaatgtaggggatttcagtctcttttagatttccttgtgatgtcagtaaacagaaggagaatttagtcagtcctagggatgtcttaccatgtaaggaattatagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagaaccaaaaaacaaacaaagaagaaacataagaacacatatttctcatgaacagagagattt-“