【基于R语言群体遗传学】-3-计算等位基因频率

书接上文,我们讲完了哈代温伯格基因型频率,也使用数据进行了拟合,那么接下来就是考虑一些计算的问题:

【基于R语言群体遗传学】-1-哈代温伯格基因型比例-CSDN博客

【基于R语言群体遗传学】-2-模拟基因型(simulating genotypes)-CSDN博客

如果我们有群体样本中个体的基因型,那么我们不需要假设哈代-温伯格比例来从表型频率估计等位基因频率。我们可以简单地计数等位基因。每个杂合子有一个等位基因的拷贝,而纯合子有两个拷贝(再次假设是一个二倍体生物)。由于每个采样的个体在每个位点都有两个拷贝,所以观察到的等位基因总数是采样个体数量的两倍。

然后,我们可以通过将杂合子的数量加上纯合子数量的两倍(因为每个纯合子有两个等位基因的拷贝),然后除以采样个体数量的两倍(因为每个采样的个体携带两个位点),来计算特定等位基因的频率:

哈代温伯格假设

为了得到p² + 2pq + q²并运行这里用来说明期望的模拟,我们做了以下假设:

• 被考虑的有机体是二倍体。

• 被考虑的有机体仅通过性繁殖(无克隆)。

• 不存在具有不同等位基因频率的独立种群,无论它们之间是否有迁移。

• 我们所考虑的种群在大小上是无限大的。

• 所有交配都是随机发生的。

• 没有遗传变异受到自然选择的影响(等位基因的生存和繁殖差异)。

• 没有遗传变异因突变而丢失或获得(没有等位基因突变为新的等位基因)。

• 世代之间不重叠。一旦繁殖发生,所有的亲本消失,只有产生的后代贡献给下一代。

显然,这些期望在生物学上并不非常现实。然而,哈代-温伯格期望对大多数这些假设的违反都相当稳健,除了前三个:单倍体或多倍体有机体必须以不同但合理的方式处理,通过无性繁殖的有机体可能与哈代-温伯格期望有很大偏差,种群细分可能导致显著偏差。

简单的疾病例子

观察到三种隐性疾病表型的携带者(杂合子)受影响个体(纯合子)的数量:囊性纤维化(CF)、镰状细胞贫血(SC)和β-地中海贫血(βT)。数据改编自Lazarin等人2013年的研究。

我们首先看看筛查中囊性纤维化(CF)纯合子的个体数量:这个数字(9)表明这九个个体总共携带了十八个CF等位基因。现在,携带者(杂合子)的数量相当多(842),对于一个罕见等位基因来说,这可能是我们预期的情况,因此我们可以计算得到CF等位基因频率:

 p <- (9+842/2)/23369

得到等位基因频率约为1.8%

现在,我们有了一个等位基因频率值(从样本中估计的种群频率),它是直接从观测数据计算出来的。在哈代-温伯格原理的假设下,我们期望可以用公式2p(1-p)从这个等位基因频率计算出杂合子的数量。因此,我们预期的携带者频率可以计算为:

2*p*(1-p)

我们得到: 0.03636809

这意味着我们预期大约有3.64%的个体是CF等位基因的携带者。 这与实际观测到的杂合子基因型频率相比如何?在23,369名接受筛查的人中,共观察到842名杂合子。即842/23,369,约等于0.03603,或大约3.6%。预期值和观测值之间的差异非常小。让我们对镰状细胞贫血(SC)和β-地中海贫血(βT)进行相同的计算,我们可以看到2p(1-p)是观测到的杂合子频率的一个非常好的预测器。

顺便说一下,我们还可以看到,对于隐性遗传疾病,携带者的频率(杂合子)远高于受影响个体的频率(纯合子)。这符合哈代-温伯格预测。杂合子与纯合子的比例预计为:

如果说p的值非常小,那么1-p的值就接近为1

从数据库进行计算

我们使用popgenr数据集,我们首先得安装,我们使用两种方式:

如果可以直接下载,则:

install.packages("popgenr")
library("popgenr")

如果下载不成功可以手动安装,官网下载包,把安装包放到路径中
CRAN: Package popgenr (r-project.org)

getwd()
install.packages("popgenr_0.2.tar.gz",repos=NULL)
library("popgenr")

