当前位置: 首页 > news >正文

【基于R语言群体遗传学】-16-中性检验Tajima‘s D及连锁不平衡 linkage disequilibrium (LD)

Tajima's D Test

已经开发了几种中性检验,用于识别模型假设的潜在偏差。在这里,我们将说明一种有影响力的中性检验,即Tajima's D(Tajima 1989)。Tajima's D通过比较数据集中的两个𝜃 = 4N𝜇估计值来工作。我们已经推导出了𝜃is,等于平均成对杂合性(average pairwise heterozygosity),当我们讨论共祖时(也称为Tajima的估计器)。当考虑DNA序列集合中的等位基因或SNP总数以及将它们联合到共同祖先的共祖树内包含的预期世代数时,可以得出另一种推导。这被称为Watterson的𝜃估计器或𝜃W(Yong 2019)。正如我们在共祖中所展示的,n个谱系的预期共祖时间是:

一组n个初始谱系到一个单一祖先的所有共祖时间的总和是:

在每次共祖事件之间的步骤中,有i + 1个谱系可能发生突变。因此,当考虑一段时间内所有谱系可能产生的等位基因数量时,我们乘以i + 1:

我们将树上所有谱系的总时间乘以每代突变率𝜇,得到我们期望在n个DNA序列样本中的等位基因总数,而4N是一个常数,所以我们可以将其放在求和之外

其中S是序列集合中SNP的数量。这可以重新排列以从SNP的数量估计𝜃W=4N𝜇:

请注意,Watterson的𝜃估计器需要了解一组谱系的共祖,但这是在1975年发表的,当时还没有发表超过两个谱系的共祖(Kingman 1982)。Tajima's D是平均成对杂合性𝜃估计值与从样本中SNP数量估计的𝜃之间的差异,除以该差异的预期方差的平方根:

而:

这看起来有点乱,但在各种位置反复出现两个不同的n求和,只需要计算一次然后填入。这可以用以下代码计算(平均成对差异和S也可以从数据集中计算,但为了简洁起见,我们在这里省略了)。 

Tajima's D是用来评估一个种群中中性突变(即没有自然选择影响的突变)的假设是否成立。它通过比较两个不同的估计器来衡量种群的遗传多样性和种群规模的变化,我们通过R语言实现:
 

# Calculates Tajima’s D# 平均成对差异,用于估计theta_IS
theta_IS <- 2.8# 数据集中的SNP数量
S <- 16# 采样的等位基因拷贝数
n <- 20# 初始化求和变量
i1_sum <- 0.0# 循环计算i1的和,这是Watterson's theta的一部分
for(i in 2:n-1){i1_sum <- i1_sum + 1/i
}# 计算Watterson's theta,它是基于序列多态性的一个种群规模的估计器
theta_W <- S / i1_sum# 初始化第二个求和变量
i2_sum <- 0.0# 循环计算i2的和,用于后续计算
for(i in 2:n-1){i2_sum <- i2_sum + 1/i^2
}# 计算期望值e1,它是Tajima's D公式中的项
e1 <- ((n+1)/(3*(n-1)) - 1/i1_sum) / i1_sum# 计算期望值e2,它也是Tajima's D公式中的项
e2 <- (2*(n^2+n+3)/(9*n*(n-1)) - (n+2)/(n*i1_sum) + i2_sum/i1_sum^2) / (i1_sum^2 + i2_sum)# 计算Tajima's D值,它衡量的是theta_IS和theta_W之间的标准化差异
(D <- (theta_IS - theta_W) / sqrt(e1*S + e2*S*(S-1)))

