InstructCell
is a multi-modal AI copilot that integrates natural language with single-cell RNA sequencing data, enabling researchers to perform tasks like cell type annotation, pseudo-cell generation, and drug sensitivity prediction through intuitive text commands.
By leveraging a specialized multi-modal architecture and our multi-modal single-cell instruction dataset, InstructCell reduces technical barriers and enhances accessibility for single-cell analysis.
Chat Version
: Supports generating both detailed textual answers and single-cell data, offering comprehensive and context-rich outputs.
🚀 How to use
We provide a simple example for quick reference. This demonstrates a basic
cell type annotation
workflow.
Make sure to specify the paths for
H5AD_PATH
and
GENE_VOCAB_PATH
appropriately:
H5AD_PATH
: Path to your
.h5ad
single-cell data file (e.g.,
H5AD_PATH = "path/to/your/data.h5ad"
).
GENE_VOCAB_PATH
: Path to your gene vocabulary file (e.g.,
GENE_VOCAB_PATH = "path/to/your/gene_vocab.npy"
).
from mmllm.module import InstructCell
import anndata
import numpy as np
from utils import unify_gene_features
# Load the pre-trained InstructCell model from HuggingFace
model = InstructCell.from_pretrained("zjunlp/InstructCell-chat")
# Load the single-cell data (H5AD format) and gene vocabulary file (numpy format)
adata = anndata.read_h5ad(H5AD_PATH)
gene_vocab = np.load(GENE_VOCAB_PATH)
adata = unify_gene_features(adata, gene_vocab, force_gene_symbol_uppercase=False)
# Select a random single-cell sample and extract its gene counts and metadata
k = np.random.randint(0, len(adata))
gene_counts = adata[k, :].X.toarray()
sc_metadata = adata[k, :].obs.iloc[0].to_dict()
# Define the model prompt with placeholders for metadata and gene expression profile
prompt = (
"Can you help me annotate this single cell from a {species}? ""It was sequenced using {sequencing_method} and is derived from {tissue}. ""The gene expression profile is {input}. Thanks!"
)
# Use the model to generate predictionsfor key, value in model.predict(
prompt,
gene_counts=gene_counts,
sc_metadata=sc_metadata,
do_sample=True,
top_p=0.95,
top_k=50,
max_new_tokens=256,
).items():
# Print each key-value pairprint(f"{key}: {value}")
For more detailed explanations and additional examples, please refer to the Jupyter notebook
demo.ipynb
.
Runs of zjunlp InstructCell-chat on huggingface.co
20
Total runs
0
24-hour runs
0
3-day runs
0
7-day runs
0
30-day runs
More Information About InstructCell-chat huggingface.co Model
InstructCell-chat huggingface.co is an AI model on huggingface.co that provides InstructCell-chat's model effect (), which can be used instantly with this zjunlp InstructCell-chat model. huggingface.co supports a free trial of the InstructCell-chat model, and also provides paid use of the InstructCell-chat. Support call InstructCell-chat model through api, including Node.js, Python, http.
InstructCell-chat huggingface.co is an online trial and call api platform, which integrates InstructCell-chat's modeling effects, including api services, and provides a free online trial of InstructCell-chat, you can try InstructCell-chat online for free by clicking the link below.
zjunlp InstructCell-chat online free url in huggingface.co:
InstructCell-chat is an open source model from GitHub that offers a free installation service, and any user can find InstructCell-chat on GitHub to install. At the same time, huggingface.co provides the effect of InstructCell-chat install, users can directly use InstructCell-chat installed effect in huggingface.co for debugging and trial. It also supports api for free installation.