最近学习祖源分析方面的内容,发现已经有了GPU版的软件,可以几十倍地加快运算速度,推荐使用!小数据集的话家用显卡即可hold住,十分给力!
ADMIXTURE 是常用的群体遗传学分析工具,可以估计个体的祖先成分。使用neural-admixture 可以将一个月的连续计算时间缩短到几个小时。多头方法允许神经 ADMIXTURE 通过在单个集群中计算多个集群数来进一步加速
在一次运行中计算多个集群数。此外
模型可以存储,从而可以在线性时间内对新数据执行集群分配,而无需共享数据。
无需共享训练样本
发表在NCS上的论文,nature子刊,应该足够权威的。
软件简介
Neural ADMIXTURE 是一种基于 ADMIXTURE 的无监督全局祖先推理技术。通过使用神经网络,Neural ADMIXTURE 提供高质量的祖先分配,运行时间比 ADMIX 快得多。
该软件可以通过 CLI 调用,并且具有与 ADMIXTURE 类似的界面(例如,输出格式完全可互换)。虽然该软件在 CPU 和 GPU 中运行,但我们建议使用 GPU(如果可用)以利用基于神经网络的实现。
系统要求
硬件要求
成功使用此软件包需要一台具有足够 RAM 的计算机,以便能够处理网络设计为使用的大型数据集。因此,我们建议尽可能使用计算集群,以避免内存问题。
软件要求
该软件包已在 Linux(CentOS 7.9.2009、Ubuntu 18.04.5 LTS)和 MacOS(BigSur 11.2.3、Intel 和 Monterey 12.3.1、M1)上进行了测试。如果使用 GPU,请确保正确安装了 CUDA 驱动程序,如果已经装好了CUDA会自动安装GPU版本。
亲测建议使用conda创建新的 Python 3.9 环境,然后在其中安装软件包。例如,对于 ,应启动以下命令:
conda create -n nadmenv python=python3.9
conda activate nadmenv
pip install neural-admixture
用法
运行 Neural ADMIXTURE
要从头开始训练模型,只需从项目的根目录调用以下命令即可。
有监督训练:
neural-admixture train --k K --supervised --populations_path POPS_PATH --name RUN_NAME --data_path DATA_PATH --save_dir SAVE_PATH
# only single-head support at the moment
运行时间竟然不线性增长,很平的一条线。
软件的模型架构,总体看分为编码器和解码器,分为单头和多头两种。
快来测试使用一下吧!生信AI化已经是趋势,期待更多的工具和进展,持续关注中!
教程详见github:AI-sandbox/neural-admixture:使用自动编码器进行快速种群聚类 (github.com)