November 25th, 2013: Marvin 6.0.6

Marvin for JavaScript 6.0.6 history of changes


  • Applet

    • The mol property change event was not fired when an empty molecule was set initially for the MarvinSketch applet. This could cause misbehaviour in cases where the client JavaScript code relied on this marker to know when the applet was initialized.

August 27th, 2013: Marvin 6.0.5

Marvin for JavaScript 6.0.5 history of changes


  • MarvinView GUI

    • Opening a structure for editing in MarvinView was opened with 0% zoom factor in the MarvinSketch window, when the structure contained an R-group.

August 6th, 2013: Marvin 6.0.4

Marvin for JavaScript 6.0.4 history of changes

  • MarvinSpace

    • Transferring 3D molecules from MarvinSpace to MarvinSketch resulted in 2D structures in the sketcher. Forum topic

July 23th, 2013: Marvin 6.0.3

Marvin for JavaScript 6.0.3 history of changes

No changes.

June 25th, 2013: Marvin 6.0.2

Marvin for JavaScript 6.0.2 history of changes

No changes.

June 21st, 2013: Marvin 6.0.1

Marvin for JavaScript 6.0.1 history of changes

New features and improvements

  • Image I/O

    • The following file extensions were removed from the "Files of Type" list on the Import Image dialog: *.ps, *.pdf, and "All Files". PDF files can be imported through the "File > Open" menu.

  • Calculations

    • Services

      • SOAP webservices:

        • SOAP version 1.2 webservices are supported.


  • Painting

    • R/S stereo labels were not displayed when there was an R-group on the canvas.

    • S-groups, created from structures containing a position variation bond, retained the grey patch of the position variation bond when the group was contracted.

  • Editing

    • An atom of an expanded S-group could not be replaced with an S-group correctly

  • Clipboard handling

    • On Mac OS X, copy-paste (from MarvinSketch to, e.g., TextEdit) did not transfer the atom colors. Forum topic

  • Graphical object handling

    • Formatting the head of a graphical arrow to a half-left arrow using the Document Style dialog crashed the display of the arrow.

  • Import/Export

    • MRV/CML

      • MRV and CML export failed with the woodstock xml processor. Forum topic

    • InChi/InChiKey

      • InChi export did not return standard InChi when the absolute stereo was not set in a non-chiral molecule. Forum topic

    • Document to Structure

      • Documents with many consecutive names would lead to extremely long processing time (appeared as hanging, unless reaching the timeout). Forum topic

  • Molecule Representation

    • Implicit/Explicit Hydrogen Conversion

      • Adding explicit hydrogen to an atom being part of a Multicenter S-group added the hydrogen to the S-group as well. Forum topic

  • Clean 2D

    • Stereo clean created non-IUPAC standard depiction of certain tetrahedral configurations. Forum topic

  • Data Transfer

    • OLE

      • Redirecting ChemDraw OLE objects did not work.

  • Applet

    • Applet parameter extraBonds did not work therefore the bond type menu appearance could not be changed. Forum topic

  • Image I/O

    • The xml header information was always included in the generated SVG content during image export. SVG export now has an option "headless" to exclude this information. Documentation, Forum topic

  • Calculations

    • Protonation (pKa, Major Microspecies, Isoelectric Point)

      • "Keep explicit hydrogen" option caused exception during pKa calculation.

    • NMR (HNMR, CNMR Prediction, ...)

      • When the mouse cursor was moved over an NMR peak on the chart, the relevant atom was not highlighted on NMR predictor molecule preview panel.

    • Services

      • SOAP webservices:

        • Parameters did not load from WSDL properly in SOAP version 1.1 webservices.

May 17th, 2013: Marvin 6.0.0

