【基于R语言群体遗传学】-10-适应性与正选择

在之前的博客中,我们学习了哈代温伯格模型,学习了Fisher模型,学习了遗传漂变与变异的模型,没有看过之前内容的朋友可以先看一下之前的文章:

群体遗传学_tRNA做科研的博客-CSDN博客


一些新名词

(1)适应:一个平均而言在环境中变得相对更适应的过程。

Adaptation: A process of on average becoming more relatively fit in an environment.

(2)自然选择:随着时间的推移,由于自然力量的选择,变异或性状的频率发生变化。

Natural selection: The change in frequency of variants or traits over time by selection in response to natural forces.

(3)相对适合度:相对于种群平均水平,个体存活和繁殖的概率标准化。

Relative fitness: The probability of an individual surviving and reproducing standardized relative to the population average.

(4)同源性:由于共同祖先而导致的相似性。

Homology: Similarity due to shared ancestry.

(5)非整倍体:染色体数目异常,通常是由于细胞分裂过程中染色体分离不当所致。

Aneuploidy: An abnormal number of chromosomes, usually as a result of improper separation of chromosomes during cell division.

(6)基因选择:仅对一个单一遗传元素起作用的选择力,与基因型或其他遗传结构无关。

Genic selection: Selection forces operating exclusively on a single genetic element, regardless of genotype or other genetic architecture.

正选择

尽管我们一直在讨论中性变异,但早期的群体遗传学主要关注适应性的问题;具体来说,就是自然选择带来的物种进化,比如受群体中可遗传的遗传变异影响的个体平均生存和繁殖的差异驱动这一过程的无数力量通常被称为模糊的“自然选择”

有许多与人为因素相关的选择的例子:抗药性(Aminetzach等,2005)、工业黑化(van’t Hof等,2011)、抗除草剂性(Délye等,2013)和驯化(Purugganan和Fuller,2009)。这些有时被区分为“人工”选择,但两者之间的界限可能相当模糊。我们通常只使用“选择”这个词来指代驱动等位基因频率变化的非中性过程一些等位基因可能会影响生物体的生存和繁殖;携带这些等位基因的生物体可能更有可能将它们传给下一代。在这些情况下,由于产生的表型不同,选择会影响等位基因频率在几代之间的变化。(一个经常未被提及的假设是,这些表型基于遗传无论存在多少变异,如果它不是可遗传的并且基于遗传,从进化的角度来看,选择对它是“盲目”的。)当选择的等位基因带来适应性差异时,预测的等位基因频率变化是什么,以及如何在选择面前维持遗传变异?回答这些问题仍然是当今群体遗传学的主要目标。

让我们首先考虑仅作用于单个等位基因的选择(即“单倍体”或“基因”选择)。想象一下,我们在之前镰刀型贫血病的中性漂移模拟中的等位基因a实际上赋予了某种进化优势;也许它增加了细胞表面蛋白的别构位点亲和力,从而提高了氧气运输的效率,因此在身体压力下生存几率更大。我们选择力的确切性质并不重要;我们唯一关注的是某些东西影响了这个等位基因代代相传的概率。

当我们比较两个等位基因A和a时,我们可以考虑它们各自被遗传的概率。如果这两个等位基因对适应度有完全相同的影响(即,彼此之间选择中性),那么影响它们遗传概率的唯一因素就是它们各自的起始等位基因频率。但我们现在要说的是,A等位基因比a等位基因具有额外的优势,并且具有s的适应度优势(通常被称为选择系数),因此它相对于a的适应度现在是1+s,而a等位基因的适应度为1。 如果我们考虑每一代发生的中性波动,我们现在可以在每一代中增加一个步骤,根据其相对适应度调整等位基因被传递的概率:

我们可以看到,如果选择系数为零,那么这两个值都变为1/2,我们又回到了中性遗传漂移的情况。 在基因选择下,A等位基因在下一代中的频率变化必须与其频率(p)和相对适应度(1+s)的乘积相关。但是我们必须标准化这个值,以包括a等位基因相对适应度的影响。如果a的频率是1-p,其相对适应度是1,在我们简单的单倍体选择示例中,我们可以计算出下一代(t+1)中A等位基因频率的变化。

让我们通过模拟基因选择力s随时间影响a等位基因频率变化的过程来可视化这一点。

