bluuebunny/crossref_metadata_2025 huggingface dataset:
Toward a Standard InChI Formal Grammar
Authors: Apodaca Richard L.
Published: December 2024

InChI is widely viewed as merely an identifier, not a serialization format, but a recent article challenged that notion. Although the idea may be discouraged in some quarters, it is possible to use InChI to read and write molecular structure. Tools for reliably doing so could lead to new applications. One missing component is a formal description of the InChI’s syntax. This article takes the first few steps toward its creation.
JavaScript for Cheminformatics
Authors: Apodaca Richard L.
Published: December 2024

Regular readers of this blog know that one of its recurring themes is the convergence of Web technologies and chemical information. Although several articles describe how Ruby and Java can be applied to cheminformatics, one language has never been featured: JavaScript. JavaScript is both the default language of the Web client, and a language of growing importance elsewhere.
Stereoisomer Generation
Authors: Apodaca Richard L.
Published: December 2024

The ability to identify and generate of all possible stereoisomers from a graph molecular representation is useful in many areas of cheminformatics. My own interest in this subject comes from ongoing work to create a robust chemical substance registration system as part of the Chemcaster platform. The idea is that users may submit a molecule bearing unspecified stereocenters and the system needs to decide what action to take in response.
PerlMol: A Case Study in Open Source Cheminformatics Software
Authors: Apodaca Richard L.
Published: December 2024

How does open source software happen? Although many factors come into play, the majority of answers seem to revolve around a simple theme: developers building solutions to fill their own needs. Yet only a fraction of these solutions end up becoming open source software. And only a fraction of those end up being used by a wider audience. What’s the key ingredient? There’s still a lot to learn from studying individual cases.
Reshoring Pharma Jobs
Authors: Apodaca Richard L.
Published: December 2024

Chemjobber asks the intriguing question of whether U.S. pharma jobs lost to offshoring will ever be brought back. Recent actions by certain large companies have hinted at manufacturing capacity being brought back to the United States, a process sometimes called “reshoring”. High-profile examples include General Electric and Apple.
Chemical Information and Marketing
Authors: Apodaca Richard L.
Published: December 2024

Although it may not be readily apparent, the early history of scientific publishing has much to teach in the Internet age. Look on the desk of any working research chemist and you’re likely to find at least one of these three items: (1) The CRC Handbook; (2) The Aldrich Catalog; and (3) The Merck Index. It may be no accident that all three of these iconic reference works trace their roots to marketing.
Casual Saturdays: Building Blocks
Authors: Apodaca Richard L.
Published: December 2024

[Flash Content Scrubbed] From Brightcove.
Stereochemistry and Atom Parity in SMILES
Authors: Apodaca Richard L.
Published: December 2024

SMILES notation supports the reading and writing of tetrahedral stereochemical configuration. Usually the job of dealing with this notation falls to software. But sometimes it falls to you, the chemist or software developer. This article explains the SMILES stereochemical notation system in detail.
One-Stop Shopping for Chemistry Journal RSS and Atom Feeds
Authors: Apodaca Richard L.
Published: December 2024

My last article on why chemists don’t use rss generated a lot of discussion, both in comments and via email, so I started thinking about a solution.
Octet Fundamentals - Immutable Molecules
Authors: Apodaca Richard L.
Published: December 2024

Peruse the Octet API Documentation and you may find something surprising about the Molecule interface: it lacks mutator methods. Given that mutators enable the state of an object to change, how can a Molecule ever be created in the first place? Why would anyone even need immutable Molecules? Mutable Molecules are Unnecessary Most cheminformatics tools permit the unfettered modification of molecules after their creation.
The RDKit/Postgres Ordered Substructure Search Problem
Authors: Apodaca Richard L.
Published: December 2024

The RDKit Postgres extension (“the extension”) enables fast chemical substructure queries in plain SQL. Convenience is the main selling point of this utility, which allows low-level data processing to stay within the database layer of an application. While evaluating RDKit for use in a revamped commercial product, I uncovered an easily-detected, show-stopping performance issue that to my knowledge has never been documented before.
Yet Another Free Chemistry Database: FooDB
Authors: Apodaca Richard L.
Published: December 2024

FooDB contains over 1,900 structures used as food additives in the United States. The data in FooDB are provided by the FDA EAFUS site. You can search by CAS number, IUPAC name, or molecular formula. And in what is likely to be a trend to watch closely, FooDB is powered by the Web application framework Ruby on Rails. FooDB is not alone: the number of free chemistry databases on the Web just keeps growing.
Dear Lazyweb: Does Jmol Support Output for Use with 3D Glasses?
Authors: Apodaca Richard L.
Published: December 2024

After having spent some time recently playing around with Jmol, the thought occurs - is there a setting that enables 3D-effect viewing with those colored glassed used with movies? For that matter, which of the free 3D molecule viewers currenly available support it?
Progression
Authors: Apodaca Richard L.
Published: December 2024

In May 2023, about two weeks before the start of chemoradiotherapy, I’d noticed increasing loss of control over my left leg, especially in the calf and foot. I sensed this in two ways. The first was during my at-home physical therapy program. Repeating the same exercises day after day for weeks on end revealed those motions that were becoming more difficult or impossible. The second way was more subjective.
Debugging ES Modules in Node.js and Mocha Using VS Code
Authors: Apodaca Richard L.
Published: December 2024

