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

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python如何快速下载依赖

《Python如何快速下载依赖》本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法... 目录python快速下载依赖1. 使用国内镜像源临时使用镜像源永久配置镜像源2. 使用 pip 的并