Metadata-Version: 2.1
Name: cellmaps_coembedding
Version: 0.4.0
Summary: A tool to generate coembeddings from IF image embeddings and PPI network embeddings
Home-page: https://github.com/idekerlab/cellmaps_coembedding
Author: Cell Maps team
Author-email: tools@cm4ai.org
License: MIT license
Keywords: cellmaps_coembedding
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: cellmaps_utils
Requires-Dist: phenograph
Requires-Dist: numpy
Requires-Dist: torch
Requires-Dist: pandas
Requires-Dist: matplotlib
Requires-Dist: dill
Requires-Dist: tqdm

=====================
Cell Maps CoEmbedder
=====================
The Cell Maps CoEmbedding is part of the Cell Mapping Toolkit

.. image:: https://img.shields.io/pypi/v/cellmaps_coembedding.svg
        :target: https://pypi.python.org/pypi/cellmaps_coembedding

.. image:: https://app.travis-ci.com/idekerlab/cellmaps_coembedding.svg?branch=main
        :target: https://app.travis-ci.com/idekerlab/cellmaps_coembedding

.. image:: https://readthedocs.org/projects/cellmaps-coembedding/badge/?version=latest
        :target: https://cellmaps-coembedding.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://zenodo.org/badge/620523316.svg
        :target: https://zenodo.org/doi/10.5281/zenodo.10651873
        :alt: Zenodo DOI badge

Creates Coembedding from `Cell Maps ImmunoFluorscent Image Embedder <https://cellmaps-image-embedding.readthedocs.io>`__
and `Cell Maps PPI Embedder <https://cellmaps-ppi-embedding.readthedocs.io>`__ using an implementation of `MUSE <https://github.com/AltschulerWu-Lab/MUSE>`__

* Free software: MIT license
* Documentation: https://cellmaps-coembedding.readthedocs.io.


Dependencies
------------

* `cellmaps_utils <https://pypi.org/project/cellmaps-utils>`__
* `phenograph <https://pypi.org/project/phenograph>`__
* `numpy <https://pypi.org/project/numpy>`__
* `torch <https://pypi.org/project/torch>`__
* `pandas <https://pypi.org/project/pandas>`__
* `matplotlib <https://pypi.org/project/matplotlib>`__
* `dill <https://pypi.org/project/dill>`__
* `tqdm <https://pypi.org/project/tqdm>`__


Compatibility
-------------

* Python 3.8+

Installation
------------

.. code-block::

   git clone https://github.com/idekerlab/cellmaps_coembedding
   cd cellmaps_coembedding
   make dist
   pip install dist/cellmaps_coembedding*whl


Run **make** command with no arguments to see other build/deploy options including creation of Docker image

.. code-block::

   make

Output:

.. code-block::

   clean                remove all build, test, coverage and Python artifacts
   clean-build          remove build artifacts
   clean-pyc            remove Python file artifacts
   clean-test           remove test and coverage artifacts
   lint                 check style with flake8
   test                 run tests quickly with the default Python
   test-all             run tests on every Python version with tox
   coverage             check code coverage quickly with the default Python
   docs                 generate Sphinx HTML documentation, including API docs
   servedocs            compile the docs watching for changes
   testrelease          package and upload a TEST release
   release              package and upload a release
   dist                 builds source and wheel package
   install              install the package to the active Python's site-packages
   dockerbuild          build docker image and store in local repository
   dockerpush           push image to dockerhub

Before running tests, please install ``pip install -r requirements_dev``.

For developers
-------------------------------------------

To deploy development versions of this package
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Below are steps to make changes to this code base, deploy, and then run
against those changes.

#. Make changes

   Modify code in this repo as desired

#. Build and deploy

.. code-block::

    # From base directory of this repo cellmaps_coembedding
    pip uninstall cellmaps_coembedding -y ; make clean dist; pip install dist/cellmaps_coembedding*whl



Needed files
------------

The output directories for the image embeddings (see `Cell Maps Image Embedding <https://github.com/idekerlab/cellmaps_image_embedding/>`__) and protein-protein interaction network embeddings (see `Cell Maps PPI Embedding <https://github.com/idekerlab/cellmaps_ppi_embedding/>`__) are required.


Usage
-----

For information invoke :code:`cellmaps_coembeddingcmd.py -h`

**Example usage**

.. code-block::

   cellmaps_coembeddingcmd.py ./cellmaps_coembedding_outdir --embeddings ./cellmaps_image_embedding_outdir ./cellmaps_ppi_embedding_outdir



Via Docker
~~~~~~~~~~~~~~~~~~~~~~

**Example usage**


.. code-block::

   Coming soon...

Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
.. _NDEx: http://www.ndexbio.org


=======
History
=======

0.4.0 (2024-12-02)
-------------------

* Added README generation.

* Refactor code.

0.3.1 (2024-09-13)
------------------

* Bug fix: raise more informative error when no embeddings overlap.

0.3.0 (2024-09-06)
------------------

* Added ``--provenance`` flag to pass a path to json file with provenance information. This removes the
  necessity of input directory to be an RO-Crate.

0.2.0 (2024-07-17)
------------------

* Added a new coembedding algorithm accessible via flag ``--algorithm auto``. This algorithm utilizes neural networks
  to generate latent embeddings, optimizing both reconstruction and triplet losses to improve embedding accuracy
  by learning intra- and inter-modality relationships.

0.1.0 (2024-02-12)
------------------

* First release on PyPI.
