软件fastsimcoal2输入文件说明

群体演化包括有效群体大小(Ne)变化、基因流,迁徙,分化等,这些都会对等位基因频率产生显著影响。同样,我们可以通过等位基因频率去预估这些影响种群变化的历史事件。fastsimcoal2是一个可以用来模拟种群动态历史的软件。
fastsimcoal2是由伯尔尼大学的Laurent Excoffier小组2016年开发的一种非常灵活的人口统计(Demography)建模软件。 它通过执行合并模拟,使用位点频谱(SFS),推断最适合所观察数据的模型参数。
fastsimcoal2最关键的步骤就是完成自己的配置文件,接下来将会介绍配置文件中需要有哪些信息。

用途:

使用fastsimcoal2模拟基因数据有3种方法:
1. 用输入参数文件*.par中定义的参数值模拟进化场景下的数据;
2. 使用模板文件*.tpl中定义的场景,并通过从文件*.est中定义的先验中随机抽取这些值来生成100组(-E 100)参数值。将对每组随机抽取的参数值进行10次模拟(-n 10) 。
fsc27 -t ${prefix}.tpl -e${prefix}.est -E 100 -n 10
3.  用外部定义文件中定义的参数值(*.def)模拟进化场景(*.tpl)下的数据


输入文件

使用Fastsimcoal2.7利用SFS模拟种群动态历史,一般是使用第二个功能,需要三个输入文件,这三个文件的前缀必须相同

.tpl 模版文件(参数文件):用来指定历史事件、migration、样本大小、突变率重组率等等。注意,这里的突变率重组率都为【per generation】

.est 参数评估文件(prior文件):在这里对参数施加prior,指定参数之间关系等等。

.obs SFS观测文件:可以用easySFS生成,easySFS的使用 - 组学大讲堂问答社区 (omicsclass.com)


.tpl 文件

2popSTRdiv.tpl  :两个群体的tpl文件
//Number of population samples (demes)
2 
//Population effective sizes (number of genes),如果不知道可以写成NPOP1、NPOP2
1000
NPOP
//Samples sizes:样本数目
5
5
//Growth rates: 往后的负增长表明在前期发生了种群扩张
0
0
//Number of migration matrices : 0 implies no migration between demes
2
//migration matrix,第0个迁移矩阵,从deme0到deme1的迁移速率为0.0005,deme1到deme0的迁移速度为0.0001
0.000 0.0005
0.0001 0.000
//migration matrix,第一个迁移矩阵
0.000 0.000
0.000 0.000
//historical event: time, source, sink, migrants, new size, growth rate, migr. matrix
2 historical event
1000 0 0 0 1 0 1 # 1000代到现在没有基因流动,迁移矩阵为1
10000 1 0 1 10 0 1 # 10000代中,来自deme1的基因(第二个数字是1,表示来自deme1)全部(第四个数字是1表示100%)到deme0(第三个数字是0,表示deme0),并且大小调整为10倍,到达10000个基因,新产生的deme增长率为0,往后使用的迁移矩阵是1。第一个数字可以根据发生的事件替换成TDIV(分离)、TBOT(瓶颈)、TEXP(扩张)等;第五个数字可以替换成RESIZE。
//Number of independent loci [chromosome]第一个数字1表示一个染色体,第二个数字0表示描述相同的染色体结构。如果是使用的是单个块定义,并且简单地重复用于模拟两个相同的染色体,则是2 0,如果是两个染色体不同的结构则是2 1。
1 0
//Per chromosome: Number of linkage blocks
1
//per Block: data type, num loci, rec. rate and mut rate + optional parameters
MICROSAT 10 MUTRATE 0.0005 0 # 10个微卫星标记,重组率为MUTRATE,变异率为0.0005

参数(NPOP、TEXP、RESIZE和MUTRATE等)的分布如果在估计文件中被找到,则将被fsc27的实际参数值替换。


以下是使用手册中对于历史事件的解释原文:
attachments-2023-08-Hj2Ksf8j64c89c34c0a62.png


.est文件

// Priors and rules file
// *********************
[PARAMETERS]
//#isInt? #name #dist. #min #max
//all N are in number of haploid individuals
1 NPOP logunif 100 100000 output bounded # 参数的范围是有界的,如果该参数与另外一个参数相关,在后面应该跟paramInRange
1 TEXP logunif 100 5000 output
0 RESIZE logunif 1e-3 1000 output # RESIZE 对数分布在 1e-3 ~ 1000 之间
0 MUTRATE unif 1e-7 1e-9 output # 变量MUTRATE均匀分布在1e-7 ~ 1e-9之间
[COMPLEX PARAMETERS] #列出在任意2个简单或复杂参数之间或在参数和标量之间作为简单运算获得的参数。 1 ANCSIZE = NPOP*RESIZE output #输出 0 2N = 2*NPOP hide # 隐藏 0 THETA = 2N*MUTRATE output


接下来fastsimcoal2会根据你提供的这些时间点和事件去进行计算,得到预期MaxEstLhood和观测的MaxObsLhood,当两者差异较小的时候认为这个模型是可靠的,对最优模型可以再跑bootstrap。

参考:

Demographic modeling with fastsimcoal2 | Speciation & Population Genomics: a how-to-guide (speciationgenomics.github.io)

Inferring demography - Evolution and Genomics (evomics.org)

fastsimcoal manual (unibe.ch)


  • 发表于 2023-08-01 14:31
  • 阅读 ( 3592 )

你可能感兴趣的文章

相关问题

3 条评论

请先 登录 后评论
Ti Amo
Ti Amo

50 篇文章

作家榜 »

  1. omicsgene 701 文章
  2. 安生水 349 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 76 文章
  8. CORNERSTONE 72 文章