前三个变量将根据您的数据进行调整。在这个例子中,返回的D = -1.409。大于或小于2的D被认为是显著的;然而,实际的p值是通过模拟确定的。D的正值表示中间频率等位基因过多,这可能是由于人口减少或平衡选择,因为这两种情况都会延长人口历史较老部分的共祖事件时间。在更大的种群中,有更多的祖先可供选择,共祖是一种罕见的事件,并会膨胀𝜃IS,因为相对于𝜃W,较老的谱系在后代中以更高的频率共享。这种负D表示稀有频率等位基因过多(共祖的最近尖端被放大;它们对S和𝜃W的贡献比对平均成对差异的贡献更多,因为它们很稀有),这表明人口扩张、选择性清除或对有害等位基因的低效净化选择。关键是要计算多个位点的D值,并寻找异常值以标记假定选择候选者。人口统计学效应,如人口规模的变化,应该影响基因组中的所有位点,而选择(通常被认为)在其影响上是位点特异性的。还有许多其他的中性检验,如HKA检验(Hudson等人,1987)、McDonald-Kreitman检验(McDonald和Kreitman,1991)、Fay和Wu的H(Fay和Wu,2000)以及dN/dS比率(Yang和Bielawski,2000)。其中许多也利用了物种之间发生的遗传变化,它们都有各自的优点和缺点。

linkage disequilibrium (LD)

群体遗传学的一个独特性质,在进化博弈论等类似领域中并未发现,即不同位点甚至不同染色体上的等位基因可以“链接”(尽管并不总是与经典遗传学中的重组图谱同义),并且比随机预期更频繁地一起遗传。 连锁不平衡(LD)的程度由𝒟量化,不要与Tajima的D混淆。考虑两个位点:一个具有A/a多态性,另一个具有B/b多态性。我们对于跨位点一起遗传的等位基因之间的关联感到好奇。使用概率的乘法规则,我们期望AB单倍型(pAB)的频率是两个等位基因频率pApB的乘积,如果它们是独立遗传的话。这两者之间的差异由𝒟量化,作为连锁不平衡的一种度量。

根据AB单倍型是过量还是不足,𝒟可以是正数或负数(或者如果你从ab单倍型任意计算𝒟,符号会改变)。𝒟也可以从所有单倍型频率计算得出。

为了说明,假设我们有一个包含两个SNP的单倍型频率的小型数据集。一个是A/G多态性,另一个具有C/T等位基因:

让我们关注A-C单倍型。A等位基因的频率是0.57,C等位基因的频率是0.65

遗传漂变、种群结构和强选择是推动𝒟偏离零的力量。在大种群中,预测𝒟随时间呈指数衰减轨迹返回到零,就像在小种群中遗传漂变下的杂合性一样:

其中r是感兴趣的位点对之间预期的重组分数。这可以用来估计单倍型的年龄。最后,即使对于在不同染色体上独立分配的位点,𝒟也需要时间衰减。哈代-温伯格基因型可以在一代中恢复,但过去的事件对LD有持续影响,这可以用来推断更远的过去的过程,如种群中不再存在的种群结构。 当从实际数据集计算𝒟时,双重杂合子是不明确的。假设我们有一个个体的C/T,A/G SNP集合。C等位基因与第二个位置的A还是G等位基因相关联?通常我们不知道。但是,不明确的单倍型频率为我们提供了关于解决双重杂合子可能方式的信息。如果C-G单倍型非常常见,而C-A单倍型很少见,那么这表明C/T,A/G个体可能具有C-G/T-A单倍型。使用这种方法计算𝒟太繁琐,无法手工完成。 幸运的是,这正是EM算法发挥作用的地方。Kalinowski和Hedrick(2001)使用大角羊(Ovis canadensis)数据集(Boyce等人,1997)来估计LD。这个物种很罕见,样本量很小,所以我们需要从可用的数据中获得尽可能多的信息。 以下R代码实现了Kalinowski和Hedrick(2001)给出的方程式。它从猜测相等的单倍型频率和𝒟 = 0开始。然后它更新这个猜测,并迅速达到最大似然解𝒟 ≈0.0779和na-B单倍型频率基本为零。

