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进行群体分析相关推荐

  1. NLP实战:利用Python理解、分析和生成文本 | 赠书

    导读:本文内容参考自<自然语言处理实战:利用Python理解.分析和生成文本>一书,由Hobson Lane等人所著. 本书是介绍自然语言处理(NLP)和深度学习的实战书.NLP已成为深度 ...

  2. python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc

    利用Python处理和分析Excel表中数据实战 [利用python进行数据分析--基础篇]利用Python处理和分析Excel表中数据实战 原创 2017年06月28日 15:09:32 标签: p ...

  3. ML之FE:利用FE特征工程(分析两两数值型特征之间的相关性)对AllstateClaimsSeverity(Kaggle2016竞赛)数据集实现索赔成本值的回归预测

    ML之FE:利用FE特征工程(分析两两数值型特征之间的相关性)对AllstateClaimsSeverity(Kaggle2016竞赛)数据集实现索赔成本值的回归预测 目录 输出结果 设计思路 核心代 ...

  4. 噪音曲线图测试软件,利用示波器统计工具分析有噪声信号之测量统计和余晖图...

    利用示波器统计工具分析有噪声信号之测量统计和余晖图 2019-09-24 数字示波提供了多种基于统计的工具,除了前文提到的平均和直方图之外,测量参数统计和余晖图,也是非常有用的工具,协助快速获取有用信 ...

  5. 案例解读:利用12c渐进式DASH分析ON CPU

    墨墨导读:本文来自墨天轮读者"Anbob"供稿,分享利用12c渐进式DASH分析"ON CPU"的过程. 墨天轮主页:https://www.modb.pro/ ...

  6. 利用python进行显著性分析

    利用python进行显著性分析 实验数据 做的是朋友的 呃呃植物什么什么实验 ,相关数据已经打码,最右侧的一列是 spss 的显著性分析的结果 代码 最终设想是能实现和 SPSS 一样或者近似的结果 ...

  7. 利用CIBERSORT免疫细胞类群分析详细教程

    利用CIBERSORT免疫细胞类群分析详细教程 查看全文 http://www.taodudu.cc/news/show-4326345.html 相关文章: 新冠免疫细胞培养.转染.核酸分析整合解决 ...

  8. 利用人工智能和进化分析,绘制出真核生物的蛋白质之间相互作用的3D模型

    美国科学家主导的国际科研团队在最新一期<科学>杂志撰文指出,他们利用人工智能和进化分析,绘制出了真核生物的蛋白质之间相互作用的3D模型,首次确定了100多个可能的蛋白质复合物,并为700多 ...

  9. 利用HTTPWatch进行前端分析之 ——Time chart详细解析

    利用HTTPWatch进行前端分析之  --Time chart详细解析 测试视频笔记 输入http://baidu.com后httpwatch抓取到的内容 1.可以从下图中看到302重定向,因为用户 ...

最新文章

  1. Kubernetes容器编排的三大支柱
  2. linux打印软件,KX-MB2033CN Linux
  3. 条件渲染-v-if // v-else // v-else if // v-show
  4. json处理第一篇:利用Jackson处理json
  5. 机器学习笔记(一):机器的学习定义、导数和最小二乘 | 凌云时刻
  6. 【java】io流之字符输出流:java.io.Writer类及子类的子类java.io.FileWriter
  7. java开发和安卓开发_Java开发和Android开发,有什么不同吗?
  8. Windows驱动开发WDM (2)- 一个简单的WDM驱动程序
  9. 怎样批评同事不会错!
  10. 《指弹:HARD RAIN》
  11. VC6.0 快捷键整理
  12. HDU 6411 带劲的and和
  13. [JavaME]手机玩点对点MSN传情动漫之补充说明
  14. 一步一步学习DVWA渗透测试(CSP Bypass绕过内容安全策略)-第十二次课
  15. Typescript 2+迷你书 :从入门到不放弃
  16. Java + lua = 王炸!!
  17. FTP 获取远程目录列表返回421错误
  18. 【漏洞复现】RTF URL Moniker 的逻辑漏洞 | OLE2Link 漏洞(CVE-2017-0199)
  19. 八行代码实现图像分类-神一样的Mathematica
  20. word、pdf等格式文件下载

热门文章

  1. 详解编辑距离算法-Levenshtein Distance
  2. macOS 12 Monterey 苹果最新系统v12.4正式版
  3. python量化交易编程自学网_Python量化交易编程自学 不会编程能做量化交易吗?...
  4. 360seo 如何进行网站优化,提高排名
  5. openmpi入门1-安装与测试
  6. DEFD/4/CPCAR_DROP_MPU:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=[STRING]
  7. 整理了阿里开源的15个开源项目,分享给大家
  8. 暑期学习日记19:CSS表单
  9. Python install包数据源设置
  10. vue报错:Error: [vuex] Do not mutate vuex store state outside mutation handlers.