The ES Module standard defines a way to build and assemble JavaScript modules. Currently supported in modern browsers and Node.js for many months now, ES Modules will over time render various ad-hoc module systems currently in use obsolete. Given their recent emergence from alpha, however, support for ES Modules can vary across tools.
Compiling C to Java Bytecode
Authors: Apodaca Richard L.
Published: December 2024

In the ideal world for many Java developers, all software would be written in Java. The reality is that a great deal of software is written in other languages, one of the most widespread of which is C. This article discusses a unique approach to working with C code from Java, producing 100% pure Java bytecode that runs anywhere Java does.
Smarter Cheminformatics - From SD File to Image Collection with ChemPhoto
Authors: Apodaca Richard L.
Published: December 2024

The old adage says time is money. Unfortunately, working chemists are often forced to spend a remarkable amount of valuable time and mental effort on menial chemical information processing tasks. These are things that could be done faster and with better quality by the right software, if it were available. Most importantly, these tasks take resources away from much more valuable work that

can’t

be automated.
Exhaustive Cycle Enumeration in Rust
Authors: Apodaca Richard L.
Published: December 2024

Enumeration of all cycles is a useful graph operation. This is especially true in cheminformatics, where the set of all cycles is required in tasks ranging from 2D structure layout to electronic characterization and descriptor calculation. Although restricted cycle sets are suitable for some applications, others require exhaustive enumeration. This article introduces a Rust crate for doing that.
Second Call For Papers: Recent Advances in Chemical Structure Representation
Authors: Apodaca Richard L.
Published: December 2024

Have you created, maintained, upgraded, or used a chemical structure representation scheme lately? Few things in cheminformatics are more more central or ubiquitous. Some examples: file formats and line notations in-memory data models human-readable graphics output performance-optimized data structures I’m organizing a symposium at the Boston ACS Meeting in August 2010 on the subject of recent advances in chemical structure representation.
Filthy Rich Clients
Authors: Apodaca Richard L.
Published: December 2024

The “destandardization” of the GUI has been underway for several years. From Web applications like Picnik to Flash video players to Apple’s iTunes application, users are getting increasingly used to the idea that not every program needs to look like Microsoft Office, and that some of them never should have in the first place. Now, it’s possible to infuse Java Swing applications with the look and feel of this new breed of GUI.
Ruby and InChI: The Rino Library
Authors: Apodaca Richard L.
Published: December 2024

Rino is a Ruby library for generating InChI identifiers. Currently, molfile input is supported. The following code illustrates basic usage.
Scientific Commons: Cleaning Up Science's Basement
Authors: Apodaca Richard L.
Published: December 2024

If publications are the front porch of science, dissertations and theses are its basement. Virtually every bit of information that makes its way into a scientific paper can also be found in some form in a thesis or dissertation. But theses and dissertations also hold vast quantities of information that never made it into a publication: the experiment that failed for no identifiable reason;
How to Enable Exact Structure Search and Substructure Search for Your Chemical Database
Authors: Apodaca Richard L.
Published: December 2024

It’s a simple and increasingly common question: how can I enable users to search my website by chemical structure? Text search can be done relatively easily, but chemical exact structure and substructure search are considerably more complex. This article offers a high-level overview for non-experts of what’s needed to create a structure-searchable chemical database.
Chempedia: A Social Medium for Chemical Information
Authors: Apodaca Richard L.
Published: December 2024

I’d like to thank all of those who have participated in alpha testing of the new Chempedia - by setting up an account through the streamlined OpenID-based system, contributing a substance name, registering a substance, reviewing a substance name, or simply verifying that the service works as expected on their systems. One question I get asked, even by those who have used the alpha site, relates to the purpose of Chempedia.
WebGL and What It Means for Chemistry
Authors: Apodaca Richard L.
Published: December 2024

Most chemists have used one or more 3D molecular visualization tools in their careers. They can be valuable assets in understanding structure-function relationships in a range of contexts. The first 3-D molecular visualization system (the “Kluge”) was built in the mid 1960’s by Cyrus Levinthal using a combination of oscilloscope graphics and a dome-like controller.
Chemical Inventory Systems: Cheminformatics' Problem Child?
Authors: Apodaca Richard L.
Published: December 2024

Chemical inventory is one of those things that few in cheminformatics think about but many in chemistry do. Having worked in research labs in both industry and academia, it seems that chemical inventory, and particularly the software/hardware to manage it, is one of those universal problems in chemistry. What Problem? What problem, you may ask? The problem of finding a sample of a given substance present somewhere in a research lab.
Update: InChI Canonicalization Algorithm
Authors: Apodaca Richard L.
Published: December 2024

An older article on the InChI canonicalization algorithm has been restored and updated. The revised article contains a direct link to the InChI Technical Manual pdf file which I uploaded to SourceForge for convenience.
PubCouch: Create Your Own Custom PubChem Subset
Authors: Apodaca Richard L.
Published: December 2024

