genslm

genslm

基因组尺度语言模型揭示SARS-CoV-2进化动态

GenSLM项目开发了基因组尺度语言模型(GenSLMs),用于研究SARS-CoV-2的进化动态。该项目提供预训练模型和数据集,实现序列嵌入计算和合成序列生成。其分层语言模型融合扩散模型和Transformer,可捕捉全基因组序列的全局上下文和长程相互作用。GenSLM为病毒进化研究和基因组分析提供了新的分析工具。

GenSLMs基因组语言模型SARS-CoV-2进化动力学序列嵌入Github开源项目

GenSLMs:全基因组语言模型揭示SARS-CoV-2进化动态

<img width="1220" alt="genslm_header" src="https://yellow-cdn.veclightyear.com/835a84d5/a6f3161c-0b33-4a58-a164-96f98c0485a3.png">

预印本

可在此处获取:https://www.biorxiv.org/content/10.1101/2022.10.10.511571v2

目录

  1. 安装
  2. 使用
  3. 贡献
  4. 许可证
  5. 引用

安装

在大多数系统上安装genslm

pip install git+https://github.com/ramanathanlab/genslm

GenSLMs在PolarisPerlmutter超级计算机上进行训练。有关这些系统上的安装,请参阅INSTALL.md

使用

:warning: 模型权重将在2023年5月5日至2023年5月12日期间不可用

:warning: 2023年5月3日之前下载的模型权重在命名空间上存在小问题。请重新下载模型以修复。

我们的预训练模型和数据集可以从这个Globus端点下载。

使用GenSLMs计算序列嵌入用于下游任务,生成合成序列,或轻松扩展到您自己的应用程序。

计算嵌入 在Colab中打开

import torch import numpy as np from torch.utils.data import DataLoader from genslm import GenSLM, SequenceDataset # 加载模型 model = GenSLM("genslm_25M_patric", model_cache_dir="/content/gdrive/MyDrive") model.eval() # 如果有GPU则选择GPU设备,否则使用CPU device = "cuda" if torch.cuda.is_available() else "cpu" model.to(device) # 输入数据是一个基因序列列表 sequences = [ "ATGAAAGTAACCGTTGTTGGAGCAGGTGCAGTTGGTGCAAGTTGCGCAGAATATATTGCA", "ATTAAAGATTTCGCATCTGAAGTTGTTTTGTTAGACATTAAAGAAGGTTATGCCGAAGGT", ] dataset = SequenceDataset(sequences, model.seq_length, model.tokenizer) dataloader = DataLoader(dataset) # 计算每个输入序列的平均嵌入 embeddings = [] with torch.no_grad(): for batch in dataloader: outputs = model( batch["input_ids"].to(device), batch["attention_mask"].to(device), output_hidden_states=True, ) # outputs.hidden_states形状:(layers, batch_size, sequence_length, hidden_size) # 使用最后一层的嵌入 emb = outputs.hidden_states[-1].detach().cpu().numpy() # 计算序列长度的平均值 emb = np.mean(emb, axis=1) embeddings.append(emb) # 将嵌入连接成形状为(num_sequences, hidden_size)的数组 embeddings = np.concatenate(embeddings) embeddings.shape >>> (2, 512)

生成合成序列 在Colab中打开

from genslm import GenSLM # 加载模型 model = GenSLM("genslm_25M_patric", model_cache_dir="/content/gdrive/MyDrive") model.eval() # 如果有GPU则选择GPU设备,否则使用CPU device = "cuda" if torch.cuda.is_available() else "cpu" model.to(device) # 用起始密码子提示语言模型 prompt = model.tokenizer.encode("ATG", return_tensors="pt").to(device) tokens = model.model.generate( prompt, max_length=10, # 增加此值以生成更长的序列 min_length=10, do_sample=True, top_k=50, top_p=0.95, num_return_sequences=2, # 更改要生成的序列数量 remove_invalid_values=True, use_cache=True, pad_token_id=model.tokenizer.encode("[PAD]")[0], temperature=1.0, ) sequences = model.tokenizer.batch_decode(tokens, skip_special_tokens=True) for sequence in sequences: print(sequence) >>> ATG GTT ATT TCA TCT GAT TTA CCA ACT >>> ATG TTC ATT CTT CCG GCA CTT ATC GAA

扩散模型

一种新颖的具有两个层次的分层语言模型:顶层使用扩散模型来捕获全局上下文和整个基因组序列的长程相互作用;底层使用transformer进行密码子级建模,由顶层扩散模型指导。该模型通过利用其生成能力,使我们能够前瞻性地模拟SARS-CoV-2的进化。

有关扩散模型的使用,请参考此代码库:https://github.com/da03/hierarchical_diffusion_LM

高性能计算

我们有一个CLI工具,可以更轻松地在各种HPC平台上启动训练作业。您可以通过指定-T, --template选项来指定要提交到的系统。我们目前有polarisperlmutter的模板。默认情况下,提交的作业将输出结果到运行提交命令的目录,您可以使用-w选项指定不同的workdir。请运行python -m genslm.hpc.submit --help获取更多信息。有关yaml选项的文档,请参阅config.py,并注意config.yaml路径必须是绝对路径。

module load conda/2022-07-19
conda activate genslm
python -m genslm.hpc.submit -T polaris -a gpu_hack -q debug -t 00:10:00 -n 1 -j test-job-0 -v "-c config.yaml" 

模块特定参数通过-v标志逐字传递,参数必须在引号内。

有关其他命令,请参阅COMMANDS.md

贡献

请通过问题跟踪器报告错误增强请求问题

如果您想贡献,请参阅CONTRIBUTING.md

许可证

genslm采用MIT许可证,详见LICENSE.md文件。

引用

如果您在研究中使用我们的模型,请引用以下论文:

@article{zvyagin2022genslms, title={GenSLMs: Genome-scale language models reveal SARS-CoV-2 evolutionary dynamics.}, author={Zvyagin, Max T and Brace, Alexander and Hippe, Kyle and Deng, Yuntian and Zhang, Bin and Bohorquez, Cindy Orozco and Clyde, Austin and Kale, Bharat and Perez-Rivera, Danilo and Ma, Heng and others}, journal={bioRxiv}, year={2022}, publisher={Cold Spring Harbor Laboratory} }

编辑推荐精选

博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多