muon

muon is a multimodal omics Python framework

https://github.com/scverse/muon

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    4 of 20 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

anndata cite-seq mudata multi-omics multimodal-data multimodal-omics-analysis muon scanpy scatac-seq scrna-seq scverse

Keywords from Contributors

bioinformatics transcriptomics closember omics single-cell
Last synced: 6 months ago · JSON representation ·

Repository

muon is a multimodal omics Python framework

Basic Info
  • Host: GitHub
  • Owner: scverse
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage: https://muon.scverse.org/
  • Size: 5.05 MB
Statistics
  • Stars: 244
  • Watchers: 12
  • Forks: 31
  • Open Issues: 52
  • Releases: 8
Topics
anndata cite-seq mudata multi-omics multimodal-data multimodal-omics-analysis muon scanpy scatac-seq scrna-seq scverse
Created about 6 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation

README.md

muon is a multimodal omics Python framework.

Documentation | Tutorials | Publication

Documentation Status PyPi version Powered by NumFOCUS

Data structure

muon is designed around MuData (multimodal data) objects — in the same vein as scanpy and AnnData are designed to work primarily with scRNA-seq data in Python. Individual modalities in MuData are naturally represented with AnnData objects.

MuData class and .h5mu files I/O operations are part of the standalone mudata library.

Input

MuData class is implemented in the mudata library and is exposed in muon:

```py from muon import MuData

mdata = MuData({'rna': adatarna, 'atac': adataatac}) ```

If multimodal data from 10X Genomics is to be read, muon provides a reader that returns a MuData object with AnnData objects inside, each corresponding to its own modality:

```py import muon as mu

mu.read10xh5("filteredfeaturebc_matrix.h5")

MuData object with nobs × nvars = 10000 × 80000

2 modalities

rna: 10000 x 30000

var: 'geneids', 'featuretypes', 'genome', 'interval'

atac: 10000 x 50000

var: 'geneids', 'featuretypes', 'genome', 'interval'

uns: 'atac', 'files'

```

I/O with .h5mu files

Basic .h5mu files I/O functionality is implemented in mudata and is exposed in muon. A MuData object represents modalities as collections of AnnData objects, and these collections can be saved on disk and retrieved using HDF5-based .h5mu files, which design is based on .h5ad file structure.

py mdata.write("pbmc_10k.h5mu") mdata = mu.read("pbmc_10k.h5mu")

It allows to effectively use the hierarchical nature of HDF5 files and to read/write AnnData object directly from/to .h5mu files:

py adata = mu.read("pbmc_10k.h5mu/rna") mu.write("pbmc_10k.h5mu/rna", adata)

Multimodal omics analysis

muon incorporates a set of methods for multimodal omics analysis. These methods address the challenge of taking multimodal data as their input. For instance, while for a unimodal analysis one would use principal components analysis, muon comes with a method to run multi-omics factor analysis:

```py

Unimodal

import scanpy as sc sc.tl.pca(adata)

Multimodal

import muon as mu mu.tl.mofa(mdata) ```

Individual assays

Individual assays are stored as AnnData object, which enables the use of all the default scanpy functionality per assay:

```py import scanpy as sc

sc.tl.umap(mdata.mod["rna"]) ```

Typically, a modality inside a container can be referred to with a variable to make the code more concise:

py rna = mdata.mod["rna"] sc.pl.umap(rna)

Modules in muon

muon comes with a set of modules that can be used hand in hand with scanpy's API. These modules are named after respective sequencing protocols and comprise special functions that might come in handy. It is also handy to import them as two letter abbreviations:

```py

ATAC module:

from muon import atac as ac

Protein (epitope) module:

from muon import prot as pt ```


Some implementation details are noted in DESIGN.md.

Contributions in the form of issues, pull requests or discussions are welcome.

Citation

If you use muon in your work, please cite the muon publication as follows:

MUON: multimodal omics analysis framework

Danila Bredikhin, Ilia Kats, Oliver Stegle

Genome Biology 2022 Feb 01. doi: 10.1186/s13059-021-02577-8.

You can cite the scverse publication as follows:

The scverse project provides a computational ecosystem for single-cell omics data analysis

Isaac Virshup, Danila Bredikhin, Lukas Heumos, Giovanni Palla, Gregor Sturm, Adam Gayoso, Ilia Kats, Mikaela Koutrouli, Scverse Community, Bonnie Berger, Dana Pe’er, Aviv Regev, Sarah A. Teichmann, Francesca Finotello, F. Alexander Wolf, Nir Yosef, Oliver Stegle & Fabian J. Theis

Nat Biotechnol. 2023 Apr 10. doi: 10.1038/s41587-023-01733-8.

muon is part of the scverse® project (website, governance) and is fiscally sponsored by NumFOCUS. If you like scverse® and want to support our mission, please consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

Owner

  • Name: scverse
  • Login: scverse
  • Kind: organization

Foundational tools for omics data in the life sciences

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Bredikhin"
  given-names: "Danila"
  orcid: "https://orcid.org/0000-0001-8089-6983"
