顶:多基因数据的系统发育方法
顶实现了分析多个基因DNA序列的新类和新方法。它实现了从扩展对象类的新类猿和潘戈恩存储多个基因数据,以及一些有用的包装器,这些包装器模仿多个基因的现有功能。本文档概述了软件包的内容。
正在安装顶
要从github安装开发版本,请执行以下操作:
稳定版本可以从CRAN安装,使用:
然后,要加载包,请使用:
导入数据
猿包装纸
两个简单的功能允许将数据从多条路线导入到多纳
对象:*读取多重dna:读取多种不同格式的DNA比对*read.multiFASTA(读取多个FASTA):FASTA文件相同
这两种功能都依赖于猿并接受相同的参数。每个文件应包含来自给定基因的数据,其中序列应仅以单个标签命名。下面是一个使用来自的数据集的示例顶:
##===多个===##[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)
##[1]“patr_poat43”“patr_poat47”“patr_poat48”“patr_poat49”
潘戈恩包装纸
除上述导入数据的功能外:*读取多个物理数据:以各种格式读取多重DNA比对。论点与单基因相同读.phyDat
在里面潘戈恩:
##===多个日期===##[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## ##扩展:“多信息”
- @dna:列表,共个
DNAbin公司
矩阵,每个矩阵对应一个给定的基因/位点,具有匹配的行(个体)
- @标签:个人标签(中的矩阵行
@dna
)
- @无标识:个人数量
- @n.序列:数据集中的序列总数,包括gaps-only序列
- @n.seq.miss号:数据集中仅间隙(即缺失)序列的总数
- @ind.info(索引信息):存储单个元数据的可选数据集
- @基因.info:存储基因元数据的可选数据集
这些插槽中的任何一个都可以使用@
但是,大多数情况下都可以使用访问器函数,并且是首选函数(参见下面的示例)。
新建多纳
可以通过不同的方式创建对象:
- 使用构造函数
新(“多个名称”,…)
- 从文件中读取数据(请参阅下面的“导入数据”部分)
- 转换
多个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)
##===多个===##【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)
## [1] 15
## [1] 2
##[1]“基因1”“基因2”
##$基因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”
##$基因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)
##$基因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)
##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个基因中的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)
多个yDat
喜欢多纳
和猿的DNAbin公司
,形式(S4)类多功能数据
是多基因的延伸潘戈恩的物理数据
类。数据存储为物理数据
对象,带有额外的插槽以获取额外信息。类定义可以通过以下方式获得:
##类“multiplyDat”[包“apex”]## ##插槽:## ##名称:seq类型标签n.ind n.seq##类:listOrNULL字符整数## ##名称:n.seq.miss ind.info gene.info##类:整数data.frameOrNULL data.frame或NULL## ##扩展:“多信息”
- @序列:列表,共个
物理数据
对象,每个对象对应一个给定的基因/位点,具有匹配的行(个人);不像多纳
这个类可以存储任何字符,包括氨基酸序列
- @类型:表示存储的序列类型的字符串
- @标签:个人标签(中的矩阵行
@dna
)
- @无标识:个人数量
- @n.序列:数据集中的序列总数,包括gaps-only序列
- @n.seq.miss号:数据集中仅间隙(即缺失)序列的总数
- @ind.info(索引信息):存储单个元数据的可选数据集
- @基因信息:存储基因元数据的可选数据集
这些插槽中的任何一个都可以使用@
(参见下面的示例)。
至于多纳
,多个yDat
可以通过不同的方式创建对象:
- 使用构造函数
新建(“multiyDat”,…)
- 从文件中读取数据(请参阅下面的“导入数据”部分)
- 转换
多纳
对象使用multiyDat2多dna
如前所述,我们在下面演示了构造函数的使用(请参见?新建多物理数据
)了解更多信息。
##47个序列,3179个字符和1605个不同的位点模式。##州是一个中心
##===多个日期===##[0基因中的DNA序列]## ##@类型:##@n.ind:0个人##@n.seq:共0个序列##@n.seq.miss:0 gap-only(缺少)sequence##@标签:
##===多个日期===##【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
到多纳
示例代码:
##===多纳===##[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)
##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)
##8个序列,2506个字符,69个不同的位点模式。##州是一个中心
建造树木
基于距离的树
可以为多纳
对象使用获取树
##4个系统发育树
作为一种替代方法,可以将所有基因汇集到一个单一比对中,以获得一棵树,使用:
## ##具有8个尖端和6个内部节点的系统发育树。## ##提示标签:##2340_550156.ab1、2340_550149.ab1、2340_50674.ab1、2370_45312.ab1、2340_550406.ab1、2370_445424.ab1。。。## ##无根;包括分支长度。
基于可能性的树
也可以使用潘戈恩
用极大似然树进行估计。下面是一个使用多个yDat
对象z(z)
在上一节中创建:
正在导出数据
以下函数启用从顶到其他包:*多na2genind:连接基因并将SNP输出到天才
对象;或者,多位点序列类型(MLST)可用于将基因视为单独的位点,将唯一序列视为等位基因*multiyDat2genind:对multiyDat对象执行相同的操作
如下所示:
##===多纳===##[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)
##///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选项可用于快速诊断个体之间的多样性。虽然它最适合克隆生物,但我们使用我们的玩具数据集来说明这一过程:
##///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)## ##//可选内容##-空-
## [1] "--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"## [2] “--tacactttgataaaaaaaaatactaaatgtaagatgttagttatattcttgtggctttttatctatattcttaatgcactatattttgataagaggttgtgtgtgttgatgaaacctaccacctcttcagtttataaaattaccataccattttttatatactgaaagttaatcktgtttgaatttttttgttaaactttttttttggttttttagttttttgaaagtatattatttattctttttgtgtgtaaaaataaattatattatattattgttatatttatatataaattttatattagttattaaattagttagtttaaattattaattatataattgtcattaaaaattagtcttagttaattttagtcattataattaatttagttgaaatcttagtcaatt阿格tgatgaatggtgtaggcatttcagttctctttagatttttttttcttagatttcctttgtgtgtgtaggtaaacagaatttagtcagtctaggtaggatgttctaggattgtaggatgatagagagagatagatatagataattgaataattgtagaaaacttctagaaaagtcacacacacagccagattgtgtgttagagagagattttcacacctcattttgtttgtttttgtgtttgtgtcagatttagattgttagattcacacattgatttagagattgattgtttgattttgttagtagataggattagatagaattagaaaataataataatatagatactacattgttggatttagttagatgttgtgtttttttgttgttgtttgtcccataaccaaaaaacaaacaaagaagaaacataagaacacatatttctcatgaacagagagattt-“## [3] “--tacactttgataaaaaaaaatactaaatgtaagatgttagttatattcttgtggctttttatctatattgttaatgcactactcatacttttgtaaaaccccactctctctctcattataaaattaccattaccataccattttttatataactgaaagttaattgtctttcaatttttgttttaaacttttttttttgtcttttttagttttttgaaagtatattttattctttttgtgtgtgtaaaaataaatatatatattttttattatatagaaatttttttatataatgaaattagttagtttataaaaattagtcttagttattaaaaatcttagtcattaattataattaaattgaaattgagaaatcttttagtctcttttaattttagctttagttgaaatc阿格tgatgaatggtgtaggcatttcagttctctttagatttttttttcttagatttcctttgtgtgtgtaggtaaacagaatttagtcagtctaggtaggatgttctaggattgtaggatgatagagagagactgaaatagataattgaataattgtagaaaacttctagaaaagtcacacacacagccagattgtgtgttagagagagattttcacacctcattttgtttgtttttgtgtttgtgtcagatttagattgttagattcacacattgatttagagattgattgtttgattttgttagtaggattcacattagactcattgttagataataataataaatagaatatagataggatttagtagatagatagaaaccaaaaaacaaacaaagaagaaacataagaacacatatttctcatgaacagagagattt-“## [4] “--tacactttgataaaaaaaaatactaaatgtaagatgttagttatattcttgtggctttttatctatattgttaatgcactactcatacttttgtaaaaccccactctctctctcattataaaattaccattaccataccattttttatataactgaaagttaattgtctttcaatttttgttttaaacttttttttttgtcttttttagttttttgaaagtatattttattctttttgtgtgtgtaaaaataaatatatatattttttattatatagaaatttttttatataatgaaattagttagtttaaattagtcattaattataattaaattgaaatcttttagtcttagttaattaattagtatataaattttagtaaattaatcttagtctcttagtaattagaaa阿格tgatgaatggtgtaggcatttcagttctctttagatttttttttcttagatttcctttgtgtgtgtaggtaaacagaatttagtcagtctaggtaggatgttctaggattgtaggatgatagagagagatagatatagataattgaataattgtagaaaacttctagaaaagtcacacacacagccagattgtgtgttagagagagattttcacacctcattttgtttgtttttgtgtttgtgtcagatttagattgttagattcacacattgatttagagattgattgtttgattttgttagtagataggattagatagaattagaaaataataataatatagatactacattgttggatttagttagatgttgtgtttttttgttgttgtttgtcccataaccaaaacaaaccaagaaacacataagraaaccaaatatatttctcattgaacagagagaggattt“## [5] “--tacactttgataaaaaaaaatactaaatgtaagatgttagttatattcttgtggctttttatctatattgttaatgcactactcatacttttgtaaaaccccactctctctctcattataaaattaccattaccataccattttttatataactgaaagttaattgtctttcaatttttgttttaaacttttttttttgtcttttttagttttttgaaagtatattttattctttttgtgtgtgtaaaaataaatatatatattttttattatatagaaatttttttatataatgaaattagttagtttataaaaattagtcttagttattaattataaattgaaattattagaaatcttagtctcttttagtcaattagtatataaatcttattattagttgaaatctctt阿格tgatgaatggtgtaggcatttcagttctctttagatttttttttctttgtgtgtgtaggtaaacagagaatttagtcmgtccctaggatgttaccattgtagatagagactgataaatgaataattgaatataattgtatagaaaacttctagaaaagtcacacacacagccagtaggattgtgtgttagagagagatttccacacactcattttgtttgtttttgtgtttgtgattgttagattaggattagataggatttagattgtttcacacattgtttgattgtgttttagatttagagattgtgattttgttagtaggataataaaataataatatagatatagatagcattgttggattgtttttttgttgttgtttgtcccattgtgtccatagataaccaaaacaaaccaagaaacacataagraaaccaaatatatttctcattgaacagagagaggattt“## [6] “--tacactttgataaaaaaaaatacataaatgtaagatgttagttatattcttgtggctttttatctatattgttaatgcactactcatacttttgtaaaaccccactcttcattatgataaattaccataccattttttatataactgaaagttaatyggactttgcaattttggattcttttaaacttttttttttgttaaattaatttttttattttttgtgttttttagataattatattttttatattattctttgtgtgtaaaaataaattatatattatttatttatattatattagttattaaattattaattaatgaaattttagttagtttaattaaaaattagttttattataaattagtcttagttgaaaaattatttagttaatcttagtcattaaatcttaatt阿格tgatgaatgtaggggatttcagtctcttttagatttccttgtgatgtcagtaaacagaaggagaatttagtcagtcctagggatgtcttaccatgtaaggaattatagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagtagaaccaaaaaacaaacaaagaagaaacataagaacacatatttctcatgaacagagagattt-“