# 定义各个复合基因型的频率
AABB <- 2  # 两个位点都是纯合子AABB的个体数量
AaBB <- 0  # 一个位点是杂合子,另一个是纯合子AaBB的个体数量
aaBB <- 0  # 一个位点是纯合子aa,另一个是纯合子BB的个体数量
AABb <- 0  # 第一个位点是纯合子AA,第二个位点是杂合子Bb的个体数量
AaBb <- 1  # 两个位点都是杂合子AaBb的个体数量(双杂合子)
aaBb <- 0  # 第一个位点是纯合子aa,第二个位点是杂合子Bb的个体数量
AAbb <- 1  # 第一个位点是纯合子AA,第二个位点是纯合子bb的个体数量
Aabb <- 0  # 第一个位点是杂合子Aa,第二个位点是纯合子bb的个体数量
aabb <- 0  # 两个位点都是纯合子aabb的个体数量# 使用上述输入运行函数‘Dcalc’
Dcalc(AABB, AaBB, aaBB, AABb, AaBb, aaBb, AAbb, Aabb, aabb)

𝒟与用于衡量线性相关性的统计相关系数(皮尔逊)“r”有关。让我们使用ℛ表示相关系数,以避免将其与重组分数r混淆。𝒟2除以所有等位基因频率的乘积等于ℛ^2。

此外,奇怪的是,如果我们将ℛ2乘以采样的染色体总数(如果我们观察n个二倍体个体,通常为2n),那么我们就会得到一个具有一个自由度的𝜒2统计量:

然而,这并不令人惊讶。在如此小的样本量下,即使LD非常强,检测偏差的能力也非常有限。最后,我们希望指出,EM算法是一种“爬山”算法,它找到一个局部最大似然峰值。可能存在其他峰值,可以使用MCMC方法来处理这个问题,并更全面地探索复杂的似然表面。 

相关文章:

【基于R语言群体遗传学】-16-中性检验Tajima‘s D及连锁不平衡 linkage disequilibrium (LD)

Tajimas D Test 已经开发了几种中性检验&#xff0c;用于识别模型假设的潜在偏差。在这里&#xff0c;我们将说明一种有影响力的中性检验&#xff0c;即Tajimas D&#xff08;Tajima 1989&#xff09;。Tajimas D通过比较数据集中的两个&#x1d703; 4N&#x1d707;估计值来…...

防火墙组网与安全策略实验

实验要求&#xff1a; 实现&#xff1a; 防火墙接口配置&#xff1a; 所有接口均配置为三层接口 由于G1/0/3口下为vlan环境&#xff0c;所以防火墙需要配置子接口 &#xff1a; 交换机划分vlan分开生产区和办公区、配置trunk干道 &#xff1a; 安全策略&#xff1a; 生产区访…...

xmind梳理测试点,根据这些测试点去写测试用例

基本流&#xff08;冒烟用例必写&#xff09; 备选流 公共测试点&#xff1a;...

MICCAI 2024 每日一篇论文 纯纯直读 CUTS:用于多粒度无监督医学图像分割的深度学习和拓扑框架

MICCAI 2024 CUTS: A Deep Learning and Topological Framework for Multigranular Unsupervised Medical Image Segmentation CUTS: 用于多粒度无监督医学图像分割的深度学习和拓扑框架 作者 陈璐1*、Matthew Amodio1*、梁博伦.沈2、冯高3、阿曼阿维斯塔4、Sanjay Aneja3,5…...

实验9 存储过程与函数的创建管理实验

一、实验目的&#xff1a; 理解存储过程和函数的概念。掌握创建存储过程和函数的方法。掌握执行存储过程和函数的方法。掌握游标的定义、使用方法。 二、实验内容 1&#xff0e;某超市的食品管理的数据库的Food表&#xff0c;Food表的定义如表所示&#xff0c; Food表的定义…...

计算机网络--tcpdump和iptable设置、内核参数优化策略

tcpdump工具 tcpdump命令&#xff1a; 选项字段&#xff1a; 过滤表达式&#xff1a; 实用命令&#xff1a; TCP三次握手抓包命令&#xff1a; #客户端执行tcpdump 抓取数据包 tcpdump -i etho tcp and host 192.168.12.36 and port 80 -W timeout.pcapnetstat命令 netst…...

