没有合适的资源?快使用搜索试试~ 我知道了~
首页R语言中的进化树与演化分析
R语言中的进化树与演化分析
需积分: 11 4 下载量 149 浏览量
更新于2024-07-18
收藏 2.39MB PDF 举报
"Analysis of Phylogenetics and Evolution with R" 是一本深入探讨如何使用R语言进行系统发育学(Phylogenetics)和演化分析的书籍。随着分子和遗传数据库的不断丰富以及计算机能力的增强,生物学家得以研究新的问题,如分子演化的模式,以及重新审视旧的问题,例如适应性在物种多样化中的作用。本书第二版全面更新,涵盖了自前一版出版五年以来出现的所有R包,新增了一章关于模拟演化数据的内容。 本书面向的是研究生和进化生物学的研究人员,提供了一个用于数据分析的参考指南,同时对于有兴趣进行演化分析的生物信息学研究人员,它也提供了如何在R中实现这些方法的指导。书中的内容首先介绍了R语言及其在系统发育学中的应用,这对于不熟悉R的读者来说是一次简短的入门。接着,书中涵盖了处理系统发育数据、构建系统发育树、绘制树图、比较法(Phylogenetic Comparative Methods)、祖先特征估计等基本的系统发育主题。树图绘制部分充分利用了R强大的图形环境。 此外,书中还专门有一章讨论了基于系统发育的物种分化分析,这是作者的主要研究领域之一。最后一章则关注于使用R开发系统发育方法以及与其他编程语言(如C和C++)的接口。每章末尾都附有练习题,以帮助读者巩固所学知识。 本书的出版标志着R语言在系统发育学和演化生物学领域的广泛应用,它不仅简化了生物学家的数据分析工作流程,提高了科学重复性,而且促进了方法论的发展和交流。通过这本书,读者可以学习到如何利用R进行复杂的生物演化分析,从而更好地理解和解释生命多样性的演化过程。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/10569946/bg10.jpg)
Contents xv
8.3 Interfacing R with Other Languages . ......................345
8.3.1 Simple Interfaces . .................................345
8.3.2 Complex Interfaces ................................346
8.4 Writing R Packages ......................................347
8.4.1 A Minimalist Package . . . ...........................348
8.4.2 The Documentation System . .......................349
8.5 Performance Issues and Strategies .........................349
8.6 Computing with the class "phylo" .........................354
8.6.1 The Main Design and its Variants . . .................354
8.6.2 Iterative Versus Recursive Computing ...............356
A Short Course on Regular Expressions ......................359
References .....................................................361
Index ..........................................................381
![](https://csdnimg.cn/release/download_crawler_static/10569946/bg11.jpg)
![](https://csdnimg.cn/release/download_crawler_static/10569946/bg12.jpg)
1
Introduction
Phylogenetics is the science of the evolutionary relationships among species.
Recently, the term has come to include broader issues such as estimating rates
of evolution, dating divergence among species, reconstructing ancestral char-
acters, or quantifying adaptation, all these using phylogenies as frameworks.
Computers seem to have been used by phylogeneticists as soon they were
available in research departments [62, 63]. Since then, progress has been obvi-
ous in two parallel directions: biological databases, particularly for molecular
sequences, have increased in quantity at an exponential rate and, at the same
time, computing power has grown at an expanding pace. These concurrent
escalations have resulted in the challenge of analyzing larger and larger data
sets using more and more complex methods.
The current complexity of phylogenetic analyses implies some strategic
choices. This chapter explains the advantages of R as a system for phylogenetic
analyses.
1.1 Strategic Considerations
How data are stored, handled, and analyzed with computers is a critical issue.
This is a strategic choice as this conditions what can subsequently be done
with more or less efficiency.
R is a language and environment for statistical and graphical analyses
[146]. It is flexible, powerful, and can be interfaced with several systems and
languages. R has many attractive features: we concentrate on four of them
that are critical for phylogenetic analyses.
Integration
Phylogenetics covers a wide area of related issues. Analyzing phylogenetic
data often implies doing different analyses such as tree estimation, dating di-
vergence times, and estimating speciation rates. The implementation of these
DOI 10.1007/978-1-4614-1743-9_1, © Springer Science+Business Media, LLC 2012
, Use R,E. Paradis, Analysis of Phylogenetics and Evolution with R
1
![](https://csdnimg.cn/release/download_crawler_static/10569946/bg13.jpg)
2 1 Introduction
methods in R enhances their integration under a single user interface. It should
be pointed out that although the development of phylogenetic methods in R
is relatively recent, a remarkable range of methods is already available.
Integration is not new among phylogenetic analysis programs and the most
widely used ones cover a wide range of methods. However, this feature com-
bined with those detailed below, has a particular importance not observed in
these programs. Besides, integrating phylogenetic methods with standard and
leading-edge statistical methods is unique to R.
A less obvious aspect of integration is the possibility of using different
languages and systems from the same user interface. This is called intersys-
tems interfaces and has been particularly developed in R [38, 104]. The most
commonly used interfaces in R are with programs written in C, C++, or For-
tran, but there exist interfaces with Perl, Python, and Java.
1
The gain from
these interfaces is enormous: developers can use the languages or systems they
prefer to implement their new methods, and users do not have to learn a new
interface to access the last methodological developments.
Interactivity
Interactivity is critical in the analysis of large data sets with a great variety
of methods. Exploratory analyses are crucial for assessing data heterogeneity.
Selection of an appropriate model for estimation often needs to interactively
fit several models. Examination of model output is also often very useful (e.g.,
plot of regression diagnostics).
In phylogenetic analyses, the usual computer program strategy follows a
“black box” model where some data, stored in files, are read by a specific
program, some computations are made, and the results are written into a file
on the disk. What happens in the program cannot be accessed by the user.
Several program executions can be combined using a scripting language, but
such programming tasks are generally limited.
R does not follow this model. In R, the data are read from files and stored
in active memory: they can be manipulated, plotted, analyzed, or written into
files. The results of analyses are treated exactly in the same way as data. In
R’s jargon, the data in memory are called objects. Considering data as objects
makes good sense in phylogenetics because this allows us to manipulate differ-
ent kinds of data (trees, phenotypical data, geographical data) simultaneously
and interactively.
Programmability
Data analyses are almost always made of a series of more or less simple tasks.
These analyses need to be repeated for many reasons. The most usual situ-
ation is that new data have been collected and previous analyses need to be
1
http://www.omegahat.org/.
![](https://csdnimg.cn/release/download_crawler_static/10569946/bg14.jpg)
1.1 Strategic Considerations 3
updated. It is thus very useful to automate such analyses, particularly if they
are composed of a long series of smaller analyses.
R is a flexible and powerful language that can be used for simple tasks
as well as combining a series of analyses. The programmability of R can be
used at a more complex level to develop new methods (Chapter 8). R is an
interpreted language meaning that there is no need to develop a full program
to perform an analysis. An analysis may be done with a single line.
Programmability is important in the context of scientific repeatability.
Writing programs that perform data analyses (often called scripts) ensures
better readability, and improves repeatability by others [104]. In this context,
there exist some sophisticated solutions, such as Sweave (in the package utils)
which mixes data analysis commands with R and text processing with L
A
T
E
X
[181] (see also ?Sweave in R). The package odfWeave gives this functionality
using ODF documents as used in LibreOffice or OpenOffice instead of L
A
T
E
X.
Even without employing these sophisticated tools, writing R scripts is a must
and should be taught in all courses on R. Several text editors allow to edit R
scripts with enhanced efficiency (see Section 1.3).
Evolvability
Phylogenetic methods have considerably evolved for several decades, and this
will go on in the future. An efficient data analysis system needs to evolve with
respect to the new methodological developments. Programs written in R are
easy to maintain because programming in this language is relatively simple.
Bugs are much easier to be found and fixed than in a compiled language
inasmuch as there is no need to manage memory allocation (one of the main
time-consuming tasks of progammers).
R’s syntax and function definitions ensure compatibility through time in
most cases. For instance, consider a function called foo which has a single
argument x. Thus the user will call this function with something such as:
foo(x = mydata)
If, for any reason, foo changes to include other options that have default
values, say y = TRUE and z = FALSE, then the above command will still work
with the new version of foo.
In addition, the internal structure and functionalities of R evolve with
respect to technological developments. Thus using R as a computing environ-
ment eases tracking novelties in this area.
R has other strengths as a computing environment. It is scalable: it can
run on a variety of computers with a range of hardware, and can be adapted
for the analysis of large data sets. On the lower bound, R can run on most
current laptops and personal computers, whereas on the upper bound R can
be compiled and run on 64-bit computers and thus use more than 4 Gb of
RAM. Furthermore, there are packages to run R on multiprocessor machines.
剩余400页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![PDF](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://profile-avatar.csdnimg.cn/e8f45133e3404bba8f59fe5478fc6f2c_lb971216008.jpg!1)
南风以南
- 粉丝: 425
- 资源: 40
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)