Views
No views yet
1from transformers import AutoModelForMaskedLM, AutoTokenizer
2import anndata as ad
3
4# Load model and tokenizer
5model = AutoModelForMaskedLM.from_pretrained("aletlvl/Nicheformer", trust_remote_code=True)
6tokenizer = AutoTokenizer.from_pretrained("aletlvl/Nicheformer", trust_remote_code=True)
7
8# Set technology mean for HF tokenizer
9technology_mean_path = 'technology_mean.npy'
10technology_mean = np.load(technology_mean_path)
11tokenizer._load_technology_mean(technology_mean)
12
13# Load your single-cell data
14adata = ad.read_h5ad("your_data.h5ad")
15
16# Tokenize the data
17inputs = tokenizer(adata)
18
19# Get embeddings
20embeddings = model.get_embeddings(
21 input_ids=inputs["input_ids"],
22 attention_mask=inputs["attention_mask"],
23 layer=-1,
24 with_context=False
25 )Schaar, A.C., Tejada-Lapuerta, A., et al. Nicheformer: a foundation model for single-cell and spatial omics. bioRxiv (2024). doi: https://doi.org/10.1101/2024.04.15.589472