Ten Reasons to Adopt the V3000 Molfile Format

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. Although it is often noted that V3000 offers more features than V2000, the specific differences between the two formats have to my knowledge never been enumerated in detail. This article attempts to address that problem.


Before describing specific advantages of V3000 over V2000, it's worth reviewing those things both formats have in common.

At a high level, V3000 and V2000 share a common syntax. Both formats require files to be built from individual lines of ASCII text terminated by a newline. Both formats require these lines to be 80 characters or fewer. The same header format is used for both formats. Thanks to this level of backward-compatibility, a V2000 reader may perceive a V3000 file as a "no-structure," a placeholder devoid of atoms or bonds. At the very least, V3000 and V2000 molfiles can be used interchangeably in SDfiles.

V3000 and V2000 have a lot in common semantically. Both formats extend the valence bond model and support hydrogen suppression. Both formats use 2D coordinates and bond decorations (e.g., wedge/hash) to convey double bond conformation and atomic stereochemical configuration.

Given these similarities, why switch to V3000? Below are some specific answers to that question. This information has been gleaned mainly from CTfile Formats: BIOVIA Databases 2020. Secondary sources are cited inline.

Reason 1. Unlimited Atom/Bond Count

The V2000 specification restricts both the atom and bond count to 999 or fewer. This limitation arises from the pervasive use of fixed-with values. In particular, the fields that encode atom and bond counts must be three characters in length.

The V3000 format eliminates fixed-width encoding, and with it the upper bound on atom and bond counts. In practice, computer architecture and physical constraints will impose practical limits on molecular size. But this is always the case.

Reason 2. Non-Sequential Atom/Bond Indexes

Both V2000 and V3000 formats assign positive integer indexes (index > 0) to atoms and bonds. These indexes are used throughout the format to reference specific atoms and bonds. For example, a bond references source and target atoms through their indexes. In V2000 molfiles, indexes are assigned implicitly from the order of appearance of the corresponding line. But in V3000 molfiles, indexes must be explicitly assigned by the file's author. Indexing can begin at one ("1") or any other positive integer, and indexes may or may not be sequential. The only restriction is uniqueness. Surprisingly, there is no upper limit on the value of an atom or bond index.

This feature can come in handy when translating V3000 to and from other formats with integer indexing, which is effectively all of them. Some, like CDXML, Mol2, and CML allow indexes to be assigned by authors. Others like SMILES and V2000 use implicit integer indexing. Either way, the indexing scheme can be preserved, with allows 1:1 comparisons and simpler debugging.

Reason 3. Arbitrary-Precision Coordinates

V2000 coordinates are restricted to five places in front of the decimal (including negative sign if used) and four places after. This means that atomic coordinates outside the range -9999.9999 to 99999.9999 are invalid. The main problem with this constraint is that in some cases it requires coordinate transformation during conversion. Although such conversions are straightforward, they can complicate debugging.

V3000 solves this issue by eliminating fixed-width atomic coordinates. An x-, y-, or z- coordinate can assume any integer or decimal value. Furthermore, decimal values can be expressed to arbitrary precision. As with atom and bond indexes, hardware constraints will impose practical limits on the range and precision of atomic coordinates.

Reason 4. Zero-order Bonds

A recent article discussed the zero-order bond proposal and the role it might play as a bridge between cheminformatics systems based on the valence bond model and those based on other models. One disadvantage of the zero-order bond proposal is the lack of native support for it by V2000 format. V3000 format, on the other hand, supports zero-order bonds by default through two new bond types: "coordination" and "hydrogen."

Coordination bonds (type 9) come with two display options: COORD and DATIVE. Display option COORD applies to "coordinative bonds used in metal complexes." Display option DATIVE applies to bonds involving Lewis acids and bases. Although two display options for hydrogen bonds are defined (HBOND1 and HBOND2), no distinction between them is made.

