利用admixtools进行群体分析
admixtools分为好几个版本,包括linux软件版,以及两个R包版本,建议用admixtoolsR包,简单便捷,不需要自己建配置文件,我只简单的介绍一下这个包f2,f3,f4统计,f2,f3和f4描述种群如何相互关联,至于其他的功能自己去看,非常简单。
1.首先是包的安装
#用devtools下载github上的包
install.packages("devtools") # if "devtools" is not installed already
devtools::install_github("uqrmaie1/admixtools")
library(admixtools)
2.之后是admixtools对于数据格式的要求,之前的admixtools需要Eigenstrat格式,但是admixtools2可以直接使用plink格式。
#转换格式,保存到data文件夹
plink --vcf test.vcf --make-bed --allow-extra-chr --out ./data/test
3.然后是f2的计算
f2是计算将两个种群分开的遗传漂移量。它是等位基因频率的预期平方差。因为之后的计算都是基于f2进行的,所以需要先进行f2计算。
library(admixtools)
library(tidyverse)
prefix = '/data/test' #读取plink文件
my_f2_dir = '/dataf2/' #f2数据储存位置
extract_f2(prefix, my_f2_dir,pops=c('A','B'),maxmiss = 0) #计算f2,pops用于自定义样本,maxmiss 用于设定缺失率
#计算时间看自身数据大小,结果在dataf2文件夹中
其实f2和fst都可以粗略的对两个群体间分化程度进行比较,但是它们两个好像受群体大小的影响。
4.f3
f3(A;B,C)=f4(A,B;A,C)=1/2(f2(A,B)+f2(A,C)−f2(B,C))
根据公式可以看出f3(A;B,C) 可以检测A是否为B,C混合,A为B,C混合时,f3<0。
也可以把A固定,比如A设置为外群来比较B,C的关系。由于A为外群,f2(A,B),f2(A,C)基本是一致的,B和C种群越密切,f2(B,C))越小,f3(A;B,C)越大。但是要注意的是如果有的种群它与外群间的f2远小于其他种群的话,可能导致结果偏低。
f2_blocks = f2_from_precomp(my_f2_dir) #f2数据结果读取
popA = 'Denisova.DG'
popB = c('Altai_Neanderthal.DG', 'Vindija.DG')
popC = c('Chimp.REF', 'Mbuti.DG', 'Russia_Ust_Ishim.DG')
popD = c('EAR')
f3(f2_blocks, popA, popB, popC)
5.f4
f4(A,B;C,D)=1/2(f2(A,D)+f2(B,C)−f2(A,C)−f2(B,D))
f4测量两个总体对之间共享的漂移量。这个一般的把D设置为外群,A,B为姐妹群体,C为其他种群,由于D为外群,AD和BD基本一致,当B和C间密切时f2(B,C)<f2(A,C),f4为负数,反之同理。总结下来就是f4探究A,B群体是否与C群体有共享,当f4为正,表明A群体与C群体共享,f4为负,表明B群体与C群体共享。
f4(f2_blocks, popA, popB, popC, popD)
5.D检验
D检验用于检测群体间基因是否有交流,admixtools用的是BABA-ABBA方法,popA,popB为姐妹群体,popC为比较种群,popD为外群。当D>0时,A与C有交流,当D<0时,B与C有交流。
f4(prefix, popA, popB, popC, popD, f4mode = FALSE) #BABA-ABBA
我也是接触遗传进化不久,纯属自己理解,有错误希望可以指出。
具体使用手册
https://uqrmaie1.github.io/admixtools/articles/admixtools.html
利用admixtools进行群体分析相关推荐
- NLP实战:利用Python理解、分析和生成文本 | 赠书
导读:本文内容参考自<自然语言处理实战:利用Python理解.分析和生成文本>一书,由Hobson Lane等人所著. 本书是介绍自然语言处理(NLP)和深度学习的实战书.NLP已成为深度 ...
- python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc
利用Python处理和分析Excel表中数据实战 [利用python进行数据分析--基础篇]利用Python处理和分析Excel表中数据实战 原创 2017年06月28日 15:09:32 标签: p ...
- ML之FE:利用FE特征工程(分析两两数值型特征之间的相关性)对AllstateClaimsSeverity(Kaggle2016竞赛)数据集实现索赔成本值的回归预测
ML之FE:利用FE特征工程(分析两两数值型特征之间的相关性)对AllstateClaimsSeverity(Kaggle2016竞赛)数据集实现索赔成本值的回归预测 目录 输出结果 设计思路 核心代 ...
- 噪音曲线图测试软件,利用示波器统计工具分析有噪声信号之测量统计和余晖图...
利用示波器统计工具分析有噪声信号之测量统计和余晖图 2019-09-24 数字示波提供了多种基于统计的工具,除了前文提到的平均和直方图之外,测量参数统计和余晖图,也是非常有用的工具,协助快速获取有用信 ...
- 案例解读:利用12c渐进式DASH分析ON CPU
墨墨导读:本文来自墨天轮读者"Anbob"供稿,分享利用12c渐进式DASH分析"ON CPU"的过程. 墨天轮主页:https://www.modb.pro/ ...
- 利用python进行显著性分析
利用python进行显著性分析 实验数据 做的是朋友的 呃呃植物什么什么实验 ,相关数据已经打码,最右侧的一列是 spss 的显著性分析的结果 代码 最终设想是能实现和 SPSS 一样或者近似的结果 ...
- 利用CIBERSORT免疫细胞类群分析详细教程
利用CIBERSORT免疫细胞类群分析详细教程 查看全文 http://www.taodudu.cc/news/show-4326345.html 相关文章: 新冠免疫细胞培养.转染.核酸分析整合解决 ...
- 利用人工智能和进化分析,绘制出真核生物的蛋白质之间相互作用的3D模型
美国科学家主导的国际科研团队在最新一期<科学>杂志撰文指出,他们利用人工智能和进化分析,绘制出了真核生物的蛋白质之间相互作用的3D模型,首次确定了100多个可能的蛋白质复合物,并为700多 ...
- 利用HTTPWatch进行前端分析之 ——Time chart详细解析
利用HTTPWatch进行前端分析之 --Time chart详细解析 测试视频笔记 输入http://baidu.com后httpwatch抓取到的内容 1.可以从下图中看到302重定向,因为用户 ...
最新文章
- Kubernetes容器编排的三大支柱
- linux打印软件,KX-MB2033CN Linux
- 条件渲染-v-if // v-else // v-else if // v-show
- json处理第一篇:利用Jackson处理json
- 机器学习笔记(一):机器的学习定义、导数和最小二乘 | 凌云时刻
- 【java】io流之字符输出流:java.io.Writer类及子类的子类java.io.FileWriter
- java开发和安卓开发_Java开发和Android开发,有什么不同吗?
- Windows驱动开发WDM (2)- 一个简单的WDM驱动程序
- 怎样批评同事不会错!
- 《指弹:HARD RAIN》
- VC6.0 快捷键整理
- HDU 6411 带劲的and和
- [JavaME]手机玩点对点MSN传情动漫之补充说明
- 一步一步学习DVWA渗透测试(CSP Bypass绕过内容安全策略)-第十二次课
- Typescript 2+迷你书 :从入门到不放弃
- Java + lua = 王炸!!
- FTP 获取远程目录列表返回421错误
- 【漏洞复现】RTF URL Moniker 的逻辑漏洞 | OLE2Link 漏洞(CVE-2017-0199)
- 八行代码实现图像分类-神一样的Mathematica
- word、pdf等格式文件下载
热门文章
- 详解编辑距离算法-Levenshtein Distance
- macOS 12 Monterey 苹果最新系统v12.4正式版
- python量化交易编程自学网_Python量化交易编程自学 不会编程能做量化交易吗?...
- 360seo 如何进行网站优化,提高排名
- openmpi入门1-安装与测试
- DEFD/4/CPCAR_DROP_MPU:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=[STRING]
- 整理了阿里开源的15个开源项目,分享给大家
- 暑期学习日记19:CSS表单
- Python install包数据源设置
- vue报错:Error: [vuex] Do not mutate vuex store state outside mutation handlers.