If you’ve ever worked with the PubChem dataset, you may have found yourself wanting to create a custom subset that filters out certain records. This article, the fourth in a continuing series, shows a very simple way to create a custom PubChem dataset using PubCouch. The Problem I really like PubChem. It’s the world’s largest collection of freely-downloadable chemical structures and an excellent use of taxpayer dollars.
Evernote as an Electronic Lab Notebook (ELN)
Authors: Apodaca Richard L.
Published: December 2024

Electronic lab notebooks (ELNs) have a reputation for being complex, hard to learn, and expensive. The increasing popularity of general-purpose note-taking applications such as Evernote has prompted some to ask whether this kind of software could be used as a simpler, less expensive ELN. The idea sounds appealing - but is Evernote really a viable ELN option today?
A Brief Introduction to the ChemDraw CDX File Format
Authors: Apodaca Richard L.
Published: December 2024

Ask just about any chemist which tool they use to create structure drawings that appear in their reports, manuscripts, and patents. The answer is very likely to be ChemDraw. ChemDraw is the industry standard tool for generating publication-quality chemical structure graphics. It uses a native file format called “CDX”, making CDX files a high-profile player in the world of cheminformatics.
Returning Rust Iterators
Authors: Apodaca Richard L.
Published: December 2024

Rust iterators are fundamental to the language and can be found in a variety of contexts. Consuming iterators returned from functions in the standard library and crates is straightforward. Eventually, however, you’ll want to return iterators from your own functions. This article discusses the major approaches to this surprisingly complex problem. It’s based in part on answers to this question.
Interactive Rust in a REPL and Jupyter Notebook with EVCXR
Authors: Apodaca Richard L.
Published: December 2024

Interactive programming, in which expressions are entered and evaluated in real-time, can be a powerful tool for exploring a language and problem solving. This capability is most often associated with dynamically evaluated languages such as JavaScript and Python. Compiled languages such as Java and C++ can also be used interactively, but tooling tends to lag by many years.
Formal Charge and Bond Order are Side Effects
Authors: Apodaca Richard L.
Published: December 2024

A cheminformatics toolkit or file format is only as good as its molecular representation. The more robust and expressive the representation, the broader the scope of problems that can be addressed. Two frequently-overlooked aspects of molecular representation are formal charge and bond order. These numerical quantities underpin depiction, descriptor calculation, and encoding/decoding among others.
The RESTful Chemical Tracking System Part 3 - Resource Associations
Authors: Apodaca Richard L.
Published: December 2024

Because the tracking of samples plays such a central role in many laboratory activities, it’s important that a chemical tracking system work well with a variety of other software. Although there are many ways to achieve interoperability in laboratory information management systems, the REST Web architectural style is one of the most promising. Yet to my knowledge it remains unused.
The Electronic Laboratory Notebook Trap
Authors: Apodaca Richard L.
Published: December 2024

An interesting discussion is taking place on the LinkedIn Electronic Laboratory Notebook (ELN) Forum regarding the maturity of the ELN market. Andrew Lemon of The Edge Software Consultancy starts off: Here’s the response I posted: Interesting discussion. The importance of the “Who’s winning?” question might have something to do with how you view ELN software.
From C Source Code to Platform-Independent Executable Jarfile - Using NestedVM to Build JInChI
Authors: Apodaca Richard L.
Published: December 2024

A recent series of articles discussed in some detail the process of compiling source code written in C and C++ to pure Java bytecode with NestedVM. But the full conversion process, starting with source and finishing with an executable jarfile, has to my knowledge never been documented.
Help Us Solve a Mechanistic Mystery: Benzimidazole Formation using Sodium Metabisulfite
Authors: Apodaca Richard L.
Published: December 2024

If you’re a synthetic chemist, you may have seen seen (or run) this reaction before: It’s the oxidative conversion of aromatic diamines and aromatic aldehydes into benzimidazoles. One common way of performing this reaction is in the presence of sodium metabisulfite. The question is: what’s the role of the sodium metabisulfite and what’s the oxidant?
How to Get a Job Like Mine
Authors: Apodaca Richard L.
Published: December 2024

I rarely discuss personal details on this blog, but See Ar Oh’s Chem Coach Carnival seems like too much fun to pass up. The idea is for chemists to answer a few questions about their jobs and how they got there, with the aim of inspiring chemists and chemists-to-be. Although there are a few popular chemistry career paths, I hope what follows illustrates one of the many ways to do something different.
PubCouch: Install CouchDB on Ubuntu Karmic From Source
Authors: Apodaca Richard L.
Published: December 2024

Although I find CouchDB’s slogan “Relax” comforting, after having worked with Couch both on OS X and Linux, I can say with confidence that the only time to relax is

after

CouchDB is installed and tested. The process of getting to that point is about as relaxing as root canal.
Easily Convert IUPAC Nomenclature to SMILES, InChI, or Molfile with Rubidium
Authors: Apodaca Richard L.
Published: December 2024

A recent article introduced Rubidium, a cheminformatics toolkit written in Ruby. One of Ruby’s strengths is the speed with which it enables disparate pieces of code to be glued together - even if they’re written in different programming languages. In this article, we’ll see how Rubidium can be extended to provide support for converting IUPAC nomenclature into SMILES, InChI, or Molfile formats.
The California End of Life Option Act
Authors: Apodaca Richard L.
Published: December 2024