According to the Chemical Representation 2018 SP1 supplement, coordination and hydrogen bonds "do not affect valence." As discussed in an earlier article, valence translates to bond order sum which in turn is used to compute implicit hydrogen count. All of this means that V3000 format can in principle be used today to support the zero-order bond proposal.

Reason 5. Collection Blocks

Many applications require groups of atoms, bonds, and other molecular features to be marked and treated specially. The V3000 format supports this requirement through Collection Blocks. They can be used in three broad ways by default:

  • Highlighting. Atoms, bonds, and other features can be "highlighted," or displayed distinctively.
  • Stereogroups. One or more stereogenic atoms can be marked as belonging to the same group and therefore subject to special processing. This topic will be treated in more detail under "Enhanced Stereochemistry."
  • User-specified. Custom meaning can be ascribed to a collection block. If these collections are not understood by an application, they should be ignored but preserved. As such, valid user-specified collections can serve as an important building block for V3000 extensions.

Reason 6. Template Blocks

Large molecules are often composed of smaller units appearing one or more times. Some applications can benefit from compression of these molecules through templates. A template is an annotated substructure that can be defined within a V3000 molfile once for unlimited reuse (or no use at all) within the main structure.

Template Blocks may seem similar to a V2000 feature known as Sgroups. Both Sgroups and Template Blocks can yield structures which visually represent a substructure as a single atom label (e.g., "NO2"). Where Sgroups and Template Blocks differ is implementation. An Sgroup designates a group of existing atoms as replaceable by a single atom label. All of these atoms must themselves be present in the main structure. A Template Block, on the other hand, defines a template structure, which can be re-used without ever duplicating atoms. If Sgroups are Post-It notes, then Template Blocks are blueprints.

As with Collection Blocks, Template Blocks can be used as a building block for customized V3000 formats. However, the best-known application of Template Blocks comes from their application to the encoding of biological molecules and their derivatized forms.

Reason 7. Self-Contained Sequence Representation

First described in 2011, Self-Contained Sequence Representation (SCSR) establishes V3000 conventions that can be used to represent a wide range of cyclic and acyclic biological polymers. Monomers may be of natural or unnatural origin, and mono- or polyfunctionalized. There is no upper bound on the number of monomers that can be used. Monomers can even be stored in external files for organization-wide standardization.

Under the hood, SCSR uses Template Blocks together with several extensions which were later rolled into the V3000 specification. This means that the V3000 format as defined today can encode any valid SCSR representation.

Reason 8. Haptic and Generic Bonds

A recurring topic on this blog has been the unsuitability of the valence bond model as a basis for encoding large volumes of interesting chemical space (see, for example Multi-Atom Bonding in Cheminformatics). But the depths to which the valence bond model has become entrenched poses serious challenges. Fixing this system outright would require overturning a foundation on which a lot of software and organizational process has been built.

The V3000 format offers a solution to one aspect of this problem: "haptic" bonding. Haptic bonding occurs when a π-bonding system bonds through multiple atoms to another atom. The classic example is ferrocene, but there are many others.

Haptic structures are encoded in V3000 format through the use of a bond with multiple endpoints. The ENDPTS bond attribute defines a list of possible atoms, and the ATTACH bond attribute sets the mode of attachment to one of two possible states: ALL or ANY. Haptic bonding uses the ATTACH=ALL designation.

Setting the ATTACH=ANY attribute leads to a different kind of bond known as a generic. As the attribute suggests, a generic bond can attach to any of a list of endpoint atoms. As such, a generic bond can be thought of as a tool for the compact encoding of a mixture.

Reason 9. Enhanced Stereochemistry

Stereochemical mixtures pose non-trivial challenges in cheminformatics. On the one hand, stereochemical mixtures are ubiquitous. Indeed, they are the default result of many kinds of experiments. On the other hand, few molecular representations can capture the subtleties involved. V3000 format addresses this problem by supporting stereogroups.