- family-names: "Kats"
  given-names: "Ilia"
  orcid: "https://orcid.org/0000-0001-5220-5671"
title: "muon"
version: 1.0.0
date-released: 2021-06-01
url: "https://github.com/scverse/muon"
preferred-citation:
  type: article
  authors:
  - family-names: "Bredikhin"
    given-names: "Danila"
    orcid: "https://orcid.org/0000-0001-8089-6983"
  - family-names: "Kats"
    given-names: "Ilia"
    orcid: "https://orcid.org/0000-0001-5220-5671"
  - family-names: "Stegle"
    given-names: "Oliver"
    orcid: "https://orcid.org/0000-0002-8818-7193"
  doi: "10.1186/s13059-021-02577-8"
  journal: "Genome Biology"
  month: 2
  title: "MUON: multimodal omics analysis framework"
  year: 2022

GitHub Events

Total
  • Create event: 4
  • Release event: 1
  • Issues event: 20
  • Watch event: 30
  • Delete event: 4
  • Issue comment event: 24
  • Push event: 31
  • Pull request event: 9
  • Pull request review comment event: 4
  • Pull request review event: 4
  • Fork event: 2
Last Year
  • Create event: 4
  • Release event: 1
  • Issues event: 20
  • Watch event: 30
  • Delete event: 4
  • Issue comment event: 24
  • Push event: 31
  • Pull request event: 9
  • Pull request review comment event: 4
  • Pull request review event: 4
  • Fork event: 2

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 548
  • Total Committers: 20
  • Avg Commits per committer: 27.4
  • Development Distribution Score (DDS): 0.276
Past Year
  • Commits: 37
  • Committers: 4
  • Avg Commits per committer: 9.25
  • Development Distribution Score (DDS): 0.459
Top Committers
Name Email Commits
Danila Bredikhin d****n@e****e 397
Ilia Kats i****s@g****t 84
Max Frank m****k@g****m 23
ilan-gold i****d@g****m 13
Isaac Virshup i****p@g****m 6
Philipp Weiler w****p@g****m 4
Wouter-Michiel Vierdag w****v@h****m 3
bv2 b****n@g****m 3
Miles Smith m****h@g****m 3
Lukas Heumos l****s@p****t 2
SarahOuologuem s****m@g****e 1
Gregor Sturm g****m@b****m 1
Harald Vöhringer h****h@g****m 1
Jeongbin Park p****7@g****m 1
Maren Büttner m****r@t****e 1
Philipp A f****p@w****e 1
Robrecht Cannoodt r****d@g****m 1
mikelkou m****i@c****k 1
Russell Gould r****d@w****u 1
rushil-chakra r****a@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 117
  • Total pull requests: 38
  • Average time to close issues: 3 months
  • Average time to close pull requests: 26 days
  • Total issue authors: 69
  • Total pull request authors: 20
  • Average comments per issue: 1.86
  • Average comments per pull request: 1.03
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 7
  • Average time to close issues: 28 days
  • Average time to close pull requests: 3 days
  • Issue authors: 8
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.14
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • gtca (16)
  • grst (8)
  • danli349 (4)
  • liuzj039 (4)
  • alexlenail (3)
  • scverse-bot (3)
  • WeilerP (3)
  • emdann (2)
  • ivirshup (2)
  • gjhuizing (2)
  • 111kakaluote (2)
  • chris-rands (2)
  • ad7115 (2)
  • GirayEryilmaz (2)
  • wangjiawen2013 (2)
Pull Request Authors
  • ilia-kats (11)
  • ilan-gold (4)
  • gtca (4)
  • mbuttner (3)
  • mffrank (3)
  • WeilerP (3)
  • milescsmith (2)
  • Rushil-Chakra (2)
  • SarahOuologuem (2)
  • rcannood (2)
  • ivirshup (1)
  • russellgould (1)
  • pjb7687 (1)
  • Zethson (1)
  • maxim-h (1)
Top Labels
Issue Labels
bug (56) enhancement (38) atac (5) documentation (1) prot (1) good first issue (1) question (1) awaiting (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 9,251 last-month
  • Total docker downloads: 660
  • Total dependent packages: 15
    (may contain duplicates)
  • Total dependent repositories: 7
    (may contain duplicates)
  • Total versions: 11
  • Total maintainers: 1
pypi.org: muon

Multimodal omics analysis framework

  • Versions: 10
  • Dependent Packages: 15
  • Dependent Repositories: 6
  • Downloads: 9,251 Last month
  • Docker Downloads: 660
Rankings
Dependent packages count: 1.0%
Docker downloads count: 3.7%
Downloads: 3.9%
Average: 4.7%
Stargazers count: 5.2%
Dependent repos count: 6.0%
Forks count: 8.4%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: muon
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.3%
Stargazers count: 29.7%
Average: 36.3%
Forks count: 39.5%
Dependent packages count: 51.6%
Last synced: 6 months ago

Dependencies

.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • psf/black stable composite
.github/workflows/pythonpackage.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
pyproject.toml pypi