New features and improvements

  • MarvinSketch GUI

    • The default tool in MarvinSketch is Rectangle Selection instead of Single Bond.

    • MarvinSketch GUI has been refreshed: Icon set has been changed in MarvinSketch. Menu items have been rearranged. Several dialogs, tooltips, menus has been renamed.

    • A new Marvin configuration has been added to MarvinSketch. Already existing Marvin configurations have been renamed. Documentation

    • MarvinSketch now starts with the native "Look & Feel" on Windows and on Mac OS X.

  • MarvinSketch Dialog

    • At the first launch of MarvinSketch after installation, a dialog asks the user to select the desired skin for the GUI configuration. Documentation

    • The Open dialog has been modified. Selecting molecules to load from a multistructure file happens now directly on the Open dialog.

    • New dialog, called "Insert file", has been introduced into MarvinSketch for adding structures from new files to the canvas contents. Documentation

    • The Save dialog has been extended with an Advanced panel to set saving options.

  • Painting

    • Drawing quality has been improved: join of single bonds has been refined.

    • Superatom S-group attachment points are denoted by numbers instead of asterisks.

  • Editing

    • MarvinSketch GUI can handle unlimited number of attachment points on Superatom S-groups. There are new menu options for adding and removing attachment points in the Atom menu and in the contextual menu. Documentation

    • Bond length can be scaled. Bond length and size of other objects can be set by dragging the displayed corners of the bounding rectangle. Scaling is also available on the Document Style dialog. Scaling does not work when the structure has been rotated in 3D mode (with F7). Documentation

  • Load/Save handling in UI

    • New loading mechanism has been introduced in MarvinSketch. New menu option, Insert file, has been added to the File menu; it appends the contents of the chosen file to the structure on the canvas. Documentation

    • New saving mechanism has been introduced in MarvinSketch. Documentation

    • New save mechanism has been introduced for MarvinView. Documentation

    • Reactions and structures containing R-group definitions cannot be saved either in separate files or separately in the same file. Documentation

  • Clipboard handling

    • Images of chemical structures can be imported from the clipboard via the configured image import service or locally installed OSRA.

  • Template Library

    • New template set, Organometallics, has been added to the Template Library.

    • New amino acid templates have been added (e.g., pyrrolysine, selenocysteine, "any/unknown/undetermined aminoacid").

    • The following amino acid templates have three attachment points: arginine, cysteine, histidine, lysine, selenocysteine, serine, threonine, tryptophan, tyrosine.

  • Integration

    • The new Automapper has been introduced in MarvinSketch.

  • MarvinSpace

    • Copy and Paste functions have been added to MarvinSpace.

    • 3D editor: Molecules can be edited in 2D in MarvinSketch, and aligned to the original 3D molecule.

  • Import/Export

    • MRV/CML

      • Import and export of more than two Superatom S-group attachment points are supported.

    • MRV schema

      • New element, AttachmentPointArray, is introduced in format MRV to describe the new Superatom S-group attachment point representation. MRV Schema, Documentation

    • MOL, SDF, RXN, RDF

      • The import of template based MDL MOL files is introduced.

      • Import and export of more than two Superatom S-group attachment points are supported from MDL MOL based formats.

    • SKC

      • Import and export of more than two Superatom S-group attachment points are supported. Superatom S-groups having at least one crossing bond are exported in their expanded form.


      • Import and export of more than two Superatom S-group attachments point are supported.

      • Curved lines can be imported from CDX files.


      • Generic, Polymer, and Mixture type S-groups are stored in CXSMILES/CXSMARTS format. Documentation


      • In SMILES import, radicals are not added anymore to atoms with atomic number above chlorine, except for bromine and iodine. If implicit hydrogen can not be added to or removed from the atom (as it is in brackets in the SMILES definition), then a valence property is set to correct its valence if necessary. Documentation

    • Peptide

      • Amino acids: Cysteine, Aspartic acid, Glutamic acid, Histidine, Lysine, Asparagine, Glutamine, Arginine, Serine, Threonine, Selenocysteine, Tryptophane, and Tyrosine are imported with three attachment points from peptide format.

      • New 1-Letter and 3-letter amino acid codes were added: U and Sec for selenocysteine; O and Pyl for pyrrolysine; X and Xaa for "any/unknown/undetermined amino acid"; B and Asx for "Aspartic acid or Asparagine"; Z and Glx for "Glutamic acid or Glutamine"; J and Xle for "Leucine or Isoleucine".

    • FASTA

      • Peptide, DNA, and RNA import from FASTA format has been introduced. Documentation

    • Name to Structure (n2s)

      • Custom name-to-structure webservices can now be configured to receive the name in the middle of the URL, not just at the end, by using the [NAME] marker in the configuration URL.

      • More forms of ranged generic names are supported, such as "-C1-6alkyl". These are found extensively as part of markush structures in patents.

    • Document to Structure (d2s)

      • Text document processing has become faster (around 20% speedup for typical texts with a small proportion of chemical names).

      • The context (surrounding text) in which names appear in the document is now available as a property of the returned structures.

      • The osraTimeout option has been added to configure the maximum time to wait for OSRA to convert an image to structure (the default is 20 seconds).

    • Structure to Name(s2n)

      • The new format option "cas#" allows converting structures to their CAS Registry Number using a public webservice.

  • Molecule Representation

    • S-groups

      • Any number of attachment points can be added to Superatom S-groups.

      • S-group attachment point information can be set only to atoms being part of a Superatom S-group.

    • Valence Check

      • Valence check does not deal with free attachment points.

      • New valence check option is introduced to allow/deny traditional forms of pentavalent Nitrogen.

  • Calculations

    • Protonation (pKa, Major Microspecies, Isoelectric Point)

      • log[%] vs. pH distribution chart is introduced in case of pKa calculation. Documentation

      • Major miscrospecies calculation is supported for molecules with coordinate bonds. Forum topic

    • NMR (HNMR, CNMR Prediction, ...)

      • NMR predictor considers novel coupling types.

      • Updated trainingset has improved the NMR shift prediction accuracy in both 1H and 13C NMR predictors.

      • 1H NMR calculation has become faster as no 3D conformer generation is applied.

    • Geometry (Topology Analysis, Geometry, PSA, MSA)

      • Setting any ChemAxon supported aromatization method (general, basic, loose) is available in TopologyAnalyserPlugin which affects the result of many topology analyser calculations (e.g., aromatic atom/bond/ring count).

    • Chemical Terms

      • New sortableFormula() function is introduced. The generated sortable formula can be used to sort formulas in alphabetical order. Documentation

  • cxcalc

    • pKa training library can be used without relying on user home. Use option --correctionlibrarypath to read custom training file.

    • New sortableFormula option is introduced. The generated sortable formula can be used to sort formulas in alphabetical order.

  • cxtrain

    • New option, -p, has been introduced to save the training result to custom path.

  • Automapper

  • Structure Checker

    • "Traditional nitrogen representation allowed" option is available in Valence Error Checker. Documentation

    • External structure checker and fixer manager is integrated into Structure Checker GUI application. It is accessible from the preferences menu as "Checker/Fixer Manager". Documentation