A stereogroup is a Collection Block having one of the following built-in types:

  • MDLV30/STEABS. Absolute stereochemistry. The stereochemical configuration of every atom in the group is absolute. This is the default for atoms at the narrow end of a wedge and/or possessing a CFG attribute.
  • MDLV30/STERACn. The relative stereochemical configuration of every atom in the group is as encoded, but both enantiomeric forms (over the group) are present. Synonym for "AND." n is a nonzero positive integer identifying the stereogroup.
  • MDLV30/STERELn. The relative stereochemical configuration of every atom in the group is either as encoded or the enantiomeric form (over the group). Synonym for "OR." n is a nonzero positive integer identifying the stereogroup.

The meaning and interpretation of stereogroups is covered at length in the BIOVIA Enhanced Stereochemical Representation white paper. This white paper does not appear to have a stable URL, but it can be found at this third party site.

Reason 10. Long Term Support

BIOVIA, the molfile format's current corporate sponsor, has made it clear that V2000 is a legacy format that will not be extended. Only V3000 lies on the path to future extension. As noted in CTfile Formats:

The V3000 format is intended to be the primary means for communication of future enhancements to BIOVIA chemical representation features.

This policy has important implications to those interested in extending the molfile format. Extending V2000 means building on a static platform, whereas extending V3000 means building on a dynamic platform.

Reasons not to Switch

Despite its advantages, there are still good reasons to avoid switching to V3000 format. Perhaps the biggest reason to stick with V2000 format is its universal adoption. V2000 molfiles and the software that uses it are easy to find.

Although V3000 software may be available, it may not be reliable. The relative novelty of V3000 means that readers and writers have been subjected to much less real-world testing than their V2000 counterparts. Consider ChemDraw JS, an up-to-date version of Perkin-Elmer's flagship chemistry software. It fails to load a simple V3000 molfile whose atom indexes begin at any value other than one. This issue has been present in ChemDraw since at least version 12.0.3 (released 2010).

Error. ChemDraw JS treats V3000 molfiles whose atom indexes begin with a value other than "1" as invalid.

Another issue relates to V3000's use of the valence bond model. Haptic and coordination bonds offer a step in the right direction, but they do not provide a complete solution to the problem of multi-center bonding. Nor does V3000 format address the even more complex problem of non-tetrahedral stereochemistry.

Although V3000 format and its built-in support for SCSR may seem like a big win from the perspective of biomolecules, it's not the only game in town. HELM, like SCSR, can represent functionalized biomolecules of arbitrary complexity.

One of the most-cited reasons to adopt V3000 format is stereogroups and enhanced stereochemistry representation. But as noted by BIOVIA itself, this notation should be used with care.

The enhanced representation is very rich and allows much detail to be assigned to stereogenic centers. For example, a structure with one stereogenic center can be represented in four ways: no information (no stereo bonds), AND, OR, or ABSOLUTE. This is manageable and understandable. A structure with two centers has 65 registerable representations, and this reduces to 29 non- degenerate, registerable representations. Interpreting these structures and their relationships is a challenge and limits need to be applied to the amount of detail that is acceptable in a valid structure.

Finally, V3000 is a moving target. This format will continue to be extended well into the future. One hopes that revisions along the way will always be backward compatible. However, recent history suggests this may not always be the case (see MDL Valence-Mageddon). Even if backward compatibility were preserved indefinitely, it's possible that future revisions may be incompatible with certain V3000 extensions.

Like any technology, adoption of V3000 comes with costs. Whether or not the these costs are justified by benefits is a determination that can only be made on a case-by-case basis.


The V3000 molfile format offers a suite of useful features addressing several important problems in cheminformatics. The range of improvements is broad enough that most organizations can find something to like. This nevertheless raises the question of whether the costs of adoption justifies the benefits. Future articles will take up this topic by discussing specific V3000 molfile features in detail.