p <- 0.25 # 初始化等位基因频率为0.25
gen <- 100 # 设置模拟的代数为100代
N <- 1000 # 设置群体大小为1000个个体# 创建一个图表,横坐标为代数(1到gen),纵坐标为等位基因频率(0到1)
plot(x=NULL, y=NULL, xlim=c(1,gen), ylim=c(0,1),xlab="Generations", ylab="Allele frequency")# 对于每一代(除了第一代)
for(j in 1:(gen-1)){# 使用二项分布随机抽样来模拟等位基因在下一代中的数量# size=2*N 因为每个个体有两个等位基因a <- rbinom(n=1, size=2*N, prob=p[j])# 计算这一代的等位基因频率f <- a/(2*N)# 将新的频率添加到向量p中p <- c(p,f)
}# 在图表上绘制等位基因频率随代数变化的趋势线
lines(x=1:gen, y=p, lwd=2)

A等位基因的频率在几代中没有明确的方向上下波动。在这种情况下,特定等位基因的采样仅取决于其在种群中的频率。现在,让我们探讨一下情况并非这么简单,选择也会影响等位基因频率随时间的变化。我们可以轻松地修改之前的代码,现在考虑每一代中选择和漂移的影响。为此,我们将把p(1+s)/(ps+1)纳入我们的频率计算中。让我们给等位基因一个10%的适应度优势(s = 0.1)。

p <- 0.25
gen <- 100
N <- 1000
s <- 0.1
plot(x=NULL, y=NULL, xlim=c(1,gen), ylim=c(0,1),xlab="Generations", ylab="Allele frequency")
for(j in 1:(gen-1)){#Draw the number of allelesa <- rbinom(n=1,size=2*N,prob=p[j])f <- a/(2*N) #Get the allele frequency#Modify the frequency by sp <- c(p,(f*(1+s))/(f*s+1))
}
lines(x=1:gen, y=p, lwd=2)

     

10%的适应度优势显然对我们的等位基因频率产生了显著影响。事实上,基因选择并不需要太多就能相当大地改变等位基因随时间的轨迹。尝试增加和减少选择系数的值,然后重新运行代码,看看随着时间的推移,什么会影响等位基因频率。选择系数也可以取负值,以表示对个体适应度有害的等位基因。我们选择五个s值的例子来强调这一点。当选择系数等于零时,我们只有遗传漂移影响着等位基因频率跨代的波动(即选择中性)

gen <- 100
N <- 1000
s_values <- c(-0.05, 0, 0.05, 0.1, 0.25)
colors <- rainbow(length(s_values)) # 为每个选择系数指定一个颜色# 初始化图形参数
plot(x=NULL, y=NULL, xlim=c(1, gen), ylim=c(0, 1),xlab="Generations", ylab="Allele frequency")# 对每个选择系数循环绘图
for (i in 1:length(s_values)) {s <- s_values[i]p <- rep(0.25, gen) # 初始等位基因频率for (j in 1:(gen-1)) {# Draw the number of allelesa <- rbinom(n=1, size=2*N, prob=p[j])f <- a/(2*N) # Get the allele frequency# Modify the frequency by sp[j+1] <- (f*(1+s))/(f*s+1) }# 绘制曲线lines(x=1:gen, y=p, col=colors[i], lwd=2)
}# 添加图例
legend("topright", legend=paste("s =", s_values), col=colors, lwd=2)

 

我们一直以相当大的种群规模进行这些模拟。之前我们知道种群规模会影响等位基因漂移到固定或灭绝的概率。具体来说,我们看到,在较小的种群中,等位基因更有可能漂移到固定或灭绝,而不是以中间频率在种群中持续存在。那么,在我们同时有漂移和选择作用的情况下,种群规模又扮演了什么角色呢?当s = 0时(即只有中性漂移影响我们的等位基因在几代中的轨迹时),这种大种群规模的影响应该在我们的等位基因频率如何最经常地围绕我们的起始等位基因频率摆动,很少会下降很多或上升很多方面表现得非常明显。

N=10000时:

N=10时:

