Skip to main content

Package for Joint Embedding-classifier Learning for Interpretability. Learns feature/item/user embeddings with specific structures, recommends new item-user associations and provides feature importance scores.

Project description

funding logo

Joint Embedding-classifier Learning for improved Interpretability (JELI) Python Package

This repository is a part of the EU-funded RECeSS project (#101102016), and hosts the code for the open-source Python package JELI for the collaborative filtering approach.

Python Version GitHub Build Status Codecov Codefactor

Statement of need

Interpretability is a topical question in recommender systems, especially in healthcare applications. In drug repurposing, the goal is to identify novel therapeutic indications as drug-disease pairs. An interpretable drug repurposing algorithm quantifies the importance of each input feature for the predicted therapeutic drug-disease association in a non-ambiguous fashion, using post hoc methods. Unfortunately, different importance score-based approaches lead to different results, yielding unreliable interpretations.

We introduce the novel Joint Embedding Learning-classifier for improved Interpretability (JELI). It features a new structured recommender system and trains it jointly on a drug-disease-gene knowledge graph completion task. In particular, JELI simultaneously (a) learns the gene, drug, and disease embeddings; (b) predicts new drug-disease associations based on those embeddings; (c) provides importance scores for each gene. The drug and disease embeddings have a structure that depends on the gene embeddings. Therefore, JELI allows the introduction of graph-based priors on the connections between diseases, drugs, and genes in a generic fashion to recommend and argue for novel therapeutic drug-disease associations. 

Contrary to prior works, the recommender system explicitly includes the importance scores, strengthening the link between the recommendations and the extracted scores while allowing the use of a generic embedding model. The recommendation strategy in JELI can also be readily applied beyond the task of drug repurposing for any sets of items, users, and features.

Install the latest release

Using pip

pip install jeli

Docker

#Build Docker image
docker build -t jeli .
#Run Docker image built in previous step and drop into SSH
docker run -it --expose 3000  -p 3000:3000 jeli

Dependencies

OS: developed and tested on Debian Linux.

The complete list of dependencies for JELI can be found at requirements.txt (pip).

Licence

This repository is under an OSI-approved MIT license.

Citation

If you use JELI in academic research, please cite it as follows

Réda, Clémence, Vie, Jill-Jênn and Wolkenhauer, Olaf (2024). JELI: an interpretable embedding-learning recommender system for drug repurposing.

Community guidelines with respect to contributions, issue reporting, and support

Pull requests and issue flagging are welcome, and can be made through the GitHub interface. Support can be provided by reaching out to recess-project[at]proton.me. However, please note that contributors and users must abide by the Code of Conduct.

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

jeli-1.0.1.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

jeli-1.0.1-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file jeli-1.0.1.tar.gz.

File metadata

  • Download URL: jeli-1.0.1.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for jeli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fa18fb3c1aabc8dfb2d69174343e0e1ea327ea14da1170932b0abfb15d2a99f0
MD5 1fea7810c4d1f18b26ebc6b32e2bd3cb
BLAKE2b-256 15ddd9675911e479547deb8c48a00c3a3eb56a875174a5006909e71b7dbcb9d1

See more details on using hashes here.

File details

Details for the file jeli-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: jeli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for jeli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0166c04dc6aa96fbd754390dc3bad11fcd2c300bd3f7423b1291227703984c6b
MD5 51465d1d125ec708d0947c5f71578f74
BLAKE2b-256 596a2d2d125858768044481e9d630274be11db17f998563c0422b71cdc6450f1

See more details on using hashes here.

Supported by

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