Known issue

  • MarvinSketch Applet

    • External checker classes do not load if browser uses Java SE 6. Please, use Java SE 7 for successful checker class loading.


  • MarvinSketch Menu

    • The "Recent Files" list was not updated with the new file name when the file contained multiple structures and more records were selected.

  • Painting

    • There was a gap between the lines of the double bond and the single bonds when two single bonds connected to the same (non-visible) carbon atom on one end of a double bond.

    • Electron flow arrows partially hid lone pairs in some cases.

  • Clipboard handling

    • When copying and pasting between Marvin applications in Linux, an exception was thrown which froze the application where the copy operation had been performed. The exception originated from the applied freehep library, which has been updated.

  • MarvinSpace

    • 3D alignment: MCS mode is fixed to align molecules in 3D.

  • Image I/O

    • Image export did not remember the last folder used for saving.

    • Molecule source was not saved in jpg, png, and svg files when "Save As Image" was selected. Forum topic

  • Import/Export

    • MOL, SDF, RXN, RDF

      • Structures that contained two S-groups with exactly the same atoms imported from MDL MOL format could cause java.lang.RuntimeException. Forum topic

      • Property name was imported as its value from SDF file when the property name contained square brackets.

      • Exporting a peptide sequence containing bridge between two ungrouped amino acids to MOL format (V2000 or V3000), then importing it back, changed the coordinates of the contracted groups.


      • CDX files created by ChemDraw 9.0.1 containing abbreviated groups with no attachment points was not imported.

      • ChemDraw CDX files containing textboxes with Chinese characters were not imported.

      • Chemical formula-like subscript of a Superatom S-group was read in reverse order from CDX when the group was to the left of the fragment.

      • Superatom S-groups not having crossing bonds were read as textbox from CDX files.

      • CDX files exported from ChemDraw 5.0 and containing contracted Superatom S-group was not imported.

      • CDX import read half headed arrows as full headed.


      • CXSMARTS export did not keep CIS/TRANS information for symmetrical structures.

      • Extended part of CXSMARTS was not written correctly for any halogen query atoms.


      • Unique SMILES string generation for a fragment could have differed depending on the fragment count of the molecule

    • Peptide

      • User defined custom amino acid dictionary caused wrong custom amino acid structure or java.lang.ArrayIndexOutOfBoundsException during peptide import.

    • Name to Structure (n2s)

      • When calling a custom name-to-structure webservice, names with special characters (including space) were not URL encoded, possibly resulting in failed conversions for such names.

      • Name containing fused rings and converted to all uppercase letters were not recognized.

      • Name to Structure could get stuck in a deadlock during the first usage when that occurred concurrently in several threads.

      • When using the "name converters" API, converters were not properly removed after using thread-local converters.

    • Document to Structure (d2s)

      • When interrupted while doing OCR or OSR, document to structure logged an exception about the interrupt. This caused in particular a warning dialog to appear in Instant JChem during a document import.

      • Names were not recognized when they contained a complex bracketed bond locant followed by a comma, such as "2(7)" in tricyclo[,7]dodeca-2(7),3,5-triene.

      • Scrolling back in MarvinView could have caused failures for very large documents (more than 1000 structures) and names with non-ASCII characters.

    • Structure to Name(s2n)

      • name:source returned an empty name for empty structures instead of the actual stored name.

      • The name "perimidine" was not attributed to the right structure.

  • Molecule Representation

    • Implicit/Explicit Hydrogen Conversion

      • Removing explicit hydrogens on some larger PubChem compounds caused infinite loop.

  • Clean 2D

    • Partial clean misplaced the molecule when only one atom was fixed.

    • Clean 2D failed to preserve cis/trans stereo information in some cases.

  • Calculations

    • NMR (HNMR, CNMR Prediction, ...)

      • PDF export of NMR spectra was failed when the generated new page contained a blank line only.

      • When displaying NMR spectra of selected tautomers, the background of the tautomer preview window was black in Linux OS.


  • Deprecated methods

    • Molecule Representation

      • Valence Check: MoleculeGraph.VALENCE_CHECK_AMBIGUOUS, MoleculeGraph.ValenceCheckState, MoleculeGraph.setValenceCheckState(ValenceCheckState), MoleculeGraph.getValenceCheckState() MoleculeGraph.getPossibleAttachmentPoints(MolAtom)

      • S-groups: SuperatomSgroup.getAttachAtoms(), SuperatomSgroup.getLegalAttachAtoms(), SuperatomSgroup.getFreeLegalAttachAtoms(), SuperatomSgroup.isFreeLegalAttachAtom(MolAtom), SuperatomSgroup.isLegalAttachment(MolAtom), SuperatomSgroup.sortXBonds(), MolAtom.getAttach(), MolAtom.setAttach(int), MolAtom.setAttach(int, Sgroup)

      • Elemental Analysis: ElementalAnalyser.setMolecule(SMolecule)

      • Other deprecated methods Molecule.exportToFormat(String), Molecule.exportToBinFormat(String), Molecule exportToObject(String) throws java.lang.IOException.

    • Structure to Name (s2n)

      • The method chemaxon.marvin.io.formats.name.nameexport.IUPACNamer.generateName(Molecule) , though not documented, was public for internal reasons, and used a non-thread-safe way to receive options. It is now deprecated in favor of chemaxon.formats.MolExporter(Molecule, String format) , where format can be for instance "name" for IUPAC name, "name:t" for traditional name. See https://www.chemaxon.com/marvin/help/formats/name-doc.html#export for all possible options.

    • Automapper

      • chemaxon.marvin.modules.AutoMapper

  • Removed methods

    • Molecule Representation

      • MolAtom.setMassnoIfKnown(String), MolAtom.isNobleGas(), MolAtom.isArrowEnd(), MolAtom.valenceCheck(), MolAtom.getEdgeCount(), MolAtom.getEdge(int), MolAtom.getEdgeTo(MolAtom), MolAtom.haveSimilarEdges(MolAtom),

      • MolBond.ARROW(), MolBond.isCoordinative(), MolBond.isArrow(), MolBond.getNode1(), MolBond.getNode2(), MolBond.getOtherNode(MolAtom), MolBond.cloneEdge(MolAtom a1, MolAtom a2)

      • MoleculeGraph.AROM_CHEMAXON, MoleculeGraph.AROM_DAYLIGHT(), MoleculeGraph.setSetSeqs(int id), MoleculeGraph.getAromrings(), MoleculeGraph.getNonAromrings(), MoleculeGraph.getAromrings(int), MoleculeGraph.getNonAromrings(int), MoleculeGraph.mergeFrags(), MoleculeGraph.getFragIds(), MoleculeGraph.getfindFragById(int fragId, MoleculeGraph frag), MoleculeGraph.getNode(int), MoleculeGraph.setNode(int, MolAtom), MoleculeGraph.insertNode(int, MolAtom), MoleculeGraph.removeNode(MolAtom), MoleculeGraph.removeNode(MolAtom, int), MoleculeGraph.removeNodeVector(), MoleculeGraph.getEdgeCount(), MoleculeGraph.getEdge(int), MoleculeGraph.setEdge(int, MolBond), MoleculeGraph.insertEdge(int, MolBond), MoleculeGraph.insertEdgeInOrder(MolBond, MolBond[]), MoleculeGraph.replaceEdge(MolBond, MolBond), MoleculeGraph.removeEdge(MolBond), MoleculeGraph.getEdgeArray(), MoleculeGraph.getEdgeVector(), MoleculeGraph.getAllEdges(), MoleculeGraph.regenEdges(), MoleculeGraph.sortEdgesAccordingTo(MolBond[]), MoleculeGraph.mergeNodes(MolAtom that, MolAtom), MoleculeGraph.mergeFrags(int, int)

      • Molecule.mergeFrags()

      • RgMolecule.setAbsStereo(boolean, int, int), RgMolecule.createMol(String), RgMolecule.getBtab()

      • RxnMolecule.getBtab(), RxnMolecule.getStructureCount(int), RxnMolecule.getStructure(int, int), RxnMolecule.addStructure(Molecule, int), RxnMolecule.removeStructure(int, int)

      • CEdge, CNode, CGraph

      • MDocument.setGUIProperyContainer(MPropertyContainer)