种群规模的显著影响应该很容易看出。尽管等位基因具有选择性优势,但固定和灭绝实际上是随机的。显然,当种群较小时,选择的影响可能会在一定程度上被遗传漂移的力量所打乱。事实上,如果你多次运行这个模拟,你会看到,即使在小的种群规模下,高的选择系数也可能无法维持我们的等位基因在种群中的存在。这就是漂移和选择的力量如何根据所考虑的种群规模而变化的现象。一般来说,较大的种群应该能够随着时间的推移保持中性或适度选择的变异,而且可以预期,强烈正选择的等位基因会相对较快地达到固定状态。另一方面,一个小种群可能同样有可能让一个中性等位基因固定,就像适度正选择的等位基因一样。即使在小的种群中,强烈选择的等位基因也可能不会很快达到固定状态,甚至可能因为它们的优势而丢失。濒危野生种群的一个主要担忧是,减少的种群数量意味着随机性比适应性力量更多地影响到未来的基因组成

下一篇博客将聚焦二倍体的情况,也就是两个等位基因的适应性进化建模。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/868039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 中的 DDL、DML、DQL 和 DCL

文章目录 1. 数据定义语言&#xff08;DDL&#xff09;2. 数据操作语言&#xff08;DML&#xff09;3. 数据查询语言&#xff08;DQL&#xff09;4. 数据控制语言&#xff08;DCL&#xff09;总结 在 MySQL 数据库管理系统中&#xff0c;SQL 语句可以根据其功能分为不同的类别&…

RAG 案框架(Qanything、RAGFlow、FastGPT、智谱RAG)对比

各家的技术方案 有道的QAnything 亮点在&#xff1a;rerank RAGFLow 亮点在&#xff1a;数据处理index 智谱AI 亮点在文档解析、切片、query改写及recall模型的微调 FastGPT 优点&#xff1a;灵活性更高 下面分别按照模块比较各框架的却别 功能模块QAnythingRAGFLowFastG…

TP8/6 子域名绑定应用

原www.xxx.com/admin改为admincms.xxx.com config/app.php 官方文档&#xff1a;ThinkPHP官方手册

赋值运算符重载和const成员函数和 const函数

文章目录 1.运算符重载(1)(2)运算符重载的语法&#xff1a;(3)运算符重载的注意事项&#xff1a;(4)前置和后置重载区别 2.const成员函数3.取地址及const取地址操作符重载4.总结 1.运算符重载 (1) 我们知道内置类型(整形&#xff0c;字符型&#xff0c;浮点型…)可以进行一系…

2024-07-05 base SAS programming学习笔记9(variables)

1.在数据集增加累加变量值&#xff08;SUM&#xff09; 求和语句(SUM STATEMENT)&#xff1a;variableexpression variable是累积求和的变量名&#xff0c;为数值型&#xff0c;默认初始值为0&#xff1b;该variable值则会保留到一个观测 当expression有缺失值&#xff0c;在求…

【项目管理】常见的敏捷实践:Scrum框架

【项目管理】常见的敏捷实践&#xff1a;Scrum框架 精益、敏捷与Scrum框架Scrum框架实践Sprint&#xff08;冲刺&#xff09;Scrum角色Scrum工件Scrum会议 精益、敏捷与Scrum框架 敏捷与精益思想、看板、Scrum等概念的关系如下图所示&#xff1a; Lean 精益 Kanban 看板 Ag…

文件存储的方法一

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了"如何实现本地存储"相关的内容&#xff0c;本章回中将介绍如何实现文件存储.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在上一章回中介绍的本地存储只能存储dart语言中基本类型的数值…

机器学习训练之使用静态图加速

前言 MindSpore有两种运行模式&#xff1a;动态图模式和静态图模式。默认情况下是动态图模式&#xff0c;也可以手工切换为静态图模式。 动态图模式 动态图的特点是计算图的构建和计算同时发生&#xff0c;符合Python的解释执行方式。在调试模型时较为方便&#xff0c;能够实…

开发者评测|操作系统智能助手OS Copilot

操作系统智能助手OS Copilot 文章目录 操作系统智能助手OS CopilotOS Copilot 是什么优势功能 操作步骤创建实验重置密码创建Access Key配置安全组安装 os-copilot环境变量配置功能评测命令行模式多轮交互模式 OS Copilot 产品体验评测反馈OS Copilot 产品功能评测反馈 参考文档…

做测试/爬虫 selenium 元素定位 谷歌浏览器 插件推荐,提高元素定位效率

注:插件均在谷歌应用商店 下载 1.XPath Helper 插件 作用&#xff1a;用于Html中对目标字段或者属性值进行匹配 快捷启动&#xff1a;ctrl shift x 示例图如下&#xff1a; 2. ChroPath 插件 作用&#xff1a; 提高元素定位效率 启动&#xff1a;谷歌浏览器 按 F12 -&g…