Vue3框架搭建2:axios+typescript封装

仓库地址&#xff1a;https://github.com/buguniao5213/LuArch 1、安装axios npm install axios2、创建文件 先创建一个文件夹&#xff1a; ├── src/ │ ├── api/ │ │ ├── index.ts/ #编写axios封装代码 │ │ └── example.ts/ #定义…...

【机器学习】使用决策树分类器预测汽车安全性的研究与分析

文章目录 一、决策树算法简介决策树的结构分类和回归树 (CART)决策树算法术语决策树算法直觉 二、属性选择度量信息增益熵 基尼指数计算分割基尼指数的步骤 三、决策树算法中的过度拟合避免过度拟合的方法 四、导入库和数据可视化探索性数据分析重命名列名查看数据集的总结信息…...

【香橙派 Orange pi AIpro】| 开发板深入使用体验

目录 一. &#x1f981; 写在前面二. &#x1f981; 愉快的安装流程2.1 安装前准备2.2 流程准备2.2.1 烧录镜像2.2.2 开机2.2.3 连网2.2.4 SSH远程连接开发板 2.3 体验 AI 应用样例 三. &#x1f981; 写在最后 一. &#x1f981; 写在前面 大家好&#xff0c;我是狮子呀&…...

初识Laravel(Laravel的项目搭建)

初识Laravel&#xff08;Laravel的项目搭建&#xff09; 一、项目简单搭建&#xff08;laravel&#xff09;1.首先我们确保使用国内的 Composer 加速镜像&#xff08;[加速原理](https://learnku.com/php/wikis/30594)&#xff09;&#xff1a;2.新建一个名为 Laravel 的项目&a…...

RequestContextHolder多线程获取不到request对象

RequestContextHolder多线程获取不到request对象&#xff0c;调用feign接口时&#xff0c;在Feign中的RequestInterceptor也获取不到HttpServletRequest问题解决方案。 1.RequestContextHolder多线程获取不到request对象 异常信息&#xff0c;报错如下&#xff1a; 2024-07-0…...

打造高效工作与生活质量的完美平衡

在快节奏的编程行业中&#xff0c;保持健康的工作与生活平衡是至关重要的。长时间坐在电脑前、面对紧凑的项目截止日期和频繁的加班文化&#xff0c;很容易导致身心健康问题&#xff0c;如眼睛疲劳、颈部和背部疼痛、压力累积、睡眠障碍乃至慢性疾病。因此&#xff0c;采取积极…...

【零基础】学JS之APIS第四天

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...

走进linux

1、为什么要使用linux 稳定性和可靠性&#xff1a; Linux内核以其稳定性而闻名&#xff0c;能够持续运行数月甚至数年而不需要重新启动。这对于服务器来说至关重要&#xff0c;因为它们需要保持长时间的稳定运行&#xff0c;以提供持续的服务 安全性&#xff1a; Linux系统…...

智能家居开发新进展:乐鑫 ESP-ZeroCode 与亚马逊 ACK for Matter 实现集成

日前&#xff0c;乐鑫 ESP-ZeroCode 与亚马逊 Alexa Connect Kit (ACK) for Matter 实现了集成。这对智能家居设备制造商来说是一项重大进展。开发人员无需编写固件或开发移动应用程序&#xff0c;即可轻松设计符合 Matter 标准的产品。不仅如此&#xff0c;开发者还可以在短短…...

本地事务和分布式事务

一、本地事务 1、事务的基本特性 数据库事务的几个基本特性&#xff1a;原子性、一致性、隔离性、持久性。  原子性&#xff1a;一系列的操作整体不可拆分&#xff0c;要么同时成功&#xff0c;要么同时失败。  一致性&#xff1a;数据在事务的前后&#xff0c;业务整体一…...

昇思25天学习打卡营第14天|基于MindNLP的文本解码原理

