OEDepict TK 2.3.4

New features

  • A new function, OEPrepareMultiAlignedDepiction, has been added that performs 2D molecule alignment based on common fragments between two molecules.


    Example of depiction with alignment based on molecule similarity

  • A new method, CreateCopy, has been added to the OEHighlightBase base class and all of its derived classes.

  • A new function, OEDrawCurvedRectangle, has been added that renders a rectangle with rounded corners.

Major bug fixes

  • The OE2DMolDisplay constructor previously threw an error when initialized with an empty molecule or with a molecule with no coordinates. A warning is now thrown and the object is marked invalid (e.g., the OE2DMolDisplay.IsValid method will return false). In addition, an OE2DMolDisplay object becomes invalid if the molecule from which it was initialized is modified (e.g., when atoms/bonds are added or deleted). All OEDepict TK functions handling an OE2DMolDisplay object now check the validity of the object prior to use.

  • Reactions with only product or only reactant components are now depicted correctly with a reaction arrow and the “+” sign between the components.

  • The methods OEImageBase.DrawArc and OEImageBase.DrawPie have been unified when generating PDF images. As a result, arc and pie objects in PDF images appear more seamless.

Minor bug fixes

  • When generating an SVG image, the opacity of the background is now written into the file. This allows generating images with a semi-transparent background.

  • For the molecules C#C and C=C, the carbon atom labels are now always explicitly depicted.

  • When determining the scaling of a depicted molecule, the bounding box of each multi-line bond is now considered to ensure that no bond is rendered outside the canvas.

  • A minor molecule scaling issue that occurred when using fixed atom label fonts has been fixed.

  • The function OEDrawChevronArrow has been improved to handle very short arrows. In addition, the default parameters of the function have been changed.

Documentation changes