neural-admixture:基于AI的快速基因组聚类

2024-09-01 19:12

本文主要是介绍neural-admixture:基于AI的快速基因组聚类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近学习祖源分析方面的内容,发现已经有了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)

这篇关于neural-admixture:基于AI的快速基因组聚类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127800

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

Spring AI 实现 STDIO和SSE MCP Server的过程详解

《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.