← Back to all sparks
W

webchem

ANALYTICS
Velocity0.0

Chemical Information from the Web. Contribute to ropensci/webchem development by creating an account on GitHub.

Adding chemical databases with one hand while public ones close programmatic access with the other.

cheminformaticsweb-apisdata-accessropensciapi-deprecation
Current state
webchem is the R interface to public chemical data — retrieving identifiers, properties and structures across roughly a dozen web services. Its release history reads as a running account of which of those services still allow automated access. Version 1.3.0 removed two functions outright because their sources withdrew: ChemIDplus was retired by the NLM, and PAN stopped supporting programmatic access. Version 1.3.1 continues the pattern, updating URLs that stopped working and noting that ChemSpider InChIKey validation now requires an API key like the rest of that provider's endpoints.
Where it's heading
Two opposing forces run through these entries. The package keeps widening its coverage — ChEMBL in 1.2.0, LIPID MAPS and SwissLipids identifiers via Wikidata, structure images, Mol export — while the open, unauthenticated end of the chemical web keeps contracting. The other consistent thread is interface harmonisation: successive releases have converged the get_* functions on the same query and from arguments, tibble returns, and CAS reformatting, so the package feels like one interface rather than a dozen wrappers.
Prediction
Expect further defunct functions and URL repairs as more providers move behind keys or shut down, alongside occasional additions of sources that remain open. The entries show no sign of a general credential-management layer, which is what a package facing this trend would eventually need.

Recent moves

  1. 1y ago

    Repairs broken URLs; ChemSpider check now needs a key

    Two endpoints changed underneath the package — srs_query() and the ChemSpider InChIKey check both had dead URLs — and the latter now requires an API key, extending the credential requirement to the last ChemSpider function that lacked one. pc_prop() also stops returning a bare NA for malformed queries and explains what it rejected.

    View source ↗
  2. 3y ago

    ChemIDplus and PAN queries removed as sources shut down

    ⚡ SPARK

    The release where the package's capability surface shrinks rather than grows: two data sources are removed because the providers withdrew them. Read alongside the ChemSpider key requirement in 1.3.1, it marks the point where the direction of travel for open chemical data became visible in the changelog.

    View source ↗
  3. 3y ago

    Adds ChEMBL access for bioactive compound data

    New chembl_*() functions open access to ChEMBL's manually curated database of drug-like bioactive molecules, a substantial widening toward pharmacological data. The release also adds the query delays and API key handling that ChemSpider functions had been missing.

    View source ↗
  4. 4y ago

    cir_query() returns a tibble, a breaking change

    Changes cir_query() from a list to a tibble return, flagged as potentially breaking, to bring it in line with the other translator functions. Part of the long harmonisation effort that has made the package's dozen-odd service wrappers behave alike.

    View source ↗
  5. 4y ago

    Adds Mol structure export; aw_query renamed to bcpc_query

    write_mol() adds structure export in Mol format, and aw_query() is renamed to bcpc_query() after the underlying Alan Wood site moved. ChemIDplus also loses name-based querying here, an early instance of the erosion that removes the function entirely two releases later.

    View source ↗
  6. 5y ago

    Fetches LIPID MAPS and SwissLipids identifiers from Wikidata

    Adds two lipid database identifiers sourced through Wikidata rather than the providers directly, which is a notably more durable route than the direct integrations that keep breaking. A get_csid() fix for invalid queries ships alongside.

    View source ↗