xsmiles-use-cases

JupyterLab notebooks using XSMILES

https://github.com/bayer-group/xsmiles-use-cases

Science Score: 57.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 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.4%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

JupyterLab notebooks using XSMILES

Basic Info
  • Host: GitHub
  • Owner: Bayer-Group
  • License: bsd-3-clause
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 404 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Created over 3 years ago · Last pushed about 3 years ago
Metadata Files
Readme Contributing License Citation Codeowners

README.md

XSMILES - JupyterLab example notebooks

Examples of pipelines from models & explanations to visualizations.

Available notebooks in notebooks/:

  • Visualizing Gasteiger Charges (Simple example): notebooks/atom_attributions_gasteiger_charges.ipynb

    • Comparing LogD and bioconcetration factor attributions (Loading attributions from JSON): TBD.
    • Comparing LogP attributions from different methods (from ML Models to Attributions and Visualization): notebooks/smiles_attributions_for_logp.ipynb

Please Cite

If you use XSMILES, the use cases, its code, or the generated explanations, please cite our article:

https://jcheminf.biomedcentral.com/articles/10.1186/s13321-022-00673-w

Heberle, H., Zhao, L., Schmidt, S. et al. XSMILES: interactive visualization for molecules, SMILES and XAI attribution scores. J Cheminform 15, 2 (2023). https://doi.org/10.1186/s13321-022-00673-w

BibTeX @article{Heberle2023XSMILES, author={Heberle, Henry and Zhao, Linlin and Schmidt, Sebastian and Wolf, Thomas and Heinrich, Julian}, title={XSMILES: interactive visualization for molecules, SMILES and XAI attribution scores}, journal={Journal of Cheminformatics}, year={2023}, month={Jan}, day={06}, volume={15}, number={1}, pages={2}, abstract={Explainable artificial intelligence (XAI) methods have shown increasing applicability in chemistry. In this context, visualization techniques can highlight regions of a molecule to reveal their influence over a predicted property. For this purpose, some XAI techniques calculate attribution scores associated with tokens of SMILES strings or with atoms of a molecule. While an association of a score with an atom can be directly visually represented on a molecule diagram, scores computed for SMILES non-atom tokens cannot. For instance, a substring [N+] contains 3 non-atom tokens, i.e., [, {\$}{\$}+{\$}{\$}, and ], and their attributions, depending on the model, are not necessarily revealing an influence of the nitrogen atom over the predicted property; for that reason, it is not possible to represent the scores on a molecule diagram. Moreover, SMILES's notation is complex, foregrounding the need for techniques to facilitate the analysis of explanations associated with their tokens.}, issn={1758-2946}, doi={10.1186/s13321-022-00673-w}, url={https://doi.org/10.1186/s13321-022-00673-w} }

JupyterLab Notebook

XSMILES for Javascript, KNIME, and How to use it

How to run the notebook

Step 1 - Install general dependencies and XSMILES

Create a new virtual environment and install the dependencies defined in requirements.txt:

```bash

the code has been tested with Python 3.7, it's a dependency from CDDD

python3.7 -m venv .venvxsmilesusecases source ./.venvxsmilesusecases/bin/activate # path to the created environment pip3 install -r requirements.txt ```

Step 2 - Install CDDD

An unofficial package for CDDD is available in this repository: cddd-1.2.2-py3.none.any.whl. We packed CDDD scripts and the CDDD default_model into a single package to use in the notebook more easily, as well as to use with our Substitution method (attributor.py). Please check the smiles_attributions notebook to see how to we use the package and import the CDDD default model. We created this package because in certain environments, Google Drive may be blocked by firewalls.

bash pip install cddd-1.2.2-py3.none.any.whl

Make sure tensorboard==1.13.1 and tensorflow==1.13.2 were installed correctly through requirements.txt, CDDD depends on them, as well as on python <= 3.7.

You can use XSMILES for JupyterLab with newer versions of python. This dependency on Python 3.7 is here only for the CDDD model to work.

Step 3 - Run JupyterLab

Run JupyterLab and choose a notebook to explore:

bash jupyter lab notebooks

Notes

XSMILES from .whl file

If you don't want to install XSMILES from pipy (requirements.txt), you can install the .whl file available here

bash pip install xsmiles-0.2.1.dev0-py2.py3-none-any.whl

Internet connection is a requirement

The plugin will download RDkit MinimalLib when the JupyterLab notebook is loaded.

Owner

  • Name: Bayer Open Source
  • Login: Bayer-Group
  • Kind: organization

Science for a better life

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Heberle"
  given-names: "Henry"
  orcid: "https://orcid.org/0000-0003-1964-268X"
title: "XSMILES: interactive visualization for molecules, SMILES and XAI attribution scores"
version: 0.5.7
doi: 10.1186/s13321-022-00673-w
date-released: 2022-08-25
url: "https://doi.org/10.1186/s13321-022-00673-w"
preferred-citation:
  type: article
  authors:
  - family-names: "Heberle"
    given-names: "Henry"
    orcid: "https://orcid.org/0000-0003-1964-268X"
  - family-names: "Zhao"
    given-names: "Linlin"
    orcid: "https://orcid.org/0000-0000-0000-0000"
  - family-names: "Schmidt"
    given-names: "Sebastian"
    orcid: "https://orcid.org/0000-0000-0000-0000"
  - family-names: "Wolf"
    given-names: "Thomas"
    orcid: "https://orcid.org/0000-0000-0000-0000"
  - family-names: "Heinrich"
    given-names: "Julian"
    orcid: "https://orcid.org/0000-0000-0000-0000"    
  doi: "10.1186/s13321-022-00673-w"
  journal: "Journal of Cheminformatics"
  month: "Jan"
  day: 06
  start:  # First page number
  end:  # Last page number
  title: "XSMILES: interactive visualization for molecules, SMILES and XAI attribution scores"
  issue: 
  volume: 15
  year: 2023
 

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 21
  • Total Committers: 2
  • Avg Commits per committer: 10.5
  • Development Distribution Score (DDS): 0.143
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Henry Heberle h****c@g****m 18
linlinzhao l****1@b****m 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 6
  • Average time to close issues: N/A
  • Average time to close pull requests: 26 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.33
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (3)
  • linlinzhao (3)
Top Labels
Issue Labels
Pull Request Labels
dependencies (3)

Dependencies

Pipfile pypi
  • catboost ==1.0.6
  • joblib ==1.1.0
  • jsonify ==0.5
  • jupyterlab ==3.4.5
  • matplotlib ==3.5.3
  • pandas ==1.3.5
  • rdkit-pypi ==2022.3.5
  • scikit-learn ==0.23.2
  • scipy ==1.7.3
  • shap ==0.41.0
  • sklranger ==0.7.0
requirements.txt pypi
  • catboost ==1.0.6
  • joblib ==1.1.0
  • jsonify ==0.5
  • jupyterlab ==3.4.5
  • matplotlib ==3.5.3
  • pandas ==1.3.5
  • rdkit-pypi ==2022.3.5
  • scikit-learn ==0.23.2
  • scipy ==1.7.3
  • shap ==0.41.0
  • tensorboard ==1.13.1
  • tensorflow ==1.13.2
  • xsmiles ==0.2.2