Skip to main content

A tool to generate coembeddings from IF image embeddings and PPI network embeddings

Project description

Cell Maps CoEmbedder

The Cell Maps CoEmbedding is part of the Cell Mapping Toolkit

https://img.shields.io/pypi/v/cellmaps_coembedding.svg https://app.travis-ci.com/idekerlab/cellmaps_coembedding.svg?branch=main Documentation Status Zenodo DOI badge

Creates Coembedding from Cell Maps ImmunoFluorscent Image Embedder and Cell Maps PPI Embedder using an implementation of MUSE

Dependencies

Compatibility

  • Python 3.8 - 3.11

Installation

git clone https://github.com/idekerlab/cellmaps_coembedding
cd cellmaps_coembedding
pip install -r requirements_dev.txt
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

make

Output:

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.txt.

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.

  1. Make changes

    Modify code in this repo as desired

  2. Build and deploy

# 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) and protein-protein interaction network embeddings (see Cell Maps PPI Embedding) are required.

Usage

For information invoke cellmaps_coembeddingcmd.py -h

Example usage

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

Via Docker

Example usage

Coming soon...

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

1.2.2 (2025-05-15)

  • Updated to PEP 517 compliant build system

  • Bug fixes: update constants, add back L2 normalization and fix separator issue for proteinGPS

1.2.1 (2025-04-14)

  • Fix scipy package version

1.2.0 (2025-03-19)

  • Added functionality to generate umap of embeddings (in cellmaps_coembedding.utils)

1.1.0 (2025-03-05)

  • Added functionality to evaluate embeddings using statistical analysis and visualization (functions get_embedding_eval_data and generate_embedding_evaluation_figures in cellmaps_coembedding.utils).

  • Update defauls (EPOCHS and DROPOUT)

1.0.0 (2025-01-28)

  • Rename auto coembedding name and proteinGPS. –algorithm auto option is depreacted and –algorithm proteingps should be used. The coembedding implementation was moved to ProteinGPSCoEmbeddingGenerator class and AutoCoEmbeddingGenerator is deprecated and calls proteingps. The package name was renamed from autoembed_sc to proteingps.

  • Added mean_losses mean loses flag and argument in ProteinGPSCoEmbeddingGenerator. If set, uses mean of losses otherwise sum of losses.

  • Constants updated in ProteinGPSCoEmbeddingGenerator (triplet_margin=0.2) and in proteingps’s fit_predict (triplet_margin=0.2, lambda_reconstruction=5.0, lambda_triplet=5.0)

  • Bug fix: add missing a .to(device) call to ensure tensors are correctly moved to the appropriate device.

  • Update version bounds of required packages

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cellmaps_coembedding-1.2.2.tar.gz (227.6 kB view details)

Uploaded Source

Built Distribution

cellmaps_coembedding-1.2.2-py2.py3-none-any.whl (244.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cellmaps_coembedding-1.2.2.tar.gz.

File metadata

  • Download URL: cellmaps_coembedding-1.2.2.tar.gz
  • Upload date:
  • Size: 227.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.18

File hashes

Hashes for cellmaps_coembedding-1.2.2.tar.gz
Algorithm Hash digest
SHA256 c383f0fee7e4be4522fee9a2c6f9d6683f1870abc1de712f06dba85b3eea27af
MD5 f4b4b71ea83b2585ac1520e90f7542b6
BLAKE2b-256 4cee2ac12d7f47c597a12cbbd53720191824322985b4765a1fe30d77c131b0b5

See more details on using hashes here.

File details

Details for the file cellmaps_coembedding-1.2.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cellmaps_coembedding-1.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 62a580445e1bdac42df6b7afb260e47ed72b9a76acf4835e38ed8679a607e295
MD5 343e99e0fe24ea7420e29a8f13417106
BLAKE2b-256 6be5f4884a8522f4b1c9ec965cd56f55335f247713b8105a2576bf06555c91e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page