So far I’ve managed to tell my story while ignoring the elephant in the room: death. In March of this year I was diagnosed with an incurable brain cancer known as “glioblastoma.” It’s terminal, meaning I’ll die from it unless something else kills me first. It’s also highly aggressive, meaning it will probably kill me sooner rather than later. I’ve been treated with the standard of care.
A Rust PostgreSQL Extension for CAS Numbers
Authors: Apodaca Richard L.
Published: December 2024

The previous article in this series introduced a simple method for writing PostgreSQL extensions in Rust with the pgx crate. The example in that article, although a complete extension, only exposed a function. A more interesting extension would define a custom data type that worked correctly with indexes. This article describes such an extension. Compiling and Running the Extension The extension, cas_number is available on GitHub.
Goodbye Paper, Hello Mendeley
Authors: Apodaca Richard L.
Published: December 2024

I used to have eight 4-inch thick binders containing the many technical papers I refer to. Now I have one. Here’s how I did it. Mendeley lets you create an annotated library from a raw collection of your many papers. Make a single directory, throw in all of your PDFs, and Mendely does the rest. Or at least that’s how I used it. From the documentation: How did I go from binders full of paper to PDFs? Google of course.
Cheminformatics Data Pipelining with KNIME - Configuring a Node Developer Environment on Ubuntu Linux
Authors: Apodaca Richard L.
Published: December 2024

The previous article in this series introduced KNIME as a data pipelining engine for cheminformatics. One of the conclusions from that article was that the possibilities for doing interesting things with an out-of-the-box KNIME installation were somewhat limited. This article briefly describes how to set up a KNIME developer environment in preparation for creating our own custom KNIME cheminformatics nodes.
The Horrifying Future of Scientific Communication
Authors: Apodaca Richard L.
Published: December 2024

Technological change has a way of making fools out of experts and experts out of fools. One of the reasons that evaluating the future impact of new technologies is so difficult is that those with the greatest potential often start out looking - and acting - like junk. They can’t initially do the job nearly as well as the technologies they end up replacing. They are written off as toys.
Making the Case: In Silico Prediction of Ames Test Mutagenicity
Authors: Apodaca Richard L.
Published: December 2024

Yet another appearance of Open Source software in the primary cheminformatics literature comes by way of a paper from Mazzatorta, Tran, Shilter, and Grigorov of the Nestlé Research Center. This work employs two Open Source libraries: lazar, a tool for the prediction of toxic properties of chemical structures; and Open Babel, a widely-used, low-level library for cheminformatics.
Building a Unique Chemistry Journal - Responses to Questions from Nature Chemistry
Authors: Apodaca Richard L.
Published: December 2024

Neil Withers of the soon-to-be-launched chemistry journal

Nature Chemistry

has asked for feedback to some questions about the best ways to display chemistry research papers on the Web.
ChemWriter on Chrome for Linux and Windows: Working Around the Chrome SVG Bug
Authors: Apodaca Richard L.
Published: December 2024

I’m happy to report that ChemWriter now runs without known issues on Chrome for Linux and Windows. As reported here previously, SVG on Chrome for Linux and Windows suffers from a known bug that prevents attachment of event listeners to SVG DOM elements under certain conditions. Fortunately, the bug was pinpointed and a simple XHTML file can be used to reproduce the behavior.
Mongrel and Rails: It's Just not Fair
Authors: Apodaca Richard L.
Published: December 2024

Rails excels as a rapid Web development platform. Deployment of Rails applications, on the other hand, has until recently been a lot less rapid and a lot more complicated. A new Rails technology called Mongrel is now set to change all of that. Mongrel is a fast Rails application container. It can be used in standalone mode - exactly like WEBrick.
Avogadro 1.0
Authors: Apodaca Richard L.
Published: December 2024

In a recent posting to the CCL List, Geoff Hutchison writes:
StructureDB - A Profiling Session
Authors: Apodaca Richard L.
Published: December 2024

[Flash Content Scrubbed] I came across this intriguing presentation, apparently by Jonathan Alvarsson, while doing some research on Mychem. Although the context is not described in detail, the fundamental problems should be familiar to anyone who has built a chemical database. For those who may not know, Mychem is is an open source cheminformatics extension for MySQL based on Open Babel.
The Graph Traversal Programming Pattern
Authors: Apodaca Richard L.
Published: December 2024

Choosing the right programming model can play a decisive role in framing the kinds of problems that can be efficiently solved - and as a result the scope of a system. I like how Marko Rodriguez’ presentation (below) helps clarify those situations in which a graph traversal model excels over a relational table model. Chemistry is full of graph relationships at all scales.
Making the Case: OpenSMILES
Authors: Apodaca Richard L.
Published: December 2024

SMILES is one of the most widely-used line notations in cheminformatics. Yet until very recently, there has been no concerted attempt to develop open SMILES encoding standards. OpenSMILES aims to change that. By providing a forum in which concerns from the SMILES user community can be voiced, peer-reviewed, and addressed, OpenSMILES introduces a new way for the SMILES language to become better.
Display Inline SVG Using the Tag
Authors: Apodaca Richard L.
Published: December 2024

