Science Score: 46.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: nature.com
  • Committers with academic emails
    3 of 5 committers (60.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: lilab-bcb
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Size: 95.7 KB
Statistics
  • Stars: 55
  • Watchers: 3
  • Forks: 9
  • Open Issues: 0
  • Releases: 3
Created over 6 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.rst

Harmony-Pytorch
---------------

|PyPI| |Conda| |Python| |License|

.. |PyPI| image:: https://img.shields.io/pypi/v/harmony-pytorch.svg
   :target: https://pypi.org/project/harmony-pytorch

.. |Conda| image:: https://img.shields.io/conda/v/bioconda/harmony-pytorch
   :target: https://anaconda.org/bioconda/harmony-pytorch

.. |Python| image:: https://img.shields.io/pypi/pyversions/harmony-pytorch.svg
   :target: https://pypi.org/project/harmony-pytorch

.. |License| image:: https://img.shields.io/github/license/lilab-bcb/harmony-pytorch
   :target: https://github.com/lilab-bcb/harmony-pytorch/blob/master/LICENSE

This is a Pytorch implementation of Harmony algorithm on single-cell sequencing data integration. Please see `Ilya Korsunsky et al., 2019 `_ for details.

Installation
^^^^^^^^^^^^^

This package is published on PyPI::

	pip install harmony-pytorch


Usage
^^^^^^^^

General Case
##############

Given an embedding ``X`` as a N-by-d matrix in numpy array structure (N for number of cells, d for embedding components) and cell attributes as a Data Frame ``df_metadata``, use Harmony for data integration as the following::

	from harmony import harmonize
	Z = harmonize(X, df_metadata, batch_key = 'Channel')


where ``Channel`` is the attribute in ``df_metadata`` for batches.

Alternatively, if there are multiple attributes for batches, write::

	Z = harmonize(X, df_metadata, batch_key = ['Lab', 'Date'])

Input as MultimodalData Object
###############################

It's easy for Harmony-pytorch to work with count matrix data structure from `PegasusIO `_ package. Let ``data`` be a MultimodalData object in Python::

    from harmony import harmonize
    Z = harmonize(data.obsm['X_pca'], data.obs, batch_key = 'Channel')
    data.obsm['X_pca_harmony'] = Z

This will calculate the harmonized PCA matrix for the default UnimodalData of ``data``.

Given a UnimodalData object ``unidata``, you can also use the code above to perform Harmony algorithm: simply substitute ``unidata`` for ``data`` there.

Input as AnnData Object
##########################

It's easy for Harmony-pytorch to work with annotated count matrix data structure from `anndata `_ package. Let ``adata`` be an AnnData object in Python::

	from harmony import harmonize
	Z = harmonize(adata.obsm['X_pca'], adata.obs, batch_key = '')
	adata.obsm['X_harmony'] = Z

where ```` should be replaced by the actual batch key attribute name in your data.

For details about ``AnnData`` data structure, please refer to its `documentation `_.

Owner

  • Name: lilab-bcb
  • Login: lilab-bcb
  • Kind: organization

GitHub Events

Total
  • Issues event: 3
  • Watch event: 7
  • Delete event: 4
  • Issue comment event: 4
  • Push event: 18
  • Pull request event: 6
  • Create event: 5
Last Year
  • Issues event: 3
  • Watch event: 7
  • Delete event: 4
  • Issue comment event: 4
  • Push event: 18
  • Pull request event: 6
  • Create event: 5

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 90
  • Total Committers: 5
  • Avg Commits per committer: 18.0
  • Development Distribution Score (DDS): 0.1
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Yiming Yang y****g@g****m 81
Bo Li b****8@m****u 5
yyang43 y****3@m****u 2
Gökçen Eraslan g****n@b****g 1
Scott Gigante 8****i 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 4
  • Total pull requests: 9
  • Average time to close issues: 6 months
  • Average time to close pull requests: 3 days
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 2.25
  • Average comments per pull request: 0.67
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 3
  • Average time to close issues: about 22 hours
  • Average time to close pull requests: less than a minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dmiyagi (2)
  • EBGU (1)
  • flying-sheep (1)
Pull Request Authors
  • yihming (9)
  • scottgigante-immunai (1)
  • gokceneraslan (1)
  • mbruhns (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,350 last-month
  • Total dependent packages: 8
  • Total dependent repositories: 12
  • Total versions: 9
  • Total maintainers: 2
pypi.org: harmony-pytorch

Pytorch implementation of Harmony algorithm on single-cell sequencing data integration

  • Versions: 9
  • Dependent Packages: 8
  • Dependent Repositories: 12
  • Downloads: 3,350 Last month
  • Docker Downloads: 0
Rankings
Dependent packages count: 1.1%
Docker downloads count: 1.4%
Dependent repos count: 4.2%
Average: 6.5%
Downloads: 9.0%
Stargazers count: 10.5%
Forks count: 12.5%
Maintainers (2)
Last synced: 7 months ago

Dependencies

pyproject.toml pypi
setup.py pypi