基于MindNLP的文本解码原理 文本解码 文本解码是自然语言处理中的一个关键步骤,特别是在任务如机器翻译、文本摘要、自动回复生成等领域。解码过程涉及将编码器(如语言模型、翻译模型等)的输出转换为可读的文本序列。以下是一些常见的文本解码方法和原理: 1. 自回归解码:…...

Base64文件流查看下载PDF方法-CSDN

问题描述 数票通等接口返回的PDF类型发票是以Base64文件流的方式返回的&#xff0c;无法直接查看预览PDF发票&#xff0c; 处理方法 使用第三方在线工具&#xff1a;https://www.jyshare.com/front-end/61/ 在Html代码框中粘贴如下代码 <embed type"application/pd…...

基于TCP的在线词典系统(分阶段实现)(阻塞io和多路io复用(select)实现)

1.功能说明 一共四个功能&#xff1a; 注册 登录 查询单词 查询历史记录 单词和解释保存在文件中&#xff0c;单词和解释只占一行, 一行最多300个字节&#xff0c;单词和解释之间至少有一个空格。 2.功能演示 3、分阶段完成各个功能 3.1 完成服务器和客户端的连接 servic…...

设置DepthBufferBits和设置DepthStencilFormat的区别

1&#xff09;设置DepthBufferBits和设置DepthStencilFormat的区别 2&#xff09;Unity打包exe后&#xff0c;游戏内拉不起Steam的内购 3&#xff09;Unity 2022以上Profiler.FlushMemoryCounters耗时要怎么关掉 4&#xff09;用GoodSky资产包如何实现昼夜播发不同音乐功能 这是…...

MySQL零散拾遗

mysql中大小写敏感吗&#xff1f; MySQL数据库默认情况下是不区分大小写的&#xff0c;这意味着在查询时&#xff0c;字段名和值的大小写不会影响结果。然而&#xff0c;这种默认行为可能会根据操作系统和配置的不同而有所变化。 在某些操作系统上&#xff0c;比如Linux&…...

kali安装vulhub遇到的问题及解决方法(docker及docker镜像源更换)

kali安装vulhub&#xff1a; 提示&#xff1a;项目地址 https://github.com/vulhub/vulhub 项目安装&#xff1a; git clone https://github.com/vulhub/vulhub.git 安装docker 提示&#xff1a;普通用户请使用sudo&#xff1a; 首先安装 https 协议、CA 证书 apt-get in…...

开源数字人项目Hallo

硬件条件&#xff1a; gpu最低12G 软件&#xff1a; cuda需支持 Python选择3.10吧&#xff0c;我的版本3.11 源码&#xff1a; GitHub - fudan-generative-vision/hallo: Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image Animation models文件&…...

Linux 命令集

修改主机名/关机/重启 1&#xff09;hostnamectl 命令 $ hostnamectl # 查看操作系统信息&#xff08;内核、操作系统发行版本、主机名等&#xff09; $ hostnamectl set-hostname redhatu8 # 修改主机名2&#xff09;shutdown 关机 $ shutdown -h now # 马上关机3&#…...

QML 鼠标和键盘事件

学习目标&#xff1a;Qml 鼠标和键盘事件 学习内容 1、QML 鼠标事件处理QML 直接提供 MouseArea 来捕获鼠标事件&#xff0c;该操作必须配合Rectangle 获取指定区域内的鼠标事件, 2、QML 键盘事件处理&#xff0c;并且获取对OML直接通过键盘事件 Keys 监控键盘任意按键应的消…...

WPF引入多个控件库使用

目的 设计开发时有的控件库的一部分符合我们想要的UI样式&#xff0c;另一部分来自另一个控件库&#xff0c;想把两种库的样式做一个整合在同一个控件资源上。单纯通过引用的方式会导致原有样式被覆盖。这里通过设置全局样式的方式来实现。 1.安装控件库nuget包&#xff1a;H…...

【Linux】1w详解如何实现一个简单的shell