SVG can be embedded into HTML documents with the  tag. Even better, standards-compliant browsers will also accept inline base-64 encoded SVG as a data URI.
Bountiful Quantities of Useless Features
Authors: Apodaca Richard L.
Published: December 2024

When building software, the temptation to add nifty but useless features can be very strong. This temptation becomes almost irresistible when a clear vision of the final product is missing. What separates software that people

love

to use from software that people

have

to use? In many cases, it’s the discipline to say “no” to feature blight.
Big Data in Chemistry: Mirroring PubChem the Easy Way
Authors: Apodaca Richard L.
Published: December 2024

PubChem’s massive size presents special challenges when working with this chemical dataset. Synchronization in particular requires special care. Although it’s very easy to use a tool such as wget to perform a complete, one-time download PubChem’s archive files, this approach scales poorly if our goal is to maintain a copy that’s always up-to-date.
If You Want to Change the World, Build the Tool First - Part 1
Authors: Apodaca Richard L.
Published: December 2024

Breakthroughs in technologies for managing and exchanging information always precede explosions in information exchange. From a safe distance, this principle seems completely obvious. Yet, like most obvious things, it’s all too easy to forget in the heat of battle. Recently, Peter Murray-Rust discussed the appalling state of data capture, dissemination, preservation and curation. His comments were prompted by an article written by Nico Adams.
Compiling InChI to WebAssembly Part 2: From Molfile to InChI
Authors: Apodaca Richard L.
Published: December 2024

InChI is a software package that generates unique chemical identifiers. Although InChI’s C source yields executables for many platforms, there are exceptions. For a long time, the Web browser was one of them. A few years ago, I showed how to compile InChI to JavaScript. That solution works, but recent developments, both in browsers and InChI itself, suggest a better approach is possible.
Everything Old is New Again: WLN in PubChem
Authors: Apodaca Richard L.
Published: December 2024

An older article I did on Wiswesser Line Notation (WLN) seems to have interested a few people over the years. For the unfamiliar, WLN was a line notation system that at one point was

the

way to name organic compounds. Among its most remarkable attributes was how easy it was to learn - supporters claimed that high school graduates with minimal chemistry knowledge could be taught WLN in a matter of days.
Gigabytes of Chemical Information - Now Free for Download
Authors: Apodaca Richard L.
Published: December 2024

As announced on their Public Policy Blog, Google has made available for free download both images and full text of a large number of US Patents and Patent Applications. This information has always been available - but at a price. The US Patent and Trademark Office (USPTO) has offered the ability to subscribe to new patent files, as well as their collection of backfiles, in DVD format for a price ranging in the thousands of dollars.
Google Chrome: Rethinking the Browser - as an Operating System
Authors: Apodaca Richard L.
Published: December 2024

As widely covered in the technical and popular press (example), later today Google is releasing the first version of its new Web browser, Chrome. What makes Chrome different from the seemingly endless array of browsers already available? For now, we’ll have to make do with the, umm, whitepaper.
The Trouble with Hückel
Authors: Apodaca Richard L.
Published: December 2024

As the joke goes, the difference between computational chemistry and cheminformatics is that in computational chemistry molecules get to keep their hydrogens. The two fields clearly start from different assumptions, using them to answer different kinds of questions. One of the more striking differences between the two fields is the treatment of aromaticity.
Molecular Assembly Index
Authors: Apodaca Richard L.
Published: December 2024

How can life be recognized as such? The question has great scientific, technological, and cultural importance. One school of thought says that we should start with a definition. But after 123 attempts and counting, just defining the word “life” has yielded more heat than light.
A Smallest Set of Smallest Rings
Authors: Apodaca Richard L.
Published: December 2024

Cycles within molecular graphs (aka “rings”) play a central role in many chemistry subdisciplines. Not surprisingly, computational chemistry and cheminformatics procedures often depend on cycle perception. But cycle perception turns out to be much more complex than first appearances suggest. Part of the problem is the sheer number of approaches.
Rust Ownership by Example
Authors: Apodaca Richard L.
Published: December 2024

Rust is a safe systems programming language. Although C and C++ are systems languages, they’re not safe. Specifically, Rust is a “type safe language”, meaning that the compiler ensures that every program has well-defined behavior. Although other languages make the same guarantee, Rust does so without a garbage collector, runtime, or manual memory management.
First Steps in WebAssembly: Hello World
Authors: Apodaca Richard L.
Published: December 2024

WebAssembly (aka Wasm) is a new W3C recommendation and the second target language to be supported by all browsers. WebAssembly is also fast becoming a full-blown runtime environment outside the browser. Unlike JavaScript, WebAssembly was designed with fast execution in mind. A previous article described how to compile C directly to WebAssembly.
Reading (and Rendering) ChemDraw CDX Files in JavaScript
Authors: Apodaca Richard L.
Published: December 2024

About four years ago I speculated that JavaScript may be capable of filling some important holes in chemistry software.
The (Chemical Information) World is Flat
Authors: Apodaca Richard L.
Published: December 2024

