fsc27 -t ${prefix}.tpl -e${prefix}.est -E 100 -n 10
.tpl 模版文件(参数文件):用来指定历史事件、migration、样本大小、突变率重组率等等。注意,这里的突变率重组率都为【per generation】
.est 参数评估文件(prior文件):在这里对参数施加prior,指定参数之间关系等等。
.obs SFS观测文件:可以用easySFS生成,easySFS的使用 - 组学大讲堂问答社区 (omicsclass.com)。
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的实际参数值替换。
以下是使用手册中对于历史事件的解释原文:
// 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。
参考:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!