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

相关文章

快速修复一个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.

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

使用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