Thirty years may have passed, but the situation described by Garfield rings eerily familiar today. What could not have been anticipated is the degree to which the playing field for information producers is being flattened. Today’s scientist-reviewer employs many of the same tools, accesses the same distribution channels, and eventually will compete for the same readers as established journals, databases, and other services.
Casual Saturdays: Hackintosh
Authors: Apodaca Richard L.
Published: December 2024

My kind of tutorial: pick something unexpected but useful, start from the beginning, be specific, and show lots of pictures.
RESTful Cheminformatics Web Services in PHP and Ruby: Two Chemcaster Clients
Authors: Apodaca Richard L.
Published: December 2024

Language-specific client libraries are essential ingredients of any Web service. Although it is possible to code directly to an HTTP interface, few things flatten a learning curve more than working at a higher level in a language you know well. Over at the Metamolecular Products Blog, two clients for Chemcaster have been announced - one written in PHP and the other written in Ruby.
Hacking PubChem - Power User Gateway
Authors: Apodaca Richard L.
Published: December 2024

If you’ve been waiting for a simple way to programatically query PubChem without screen scraping, the wait is over. An (apparently) new service called the Power User Gateway (PUG) now offers a direct, XML-based PubChem data channel. See PUG Previous articles have discussed various methods for hacking PubChem: screen scraping (link, link); with the Entrez Utilities; and by simply replicating the database.
Downloadable eMolecules Datasets
Authors: Apodaca Richard L.
Published: December 2024

As announced on the eMolecules blog, the eMolecules database can now be downloaded free of charge in a variety of fomats. Currently available are a SMILES dataset and a 2D SDF dataset. Future releases will include datasets with 3D coordinates for docking applications. The datasets contain chemical structure information along with the eMolecules identifier. These datasets do not include pricing, availability, and vendor information.
Open Access Business Models That Can Actually Work - Sigma-Aldrich's ChemBlogs
Authors: Apodaca Richard L.
Published: December 2024

A gem of a chemistry blog has been operating for some time - apparently without much notice. ChemBlogs is Sigma-Aldrich’s Web answer to their Aldrichimica Acta print magazine, and it’s packed with mini-reviews on synthetic chemistry with links to the primary literature.
Flying Coach
Authors: Apodaca Richard L.
Published: December 2024

Over the last couple of years, I’ve noticed several examples of C&EN readers writing in to complain about the way the American Chemical Society (ACS) deals with its considerable intellecual property claims. Last week, Jiri Janata wrote in to complain about the unfairness he sees in a scholarly organization taking free services from its members while at the same time charging for services at the same rate the general public is charged.
Easily Calculate TPSA Descriptors from SMILES Strings Using Ruby CDK
Authors: Apodaca Richard L.
Published: December 2024

A D-F reader wrote in to ask how to calculate Topological Polar Surface Area (TPSA) using Ruby CDK. TPSA is one of the most widely-used descriptors for predicting membrane permeability and from it other important ADME properties. This article shows how to calculate TPSA with Ruby using Ruby CDK. The Library Our library consists of nothing more than a few method calls to manipulate the underlying CDK library.
Scanner-Driven Parser Development
Authors: Apodaca Richard L.
Published: December 2024

Writing a parser from scratch can be a daunting task. For a beginner, the topic may seem barricaded behind a thick wall of theory and vocabulary. Getting to the heart of the matter, running code, can take a lot of time and effort. This article describes a shift in thinking that can significantly reduce the time needed to get started and finish.
Reading and Writing the System Clipboard in JavaScript: Copy and Paste Molfiles in ChemWriter on Internet Explorer
Authors: Apodaca Richard L.
Published: December 2024

Integrating the system clipboard with Web applications is no easy feat. For good reason, most browsers make it nearly impossible for client-side JavaScript to arbitrarily read and write the system clipboard. But as with all things relating to browsers, behavior does vary.
Diversity-Oriented Chemical Informatics
Authors: Apodaca Richard L.
Published: December 2024

How would you enumerate all of the molecules represented by a molecular formula? This question was recently posed to members of the Blue Obelisk mailing list. Formula-based exhaustive structure enumeration may seem on the surface to be just another esoteric problem. Nevertheless, playing with open, interactive software that can perform such enumerations can be a great source of new ideas for applications and unit tests.
Recombining Compressed PubChem SD Files with Open Babel
Authors: Apodaca Richard L.
Published: December 2024

While testing ChemPhoto, it became necessary to test the chemical structure imaging application with SD Files containing several hundred thousand records. Although it’s tempting to meet this need by constructing “dummy” files with the same record or small set of records repeated, tests are always far more illuminating when real data is used.
Tech Fridays: Deploying Rails and Rack Applications with Heroku
Authors: Apodaca Richard L.
Published: December 2024

[Flash Content Scrubbed] At last night’s SDRuby meeting, Blake Mizerany gave an excellent overview of Heroku. The platform’s dead-simple deployment and scaling features make this one well worth checking out. Also, small applications can be hosted for free. The above screencast by Remi Taylor shows how to get started.
A Third Failed Test of ACS Articles on Request and How to Help
Authors: Apodaca Richard L.
Published: December 2024

