xsmiles
A JupyterLab plugin implementing the XSMILES visualization
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
Repository
A JupyterLab plugin implementing the XSMILES visualization
Basic Info
Statistics
- Stars: 11
- Watchers: 2
- Forks: 1
- Open Issues: 10
- Releases: 0
Metadata Files
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}
}

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 xsmilesrm -r <path-to:>/share/jupyter/labextensions/xsmilesjupyter labextension list
Development
Please check the DEVELOPMENT.md file.
Owner
- Name: Bayer Open Source
- Login: Bayer-Group
- Kind: organization
- Website: https://bayer.com/
- Repositories: 98
- Profile: https://github.com/Bayer-Group
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
Top Committers
| Name | 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
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
- Homepage: https://github.com/Bayer-Group/xsmiles-jupyterlab
- Documentation: https://xsmiles.readthedocs.io/
- License: BSD
-
Latest release: 0.2.2
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- 1139 dependencies
- @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
- ipywidgets >=7.0.0