这个snp数据集来自人类基因组的二十五个随机采样的等位基因和基因型频率,现在应该作为对象snp加载。这个snp数据集是从1000 Genomes项目(http://www.internationalgenome.org)中提取的,这是一个全球已知人类遗传变异的公共库。

data(snp)
str(snp)

对于分类变量,我们可以进行可视化:

对于R语言的统计知识,可以看我的博客:
【R语言从0到精通】-3-R统计分析(列联表、独立性检验、相关性检验、t检验)_r 列联表分析-CSDN博客

plot(snp$type)

我们还是对于数据进行哈代温伯格预测与实际对照:

plot(0, 0, type="n", xlim=c(0, 1), ylim=c(0, 1),
     xlab="Allele frequencies", ylab="Genotype frequencies")
curve(x^2, 0, 1, col="green", lwd=2, add=TRUE)
text(0.6, 0.2, "Homozygotes", col="green")
curve(2*x*(1-x), 0, 1, col="blue", lwd=2, add=TRUE)
text(0.25, 0.5, "Heterozygotes", col="blue")
points(snp$p, snp$hom, pch = 19, col = "green")
points(snp$p, snp$het, pch = 19, col = "blue")

 

总体而言,预测和测量数据之间似乎有很好的一致性。几个特点显而易见。与预测的偏差通常表现为杂合性较低,纯合性较高。这与人口统计学效应一致,例如不同种群间等位基因频率的差异,这将在后面更详细地讨论。此外,注意到图中大多数点的等位基因频率小于50%;这是因为我们正在绘制的变异是由突变产生的新的等位基因变异(衍生状态),这些变异来自于预先存在的遗传序列(通过与人类最近的亲属比较确定的祖先状态),这些变异往往开始时相当罕见。当我们开始预测等位基因频率的随机波动并讨论遗传漂移的概念时,我们将再次回顾这个想法。

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

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

相关文章

PyGithub,一个超酷的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个超酷的 Python 库 - pygithub。 Github地址&#xff1a;https://github.com/pygithub/pygithub GitHub 是目前最流行的代码托管平台之一&#xff0c;提供了丰富的API接口来…

“仓库寻物难”该如何解决?

我们都知道&#xff0c;现代仓库面积庞大&#xff0c;存储的物品种类和数量繁多&#xff0c;“寻物难”是传统仓库管理的一大痛点。以往出入库和拣货主要依赖人工寻找&#xff0c;效率低下的同时还很容易出错&#xff0c;终将引发管理困难和损失。“闪灯”是直观实用的提示方式…

买超声波清洗机注意什么?四大高分超声波清洗机种草,别错过!

相信大家都知道超声波清洗机&#xff0c;每次眼镜脏的时候&#xff0c;去眼镜店里让老板帮忙清洗&#xff0c;她们用的就是超声波清洗机&#xff0c;通过超声波的原理深入物品深处清洁&#xff0c;清洁效果非常好。下面给大家分享几款市面上比较火的超声波清洗机&#xff0c;感…

PHP验证日本固定电话号码

日本电话号码格式众多&#xff0c;验证起来比较头大&#xff0c;现在咱们来一个简单的总结哈 为了简单起见&#xff0c;使用PCRE 函数preg_match通过匹配正则表达式来实现验证。 function checkGdTelLandline(string $str): int|false {return preg_match("/\A0(\d{1}[-…

WPF自定义控件,实现含有箭头的文本或内容控件

文章目录 背景效果预览方案设计分析基本布局添加控件自定义属性添加属性值监听获取点数据 全部代码HorizontalLineContent.xamlHorizontalLineContent.xaml.csDirectionAlignment.csContentDirectionAlignment.cs 使用方法 背景 因为项目开发需要&#xff0c;要在WPF上绘制TCP…

vue选择上下周,拖拽列表,随机背景色

安装拖拽插件 npm install vuedraggable <template><!--排产计划--><div class"app-container"><div class"mainbox"><div class"table-container table-fullscreen"><div class"title-name">…

打假“AI换脸”,外滩大会·全球Deepfake攻防挑战赛启动报名

近日&#xff0c;外滩大会全球Deepfake攻防挑战赛正式启动报名。该赛事提供百万级的数据集&#xff0c;针对“AI换脸”的欺诈风险进行攻防实战演练&#xff0c;并设立100万元人民币的奖金池&#xff0c;鼓励推动AI向善的技术人才。 大赛由蚂蚁集团主办、蚂蚁数科承办&#xff0…

JeecgFlow定时器

概念 定时器事件&#xff08;Timer Events&#xff09;是由定义的计时器触发的事件。它们可以用作启动事件、中间事件或边界事件。边界事件可以中断&#xff0c;也可以不中断。 Camunda定时器事件包括&#xff1a;Timer Start Event&#xff08;定时启动事件&#xff09;、Time…

Unity解决报错:Execution failed for task ‘:unityLibrary:BuildIl2CppTask‘

目录 编辑器版本2020.3.33f1 及 2021.3.15f1 直接导出apk或aar报错(虽然会自动生成temp的AS工程&#xff0c;经过打开验证 也是无解的)&#xff1b; 唯一解决办法&#xff1a;Unity导出As工程没问题&#xff1b; 编辑器版本2020.3.33f1 及 2021.3.15f1 直接导出apk或aar报…

野外/工地车流计数摄像头,单人即可安装,简单低成本

在野外或工地这样的特殊环境中&#xff0c;对车流进行准确计数对于交通管理、资源调配以及安全保障都具有重要意义。而野外/工地车流计数摄像头的出现&#xff0c;以其单人即可安装、简单低成本的特点&#xff0c;为解决这些场景中的车流统计问题提供了理想的解决方案。 一、野…

《Linux开发笔记》C语言编译过程

C语言编译过程 编译过程主要分为四步&#xff1a;预处理、编译、汇编、链接 预处理&#xff1a;主要用于查找头文件、展开宏 编译&#xff1a;把.i文件编译成.s文件 汇编&#xff1a;把.s文件汇编为.o文件 链接&#xff1a;把多个.o文件链接成一个app 以上四个步骤主要由3个命…

外贸企业选择什么网络?

随着全球化的深入发展&#xff0c;越来越多的国内企业将市场拓展到海外。为了确保外贸业务的顺利进行&#xff0c;企业需要建立一个稳定、安全且高速的网络。那么&#xff0c;外贸企业应该选择哪种网络呢&#xff1f;本文将为您详细介绍。 外贸企业应选择什么网络&#xff1f; …

d3dx9_43.dll丢失怎么解决?d3dx9_43.dll怎么安装详细教程

在使用计算机中&#xff0c;如果遇到d3dx9_43.dll丢失或许找不到d3dx9_43.dll无法运行打开软件怎么办&#xff1f;这个是非常常见问题&#xff0c;下面我详细介绍一下d3dx9_43.dll是什么文件与d3dx9_43.dll的各种问题以及d3dx9_43.dll丢失的多个解决方法&#xff01; 一、d3dx9…

四川赤橙宏海商务信息咨询有限公司是真的吗?

在数字经济的浪潮下&#xff0c;电商行业日新月异&#xff0c;各种创新模式层出不穷。其中&#xff0c;抖音电商以其独特的社交属性和短视频传播优势&#xff0c;迅速崛起成为电商领域的一匹黑马。在这个风起云涌的市场中&#xff0c;四川赤橙宏海商务信息咨询有限公司凭借其专…

AI网络爬虫004:从东方财富网批量获取上市公司的全部新闻资讯

文章目录 一、目标二、输入内容三、输出内容一、目标 用户输入一个上市公司名称,然后程序自动从东方财富网批量获取上市公司的全部新闻资讯 查看相关元素在源代码中的位置: 新闻标题:<a href="http://finance.eastmoney.com/a/202405233084538683.html" targ…

vue3 elementplus Springboot 课程购买系统案例源码

系统演示 项目获取地址 Springboot vue3 elementplus 课程购买系统案例源码 附带系统演示&#xff0c;环境搭建教程,开发工具 技术栈:SpringBoot Vue3 ElementPlus MybatisPlus 开发工具:idea 后端构建工具:Maven 前端构建工具:vite 运行环境:Windows Jdk版本:1.8 Nod…

云数据中心运维新纪元:让Linux服务器如虎添翼

文章目录 一、Linux系统管理的高级技巧1. 性能调优与监控&#xff1a;2. 自动化与脚本编写&#xff1a;3. 文件系统与存储管理&#xff1a; 二、服务器配置优化的策略1. 硬件选型与配置&#xff1a;2. 网络配置与优化&#xff1a;3. 应用部署与调优&#xff1a; 三、安全策略的…

Pytest+Allure+Yaml+PyMsql+Jenkins+Gitlab接口自动化(四)Jenkins配置

一、背景 Jenkins&#xff08;本地宿主机搭建&#xff09; 拉取GitLab(服务器)代码到在Jenkins工作空间本地运行并生成Allure测试报告 二、框架改动点 框架主运行程序需要先注释掉运行代码&#xff08;可不改&#xff0c;如果运行报allure找不到就直接注释掉&#xff09; …

Nacos 2.x 系列【19】元数据管理

文章目录 1. 概述2. 元数据管理2.1 服务元数据2.2 实例元数据2.2.1 控制台2.2.2 客户端2.2.3 Open API 1. 概述 元信息&#xff1a;Nacos数据&#xff08;如配置和服务&#xff09;描述信息&#xff0c;如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签 (…

大数据之Zookeeper部署

文章目录 集群规划环境准备集群部署参考资料 集群规划 确定使用Hadoop101、hadoop102和hadoop103三台服务器来构建Zookeeper集群。 hadoop101hadoop102hadoop103zookeeperzookeeperzookeeper 环境准备 安装zookeeper前需要确保下面的环境配置成功&#xff0c;具体可以参考大…