Skip to content

Chemical Usage

The chemical tooltip module uses the MyChem.info adapter to resolve chemical names and identifiers.

Import

ts
import { ChemicalTooltip } from 'bio-tooltips/mychem';
import 'bio-tooltips/style.css';

Markup

html
<span class="chemical-tooltip" data-query="2244" data-scope="pubchem">aspirin</span>
<span class="chemical-tooltip" data-query="CHEMBL25" data-scope="chembl">aspirin</span>
<span class="chemical-tooltip" data-lookup="best-guess">caffeine</span>

Prefer data-query plus data-scope for stable chemical tooltips. The visible text remains the page label, while data-query is the MyChem lookup value.

Visible-text name searches are still supported as experimental best-guess lookups. They are convenient for drafts, but chemical names can match molecules, salts, products, packages, or synonyms.

html
<span class="chemical-tooltip">aspirin</span>

When data-query is omitted, the element text becomes the query. data-scope tells MyChem.info which identifier field to search.

Initialize

ts
const cleanup = ChemicalTooltip.init({
  selector: '.chemical-tooltip'
});

The default selector is .chemical-tooltip.

Supported Scopes

data-scopeMyChem scope
namename
inchiinchi
inchikeyinchikey
chebichebi.id
chemblchembl.molecule_chembl_id
drugbankdrugbank.id
pubchem or cidpubchem.cid
uniiunii.unii

Unknown scopes fall back to name.

Lookup Modes

ModeHow to use itBehavior
idAny non-name data-scope, or data-lookup="id"Uses identifier-oriented lookup. Supported MyChem annotation IDs are fetched directly.
best-guessDefault for name, or data-lookup="best-guess"Searches by name and prefers molecule-backed records over product-only matches.

Older identifier markup remains valid:

html
<span class="chemical-tooltip" data-scope="pubchem">2244</span>