目录 实现思路 1. 交互 获取命令行 2. 子串分割 解析命令行 3. 指令的判断 内建命令 4. 普通命令的执行 补充&#xff1a;vim 文本替换 整体代码 重点思考 1.getenv和putenv是什么意思 2.代码extern char **environ; 3.内建命令是什么 4.lastcode WEXITSTATUS(sta…...

单目测距 单目相机测距 图片像素坐标转实际坐标的一种转换方案

需要相机位置固定 原图 红色的点是我们标注的像素点&#xff0c;这些红色的点我们知道它的像素坐标&#xff0c;以及以右下角相机位置为原点的x y 实际坐标数值 通过转换&#xff0c;可以得到整个图片内部其余像素点的实际坐标&#xff0c; 这些红色的点是通过转换关系生成的&…...

ensp防火墙综合实验作业+实验报告

实验目的要求及拓扑图&#xff1a; 我的拓扑&#xff1a; 更改防火墙和交换机&#xff1a; [USG6000V1-GigabitEthernet0/0/0]ip address 192.168.110.5 24 [USG6000V1-GigabitEthernet0/0/0]service-manage all permit [Huawei]vlan batch 10 20 [Huawei]int g0/0/2 [Huawei-…...

【大模型LLM面试合集】大语言模型基础_Word2Vec

Word2Vec 文章来源&#xff1a;Word2Vec详解 - 知乎 (zhihu.com) 1.Word2Vec概述 Word2Vec是google在2013年推出的一个NLP工具&#xff0c;它的特点是能够将单词转化为向量来表示&#xff0c;这样词与词之间就可以定量的去度量他们之间的关系&#xff0c;挖掘词之间的联系。 …...

长沙网站优化公司/刷推广链接的网站

IP(Intelligent Property)核是具有知识产权核的集成电路芯核总称&#xff0c;是经过反复验证过的、具有特定功能的宏模块&#xff0c;与芯片制造工艺无关&#xff0c;可以移植到不同的半导体工艺中。到了SOC阶段&#xff0c;IP核设计已经成为ASIC电路设计公司和FPGA提供商的重要…...

网站怎么推广怎么做/百度网站收录

断点调试的启动方式android studio启动断点调试的方法有两种&#xff0c;其一是下好断点&#xff0c;然后点击以Debug的形式编译运行程序。第二种方式是在程序运行中启动断点调试。方式&#xff1a;启动app后&#xff0c;点击RUN—>,弹出如下的提示框&#xff1a;在需要的地…...

哈尔滨最新/关键词优化如何

new Date(str)MM-dd-yyyy yyyy/MM/dd MM/dd/yyyy MMMM dd, yyyy MMM dd, yyyy dd MMM yyyydd MMMM yyyyMMM dd yyyyMMMM dd yyyy转载于:https://www.cnblogs.com/qinghao/archive/2010/01/18/1651145.html...

哪些域名适合营销型网站/苏州seo建站

centos 7 中没有iptables 和service iptables save 指令使用失败问题解决方案参考文章&#xff1a; &#xff08;1&#xff09;centos 7 中没有iptables 和service iptables save 指令使用失败问题解决方案 &#xff08;2&#xff09;https://www.cnblogs.com/AmbitiousMice/…...

百度网站推广费用/18款免费软件app下载

Copy to Clipboard引用的内容&#xff1a;[www.veryhuo.com]class fancyCache{private static $_instance NULL;protected $_options array();/*** 初始化构造函数* $cacheDir : 缓存文件目录* $expire : 缓存文件有效期,单位为秒* $file_ext &#xff1a; 缓存文件后缀*/publ…...

励志做的很好的网站/中国腾讯和联通

注意&#xff1a; 如果dll文件不写相对路径&#xff0c;需要吧dll文件和执行代码放在同一个文件夹中 参考文章&#xff1a;https://blog.csdn.net/mixiao25184/article/details/18604385 文件结构&#xff1a; 代码如下&#xff1a; //BIN_LIB为JAR包中存放DLL的路径//getReso…...