【电商系统开发实用接口指南】包含国内国外多电商平台商品数据对接(附文档)

关于电商数据接口 开发电商系统的朋友对于电商平台API肯定不陌生&#xff0c;API接口即应用程序编程接口&#xff0c;电商平台开放部分API接口&#xff0c;供商家和服务商调用&#xff0c;以满足电商业务管理需求。随着电商市场需求的日益增长以及技术手段的不断成熟&#xf…

【C++第十课 - stack_queue】stack、queue的使用、适配器模型stack、queue和priority_queue的底层实现、deque

目录 一、stack使用1、push2、pop3、empty4、top题目1、最小栈2、栈的压入、弹出序3、逆波兰表达式求值 二、queue的使用priority_queue习题 三、适配器stack的底层实现queue的底层实现priority_queue的底层实现仿函数/函数对象函数指针 四、deque 一、stack使用 stack是个容器…

聚焦大模型应用落地,2024全球数字经济大会人工智能专题论坛在京举办

7月1日下午&#xff0c;2024全球数字经济大会人工智能专题论坛在中关村国家自主创新示范区会议中心举办。论坛紧扣大模型应用落地这一热点&#xff0c;以“应用即未来——大模型赋能千行百业&#xff0c;新生态拥抱产业未来”为主题&#xff0c;备受社会各界关注。 一、北京已…

Windows中Git的使用(2024最新版)

Windows中Git的使用 获取ssh keys本地绑定邮箱初始化本地仓库添加到本地缓存区提交到本地缓存区切换本地分支为main关联远程分支推送到GitHub查看推送日志 Git 2020年发布了新的默认分支名称"main"&#xff0c;取代了"master"作为主分支的名称。操作有了些…

【已解决】: fatal error: cuda_runtime_api.h: No such file or directory

既然他找不到&#xff0c;我们就把路径给他写清楚&#xff01; 检查自己是不是有这个文件&#xff1a; 去路径/usr/local下&#xff0c;使用命令查询是否拥有该文件&#xff1a; find . -name cuda_runtime_api.h结果&#xff1a; 因为我要使用的是cuda-11.3&#xff0c;因…

【Spring Cloud】一个例程快速了解网关Gateway的使用

Spring Cloud Gateway提供了一个在Spring生态系统之上构建的API网关&#xff0c;包括&#xff1a;Spring 5&#xff0c;Spring Boot 2和Project Reactor。Spring Cloud Gateway旨在提供一种简单而有效的路由方式&#xff0c;并为它们提供一些网关基本功能&#xff0c;例如&…

自用款 复制粘贴工具 Paste macOS电脑适配

Paste是一款专为Mac和iOS用户设计的剪贴板管理工具&#xff0c;它提供了强大的剪贴板增强功能。Paste能够实时记录用户复制和剪切的内容&#xff0c;包括文本、图片、链接等多种数据类型&#xff0c;并形成一个可视化的剪贴板历史记录&#xff0c;方便用户随时访问和检索。此外…

【论文通读】RuleR: Improving LLM Controllability by Rule-based Data Recycling

RuleR: Improving LLM Controllability by Rule-based Data Recycling 前言AbstractMotivationSolutionMethodExperimentsConclusion 前言 一篇关于提升LLMs输出可控性的短文&#xff0c;对SFT数据以规则的方式进行增强&#xff0c;从而提升SFT数据的质量&#xff0c;进而间接帮…

uniapp如何隐藏默认的页面头部导航栏,uniapp开发小程序如何隐藏默认的页面头部导航栏

uniapp如何隐藏默认的页面头部导航栏 隐藏后 在pages.json文件中插入 在uni-app中&#xff0c;设置navigationStyle为custom来自定义导航栏&#xff0c;可以隐藏默认的头部了。 {"path": "pages/index/index","name": "index",&qu…

IDEA 开发工具

IDEA 开发工具 IDEA软件激活新建项目新建project 运行调试 IDEA软件激活 访问激活码网进入带*的域名下载并解压左上角的zip包先执行sh uninstall.sh&#xff0c;再执行sh install.sh在带*的网页中复制并使用激活码code 新建项目 新建project file》New〉Project》New Proje…