许可证:Apache-2.0
标签:
- 单细胞
- 基因组学
基础模型:
- ctheodoris/Geneformer
- apliko/Geneformer
Geneformer
Geneformer 是一个基于大规模单细胞转录组语料库预训练的基础Transformer模型,旨在网络生物学数据有限的场景下实现上下文感知的预测。
摘要
构建基因网络需要大量转录组数据来学习基因间的关联,这在数据稀缺的场景(如罕见病或临床难以获取组织的疾病)中阻碍了研究进展。近年来,迁移学习通过利用在大规模通用数据集上预训练的深度学习模型,只需少量任务特定数据即可微调至各类下游任务,彻底改变了自然语言理解和计算机视觉等领域。为此,我们开发了一个基于注意力机制的上下文感知深度学习模型Geneformer,该模型在约3000万个单细胞转录组的大规模语料库上预训练,能够在网络生物学数据有限的场景下实现上下文特异性预测。预训练过程中,Geneformer以完全自监督的方式通过注意力权重编码网络层级结构,获得了对网络动态的基本理解。使用有限的任务特定数据对染色质和网络动态相关的多样化下游任务进行微调表明,Geneformer持续提升了预测准确性。在有限患者数据的心肌病建模应用中,Geneformer成功识别了候选治疗靶点。总体而言,Geneformer作为预训练模型,可通过广泛的下游应用微调加速关键网络调控因子和候选治疗靶点的发现。
代码
from tdc.model_server.tokenizers.geneformer import GeneformerTokenizer
from tdc import tdc_hf_interface
import torch
tokenizer = GeneformerTokenizer()
x = tokenizer.tokenize_cell_vectors(adata,
ensembl_id="feature_id",
ncounts="n_measured_vars")
cells, _ = x
input_tensor = torch.tensor(cells)
geneformer = tdc_hf_interface("Geneformer")
model = geneformer.load()
attention_mask = torch.tensor(
[[x[0] != 0, x[1] != 0] for x in input_tensor])
outputs = model(batch,
attention_mask=attention_mask,
output_hidden_states=True)
layer_to_quant = quant_layers(model) + (
-1
)
embs_i = outputs.hidden_states[layer_to_quant]
embs = embs_i
TDC引用
@inproceedings{
velez-arce2024signals,
title={Signals in the Cells: Multimodal and Contextualized Machine Learning Foundations for Therapeutics},
author={Alejandro Velez-Arce and Xiang Lin and Kexin Huang and Michelle M Li and Wenhao Gao and Bradley Pentelute and Tianfan Fu and Manolis Kellis and Marinka Zitnik},
booktitle={NeurIPS 2024 Workshop on AI for New Drug Modalities},
year={2024},
url={https://openreview.net/forum?id=kL8dlYp6IM}
}
附加引用
- C V Theodoris#, L Xiao, A Chopra, M D Chaffin, Z R Al Sayed, M C Hill, H Mantineo, E Brydon, Z Zeng, X S Liu, P T Ellinor#. 《迁移学习实现网络生物学预测》。自然,2023年5月31日。(#共同通讯作者)
- H Chen*, M S Venkatesh*, J Gomez Ortega, S V Mahesh, T Nandi, R Madduri, K Pelka†, C V Theodoris†#. 《面向基因网络动态上下文特异性表征的量化多任务学习》。bioRxiv,2024年8月19日。(*共同第一作者,†共同资深作者,#通讯作者)
模型HuggingFace主页
https://huggingface.co/ctheodoris/Geneformer
说明
TDC平台使用的是20层-9500万参数-输入4096版本的Geneformer,该模型基于Genecorpus-95M语料库训练。