xsmiles

A JupyterLab plugin implementing the XSMILES visualization

https://github.com/bayer-group/xsmiles-jupyterlab

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.2%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

A JupyterLab plugin implementing the XSMILES visualization

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

README.md

XSMILES visualizations in Jupyter Lab

A Custom Jupyter Lab Widget to visualize SMILES-based and atom-based scores.

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

Availability and examples

Example Notebook with a how-to

To use XSMILES with Jupyter Lab you need to install the package with pip and have internet connection while using it.

RDKit MinimalLib is downloaded by your browser.

Please check this notebook to see how to use the tool: Notebook

Note that it is only being tested with JupyterLab. A reason for you to use Lab is the space available for visualizations, which is much better than in regular Jupyter notebooks. We also had problems with the installation for non-Lab notebooks.

Installation

Quick example - create conda environment and installs xsmiles

```bash

conda create --name xsmiles_env python=3.9 jupyterlab=3.4.5 rdkit=2022.3.5 matplotlib=3.5.3 -c conda-forge

conda activate xsmiles_env # activate the created env

You can install the latest official version from this repo with:

pip install xsmiles-0.2.2-py2.py3-none-any.whl

Unofficial pypi xsmiles:

pip install xsmiles

jupyter lab examples/xsmiles_examples.ipynb # run a notebook with jupyter lab ```

Quick example - create environment with python venv

```bash

tested with python 3.9

python3.9 -m venv xsmiles_env

activate env

source ./xsmiles_env/bin/activate

You can install the latest official version from this repo with:

pip install xsmiles-0.2.2-py2.py3-none-any.whl

Unofficial pypi xsmiles:

pip install xsmiles

install dependencies for the example notebook

pip install jupyterlab==3.4.5 rdkit==2022.3.5 matplotlib==3.5.3

jupyter lab examples/xsmiles_examples.ipynb ```

Uninstall

  • pip uninstall xsmiles
  • rm -r <path-to:>/share/jupyter/labextensions/xsmiles
  • jupyter labextension list

Development

Please check the DEVELOPMENT.md file.

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
  • Watch event: 1
  • Fork event: 1
Last Year
  • Watch event: 1
  • Fork event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 20
  • Total Committers: 2
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.2
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 16
linlinzhao l****1@b****m 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 3
  • Total pull requests: 13
  • Average time to close issues: 5 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.08
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 11
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
  • jessielyons (2)
  • hhaootian (1)
Pull Request Authors
  • dependabot[bot] (11)
  • linlinzhao (2)
Top Labels
Issue Labels
Pull Request Labels
dependencies (11)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 59 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 1
  • Total maintainers: 1
pypi.org: xsmiles

A Custom Jupyter Widget Library

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 59 Last month
Rankings
Dependent packages count: 10.0%
Stargazers count: 18.5%
Dependent repos count: 21.7%
Forks count: 22.6%
Average: 27.8%
Downloads: 66.1%
Maintainers (1)
Last synced: 8 months ago

Dependencies

package-lock.json npm
  • 1139 dependencies
package.json npm
  • @babel/core ^7.5.0 development
  • @babel/preset-env ^7.5.0 development
  • @jupyterlab/builder ^3.0.0 development
  • @phosphor/application ^1.6.0 development
  • @phosphor/widgets ^1.6.0 development
  • @types/webpack-env ^1.13.6 development
  • @typescript-eslint/eslint-plugin ^5.35.1 development
  • @typescript-eslint/parser ^5.35.1 development
  • css-loader ^6.7.1 development
  • eslint ^8.22.0 development
  • eslint-config-prettier ^8.5.0 development
  • eslint-plugin-prettier ^4.2.1 development
  • identity-obj-proxy ^3.0.0 development
  • jest ^28.1.3 development
  • npm-run-all ^4.1.3 development
  • prettier ^2.0.5 development
  • rimraf ^3.0.2 development
  • style-loader ^3.3.1 development
  • ts-jest ^28.0.8 development
  • ts-loader ^9.3.1 development
  • typescript ~4.7.4 development
  • webpack ^5.0.0 development
  • webpack-cli ^4.0.0 development
  • @jupyter-widgets/base ^4.0.0
  • @types/jquery ^3.5.11
  • jquery ^3.6.0
  • xsmiles ^0.6.5
setup.py pypi
  • ipywidgets >=7.0.0
docs/environment.yml pypi
pyproject.toml pypi