A previous post detailed my failed attempt to test a rather interesting if not well-known program offered by ACS to corresponding publication authors: “free access” to final published articles after 12 months under the Articles on Request (AoR) program. In that post I made a mistake that I’ll attempt to correct here.
The Scientific Debate: Digg Meets Science?
Authors: Apodaca Richard L.
Published: December 2024

Recently I stumbled upon a new service called The Scientific Debate by way of a comment on Derek Low’s blog In the Pipeline. It’s actually a very clever idea: think Digg for biology papers. Business seems to be slow right now, but the site is less than one month old. Would something like this work in Chemistry?
Graph Databases and Cheminformatics - Neo4j
Authors: Apodaca Richard L.
Published: December 2024

The applications of graphs in cheminformatics are numerous. From modeling molecules themselves to reaction networks, to ring system indicies, and even scientific paper authorship relationships, graphs are

the way

most problems get framed. Wouldn’t it be great if your natural mental model of a problem didn’t have to change just because you needed persistent storage of the underlying data?
Win a Free ChemWriter License for Your Site
Authors: Apodaca Richard L.
Published: December 2024

Over the last several months I’ve received a number of requests for free ChemWriter domain licenses. If you’ve looked at ChemWriter and like what you see, but can’t manage the price tag - this is your chance. Until October 7, my company is running a contest with the prize being one ChemWriter domain license. This license entitles the winner to the full version of ChemWriter, with no expiration and access to all updates.
Exhaustive Ring Perception With MX
Authors: Apodaca Richard L.
Published: December 2024

The latest release of MX now supports exhaustive ring perception. Both a platform-independent jarfile and source distribution can be downloaded. Background The ability to perceive all rings in a chemical structure is essential for a number of important cheminformatics capabilities including Structure Diagram Generation, aromaticity detection, and binary fingerprint generation.
Open Access: Think Globally, Act Locally
Authors: Apodaca Richard L.
Published: December 2024

[Flash Content Scrubbed]
Yet Another Free Chemistry Database: Sigma-Aldrich Reaction Search
Authors: Apodaca Richard L.
Published: December 2024

Yet another free chemistry database comes in the form of Sigma-Aldrich’s Reaction Search. Draw your reactant and product, and let the database do the rest. Both exact and substructure matching can be used. Search results contain bibliographical references to the primary literature.
Readily Available, Without Infringements or Restrictions
Authors: Apodaca Richard L.
Published: December 2024

Science moves forward only insofar as observations can be validated and put to use by a third party. Chemical informatics is no different from any other field in this respect. Yet publications of the type Mr. Figueras opposed can still be found in 2006. Why is this? At issue isn’t just software. The ACS has recently spoken out on the necessity of open data sets.
JavaScript for Cheminformatics, Part 2
Authors: Apodaca Richard L.
Published: December 2024

Back in the summer of 2008 I published a post about JavaScript’s current and future roles in chemistry. In it, I cataloged the then-available smattering of chemistry software that had been written in JavaScript. I also said that despite poor performance and primitive tooling, JavaScript was uniquely positioned as a foundation for important chemistry software. Since then,

a lot

has happened. This article recaps some highlights.
Education of a Scientist
Authors: Apodaca Richard L.
Published: December 2024

Creating this video was fun, and there’s an obvious business model behind the company making it possible. Guess what? I just published it for free to a worldwide audience. Why doesn’t science work this way?
Copyright for Chemists
Authors: Apodaca Richard L.
Published: December 2024

Here’s a simple question: who “owns” your papers after they’re published in a journal? The answer depends on the journal. But if you’re like most chemists, the publisher owns your article. Period. You are legally allowed to redistribute your article only under terms given by the publisher. Any other use is punishable by law. Why should this matter?
The NextMove Patent Reaction Dataset
Authors: Apodaca Richard L.
Published: December 2024

Until recently, large databases of machine-readable chemical reactions were rare, constrained in their allowed uses, and extremely expensive. That changed in 2014 with the publication of a dataset of organic chemical reactions extracted from US patents and patent applications. What follows is an introduction to this dataset and a discussion of some of the ways it has been used.
If You Want to Change the World, Build the Tool First - Part 2
Authors: Apodaca Richard L.
Published: December 2024

Let’s face it - real change is painful for most people. Think back, for example, to your last big change at work, and chances are pretty good that the experience was not entirely enjoyable - especially if the change was imposed on you. As designers of tools, it’s easy to forget just how unpleasant change is for your users.
Types without TypeScript
Authors: Apodaca Richard L.
Published: December 2024

An oft-cited element of JavaScript’s success is dynamic typing. The language’s minimal type system means that type errors are reported at runtime. This flexibility can be liberating during early work lacking a clear design. But like any technology, there are tradeoffs. A project that grows in size, complexity, or developer count can expose the true costs of dynamic typing.
ChemRefer: Free Direct Access to the Primary Literature
Authors: Apodaca Richard L.
Published: December 2024

Searching the primary literature on the Internet leaves a lot to be desired. For example, nothing puts the brakes on a search faster than finding a reference to a key paper, but being unable to download it due to the access policies of the hosting journal. Enter ChemRefer. The site works very simply: type in a keyword and get a list of papers matching it somewhere in the article.
Everything is Miscellaneous
Authors: Apodaca Richard L.
Published: December 2024

