张金龙的博客分享 http://blog.sciencenet.cn/u/zjlcas 物种适应性、分布与进化

博文

phylotools:处理DNA条码(DNA-Barcoding)序列的程序包

已有 8985 次阅读 2010-11-8 13:52 |个人分类:科研笔记|系统分类:科研笔记| R语言, 进化树, DNA条形码, fasta

phylotools:处理DNA条码(DNA-Barcoding)序列的程序包

 

DNA条码,是利用聚合酶链式反应(PCR)及测序手段,将每个物种筛选出特定的一个或基因,共同组成的物种鉴定系统。DNA条形码在不同的类群中选取的基因不同,例如植物中常用的DNA条码相关的基因多为叶绿体中的基因,常包括rbcLa, matK, ITS, 5.8S, trnH-psbA等等,各基因的进化速率不同,互相参考,以便于对物种的准确鉴定。如果这一体系建立的比较精准,那么以后只需要对样品的相应基因进行PCR就可以实现对物种的准确鉴别。相比传统的依据物种形态的鉴别手段,应用的范围更加广泛。

然而DNA序列的fasta文件及比对之后的phylip文件处理是较为繁琐。特别是在处理测序后fasta文件中DNA序列的名称,以及后续的建立进化树的步骤中,往往需要名字的替换,并建立相应的矩阵,并以此作为基础推断物种之间的进化关系。在分子生物地理学和进化生态学中,这种需求更为迫切。为了更为方便得分析处理DNA-Barcoding所得的序列,方便得更改名称,处理比对后的各序列拼接成一致性的矩阵等,必须开发相应的软件。

    有鉴于此,本人利用开源的R语言开发了phylotools软件包。其中的函数均为笔者在处理DNA-Barcoding数据时用到的函数。现在已经上传到RCRAN网站。全部源代码及多种平台上的程序包都可以在CRAN上获得。网址为

http://cran.r-project.org/web/packages/phylotools/index.html

 

下面简要介绍一下各函数的主要功能,供业界的同行参考:

complement()    给出给定DNA序列的反向互补序列,输入格式为字符串。

fasta.split()   给出各名称分组的对照表,将给定的fasta文件分割成几个独立的fasta文件

phy2dat()       phylip文件转换成相应的数据框,以便进行相应的处理

read.phylip()   读取序列比对好之后的phylip文件

rename.fasta()  fasta对象中的序列改名。

reverse()       给出该序列的反向序列

seq2fasta()     seq文件(一般是 SeqMAN生成)转换成fasta文件

sub.tip.label() 给出各名称的对照表,将进化树末端的名称替换。

supermat()      基于指定的phy文件构建多个基因的超级矩阵

uniquefasta()   fasta文件中名称重复的序列删除。

write.mat()     将建立好的超级矩阵保存在本地硬盘上。

 

    当然,还有很多功能需要进一步实现,如在GenBank上检索并下载DNA序列等等。如您在使用过程中发现程序中的任何错误,欢迎发邮件及时告知。

                                           中国科学院植物研究所

                                      张金龙

                                             Jinlongzhang01@gmail.com



https://blog.sciencenet.cn/blog-255662-381644.html

上一篇:基于R的物种生态位进化分析——原理与方法
下一篇:如何计算日食的时间和类型(附R源代码)?
收藏 IP: .*| 热度|

2 雷栗 李秀领

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 09:59

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部