Minor bug fixes¶
- The OELibraryGen class checks the connectivity of each generated product. If any of the atom pairs of a product is connected by more then one bond, for example in molecule C1C, then that product is rejected and not returned by the OELibraryGen.GetProducts method.
- Fixed a bug that would invalidate an atom iterator after deleting the atom the iterator currently points at. This would only occur on molecules that already had deleted atoms when the iterator was constructed from a GetAtoms method that takes a predicate.
- oemolstreambase.GetFlavor will no longer crash when given a format larger than OEFormat.MAXFORMAT.
- OEAddMols will now set the dimension of the left hand side to the dimension of the right hand side if the dimension of the left hand side is zero. This allows an empty molecule to be used to accumulate 3 dimensional molecule without losing the dimension.
- Fixed a bug in the procedure for generating atom names for PDB files that could cause a crash when some atoms have very high atom indices.
- Added the OESymmetryFractionalToCartesian and OESymmetryCartesianToFractional functions to swap between crystal coordinates and cartesian coordinates.
- Added the OEBuildUnitCell function to apply the symmetry operations to the asymmetric unit cell to generate the complete unit cell given a molecule and a spacegroup.
- OESetCrystalSymmetry now has a force flag that sets the symmetry parameters even if the cell restrictions are violated.
- OECopyCrystalSymmetry now follows standard OpenEye guidelines for argument position and naming to always have the output parameter first. This is an API breaking change, code that previously used OECopyCrystalSymmetry will no longer work.
- Slightly reduced memory footprint of symmetry operations.
- Crystal spacegroup names from PDB files are now handled more robustly when searching for CCP4 long and short names.
- Added symmetry operations for the P21/n space group.
- Adding the OESystem.OETransparentColor color constant that is used in OEDepict TK to generate PNG images with a transparent background.
- The OEGeom* functions should now be fully wrapped in the target languages: Python, Java, and C#.
- The OEPredIter increment and decrement methods will now always move the underlying iterator before checking the validity of the underlying iterator. This fixed the OEChem bug that invalidated an atom iterator after the current atom was deleted.
- Fixed a memory leak inside OEIter.Push that takes a predicate.
- OECopyBaseData used to call Clear on the destination object before copying the data. This could clear an entire molecule instead of the just the generic data. OECopyBaseData will now only delete the existing generic data.