bayenv2.0 检测环境相关变异位点

bayenv是一种贝叶斯方法,通过检测等位基因频率和生态变量之间的相关性或地理区域之间的极端等位基因频率差异来识别适应当地环境的位点。该方法可以从一组基因组变异中估计种群之间等位基因频率的协方差,在单个 SNP 上进行测试。
由于基因流,有效群体大小等群体演化历史的不同,造成了跨种群的等位基因频率有一定的相关性,使适应性受选择位点的检测变得复杂。如果结合于环境的相关性,可能更能解释位点的受选择情况。
分析案例:

10.1038/s41588-019-0382-2

软件下载

wget https://bitbucket.org/tguenther/bayenv2_public/src/master/bayenv2

输入文件格式介绍

The options of Bayenv2.0 depending on the type of available data.

SNPSFILE 包含每个SNP 在不同群体的等位基因数量,每一个位点由两行表示,分别是两个等位基因的数量。 等位基因 1 和等位基因 2 的总和为该群体样本量*2(不包括缺失数据)。
该文件由Tab分隔,可以使用PGDSpider[Lischer & Excoffier, Bioinformatics 2012]把VCF文件换成ENV格式。

0  0  0  0  0 
42 24 16 22 32 
2  0  0  1  1 
40 24 16 21 31

SNPFILESNPSFILE 输入文件格式相同,但是只包含单个 SNP 的数据,顺序相同。
ENVIRONFILE 是环境变量文件。 每个环境变量在群体之间进行标准化,即减去平均值,然后除以标准差。 每一行都是在各群体中的环境变量,Tab分隔。
MATRIXFILE 基因型协方差矩阵。 可以通过从程序的输出中复制和粘贴最后的矩阵。
SAMPLEFILE 是包含每个种群的样本大小的文件。 样本大小与它们在协方差矩阵中出现的顺序相同,即它们出现在 SNPSFILE 中的顺序。
这里展示了在52个群体里(列)的两个环境变量(行)的标准化数值。

-0.071   0.649  -0.963  -1.421  -1.008   0.359  -1.170   0.549   0.789   0.432   0.744   0.114   0.421   0.527   0.387   0.900   0.917   1.503   0.917   1.157   1.157   1.693   0.761   1.553   0.733   0.761   0.365  -1.666  -1.159  -0.098  -0.974  -0.439  -0.450  -1.147  -0.841   0.549  -0.361  -0.026  -1.198   0.739  -0.606   1.308   1.302   0.833  -0.662  -1.979  -1.599  -0.651   0.644  -1.655  -1.343  -1.276
 0.16423     0.89006     0.18691     0.28331    -0.24972     0.93543     0.15856    0.02813 -0.26107    -1.07763    -0.51624    -1.80914    -1.33281     0.19825    -0.31777     0.73696     0.72562     2.08656     0.72562     1.87675     1.87675    -2.60302     0.14722    -1.28177     1.97882     0.14722     2.22265     0.25496    -0.41417    -0.55027     0.22661    -0.86782    -0.34045    -0.41984    -0.08528    -0.26107    -1.03227    -0.68069     0.02246    -1.41787    -0.00022    -0.74307    -0.73739    -1.41787    -0.83379    -0.10796     0.14155     1.06585     0.89006     0.11886     1.00348     0.26630

参数介绍

Option  Description
-i SNPFILE: 输入SNP文件 (always required)
-e ENVIRONFILE: 环境变量文件 (required for test mode)
-m MATRIXFILE: 矩阵文件 (output of Bayenv2.0, required for test mode)
-s SAMPLEFILE: 每个群体的样本量 (only required for pool mode)
-k NUMRUNS: 迭代次数 (always required)
-r SEED: 随机种子 (integer)
-p NUMPOPS: 群体个数 (always required)
-n NUMENVIRON: 环境变量的个数 (required for test mode)
-t: rest mode (not matrix estimation), 对每一个SNP计算 Z, BF or ρ. 
-x: pool mode (to be used when the input data originates from pooled sequenc- ing of populations), calculate Z instead of BF (when in test mode, only one environmental variable)
-o OUTFILE: (optional) 输出文件的名字 (only available in test mode)
-f: write standardized allele frequencies X into a file
-c: calculate ρ in addition to BF
-X: calculate X T X
-z: calculate Z in test mode for unpooled data (only one environmental variable)

矩阵估计

./bayenv2 -i SNPSFILE -p NUMPOPS -k 100000 -r 63479 > matrix.out

这将每 500 次迭代将协方差矩阵的当前绘制输出到 matrix.out 中。
协方差矩阵中的行和列以与它们在等位基因计数文件中出现的相同的总体顺序出现。 协方差矩阵可以通过R中的image命令进行可视化,cov2cor函数可以用于将协方差矩阵转换为相关矩阵。

环境相关性估计

准备环境变量文件

估计 SNPFILE 的等位基因频率和 ENVIRONFILE 中的五个环境变量的贝叶斯因子。 输入文件是每一个SNP。

./bayenv2 -i SNPFILE -m MATRIXFILE -e ENVIRONFILE -p NUMPOPS -k 100000 -n 5 -t -r 429

如果没有请求特定的 OUTFILE (-o),则 SNP 的结果贝叶斯因子将附加到名为 bf 的文件中。
结果文件:

rs316  (X)  (X)  (X)    (X)

第一列给出了 SNPFILE, 后续列给出了每个环境变量的估计贝叶斯因子, 输出会附加到文件中,因此针对不同 SNP 的运行将按顺序出现在文件中。

以下脚本可以为SNPSFILE的所有SNPs转换成每个SNPFILE,计算BFs

./calc bfs.sh SNPSFILE ENVIRONFILE MATRIXFILE NUMPOPS NUMITER NUMENVIRON 

它将 SNPSFILE 的所有 SNP 拆分为单独的文件,然后运行 Bayenv2。

非参数检验

贝叶斯因子背后的线性模型可能不正确,或者异常值可能会误导模型。对于这种情况,使用-c参数,Bayenv2.0 计算标准化等位基因频率 (X),从中去除群体之间的协方差结构,计算 Spearman 等级相关系数 ρ。

./bayenv2 -i SNPFILE -m MATRIXFILE -e ENVIRONFILE -p NUMPOPS -k 100000 -n 1 -t -c -r 24542

此示例计算单个环境变量的贝叶斯因子、Spearman 的 ρ 和 Pearson 的相关系数。如果没有指定 OUTFILE (-o),结果将附加到名为 bf 的文件中。第一列给出了 SNPFILE 的名称,然后是一列显示贝叶斯因子、一列显示 Spearman 的 ρ 和一列显示 Pearson 的相关系数 r。如果使用了多个环境变量,则附加列(BF、ρ 和 rS)将附加到输出文件中。

参考:

  1. 官网
  2. manual
  3. Robust identification of local adaptation from allele frequencies.
    Genetics 2013 Sep;195(1):205-20. Günther T, Coop G.
  4. Using Environmental Correlations to Identify Loci Underlying Local Adaptation.
    GENETICS August 1, 2010 vol. 185 no. 4 1411-1423. Graham Coop, David Witonsky, Anna Di Rienzo and Jonathan K. Pritchard.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容