【基于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 alleles
  a <- rbinom(n=1,size=2*N,prob=p[j])
  f <- a/(2*N) #Get the allele frequency
  #Modify the frequency by s
  p <- 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 alleles
    a <- rbinom(n=1, size=2*N, prob=p[j])
    f <- a/(2*N) # Get the allele frequency
    # Modify the frequency by s
    p[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时:

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HCIE之IPV6三大动态协议ISIS BGP (十五)

IPV6 1、三大动态路由协议ipv61.1、ISIS1.1.1、ISIS多拓扑实验&#xff08;需要详细看下lsdb verbose&#xff09;1.2、ISIS TLV简单总结 1.2、BGP 2、IPv6 隧道技术2.1、ipv6手工隧道2.1.1、ipv6 gre手工隧道2.1.1.1、 ipv6、ipv4基础配置&#xff08;省略&#xff09;2.1.1.2…

【web APIs】快速上手Day05(Bom操作)

目录 Web APIs - 第5天笔记js组成window对象BOM定时器-延迟函数案例-5秒钟之后消失的广告 JS执行机制location对象案例-5秒钟之后跳转的页面 navigator对象histroy对象 本地存储&#xff08;今日重点&#xff09;localStorage&#xff08;重点&#xff09;sessionStorage&#…

cross attention交叉熵注意力机制

交叉注意力(Cross-Attention)则是在两个不同序列上计算注意力&#xff0c;用于处理两个序列之间的语义关系。在两个不同的输入序列之间计算关联度和加权求和的机制。具体来说&#xff0c;给定两个输入序列&#xff0c;cross attention机制将一个序列中的每个元素与另一个序列中…

Java请求webService,IDEA生成客户端调用代码

Axis是Apache开放源代码组织的一个项目&#xff0c;全称为Apache Extensible Interaction System&#xff0c;简称Axis。它是一个基于Java的SOAP&#xff08;Simple Object Access Protocol&#xff0c;简单对象访问协议&#xff09;引擎&#xff0c;提供创建服务器端、客户端和…

Linux基础: 二. Linux的目录和文件

文章目录 二. Linux的目录和文件1.1 目录概要1.2 目录详细说明 二. Linux的目录和文件 1.1 目录概要 command&#xff1a;ls / Linux的文件系统像一棵树一样&#xff0c;树干是根目录&#xff08;/&#xff09;&#xff0c;树枝是子目录&#xff0c;树叶是文件&#xff1b; …

QML:Settings介绍

用途 提供持久的独立于平台的应用程序设置。 用户通常希望应用程序在会话中记住其设置&#xff08;窗口大小、位置、选项等&#xff09;。Settings能够以最小的工作量保存和恢复此类应用程序设置。 通过在Settings元素中声明属性来指定各个设置值。仅支持由QSettings识别的值…

2024 JuniorCryptCTF reppc 部分wp

Random cipher 文本编辑器打开附件 比较简单。脚本 Mutated Caesar 文本编辑器打开附件 比较简单。脚本 Pizza 附件拖入dnSpy 比较简单。脚本 l33t Leet&#xff0c;又称黑客语&#xff0c;是指一种发源于欧美地区的BBS、线上游戏和黑客社群所使用的文字书写方式&#xff0c;通…

Polkadot(DOT)即将爆雷?治理无能还歧视亚洲!资金将在两年内耗尽!是下一个FTX吗?

近期&#xff0c;关于Polkadot(DOT)生态圈的一系列负面消息引发了业界和投资者的广泛关注。从高昂的营销开支、缺乏实际业务亮点&#xff0c;再到治理问题和种族歧视指控&#xff0c;Polkadot似乎正面临着严峻的危机。业内人士警告&#xff0c;Polkadot的财政状况堪忧&#xff…

【C语言】qsort()函数详解:能给万物排序的神奇函数

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 一.qsort()函数的基本信息及功能 二.常见的排序算法及冒泡排序 三.逐一解读qsort()函数的参数及其原理 1.void* base 2.size_t num 3.size_t size 4.int (*compar)(c…

机器学习Day12:特征选择与稀疏学习

1.子集搜索与评价 相关特征&#xff1a;对当前学习任务有用的特征 无关特征&#xff1a;对当前学习任务没用的特征 特征选择&#xff1a;从给定的特征集合中选择出相关特征子集的过程 为什么要特征选择&#xff1f; 1.任务中经常碰到维数灾难 2.去除不相关的特征能降低学习的…

认证授权auth

什么是认证授权 认证授权包含 认证和授权两部分。 什么是用户身份认证&#xff1f; 用户身份认证即当用户访问系统资源时&#xff0c;系统要求验证用户的身份信息&#xff0c;身份合法方可继续访问常见的用户身份认证表现形式有 用户名密码登录微信扫码登录等 什么是用户授…

【数据结构】链表带环问题分析及顺序表链表对比分析

【C语言】链表带环问题分析及顺序表链表对比分析 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C语言学习之路 文章目录 【C语言】链表带环问题分析及顺序表链表对比分析前言一.顺序表和链表对比1.1顺序表和链表的区别1.2缓存利用率&#…

ID3算法决策树

步骤&#xff1a; 先计算出信息量&#xff1b;信息熵&#xff1b;信息增量&#xff1b; 再比较信息增量的大小&#xff0c;确定分类依据。 信息量&#xff1a; 信息熵&#xff1a; 信息增益&#xff1a;

【网络安全】实验五(身份隐藏与ARP欺骗)

一、本次实验的实验目的 &#xff08;1&#xff09;了解网络攻击中常用的身份隐藏技术&#xff0c;掌握代理服务器的配置及使用方法 &#xff08;2&#xff09;通过实现ARP欺骗攻击&#xff0c;了解黑客利用协议缺陷进行网络攻击的一般方法 二、搭配环境 打开三台虚拟机&#…

IntelliJ IDEA 同时多行同时编辑操作快捷键

首先 点击要编辑的地方,长按鼠标左键不放,同时按住 Ctrl Shift Alt,然后就可以进行多行编辑了

【Unity】RPG2D龙城纷争(八)寻路系统

更新日期&#xff1a;2024年7月4日。 项目源码&#xff1a;第五章发布&#xff08;正式开始游戏逻辑的章节&#xff09; 索引 简介一、寻路系统二、寻路规则&#xff08;角色移动&#xff09;三、寻路规则&#xff08;角色攻击&#xff09;四、角色移动寻路1.自定义寻路规则2.寻…

如何根据控制框图写传递函数

控制框图&#xff08;也称为方块图或信号流图&#xff09;是控制系统工程中常用的一种图形表示方法&#xff0c;用于描述系统中各个组件之间的关系以及信号流向。传递函数则是描述线性时不变系统动态特性的数学模型&#xff0c;通常用于分析和设计控制系统。 识别组件&#xff…

Learn To Rank

在信息检索中&#xff0c;给定一个query&#xff0c;搜索引擎召回一系列相关的Documents&#xff0c;然后对这些Documents进行排序&#xff0c;最后将Top N的Documents输出。 排序问题最关注的是各Documents之间的相对顺序关系&#xff0c;而不是各个Documents的预测分最准确。…

GD32实战篇-双向数控BUCK-BOOST-BOOST升压理论基础

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 向上代码兼容GD32F450ZGT6中使用 后续项目主要在下面该专栏中发布&#xff1a; https://blog.csdn.net/qq_62316532/category_12608431.html?spm1001.2014.3001.5482 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转…

即时通讯平台项目测试(登录/注册页面)

http://8.130.98.211:8080/login.html项目访问地址&#xff1a;即时通讯平台http://8.130.98.211:8080/login.html 本篇文章进行登录和注册页面的测试。自动化脚本的依赖在文章末尾。 登录页面测试 UI测试 测试环境&#xff1a;Win11&#xff1b;IntelliJ IDEA 2023.2&#…