It turns out the world was a lot messier than it seemed - and it’s about time. I couldn’t help but be reminded of The Long Tail as I watched this presentation by David Weinberger. Thanks to Richard Cameron of CiteULike for the link.
InChI 1.03 Prerelease
Authors: Apodaca Richard L.
Published: December 2024

Igor Pletnev recently announced the availability of a prerelease version of InChI-1.03. This represents the first public update to the InChI software since January 2009, when version 1.02 was released. Source can be downloaded here.
Compiling Open Babel to Pure Java Bytecode with NestedVM - An Unsuccessful First Attempt
Authors: Apodaca Richard L.
Published: December 2024

Wouldn’t it be great to be able to compile code written in languages like FORTRAN, C, and C++ to Java bytecode? NestedVM - almost magically - can do just that. This article documents a failed first attempt to compile the popular cheminformatics toolkit Open Babel, which is written in C and C++, to pure Java bytecode with NestedVM.
Ten Reasons to Adopt the V3000 Molfile Format
Authors: Apodaca Richard L.
Published: December 2024

The molfile format is an integral part of chemistry today. First publicly described in 1991, molfiles are now found in most places that chemistry and computers intersect. Molfiles tend to be encoded with the “V2000” specification, but this isn’t the only option. In 1995 an update called “V3000” was introduced. Since then V3000 has been revised and extended.
Go West, Young Man - Does Open Access Really Matter in the Long Run?
Authors: Apodaca Richard L.
Published: December 2024

Making a name for yourself in science is no easy job. Aside from the technical challenge of doing noteworthy science while working under constraints, there’s the compounding challenge of making your work known to influential colleagues. Excellent work done in a vacuum is lost to science, only to be “rediscovered” by those more willing or capable of self-promotion.
Working With OPSIN - Using Netbeans for a Maven Project
Authors: Apodaca Richard L.
Published: December 2024

The previous article in this series showed how to use the popular version control system Git with OPSIN. For the unfamiliar, OPSIN is the open source IUPAC nomenclature parser. First reviewed here in 2006, OPSIN has continued to evolve and now parses a remarkable range of nomenclature including fused hetereocycles.
Multi-Atom Bonding in Cheminformatics
Authors: Apodaca Richard L.
Published: December 2024

Over the last several decades, cheminformatics has managed to produce a few dozen different ways to exchange molecular encodings and metadata. Despite ongoing experimentation with high-level encoding techniques, these formats are mostly devoid of new ideas around bonding. To the extent that bonding relationships are encoded at all, they occur almost universally as the union of exactly two atoms.
Mr. InChI - Tear Down This Wall
Authors: Apodaca Richard L.
Published: December 2024

InChI, useful as it may be, has some important limitations. One of the biggest relates to portability. The InChI source code is written in C, meaning that developers in other languages need to jump through hoops of varying degrees of difficulty to get InChI to work with their development platform of choice.
Drug Discovery on the Web
Authors: Apodaca Richard L.
Published: December 2024

Collaborative Drug Discovery (CDD) is a Web-based platform for drug discovery collaboration. It’s one of the few examples of a Web-based tool accessible by the public and designed to integrate into the daily workflow of biology/chemistry teams. Recently, CDD held its 3rd Annual Community Meeting, and Barry Bunin, CDD’s founder, forwarded me a link to a writeup of the event. CDD is interesting at a number of levels.
From IUPAC Nomenclature to 2-D Structures With OPSIN
Authors: Apodaca Richard L.
Published: December 2024

A previous article introduced OPSIN, an Open Source Java library for decoding IUPAC chemical nomenclature. In this tutorial, you’ll see how OPSIN can, when interfaced with freely-available chemical informatics software, generate 2-D structure diagrams from IUPAC names. Prerequisites This tutorial requires Ruby CDK (RCDK), which in turn requires Ruby, Java, and the Ruby Java Bridge.
Fast Substructure Search Using Open Source Tools Part 3 - A CRUD API for Fingerprints in Ruby
Authors: Apodaca Richard L.
Published: December 2024

The previous article in this series showed how to perform fingerprint screens for substructure searches using nothing more than SQL. Although this is significant progress, working at the level of SQL queries to perform create, read, update, and delete operations (CRUD) on our fingerprint table is more work than it needs to be. We’d really prefer to use an API written in a high-level programming language.
ACS Appeals Leadscope Case to Ohio Supreme Court
Authors: Apodaca Richard L.
Published: December 2024

The long-running ACS court case against cheminformatics company Leadscope continues. In late July ACS filed a memorandum of law seeking further review by the Ohio Supreme court of the Leadscope defamation countersuit: For more, see the recent C&E News article and the Depth-First post linking to documents in prior verdicts.
The Avalanche of Low-Quality Research?
Authors: Apodaca Richard L.
Published: December 2024

Do we scientist publish too much?
Rethinking Tautomer Representation
Authors: Apodaca Richard L.
Published: December 2024

If ever there was a perennial problem in cheminformatics, it would be tautomerism. Dealing with it consistently and in a chemically relevant way is much harder than appearances might suggest. The problem is multi-faceted, requiring not just a rigorous definition of a slippery concept, but methods to pinpoint molecular features leading to tautomerism.