如何从 R 中的 genlight 对象执行 ADMIXTURE 分析?

问题描述 投票:0回答:0

我有一个由 Diversity Arrays 生成的测序数据集,我一直在使用 R 中的 dartR 包进行分析。我的数据在一个 genlight 对象中,过滤后有 1920 个 SNP,23 个个体和 4 个群体。我想调查这些人群之间的混合情况,并将它们绘制成条形图。我是分析遗传数据的新手,不幸的是我有点坚持分析。

我几乎使用了 dartR 包中的函数来计算 Fst 值、网络分析等。但据我所知,它们没有进行混合分析的函数。因此,我将我的 genlight 对象转换为 geno 格式,以使用 R Bioconductor 包 LEA(Frichot,2015)中的 snmf 函数(稀疏非负矩阵分解;Frichot 等人,2014 年)来估计基因簇的数量数据集。然而,正则化参数 (alpha) 为 100 或 1000 时,结果差异很大。在函数 sNMF 的小插图中,alpha 被解释为正则化参数的值(默认情况下:10),这会惩罚中间祖先比例.因为没有选择 alpha 的特定规则,所以我想将混合系数与基于似然的方法(如 ADMIXTURE)进行比较。

但是,我在找出要使用哪个函数时遇到了一些麻烦。在线阅读,有不同的包和功能,如 Plink 和 ADMIXTOOLS。谁能推荐使用哪种方法?

我一直在尝试两者,但还没能成功。对于 Plink 功能,我下载了 Plink.exe 文件并将它们放在我的工作目录中。但是,当我尝试使用

将我的 genlight 对象转换为 vcf 格式时
gl2vcf(gl5, plink_path = getwd(), outfile = "gl_vcf", outpath=getwd()) 

然后使用

% plink --file hapmap --recode12 --out hapmap 
% admixture hapmap3.ped 3 

gl2vcf() 函数给我错误 Error in system(..., intern = T) : “...” not found

尽管有这个错误,但我的工作目录文件中确实有两个新创建的文件:gl_plink_temp.map 和 gl_plink_temp.ped。但对于混合物分析,我相信我需要 *.bed、*.bim 和 *.fam 文件。

我正在尝试遵循 https://gaworkshop.readthedocs.io/en/latest/contents/07_admixture/admixture.html 并使用来自 /projects1/tools/admixture_1.3.0/admixture-manual 的有关混合物的信息。 pdf.

如果有人有任何建议在 R 中执行基于似然的方法(最好是混合)来估计 genlight 对象的混合系数并绘制结果,那将不胜感激!

提前致谢, 嘉拉

r structure genetics ancestry
© www.soinside.com 2019 - 2024. All rights reserved.