Skip to content

Citation

Cite the scMultiBench paper, and the publication of each integration method you run. mtb.cite prints both:

import multibench as mtb

# the benchmark, then one line per method
print(mtb.cite("Matilda", "MOFA2"))
# BibTeX for every method that ran in batch = mtb.run_all(...)
ran = batch.summary.query("status not in ['SKIPPED', 'FAIL', 'TIMEOUT']")
print(mtb.cite(ran.method, fmt="bibtex"))
terminal
multibench cite Matilda MOFA2 --format bibtex --out refs.bib

The paper

Liu C, Ding S, Kim HJ, Long S, Xiao D, Ghazanfar S, Yang P. Multitask benchmarking of single-cell multimodal omics integration methods. Nature Methods, 22, 2449–2460 (2025). https://doi.org/10.1038/s41592-025-02856-3

scmultibench.bib (= mtb.cite(fmt='bibtex'))
@article{scMultiBench_2025,
  author = {Liu C and Ding S and Kim HJ and Long S and Xiao D and Ghazanfar S and Yang P},
  title = {Multitask benchmarking of single-cell multimodal omics integration methods},
  journal = {Nature Methods},
  year = {2025},
  volume = {22},
  pages = {2449-2460},
  doi = {10.1038/s41592-025-02856-3}
}

Source code

To cite the software, set version and year to the release you used (multibench.__version__).

software.bib
@software{scmultibench_code,
  author    = {Liu, Chunlei and Ding, Sichang and Yang, Pengyi},
  title     = {{scMultiBench}: a benchmark and Python API for single-cell
               multimodal omics integration},
  url       = {https://github.com/PYangLab/scMultiBench},
  note      = {multibench Python package,
               https://github.com/DSichang/scMultiBench},
  version   = {0.3.2},
  year      = {2026}
}
Details: reporting a run

Record the package version (multibench.__version__), each method's environment, and the command it ran (RunResult.cmd).

run_all saves one record per method under out_dir. The record holds the environment and its build (cpu, gpu or single), the parameters, the package version, the commit of the method scripts and the computer. The table mtb.evaluate returns names its Leiden backend, clustering and package version in attrs.

Tables loaded with source="rerun" carry the package version of the re-run in df.attrs["rerun_version"].