API#

Trainer#

Entry points for implementations of scFMs via Heimdall.

trainer.HeimdallTrainer(cfg, model, data, ...)

\(F_\textbf{G}\)#

Implementations of gene identity encodings.

fg.Fg(data, embedding_parameters, ...[, ...])

Abstraction of the gene embedding mapping paradigm.

fg.IdentityFg(data, embedding_parameters, ...)

Identity mapping of gene names to embeddings.

fg.PretrainedFg(data, embedding_parameters)

Abstraction for pretrained `Fg`s that can be loaded from disk.

fg.TorchTensorFg(data, embedding_parameters)

Mapping of gene names to pretrained embeddings stored as PyTorch tensors.

fg.CSVFg(data, embedding_parameters[, ...])

Mapping of gene names to pretrained Gene2Vec embeddings.

\(F_\textbf{E}\)#

Implementations of gene expression encodings.

fe.Fe(data, vocab_size, ...[, pad_value, ...])

Abstraction for expression-based embedding.

fe.IdentityFe(data, vocab_size, ...[, ...])

Directly pass the continuous values.

fe.ZeroFe(data, vocab_size, ...[, ...])

fe.BinningFe(data, num_bins, **fe_kwargs)

Value-binning Fe from scGPT.

fe.ScBERTBinningFe(data, num_bins, **fe_kwargs)

scBERT-style binning: cap expression values and convert to long indices.

\(F_\textbf{C}\)#

Implementations of single-cell representations.

fc.Fc(fg, fe, data, tailor_config, ...[, ...])

Abstraction for cell embedding.

fc.DummyFc(fg, fe, data, tailor_config, ...)

fc.ChromosomeAwareFc(*fc_args, ...)

\(\rm{O\small{RDER}}\)#

Implementations of ordering function for producing an order for gene tokens.

\(\rm{S\small{EQUENCE}}\)#

Implementations of sequence function for producing sequence of gene + cell metadata tokens.

tailor.Tailor(fc)

tailor.ReorderTailor(fc)

tailor.ChromosomeTailor(fc, sample_size)

tailor.WeightedResampleTailor(fc, sample_size)

tailor.ChromosomeBlockTailor(fc)

Chromosome grouping without any resampling.

\(\rm{R\small{EDUCE}}\)#

Implementations of reduction operations for combining gene identity and expression encodings.

Task#

Definition of pretraining and downstream tasks for single-cell foundation models.

task.Task(data, task_type, metrics, shuffle, ...)

Heimdall task key-value store.

task.SingleInstanceTask(data, task_type, ...)

task.PairedInstanceTask(data, task_type, ...)

task.SeqMaskedMLMTask(*args, **kwargs)

task.Tasklist(data, tasks)

Container for multiple Heimdall tasks.

Model#

Entry points for implementations of scFMs via Heimdall.

models.HeimdallModel(data, model_config)