Data from: Interpreting the FLOCK algorithm from a statistical perspective
收藏资源简介:
We show that the algorithm in the program FLOCK (Duchesne & Turgeon 2009) can be interpreted as an estimation procedure based on a model essentially identical to the STRUCTURE (Pritchard et al. 2000) model with no admixture and non-correlated allele frequency priors. Rather than using MCMC, the FLOCK algorithm searches for the maximum-a-posteriori estimate of this STRUCTURE model via a simulated annealing algorithm with a rapid cooling schedule (namely, the exponent on the objective function --> ∞). We demonstrate the similarities between the two programs in a two step approach. First, to enable rapid batch processing of many simulated data sets, we modified the source code of STRUCTURE to use the FLOCK algorithm, producing the program FLOCKTURE. With simulated data we confirmed that results obtained with FLOCK and FLOCKTURE are very similar (though ockture is some 200 times faster). Second, we simulated multiple large data sets under varying levels of population differentiation for both microsatellite and SNP genotypes. We analyzed them with FLOCKTURE and STRUCTURE and assessed each program on its ability to cluster individuals to their correct subpopulation. We show that FLOCKTURE yields results similar to STRUCTURE albeit with greater variability from run to run. FLOCKTURE did perform better than STRUCTURE when genotypes were composed of SNPs and differentiation was moderate (FST = 0.022 - 0.032). When differentiation was low, STRUCTURE outperformed FLOCKTURE for both marker types. On large data sets like those we simulated, it appears that FLOCK's reliance on inference rules regarding its “plateau record” are not helpful. Interpreting FLOCK's algorithm as a special case of the model in STRUCTURE should aid in understanding the program's output and behavior.
本研究表明,程序FLOCK(Duchesne & Turgeon, 2009)中的算法可被解读为一种基于模型的估计流程,该模型与无混合、等位基因频率先验非相关的STRUCTURE(Pritchard等人, 2000)模型基本一致。与马尔可夫链蒙特卡洛(Markov Chain Monte Carlo, MCMC)不同,FLOCK算法通过采用快速冷却进度表的模拟退火算法(即目标函数的指数趋近于正无穷),搜索该STRUCTURE模型的最大后验(maximum a posteriori, MAP)估计值。我们通过两步法验证了两款程序的相似性:首先,为实现大量模拟数据集的快速批量处理,我们修改了STRUCTURE的源代码,使其采用FLOCK算法,由此得到新程序FLOCKTURE。基于模拟数据,我们证实FLOCK与FLOCKTURE的输出结果高度相似(尽管FLOCKTURE的运行速度快约200倍)。其次,我们针对微卫星标记与单核苷酸多态性(Single Nucleotide Polymorphism, SNP)基因型,在不同群体分化水平下模拟了多组大型数据集。我们分别使用FLOCKTURE与STRUCTURE对这些数据集进行分析,并评估两款程序将个体聚类至正确亚种群的能力。结果显示,尽管FLOCKTURE的单次运行结果间变异度更高,但其输出结果与STRUCTURE基本一致。当基因型为SNP标记且群体分化程度中等(FST(Fixation Index)=0.022~0.032)时,FLOCKTURE的表现优于STRUCTURE;而当群体分化程度较低时,两款标记类型下STRUCTURE的表现均优于FLOCKTURE。针对本次模拟的大型数据集,FLOCK依赖其“平台记录”的推断规则并未起到辅助作用。将FLOCK算法解读为STRUCTURE模型的一种特殊情形,将有助于理解该程序的输出结果与运行行为。



