1# Release_2021.03.5 2(Changes relative to Release_2021.03.4) 3 4## Acknowledgements 5Jason Biggs, Brian Kelley, Lewis J. Martin, Dan Nealschneider, Ricardo 6Rodriguez-Schmidt, David Slochower, Paolo Tosco, Maciej Wójcikowski 7 8## Bug Fixes: 9 - cannot pass drawOptions to MolsToGridImage when using notebook 10 (github #3101 from slochower) 11 - call to AvalonTools::set2DCoords results in an assert violation 12 (github #4330 from jasondbiggs) 13 - MolBlock writer gives non-stereo double bonds "unspecified" parity 14 (github #4345 from d-b-w) 15 - Specified trans stereo being ignored during conformation generation in macrocycles 16 (github #4346 from greglandrum) 17 - Two MinGW build fixes and one MSVC build fix 18 (github #4347 from ptosco) 19 - Fixes RDK_BUILD_THREADSAFE_SSS=OFF build 20 (github #4349 from ptosco) 21 - Three more Windows build fixes 22 (github #4356 from ptosco) 23 - Specified grid spacing for ShapeTanimotoDistance is ignored. 24 (github #4364 from greglandrum) 25 - Need implicit H cleanup after rdMolEnumerator.Enumerate() 26 (github #4381 from greglandrum) 27 - rdMolEnumerator.Enumerate fails on variable attachment points with queries 28 (github #4382 from greglandrum) 29 - RDKit reaction produces wrong double bond stereochemistry 30 (github #4410 from mwojcikowski) 31 - v2000 SGroups do not generate an "index" property 32 (github #4434 from ricrogz) 33 34 35# Release_2021.03.4 36(Changes relative to Release_2021.03.3) 37 38## Acknowledgements 39Brian Kelley, Rasmus Lundsgaard, Dan Nealschneider, Ricardo Rodriguez-Schmidt, 40Matt Swain, Paolo Tosco, Kazuya Ujihara, Alain Vaucher, 'jungb-basf' 41 42## Bug Fixes: 43 - EnumerateStereoisomers fail with STEREOANY bonds from molblock 44 (github #3759 from TermeHansen) 45 - MolFragmentToSmiles with kekuleSmiles=True raises AtomKekulizeException 46 (github #3998 from kazuyaujihara) 47 - bug in MDLParser.cpp when reading a rxn file in v3000 format that contains agents 48 (github #4183 from jungb-basf) 49 - allow more recoverable V3000 parsing errors when strictParsing=false 50 (github #4210 from greglandrum) 51 - Fix a couple of problems with fingerprint count simulation 52 (github #4228 from greglandrum) 53 - Chem.MolFromSmiles using SmilesParserParams throws exceptions 54 (github #4232 from greglandrum) 55 - double bonds now have EITHER stereo if no coordinates are present 56 (github #4239 from greglandrum) 57 - Fix CMakeLists for FileParsers 58 (github #4240 from kazuyaujihara) 59 - Multiple ATTCHPT entries for one atom handled incorrectly 60 (github #4256 from greglandrum) 61 - Exception thrown by reionizer when dealing with Mg+2 62 (github #4260 from greglandrum) 63 - Fallback ring finding failing on molecules with multiple fragments 64 (github #4266 from avaucher) 65 - FindPotentialStereo() doesn't find *marked* ring stereo when flagPossible=False 66 (github #4279 from greglandrum) 67 - The normalization pattern for pyridine N-oxide is not specific enough 68 (github #4281 from ptosco) 69 - Unreasonable calculation of implicit valence for atoms with query bonds 70 (github #4311 from greglandrum) 71 72 73# Release_2021.03.3 74(Changes relative to Release_2021.03.2) 75 76## Acknowledgements 77Jason Biggs, James Davidson, Harrison Green, Brian Kelley, Stephanie Labouille, 78Dan Nealschneider, Maximilian Peters, Ricardo Rodriguez-Schmidt, Riccardo 79Sabatini, Peter St. John, Paolo Tosco, Ivan Tubert-Brohman, Rachel Walker, 80Maciej Wójcikowski, 81 82## Bug Fixes: 83 - Double bond stereo gets flipped by SMILES reader/writer 84 (github #3967 from mwojcikowski) 85 - StereoGroups not preserved by RenumberAtoms() 86 (github #4071 from greglandrum) 87 - HCount field in v2000 Mol blocks ignored 88 (github #4099 from riccardosabatini) 89 - Reactions don't propagate bond properties 90 (github #4114 from d-b-w) 91 - SEGV in ROMol::getAtomDegree if atom is not in graph 92 (github #4127 from hgarrereyn) 93 - SEGV from unsigned integer overflow in Conformer::setAtomPos 94 (github #4128 from hgarrereyn) 95 - HCOUNT from v3000 CTABS incorrectly interpreted 96 (github #4131 from greglandrum) 97 - Empty query produces empty match, but at the same time is considered non-matching 98 (github #4138 from i-tub) 99 - fixed AddBond documentation 100 (github #4142 from Ashafix) 101 - Possible bug with `EnumerateStereoisomers` 102 (github #4144 from stephanielabouille) 103 - Odd drawing behavior with radicals and MolsToGridImage 104 (github #4156 from pstjohn) 105 - pre-condition violation when sanitizing a de-pickled reaction 106 (github #4162 from jasondbiggs) 107 - Many of the PMI descriptors are not being recalculated for different conformers 108 (github #4167 from greglandrum) 109 - Fix python to C++ pointer conversion issue in moldrawFromQPainter 110 (github #4182 from rachelnwalker) 111 - Potentially chiral bridgehead atoms not being identified. 112 (github #4192 from greglandrum) 113 - allow more recoverable V3000 parsing errors when strictParsing=false 114 (github #4210 from greglandrum) 115 - RGD: Fix memory leak with deleting array 116 (github #4211 from bp-kelley) 117 - UnfoldedRDKFingerprintCountBased returns a different fingerprint length for every molecule 118 (github #4212 from greglandrum) 119 - rdMolHash.MolHash fails on non-standard valences 120 (github #4222 from ricrogz) 121 122 123# Release_2021.03.2 124(Changes relative to Release_2021.03.1) 125 126## Acknowledgements 127Harrison Green, Brian Kelley, Alan Kerstjens, Dan Nealschneider, Alessio Ragno, 128Paolo Tosco, Kazuya Ujihara, Riccardo Vianello 129 130## Bug Fixes: 131 - Draw.MolToImage() cannot highlight with highlightMap (v > '2019.09.3' ) 132 (github #3616 from spideralessio) 133 - SparseIntVect copy constructor and assignment operators not clearing existing data 134 (github #3994 from AlanKerstjens) 135 - update clang version for linux CI fuzzer builds 136 (github #4012 from greglandrum) 137 - Update coordgen to 2.0.3 138 (github #4017 from d-b-w) 139 - Get SWIG wrappers working with C# again 140 (github #4020 from kazuyaujihara) 141 - replaceSidechains creates aromatic dummy atoms 142 (github #4022 from ptosco) 143 - A set of fixes for problems caused by bad input 144 (github #4033 from greglandrum) 145 - Cleanup some problems found during an ASAN build 146 (github #4054 from greglandrum) 147 - Avoid that lone atoms which are part of a ring in one of the molecules become part of the MCS 148 (github #4065 from ptosco) 149 - call to pyAvalonTools.Generate2DCoords results in an assert violation 150 (github #4075 from rvianello) 151 - Update boost download location in Dockerfile 152 (github #4094 from greglandrum) 153 - RemoveStereochemistry should also remove stereogroups 154 (github #4115 from greglandrum) 155 - Avoid that MolStandardizer segfaults on empty mols 156 (github #4119 from ptosco) 157 - SEGV in RWMol::commitBatchEdit 158 (github #4122 from hgarrereyn) 159 160 161# Release_2021.03.1 162(Changes relative to Release_2020.09.1) 163 164## Backwards incompatible changes 165- The distance-geometry based conformer generation now by defaults generates 166 trans(oid) conformations for amides, esters, and related structures. This can 167 be toggled off with the `forceTransAmides` flag in EmbedParameters. Note that 168 this change does not impact conformers created using one of the ET versions. 169 (#3794) 170- The conformer generator now uses symmetry by default when doing RMS pruning. 171 This can be disabled using the `useSymmetryForPruning` flag in 172 EmbedParameters. (#3813) 173- Double bonds with unspecified stereochemistry in the products of chemical 174 reactions now have their stereo set to STEREONONE instead of STEREOANY (#3078) 175- The MolToSVG() function has been moved from rdkit.Chem to rdkit.Chem.Draw 176 (#3696) 177- There have been numerous changes to the RGroup Decomposition code which change 178 the results. (#3767) 179- In RGroup Decomposition, when onlyMatchAtRGroups is set to false, each molecule 180 is now decomposed based on the first matching scaffold which adds/uses the 181 least number of non-user-provided R labels, rather than simply the first 182 matching scaffold. 183 Among other things, this allows the code to provide the same results for both 184 onlyMatchAtRGroups=true and onlyMatchAtRGroups=false when suitable scaffolds 185 are provided without requiring the user to get overly concerned about the 186 input ordering of the scaffolds. (#3969) 187- There have been numerous changes to `GenerateDepictionMatching2DStructure()` (#3811) 188- Setting the kekuleSmiles argument (doKekule in C++) to MolToSmiles will now 189 cause the molecule to be kekulized before SMILES generation. Note that this 190 can lead to an exception being thrown. Previously this argument would only 191 write kekulized SMILES if the molecule had already been kekulized (#2788) 192- Using the kekulize argument in the MHFP code will now cause the molecule to be 193 kekulized before the fingerprint is generated. Note that becaues kekulization 194 is not canonical, using this argument currently causes the results to depend 195 on the input atom numbering. Note that this can lead to an exception being 196 thrown. (#3942) 197- Gradients for angle and torsional restraints in both UFF and MMFF were computed 198 incorrectly, which could give rise to potential instability during minimization. 199 As part of fixing this problem, force constants have been switched to using 200 kcal/degree^2 units instead of kcal/rad^2 units, consistently with the fact that 201 angle and dihedral restraints are specified in degrees. (#3975) 202 203## Highlights 204- MolDraw2D now does a much better job of handling query features like common 205 query bond types, atom lists, variable attachment points, and link nodes. It 206 also supports adding annotations at the molecule level, displaying brackets 207 for Sgroups, rendering the ABS flag for stereochemistry, and a new "comic" 208 mode. 209- There are two new Contrib packages: NIBRStructureFilters and CalcLigRMSD 210- There have been a number of improvements made to the R-Group Decomposition 211 code which make it both more flexible and considerably faster 212 213## Acknowledgements 214Michael Banck, Christopher Von Bargen, Jason Biggs, Patrick Buder, Ivan 215Chernyshov, Andrew Dalke, Xiaorui Dong, Carmen Esposito, Nicholas Firth, Enrico 216Gandini, James Gayvert, Gareth Jones, Eisuke Kawashima, Steven Kearnes, Brian 217Kelley, Mark Mackey, Niels Kristian Kjærgård Madsen, Luca Naef, Dan 218Nealschneider, Jin Pan, Daniel Paoliello, António JM Ribeiro, Sereina Riniker, 219Braxton Robbason, Jaime Rodríguez-Guerra, Ricardo Rodriguez-Schmidt, Steve 220Roughley, Vincent F. Scalfani, Nadine Schneider, Philippe Schwaller, Dan Skatov, 221Pascal Soveaux, Paolo Tosco, Kazuya Ujihara, Riccardo Vianello, Shuzhe Wang, 222Piotr Wawrzyniak, Maciej Wójcikowski, Zhijiang Yang, Yutong Zhao 223'driesvr', 'GintasKam', 'SPKorhonen', 'pkubaj', 'AnPallo', 'darintay', 224'slchan3', 'Robins', 'sirbiscuit', 'amateurcat', 'noncomputable', 'yurivict', 225'magattaca' 226 227## Contrib updates: 228 - Added NIBRStructureFilters: a set of substructure filters for hit-list triaging together with python code for applying them. The filters are described in the publication https://dx.doi.org/10.1021/acs.jmedchem.0c01332 229 (github pull #3516 from NadineSchneider) 230 - Added CalcLigRMSD: flexible python code for calculating RMSD between pre-aligned molecules 231 (github pull #3812 from cespos) 232 233## Bug Fixes: 234 - Casting int to uint in MorganFingerprintHelper leads to unexpected behaviour. 235 (github issue #1761 from SiPa13) 236 - MolChemicalFeature.GetPos() returns value for molecule's default conformer 237 (github issue #2530 from greglandrum) 238 - Unable to catch RDKit exceptions in linked library when compiling with fvisibility=hidden 239 (github issue #2753 from cdvonbargen) 240 - Reaction rendering always shows molecules in aromatic form 241 (github issue #2976 from greglandrum) 242 - Reactions setting unspecified double-bond stereo to STEREOANY 243 (github issue #3078 from ricrogz) 244 - PDB output flavor&2 documentation change 245 (github issue #3089 from adalke) 246 - WedgeMolBonds() should prefer degree-1 atoms 247 (github issue #3216 from greglandrum) 248 - Error in ChemAxon SMILES "parsing" 249 (github issue #3320 from IvanChernyshov) 250 - Incorrect number of radical electrons calculated for metals 251 (github issue #3330 from greglandrum) 252 - Problem with lifetime linkage of mols and conformers 253 (github issue #3492 from amateurcat) 254 - Traceback when pickling ROMol after BCUT descriptors are calculated 255 (github issue #3511 from d-b-w) 256 - Fix AUTOCORR2D descriptors 257 (github pull #3512 from ricrogz) 258 - SDMolSupplier requires several attempts to load a SDF file in Python 3.6/3.7 259 (github issue #3517 from jaimergp) 260 - Remove accidentally included boost header 261 (github pull #3518 from ricrogz) 262 - legend_height_ should be preserved after drawing the molecule 263 (github pull #3520 from greglandrum) 264 - remove the include directive for unused <access/tuptoaster.h> header 265 (github pull #3525 from rvianello) 266 - C++ build fails when configured with RDKIT_USE_BOOST_SERIALIZATION=OFF 267 (github issue #3529 from rvianello) 268 - Newest RDKIT version allowing chemically invalid smiles 269 (github issue #3531 from GintasKam) 270 - Behaviour of generate_aligned_coords for erroneous inputs 271 (github issue #3539 from dskatov) 272 - Drawing artifacts in draw_to_canvas_with_offset 273 (github issue #3540 from dskatov) 274 - Error adding PNG metadata when kekulize=False 275 (github issue #3543 from gayverjr) 276 - Add missing methods to remove SubstanceGroup attributes 277 (github pull #3547 from greglandrum) 278 - Error writing SDF data containing UTF-8 to a StringIO object 279 (github issue #3553 from greglandrum) 280 - correct handling of amide distances for macrocycles 281 (github pull #3559 from hjuinj) 282 - rdMolDraw2D, problems during generation of pictures from SMARTS, differences between Cairo and SVG 283 (github issue #3572 from wopozka) 284 - Fix example of SmilesToMol 285 (github pull #3575 from kazuyaujihara) 286 - atom/bond notes handle capital letters incorrectly 287 (github issue #3577 from greglandrum) 288 - Get MolDraw2DQt working again 289 (github pull #3592 from greglandrum) 290 - Scientific notation in SDF V3000 files 291 (github issue #3597 from mark-cresset) 292 - Fix: add missing python wrappers for MolDraw2DQt 293 (github pull #3613 from greglandrum) 294 - V3K mol block parser not saving the chiral flag 295 (github issue #3620 from greglandrum) 296 - Inconsistent metal disconnectors 297 (github issue #3625 from pschwllr) 298 - Ring stereochemistry not properly removed from N atoms 299 (github issue #3631 from greglandrum) 300 - moldraw2djs should not close all polygonal paths 301 (github pull #3634 from greglandrum) 302 - Unidentifiable C++ Exception with FMCS 303 (github issue #3635 from proteneer) 304 - Bump catch2 version to allow builds on Apple M1 305 (github pull #3641 from naefl) 306 - Segmentation fault when parsing InChI 307 (github issue #3645 from AnPallo) 308 - RDK_BUILD_THREADSAFE_SSS does not work as expected 309 (github issue #3646 from pascal-soveaux) 310 - Disabling MaeParser and CoordGen Support Breaks the Build 311 (github issue #3648 from proteneer) 312 - BondStereo info lost in FragmentOnBonds() 313 (github pull #3649 from bp-kelley) 314 - memory leak when sanitization fails in InChIToMol() 315 (github issue #3655 from greglandrum) 316 - Qt GUI libraries being linked into rdmolops.so when Qt support is enabled 317 (github issue #3658 from ricrogz) 318 - Documentation of Chem.rdmolops.GetMolFrags's frag argument is wrong 319 (github issue #3670 from noncomputable) 320 - fmcs() + bogus input causes engine crash 321 (github issue #3687 from robins) 322 - qmol_from_ctab() with NULL crashes engine 323 (github issue #3688 from robins) 324 - qmol_from_smiles() + bogus input causes engine crash 325 (github issue #3689 from robins) 326 - Check PIL support for tostring and fromstring 327 (github pull #3690 from sirbiscuit) 328 - Move MolToSVG() to rdkit.Chem.Draw (Addresses #3694) 329 (github pull #3696 from ricrogz) 330 - Pandas AttributeError when rendering Molecule in DataFrame 331 (github issue #3701 from enricogandini) 332 - Memory leak in EnumerateLibrary 333 (github issue #3702 from jose-mr) 334 - Fix to add ZLIB_INCLUDE_DIRS for Windows build 335 (github pull #3714 from kazuyaujihara) 336 - Docs/Book: Unexpected unicode character makes pdflatex build fail 337 (github issue #3738 from mbanck) 338 - Test suite failures if eigen3 is not available 339 (github issue #3740 from mbanck) 340 - Regression in depiction of double bonds in aromatic rings 341 (github issue #3744 from ptosco) 342 - RGD with RGroupMatching.GA leaks memory and takes too long 343 (github issue #3746 from ptosco) 344 - Fix comment to match the code in RemoveHsParameters 345 (github pull #3747 from jasondbiggs) 346 - Inconsistent canonical tautomer on repeated application 347 (github issue #3755 from darintay) 348 - bonds no longer highlighted in substruct matches in jupyter 349 (github issue #3762 from greglandrum) 350 - SubstanceGroup output doesn't correctly quote " symbols 351 (github issue #3768 from greglandrum) 352 - MolToSmarts inverts direction of dative bond 353 (github issue #3774 from IvanChernyshov) 354 - Regression in dihedral constraints 355 (github issue #3781 from ptosco) 356 - Fix pillow error in IPythonConsole.py 357 (github pull #3783 from skearnes) 358 - lock swig version in MacOS CI builds 359 (github pull #3789 from greglandrum) 360 - DrawMorganBit errors when useSVG is False 361 (github issue #3796 from ncfirth) 362 - SubstructLibrary Cached Smiles Holders have bad behavior with bad smiles 363 (github issue #3797 from bp-kelley) 364 - MolFromSmiles('[He]') produces a diradical helium atom 365 (github issue #3805 from jasondbiggs) 366 - NaNs from AUTOCORR2D descriptor 367 (github issue #3806 from greglandrum) 368 - MaeMolSupplier throws an invariant exception on parsing an "undefined" chirality label 369 (github issue #3815 from ricrogz) 370 - Sanitize molecules when SMILES needs to be produced in PandasTools 371 (github pull #3818 from mwojcikowski) 372 - Tautomer Query copy constructor is shallow not deep causing segfaults in destructor 373 (github issue #3821 from bp-kelley) 374 - OptimizeMolecule and OptimizeMoleculeConfs Argument Bug 375 (github issue #3824 from xiaoruiDong) 376 - rdMolEnumerator.Enumerate() fragile w.r.t. atom ordering 377 (github issue #3844 from greglandrum) 378 - MinimalLib: Bonds are parallel in SVG but not on an HTML5 Canvas 379 (github issue #3852 from dskatov) 380 - AddHs creates H atom with nan coordinates on edge case 2D structure 381 (github issue #3854 from ricrogz) 382 - Build error with static boost libraries (v1.73) 383 (github issue #3865 from nielskm) 384 - Make sure that added R-groups have non-zero coordinates 385 (github pull #3877 from ptosco) 386 - Bad H coordinates on fused ring 387 (github issue #3879 from greglandrum) 388 - SubstructLibrary needs to check bond ring queries as well 389 (github issue #3881 from bp-kelley) 390 - Fixes Amine.Tertiary.Aromatic definition 391 (github pull #3883 from bp-kelley) 392 - inconsistency in seedSmarts in FMCS between and GetSubstructureMatches 393 (github issue #3886 from proteneer) 394 - PandasTools.RGroupDecomposition throws an error when redraw_sidechains is set to True. 395 (github pull #3888 from greglandrum) 396 - Dev/update glare to py3 397 (github pull #3892 from bp-kelley) 398 - ConfGen: Macrocycle torsion terms not being used with fused macrocycles 399 (github pull #3894 from greglandrum) 400 - Broken KNIME link in README 401 (github issue #3897 from yurivict) 402 - Change class to struct for forward declaration 403 (github pull #3906 from bp-kelley) 404 - Fixes issues with unlabelled groups on aromatic nitrogens 405 (github pull #3908 from ptosco) 406 - Fix #3659 regression introduced in #3832 407 (github pull #3909 from ricrogz) 408 - Error rendering SMARTS queries with atom OR lists 409 (github issue #3912 from greglandrum) 410 - MoDraw2D: Get tests working without freetype 411 (github pull #3923 from greglandrum) 412 - RGD default scoring function does not always work as expected 413 (github issue #3924 from jones-gareth) 414 - MolDraw2D: relative font size changes with bond lengths in molecule 415 (github issue #3929 from greglandrum) 416 - MolDraw2D: coordinates for reactions not being used 417 (github issue #3931 from greglandrum) 418 - Follow-on patch for changes in #3899 419 (github issue #3932 from greglandrum) 420 - Fix MolDraw2DQt exports 421 (github pull #3935 from ricrogz) 422 - Fix building JavaWrappers on Windows, dynamic linking 423 (github pull #3936 from ricrogz) 424 - Boost header warnings when compiling 425 (github issue #3956 from jasondbiggs) 426 - Adds removeAllHydrogenRGroupsAndLabels and fixes kekulization issues 427 (github pull #3944 from ptosco) 428 - MolToJSONData fails when mol has a property that can't be stringified 429 (github issue #3956 from jasondbiggs) 430 - RWMol should reset(), not release(), dp_delAtoms and dp_delBonds 431 (github pull #3970 from greglandrum) 432 433 434## New Features and Enhancements: 435 - add context managers for writers 436 (github issue #2217 from greglandrum) 437 - MolToSmiles(kekuleSmiles=True) gives SMILES with aromatic bonds 438 (github issue #2788 from adalke) 439 - allow specification of color map when drawing similarity maps 440 (github issue #2904 from greglandrum) 441 - Clean up CMake files 442 (github pull #3417 from e-kwsm) 443 - Speed up GraphMol/Chirality.cpp/iterateCIPRanks 444 (github pull #3482 from jinpan) 445 - Removes function which is an exact duplicate of another function 446 (github pull #3524 from ptosco) 447 - A couple of minor improvements to FindCairo 448 (github pull #3535 from ptosco) 449 - Give a bit more time to RGD test in debug builds 450 (github pull #3536 from ptosco) 451 - A couple of fixes to the build system 452 (github pull #3538 from ptosco) 453 - Modularized WASM module 454 (github issue #3561 from dskatov) 455 - A couple changes to speedup bulk similarity calculations from Python 456 (github pull #3574 from greglandrum) 457 - add documentation for the JS wrappers 458 (github pull #3583 from greglandrum) 459 - add a "comic mode" to MolDraw2D 460 (github pull #3584 from greglandrum) 461 - Add rendering of SGroup brackets to MolDraw2D 462 (github pull #3586 from greglandrum) 463 - Update Install.md 464 (github pull #3589 from slchan3) 465 - Add explicit support for remaining CTAB query bond types 466 (github issue #3599 from greglandrum) 467 - update Cookbook stereochemistry examples 468 (github pull #3604 from vfscalfani) 469 - Add support for rendering SGroup data fields to MolDraw2D 470 (github pull #3619 from greglandrum) 471 - Support rendering the "ABS" flag in MolDraw2D 472 (github issue #3623 from greglandrum) 473 - Support drawing some query bonds 474 (github pull #3624 from greglandrum) 475 - Support rendering variable attachment points 476 (github pull #3626 from greglandrum) 477 - add configuration option to disable atom symbols in the rendering 478 (github pull #3630 from greglandrum) 479 - Render link nodes in MolDraw2D 480 (github issue #3637 from greglandrum) 481 - First pass at MolZip (now with bond stereo!) 482 (github pull #3644 from bp-kelley) 483 - Add molecule annotations/notes to MolDraw2D 484 (github pull #3651 from greglandrum) 485 - support setting MolDraw2DOptions using JSON from Python 486 (github pull #3660 from greglandrum) 487 - Make the scope control for Qt more idiomatic 488 (github pull #3663 from d-b-w) 489 - Expanded MolEnumerator functionality 490 (github pull #3664 from greglandrum) 491 - add support for generating pattern fps for MolBundles 492 (github pull #3665 from greglandrum) 493 - Add a callback function to EmbedParameters struct 494 (github issue #3667 from jasondbiggs) 495 - update SequenceParsers.cpp 496 (github pull #3683 from magattaca) 497 - MCS: extend completeRingsOnly to cover atoms as well 498 (github issue #3693 from driesvr) 499 - Add Molbundle search to SWIG 500 (github pull #3698 from jones-gareth) 501 - Added getMessage method to exceptions 502 (github pull #3700 from sroughley) 503 - add context manager for MolSuppliers 504 (github issue #3703 from greglandrum) 505 - Make better use of strictParsing for SGroups 506 (github pull #3705 from ptosco) 507 - Allow using POPCNT on big-endian ppc64 508 (github pull #3727 from pkubaj) 509 - Cleanup: remove fromstring and tostring from functions working with pillow 510 (github issue #3730 from greglandrum) 511 - Set strictParsing to false in MinimalLib 512 (github pull #3737 from ptosco) 513 - 3D MCS - Minimal version, no refactoring 514 (github pull #3749 from robbason) 515 - Include Winsock2.h instead of Windows.h in DebugTrace.h 516 (github pull #3756 from dpaoliello) 517 - R group match any issue 518 (github pull #3767 from jones-gareth) 519 - Support new coordgen option to not always make bonds to metals zero-order 520 (github pull #3769 from greglandrum) 521 - DistanceGeometry: add flag to enforce trans amides 522 (github pull #3794 from greglandrum) 523 - MolDraw2D: first pass at rendering atom lists 524 (github pull #3804 from greglandrum) 525 - Issue a warning when embedding a molecule with no Hs 526 (github pull #3807 from greglandrum) 527 - Add tautomer query to the substructlibrary 528 (github pull #3808 from bp-kelley) 529 - Enhanced generateDepictionMatching2DStructure functionality 530 (github pull #3811 from ptosco) 531 - Confgen: add option to use symmetry when doing RMS pruning 532 (github pull #3813 from greglandrum) 533 - Remove boost::foreach from public headers 534 (github pull #3820 from ricrogz) 535 - Adds isotopeLabels and dummyIsotopeLabels MolDrawOptions 536 (github pull #3825 from ptosco) 537 - Added 2 Cookbook examples 538 (github pull #3831 from vfscalfani) 539 - Separate MolDraw2DQt into its own library 540 (github pull #3832 from d-b-w) 541 - Facilities for interactive modification of molecule drawing 542 (github pull #3833 from SPKorhonen) 543 - cleanup a bunch of compiler warnings 544 (github pull #3849 from greglandrum) 545 - add a new mol draw option to draw wedge bonds with a single color 546 (github pull #3860 from jasondbiggs) 547 - Add Kier Phi descriptor 548 (github pull #3864 from greglandrum) 549 - Add basic support for hydrogen bonds 550 (github pull #3871 from greglandrum) 551 - Allow batch editing of molecules: removal only 552 (github pull #3875 from greglandrum) 553 - Allow retrieving the _ErGAtomTypes property from Python 554 (github pull #3878 from ptosco) 555 - Exposes InsertMol to python RWMol 556 (github pull #3907 from bp-kelley) 557 - Use https for Avalon and Inchi downloads 558 (github pull #3915 from ptosco) 559 - support empty/missing SDT lines for SGroup data 560 (github pull #3916 from greglandrum) 561 - Cookbook entries should be updated 562 (github issue #3917 from greglandrum) 563 - MolDraw2D: support changing annotation colours 564 (github pull #3919 from greglandrum) 565 - include context managers for the multithreaded suppliers too 566 (github pull #3920 from greglandrum) 567 - Documentation cleanup and update 568 (github pull #3922 from greglandrum) 569 - remove an MSVC++ warning caused by #3849 570 (github pull #3927 from greglandrum) 571 - Adds removeAllHydrogenRGroupsAndLabels and fixes kekulization issues 572 (github pull #3944 from ptosco) 573 - Remove temporary labels from RGD results 574 (github pull #3947 from ptosco) 575 - appended a new project depend on RDKit 576 (github pull #3955 from kotori-y) 577 - Do not add unnecessary R-labels (and an optimization) 578 (github pull #3969 from ptosco) 579 - Add return codes and make RGroupDecomp less verbose 580 (github pull #3971 from bp-kelley) 581 - update to coordgen 2.0.0 582 (github pull #3974 from greglandrum) 583 584 585## Deprecated code (to be removed in a future release): 586- The "minimizeOnly" option for coordgen will be removed in the next RDKit release 587 588# Release_2020.09.1 589(Changes relative to Release_2020.03.1) 590 591 592## Backwards incompatible changes 593- We've added additional allowed valences for Cl (now 1, 3, 5), Br (now 1, 3, 594 5), I (now 1, 3, 5), At (now 1, 3, 5), Xe (now 0, 2, 4, 6), and Po (now 2, 4, 595 6). Molecules with atoms in the new valence states will no longer generate 596 sanitization errors. Note that this has an impact on the chemistry of 597 molecules containing 3-valent I and at least one implict H (present 24 times 598 in ChEMBL 27): previously this was incorrectly assigned two implicit Hs, now 599 it has no implicit Hs. 600- Aromaticity perception of molecules like `Cc1nnc2n1c1ccccc1n1c(C)nnc12` now 601 correctly recognizes the full outer envelope, i.e. the bonds joining the rings 602 are now also aromatic. 603- FindMCS() may return single atom MCSs, whereas previously it returned an empty 604 MCS unless there was at least one commond bond across the input structures. 605 So the MCS between molecules `CC` and `CO` is now `[#6]` rather than being null. 606- The fontSize()/setFontSize() (FontSize()/SetFontSize()) methods in MolDraw2D 607 now work in units of pixels (more or less) instead of the molecule units. 608- The Open3DAlign functionality is now in its own separate library - `O3AAlign` 609 in cmake. If you are working in C++ and using O3A functionality, you'll need 610 to link against this library as well now. 611- Due to improvements in the tautomer enumeration code, the method 612 `TautomerEnumerator::enumerate` now returns a `TautomerEnumeratorResult` 613 object instead of a vector of molecules. Note that if you are iterating over 614 the results of a call to `enumerate()` you shouldn't need to change your code. 615 If you want to invoke the old (and deprecated, see below) form from C++, call 616 `TautomerNumerator::enumerate(mol, nullptr)` or explicitly pass a 617 `boost::dynamic_bitset*` to capture the modified atoms. 618- The default precision setting for coordgen has been changed. The new default 619 was selected to greatly reduce the number of molecules for which it takes a 620 very long time to generate coordinates while still producing nice looking 621 structures. We may continue to tweak this default value if/when problems 622 with it are reported. If you would like to go back to the previous setting, set 623 CoordgenParams.minimizerPrecision to CoordgenParams.sketcherStandardPrecision 624 when you invoke rdCoordGen.AddCoords() 625- Uncharger::uncharge() will now neutralize `[Cl,Br,I][O-], [Cl,Br,I](=O)[O-], 626 [Cl,Br,I](=O)(=O)[O-], [Cl,Br,I](=O)(=O)(=O)[O-], [O-]N=N[O-], [N,P](=O)[O-], 627 [N+](=O)([O-])[O-], P(=O)([O-])[O-], P(=O)([O-])([O-])[O-], S([O-])[O-], 628 S(=O)([O-])[O-], S(=O)(=O)([O-])[O-], S(=O)(=O)([O-])OOS(=O)(=O)[O-]`. 629 Previously not all of these inorganic acid counterions were consistently 630 neutralized. 631- The `None` value in the `RGroupCoreAlignment` enum was renamed to `NoAlignment` 632 in both C++ and Python, in order to avoid issues when attempting to access it 633 from Python. 634 635## Highlights 636- There's been another big improvement in the quality of molecule drawings: 637 character and font handling is greatly improved thanks to the use of the 638 FreeType library 639- A new feature has been added to efficiently allow tautomer-insensitive 640 substructure search. 641- A new, much more accurate, algorithm is available for calculating CIP labels 642 on atoms and bonds. 643- There's a new rdDeprotect module to allow automatically deprotecting molecules 644 before putting them into reactions 645- Molecule and reaction metadata can now be added to PNG files generated by 646 MolDraw2DCairo 647 648## Acknowledgements 649Shrey Aryan, Jinserk Baik, Francois Berenger, Cédric Bouysset, David Cosgrove, 650Ivan Chernyshov, Guillaume Godin, Manan Goel, Jan H. Jensen, Gareth Jones, Maria 651Kadukova, Eisuke Kawashima, Steven Kearnes, Brian Kelley, Joos Kiener, Kenneth 652Lum, Joshua Meyers, Rocco Moretti, Paul R Moses, Dan Nealschneider, Jin Pan, 653Joann Prescott-Roy, Matthew Robinson, Jaime Rodríguez-Guerra, Ricardo 654Rodriguez-Schmidt, Jeff van Santen, Roger Sayle Vincent F. Scalfani Eric Taw, 655Ansgar Schuffenhauer, Paolo Tosco, Ivan Tubert-Brohman, Riccardo Vianello, 656Rachel Walker, Maciej Wójcikowski, Christopher Zou, daverona, hjuinj, 657intrigus-lgtm, autodataming, paconius, sailfish009 658 659## Bug Fixes: 660 - Python tests fail when RDK_BUILD_COMPRESSED_SUPPLIERS is enabled 661 (github issue #1888 from greglandrum) 662 - ResonanceMolSupplier potentially stuck in infinite loop 663 (github issue #2597 from tawe141) 664 - ctest pythonTestDirChem failed 665 (github issue #2757 from jinserk) 666 - Issue with inversion/retention of stereochemistry 667 (github issue #2891 from mc-robinson) 668 - cannot parse reaction SMILES/SMARTS with dative bonds 669 (github issue #2954 from greglandrum) 670 - ResonanceMolSupplier can fail with small maxStructs values 671 (github issue #3041 from greglandrum) 672 - seg fault in ResonanceMolSupplier() 673 (github issue #3048 from greglandrum) 674 - Bug in image rendering of dative bonds 675 (github issue #3056 from IvanChernyshov) 676 - Coordinates from coordgen are not centered around the origin 677 (github pull #3058 from DavidACosgrove) 678 - fix a typo in ScaffoldNetwork/CMakeLists.txt 679 (github pull #3060 from greglandrum) 680 - Bad double bond placement in polycyclic aromatics 681 (github issue #3061 from DavidACosgrove) 682 - SGroups with more than one attachment point are now properly parsed 683 (github pull #3072 from greglandrum) 684 - Reactions should not use strict implicit valence calculations 685 (github issue #3097 from mwojcikowski) 686 - partial reacting atom detection 687 (github issue #3119 from thegodone) 688 - DrawMolecules does not center molecules 689 (github issue #3126 from JoshuaMeyers) 690 - results from coordgen are sometimes not centered 691 (github issue #3131 from greglandrum) 692 - GCC 10.0.1 compile error 693 (github issue #3135 from rvianello) 694 - Memory leak when parsing bad SMILES 695 (github issue #3139 from intrigus-lgtm) 696 - Error breaking StereoBonds in reactions 697 (github issue #3147 from mc-robinson) 698 - MolOps::removeHs() removes hydrides 699 (github issue #3150 from jhjensen2) 700 - Kekulization error from CreateScaffoldNetwork 701 (github issue #3153 from greglandrum) 702 - Fix drawing of N plus 703 (github pull #3165 from DavidACosgrove) 704 - RWMol::clear() does not explicitly clean up SubstanceGroups or StereoGroups 705 (github issue #3167 from greglandrum) 706 - Modifying a molecule should not automatically clear SubstanceGroups 707 (github issue #3168 from greglandrum) 708 - removeHs() should not remove atoms in SubstanceGroups 709 (github issue #3169 from greglandrum) 710 - fix a memory problem detected in malformed SMILES 711 (github pull #3171 from greglandrum) 712 - Python wrapper: SetQuery and ExpandQuery for bonds 713 (github pull #3172 from i-tub) 714 - S-groups: PARENT field should reference index 715 (github issue #3175 from greglandrum) 716 - rdScaffoldNetwork causes segmenation fault upon None molecule 717 (github issue #3177 from AnsgarSchuffenhauer) 718 - fix a small inconsistency in the name of the inchi package 719 (github pull #3182 from rvianello) 720 - Molecule constructed from CXSMILES cannot be translated to SMARTS 721 (github issue #3197 from greglandrum) 722 - Formatting fix of CalcRMS 723 (github pull #3203 from chmnk) 724 - fix the CompressedSDMolSupplier python iterator interface 725 (github pull #3204 from rvianello) 726 - Queries generated from PreprocessReaction cannot be translated to SMARTS 727 (github issue #3206 from greglandrum) 728 - Attachment point info not being read from V2000 mol blocks 729 (github issue #3207 from greglandrum) 730 - Memory Sanitizer fails on molFromPickle on empty file 731 (github issue #3211 from intrigus-lgtm) 732 - Throw exception when reading from stream fails. 733 (github pull #3212 from intrigus-lgtm) 734 - fix molstogridimage on certain fragments/smarts patterns 735 (github pull #3217 from bp-kelley) 736 - Lines in wedge bonds being drawn too closely together 737 (github issue #3226 from paconius) 738 - EnumerateStereochemistry should clear CIP labels 739 (github issue #3231 from greglandrum) 740 - lock CI cairo version to force an install from the rdkit repo 741 (github pull #3240 from greglandrum) 742 - XBCORR and XBHEAD in Sgroups no longer cause parse failures 743 (github pull #3242 from greglandrum) 744 - LINKNODEs are ignored by the CTAB parsers 745 (github pull #3247 from greglandrum) 746 - add GetStringVectProp() to SubstanceGroup class 747 (github pull #3251 from greglandrum) 748 - Envelope aromaticity not detected in complex fused system 749 (github issue #3256 from greglandrum) 750 - Draw.MolsToGridImage repeating atom indices 751 (github issue #3258 from greglandrum) 752 - Atom indices clash with atom symbols in small pictures. 753 (github issue #3262 from DavidACosgrove) 754 - MinimalLib Dockerfile is broken at HEAD 755 (github issue #3267 from skearnes) 756 - Fixes #2757 757 (github pull #3268 from greglandrum) 758 - RGroupDecomposition restructuring 759 (github pull #3270 from bp-kelley) 760 - Get PPC builds working 761 (github pull #3285 from greglandrum) 762 - ScaffoldNetwork not in C# wrappers 763 (github pull #3289 from jones-gareth) 764 - bonds with "either' stereo cannot be read from JSON 765 (github pull #3290 from greglandrum) 766 - Small bug fixes and cleanups from fuzz testing 767 (github pull #3299 from greglandrum) 768 - DrawOptions: bondLineWidth behaving differently since 2020 versions 769 (github issue #3305 from kienerj) 770 - Not possible to copy SubstanceGroups in Python 771 (github issue #3312 from greglandrum) 772 - Stereochemistry perception getting confused by a bad drawing. 773 (github issue #3314 from greglandrum) 774 - SubstanceGroups should not be written with quotes around missing fields 775 (github issue #3315 from greglandrum) 776 - SetDoubleBondNeighborDirections() not overwriting existing bond directions 777 (github issue #3322 from greglandrum) 778 - AdjustQueryParameters.adjustSingleBondsBetweenAromaticAtoms does not modify ring bonds 779 (github issue #3325 from greglandrum) 780 - Fixes for aromatic bond fuzzy queries 781 (github pull #3328 from jones-gareth) 782 - lock sphinx version in CI due to problem with v3.2.0 783 (github pull #3332 from greglandrum) 784 - Remove deprecated Sphinx options 785 (github pull #3335 from greglandrum) 786 - more bug fixes and cleanups from fuzz testing 787 (github pull #3339 from greglandrum) 788 - unspecified branch bonds in SMARTS don't have aromaticity set 789 (github issue #3342 from greglandrum) 790 - Incorrect resonance structures in presence of dative bonds 791 (github issue #3349 from IvanChernyshov) 792 - Converting atoms with high radical counts to InChI generates incorrect results 793 (github issue #3365 from greglandrum) 794 - Replace fill-opacity= with fill-opacity: in MolDraw2DSVG and tests 795 (github pull #3368 from lummyk) 796 - Fixes a bug in AddHs() involving sp2 centers with degree 1 797 (github pull #3383 from ptosco) 798 - Information about charges and isotopes lost when calling AdjustQueryProperties 799 (github issue #3388 from greglandrum) 800 - prepareMolForDrawing() incorrectly adds chiral Hs if no ring info is present 801 (github issue #3392 from greglandrum) 802 - CXSMILES parser should not set atom maps for attachment points 803 (github issue #3393 from greglandrum) 804 - Fixes a couple of query-related bugs 805 (github pull #3398 from ptosco) 806 - Doing a match of a recursive smarts leaves traces of the previous match 807 (github issue #3403 from bp-kelley) 808 - Recursive smarts cannot be used in the core for rgroup decomposition 809 (github pull #3404 from bp-kelley) 810 - Improvements to reaction chirality handling 811 (github pull #3412 from greglandrum) 812 - V3K mol blocks with no atoms fail to parse 813 (github issue #3413 from greglandrum) 814 - Problem parsing SGroup data comtaining `""` 815 (github issue #3415 from greglandrum) 816 - MolEnumerator::enumerate() should call updatePropertyCache() 817 (github pull #3420 from greglandrum) 818 - Fixed bad draw scale in drawMolecules. Github3391. Take 2. 819 (github pull #3424 from DavidACosgrove) 820 - Replace fill-opacity= to fill-opacity: in reaction.out 821 (github pull #3426 from daverona) 822 - set the ChiralityPossible tag when using the new code with FindMolChiralCenters 823 (github pull #3434 from greglandrum) 824 - Silence deprecation warning 825 (github pull #3439 from ptosco) 826 - update minimallib python requirements to python3 827 (github pull #3449 from greglandrum) 828 - Fix dead links to inchi-trust 829 (github pull #3451 from jvansan) 830 - ringMatchesRingOnly=True produces a SMARTS query that return no substructure matches 831 (github issue #3458 from jaimergp) 832 - Normalization rule incorrectly matches sulfones 833 (github issue #3460 from greglandrum) 834 - BlockLogs was reenabling all logs, not just the ones that were disabled 835 (github pull #3466 from bp-kelley) 836 - Hydrogen is incorrectly identified as an "early" atom 837 (github issue #3470 from greglandrum) 838 - Fixes typo that causes the build to fail 839 (github pull #3477 from ptosco) 840 - Fix a crashing bug with None in rdMolStandardize 841 (github pull #3481 from greglandrum) 842 - zlib.h not found if not in system directories 843 (github issue #3493 from ricrogz) 844 - fix paths in ConformerParser tests 845 (github pull #3504 from ricrogz) 846 847## New Features and Enhancements: 848 - Add GetBestRMS function 849 (github issue #1820 from chmnk) 850 - Add reorder tautomers function and accompanying tests 851 (github pull #3043 from chriswzou) 852 - Set RDK_BOOST_VERSION to pass minimum required version to FindBoost 853 (github pull #3074 from e-kwsm) 854 - bug: the MCS of the molecules CH4 and CH3OH is empty. how to return C? 855 (github issue #3095 from autodataming) 856 - start using boost:stacktrace 857 (github pull #3124 from greglandrum) 858 - Add Fuzzing, fixes #2857 859 (github pull #3128 from intrigus-lgtm) 860 - Cookbook entry for ETKDG with rings 861 (github pull #3129 from hjuinj) 862 - Fixes #2795 863 (github pull #3134 from manangoel99) 864 - Bump Catch2 to v2.12.1 865 (github pull #3136 from e-kwsm) 866 - Modernize how legacy C headers are included 867 (github pull #3137 from e-kwsm) 868 - Avoid C preprocessor macros 869 (github pull #3138 from e-kwsm) 870 - Modernization: use nullptr 871 (github pull #3143 from e-kwsm) 872 - Update fuzzer dict 873 (github pull #3162 from intrigus-lgtm) 874 - Add BCUT2D and AUTOCORR2D to desclist 875 (github pull #3178 from bp-kelley) 876 - Remove usage of the deprecated random_shuffle() function 877 (github pull #3187 from greglandrum) 878 - clang-tidy modernize-use-default-member-init and modernize-use-emplace 879 (github pull #3190 from greglandrum) 880 - Tautomer search 881 (github pull #3205 from jones-gareth) 882 - Add optional timeout to RGroupDecomposition 883 (github pull #3223 from greglandrum) 884 - Allow symmetrization to be completely disabled in RGD code 885 (github issue #3224 from greglandrum) 886 - gitignore source and build files from the RingFamilies external lib 887 (github pull #3228 from d-b-w) 888 - Add new CIP labelling algorithm 889 (github pull #3234 from ricrogz) 890 - Adds more options to adjustQueryProperties 891 (github pull #3235 from greglandrum) 892 - Improve SSSR performance for large molecules 893 (github pull #3236 from d-b-w) 894 - Support using FreeType for text rendering 895 (github pull #3237 from DavidACosgrove) 896 - Cleanup warnings from clang-10 897 (github pull #3238 from greglandrum) 898 - DEB packaging: cairo support is needed to generate PNGs 899 (github pull #3250 from UnixJunkie) 900 - Added call to test legends. 901 (github pull #3252 from DavidACosgrove) 902 - Improve performance of aromaticity detection for large molecules 903 (github pull #3253 from d-b-w) 904 - Speed up ring finding by skipping nodes not in rings 905 (github pull #3254 from d-b-w) 906 - Support enumerating some mol file features into `MolBundles` 907 (github pull #3257 from greglandrum) 908 - Add cxsmiles query atoms to CTAB parsers and writers 909 (github pull #3261 from greglandrum) 910 - Update to Coordgen v1.4.1 911 (github pull #3265 from ricrogz) 912 - ScaffoldNetwork: add feature to count the number of molecules a scaffold originates from 913 (github pull #3275 from greglandrum) 914 - rgroup speedup 915 (github pull #3279 from bp-kelley) 916 - Stop trying to assign hybridization to actinides 917 (github pull #3281 from greglandrum) 918 - Decouple coordgen and maeparser integrations 919 (github pull #3286 from greglandrum) 920 - Avoid really slow Windows conda builds 921 (github pull #3287 from ptosco) 922 - Embed default truetype font 923 (github pull #3288 from greglandrum) 924 - Expanded support for CXSMILES features 925 (github pull #3292 from greglandrum) 926 - Deprotection Library 927 (github pull #3294 from bp-kelley) 928 - Use operator() and __call__() consistently across RDKit 929 (github pull #3295 from ptosco) 930 - Molecule metadata in PNGs 931 (github pull #3316 from greglandrum) 932 - Cleanup alignment dependencies 933 (github pull #3317 from greglandrum) 934 - Add the option to minimize structures with coordgen 935 (github pull #3319 from greglandrum) 936 - Updated code for chirality perception 937 (github pull #3324 from greglandrum) 938 - Some work on TautomerEnumerator 939 (github pull #3327 from ptosco) 940 - Add fragmentOnBonds to SWIG wrappers 941 (github issue #3329 from greglandrum) 942 - Sped up SSSR by not storing every path back to root 943 (github pull #3333 from rachelnwalker) 944 - Fix Cookbook formatting and added 4 new examples 945 (github pull #3345 from vfscalfani) 946 - switch to using target_compile_definitions instead of add_definitions 947 (github pull #3350 from greglandrum) 948 - [GSoC-2020] Generalized and Multithreaded File Reader 949 (github pull #3363 from shrey183) 950 - support new CIP code and StereoGroups in MolDraw2D_detail::addStereoAnnotation() 951 (github issue #3369 from greglandrum) 952 - expose additional SubstanceGroup data members to Python 953 (github pull #3375 from greglandrum) 954 - Add MolDraw2DJS 955 (github pull #3376 from greglandrum) 956 - Add APK package link for Alpine Linux distribution 957 (github pull #3379 from daverona) 958 - Add SubstanceGroups to the SWIG Wrappers 959 (github pull #3390 from jones-gareth) 960 - Add better support for isotopic Hs to removeHs() and addHs() 961 (github pull #3396 from ptosco) 962 - Add support for abbreviations 963 (github pull #3406 from greglandrum) 964 - Allow passing explicit removeHs, sanitize and strict flags to the MDL rxn parser 965 (github pull #3411 from ptosco) 966 - Improvements to reaction chirality handling 967 (github pull #3412 from greglandrum) 968 - RGD cleanup, optimization and a better fix for #1705 969 (github pull #3428 from ptosco) 970 - Tautomers with endocyclic double bonds should be preferred over exocyclic ones 971 (github issue #3430 from ptosco) 972 - RGD: Code modernization and an optimization 973 (github pull #3437 from ptosco) 974 - expose PNG metadata functions to python 975 (github pull #3440 from greglandrum) 976 - Replace basestring 977 (github pull #3441 from iammosespaulr) 978 - Get the Uncharger to deal with a larger set of acids correctly 979 (github pull #3448 from ptosco) 980 - expose templated coordinate generation to the JS Wrapper 981 (github pull #3450 from greglandrum) 982 - change default precision for coordgen 983 (github pull #3452 from greglandrum) 984 - add coordgen support to demo.html 985 (github pull #3453 from greglandrum) 986 - Two simple MolStandardizer code cleanups 987 (github pull #3454 from ptosco) 988 - A few improvements to MolStandardize::Normalizer 989 (github pull #3455 from ptosco) 990 - Add Cookbook entries 30-32 991 (github pull #3459 from vfscalfani) 992 - A few small tweaks to the drawing code 993 (github pull #3464 from greglandrum) 994 - Make MetalDisconnector more robust against metallorganics 995 (github pull #3465 from greglandrum) 996 - Add nocharge algorithm example to cookbook 997 (github pull #3467 from vfscalfani) 998 - ROMol: add inline impl for common getNumAtoms call 999 (github pull #3469 from jinpan) 1000 - Improve sphinx formatting in rdSubstructLibrary 1001 (github issue #3471 from cbouy) 1002 - Cmake config improvements 1003 (github pull #3478 from rvianello) 1004 - allow fillColour to be changed from python 1005 (github pull #3480 from greglandrum) 1006 - Fix undefined behavior in testCoordGen test 1007 (github pull #3495 from roccomoretti) 1008 - Add a version for the pattern fingerprint 1009 (github pull #3496 from greglandrum) 1010 - Fixes a number of issues flagged by clang 1011 (github pull #3498 from ptosco) 1012 - Update to maeparser v1.2.4 1013 (github pull #3506 from sailfish009) 1014 - Fix python invalid escape sequences 1015 (github pull #3508 from ricrogz) 1016 1017## Code removed in this release: 1018- To improve API consistency of the exceptions in RDKit with the default ones in 1019 the STL, the several `message()` methods and `Invariant::getMessage()` in RDKit's 1020 exceptions have been removed in favor of `what()`. 1021- The old MolHash code has been removed from the C++ code, all wrappers, and the 1022 PostgreSQL cartridge. 1023 1024## Deprecated code (to be removed in a future release): 1025- The function `FileParserUtils::replaceAtomWithQueryAtom()` has been moved to 1026 the namespace QueryOps. Please use `QueryOps::replaceAtomWithQueryAtom()` 1027 instead. The version in the `FileParserUtils` namespace will be removed in the 1028 next release. 1029- The method `std::vector<ROMOL_SPTR> TautomerEnumerator::enumerate(const ROMol &mol, boost::dynamic_bitset<> *modifiedAtoms, boost::dynamic_bitset<> *modifiedBonds = nullptr)` 1030 is deprecated and will be removed in a future release. 1031 Please use `TautomerEnumeratorResult TautomerEnumerator::enumerate(const ROMol &mol,bool reassignStereo = true)` 1032 instead. 1033- The `MolDraw2DQt` class is no longer supported since we don't think anyone is 1034 using it. It will be removed in the 2021.03 release unless we learn otherwise. 1035 1036 1037 1038# Release_2020.03.1 1039(Changes relative to Release_2019.09.1) 1040 1041## Backwards incompatible changes 1042- Searches for equal molecules (i.e. `mol1 @= mol2`) in the PostgreSQL cartridge 1043 now use the `do_chiral_sss` option. So if `do_chiral_sss` is false (the 1044 default), the molecules `CC(F)Cl` and `C[C@H](F)Cl` will be considered to be equal. 1045 Previously these molecules were always considered to be different. 1046- Attempting to create a MolSupplier from a filename pointing to an empty file, 1047 a file that does not exist or sometihing that is not a standard file (i.e. 1048 something like a directory) now generates an exception. 1049- The cmake option `RDK_OPTIMIZE_NATIVE` has been renamed to `RDK_OPTIMIZE_POPCNT` 1050 1051## Highlights: 1052- The drawings generated by the MolDraw2D objects are now significantly improved 1053 and can include simple atom and bond annotations (#2931 and #3010) 1054- An initial implementation of a modified scaffold network algorithm is now 1055 available (#2911) 1056- A few new descriptor/fingerprint types are available - BCUTs (#2957), Morse 1057 atom fingerprints (#1773), Coulomb matrices (#2993), and MHFP and SECFP 1058 fingerprints (#2643) 1059- There is a new, and greatly improved, version of the RDKit Cookbook (#2884) 1060- There is a new version (v3) of the ETKDG conformer generator along with 1061 optional new terms for handling small rings and macrocyles (http://doi.org/dqnh) (#2999) 1062 1063 1064## Acknowledgements: 1065Marcel Baltruschat, Jason Biggs, Eliane Briand, Ben Cornett, David Cosgrove, 1066Andrew Dalke, Tim Dudgeon, Zhenting Gao, Guillaume Godin, Manan Goel, Gareth 1067Jones, Zachary Kaplan, Eisuke Kawashima, Steven Kearnes, Brian Kelley, Maxim 1068Koltsov, Franziska Kruger, Mieszko Manijak, Dan Nealschneider, Daniil 1069Polykovskiy, Daniel Probst, Sereina Riniker, Matthew Robinson, Steve Roughley, 1070Kevin Ryan, Vincent F. Scalfani, Ricardo Rodriguez Schmidt, Rim Shayakhmetov, 1071Aryan Shrey, Nik Stiefl, Matt Swain, Paolo Tosco, Wiep van der Toorn, Riccardo 1072Vianello, Shuzhe Wang, Piotr Wawrzyniak, Hsiao Yi, 'jasad1', 'luancarvalhomartins' 1073 1074 1075## Bug Fixes: 1076 - Mol rendering within DataFrames in a Jupyter Notebook is broken with Pandas 0.25.1 1077 (github issue #2673 from mrcblt) 1078 - Removed RDKIT_SIMDIVPICKERS_EXPORT 1079 (github pull #2740 from ptosco) 1080 - - enable building RDKitRingDecomposerLib.dll under Windows 1081 (github pull #2742 from ptosco) 1082 - Do a windows DLL build as part of the Azure DevOps setup 1083 (github pull #2743 from greglandrum) 1084 - Fix data race in sascorer.py 1085 (github pull #2744 from skearnes) 1086 - Uncharger not properly setting explicit/implicit H count 1087 (github issue #2749 from greglandrum) 1088 - MSVC compile error: MolHash scoped enum cannot be redeclared as unscoped 1089 (github issue #2752 from mcs07) 1090 - Molecules whose Y size is very small won't display as SVG 1091 (github issue #2762 from ptosco) 1092 - Make the cartridge tests work with PostgreSQL 12 1093 (github pull #2767 from greglandrum) 1094 - Salt stripper should consider bond matches as well as atom matches 1095 (github pull #2768 from greglandrum) 1096 - Bismuth should count as an early element 1097 (github issue #2775 from greglandrum) 1098 - addHs() fails on atoms with "bad" valences 1099 (github issue #2782 from greglandrum) 1100 - Element symbol lookup for some transuranics returns incorrect results 1101 (github issue #2784 from LeanAndMean) 1102 - [cartridge] molecular equality should use do_chiral_sss setting 1103 (github issue #2790 from greglandrum) 1104 - uncharger removes Hs from carbocations instead of adding them 1105 (github issue #2792 from greglandrum) 1106 - Fix build without boost serialization library 1107 (github pull #2796 from maksbotan) 1108 - Using `SetBoundsMat` significantly slows down conformer generation process. 1109 (github issue #2800 from hjuinj) 1110 - rdkit.Ched.rdFMCS.FindMCS generates invalid smarts 1111 (github issue #2801 from luancarvalhomartins) 1112 - Remove confId from *FFOptimizeMoleculeConfs Python docs 1113 (github issue #2805 from ptosco) 1114 - Hybridization queries on dummy atoms not written properly to SMARTS 1115 (github issue #2814 from greglandrum) 1116 - Charge range queries not properly written to SMARTS 1117 (github issue #2815 from greglandrum) 1118 - RDKit segfaults in MMFFOptimizeMoleculeConfs() 1119 (github issue #2820 from ptosco) 1120 - Trusted Smiles holder doesn't handle ring queries 1121 (github issue #2830 from bp-kelley) 1122 - Fix windows substructure crash 1123 (github pull #2836 from greglandrum) 1124 - Fix YAeHMOP build 1125 (github pull #2838 from ptosco) 1126 - testGithub2245 in testPickers.cpp occasionally fails 1127 (github issue #2839 from ptosco) 1128 - add define for RDK_USE_BOOST_SERIALIZATION 1129 (github pull #2859 from greglandrum) 1130 - fix start/end atoms when wedging bonds 1131 (github pull #2861 from greglandrum) 1132 - Fixes the size of the reduced charge matrix from eHT calculations 1133 (github pull #2864 from greglandrum) 1134 - Dev/pvs studio cleanups2 1135 (github pull #2877 from greglandrum) 1136 - segfault in MaeMolSupplier 1137 (github issue #2881 from greglandrum) 1138 - update maven url in build system 1139 (github pull #2889 from greglandrum) 1140 - EnumerateStereoisomers cannot handle STEREOANY bonds 1141 (github issue #2890 from ricrogz) 1142 - Update one of the cartridge tests that got missed 1143 (github pull #2894 from greglandrum) 1144 - acepentalene aromaticity perception 1145 (github issue #2895 from adalke) 1146 - New Similarity Maps drawing code Java Wrappers non-functional 1147 (github issue #2896 from sroughley) 1148 - Fix to allow multistructure images in Java/C# and use MCS for c# wrapper 1149 (github pull #2898 from jones-gareth) 1150 - Remove bogus URFLib library 1151 (github pull #2900 from greglandrum) 1152 - java wrapper build cleanups 1153 (github pull #2901 from greglandrum) 1154 - SMARTS parser fails on high-numbered ring closures in branches 1155 (github issue #2909 from greglandrum) 1156 - patch to make PandasTools tests pass with pandas v0.22 1157 (github pull #2913 from greglandrum) 1158 - fix doctest problem with Pandas v1.0 1159 (github pull #2918 from greglandrum) 1160 - Build with -D RDK_BUILD_COORDGEN_SUPPORT=OFF includes a test case that depends on MaeMolSupplier 1161 (github issue #2929 from rvianello) 1162 - MinimalLib: get_stereo_tags() should also return unspecified centers 1163 (github issue #2936 from greglandrum) 1164 - Fix regression introduced by e245349c 1165 (github pull #2945 from cornett) 1166 - Avoid data race warning in SmilesParse.cpp 1167 (github pull #2946 from skearnes) 1168 - Empty molecule has non-zero LabuteASA 1169 (github issue #2948 from jasondbiggs) 1170 - Fix a problem with aromatic heteroatom tautomer enumeration 1171 (github pull #2952 from greglandrum) 1172 - Molecule properties not retained with MolStandardize.rdMolStandardize.Cleanup() 1173 (github issue #2965 from ZacharyKaplan) 1174 - Fix build without boost serialization. 1175 (github pull #2972 from ricrogz) 1176 - RDKFuncs.chargeParent() core dumps when standardization is skipped 1177 (bithub issue #2970 from tdudgeon) 1178 - fix a typo in the scaffold network wrappers and add some tests 1179 (github pull #2982 from greglandrum) 1180 - Tautomer enumeration should remove stereo in all tautomers 1181 (github issue #2990 from greglandrum) 1182 - Segmentation fault on EmbedMolecule 1183 (github issue #3019 from shayakhmetov) 1184 - Removed dllexport from a function that lives in the anonymous namespace 1185 (github pull #3027 from ptosco) 1186 1187 1188## New Features and Enhancements: 1189 - Morse atom fingerprint 1190 (github pull #1773 from thegodone) 1191 - Allow serializing coordinates as doubles 1192 (github issue #2510 from danpol) 1193 - Rework MaeMolSupplier, fix #2617 1194 (github pull #2620 from ricrogz) 1195 - Implementation of MHFP and SECFP Fingerprints 1196 (github pull #2643 from daenuprobst) 1197 - MatchFusedRings does not imply CompleteRingsOnly anymore 1198 (github pull #2748 from ptosco) 1199 - Improvements to JS wrappers 1200 (github pull #2751 from greglandrum) 1201 - Fix installed header directory structure 1202 (github pull #2754 from ricrogz) 1203 - Add doRandom to the header docs 1204 (github pull #2756 from bp-kelley) 1205 - Add queryMol data member to MCSResult 1206 (github pull #2759 from ptosco) 1207 - Add functions to enable/disable the substructure matching monkey patching in IPythonConsole.py 1208 (github issue #2786 from greglandrum) 1209 - Add a function to assign chiral tags from sss atom parity 1210 (github issue #2823 from ptosco) 1211 - Support MRV_IMPLICIT_H S groups when reading Mol blocks 1212 (github issue #2829 from greglandrum) 1213 - Unset executable flag 1214 (github pull #2833 from e-kwsm) 1215 - Remove O(N) behavior of getNumBonds 1216 (github pull #2847 from bp-kelley) 1217 - Feature proposal: add remove_stereochemistry=False flag for RemoveHs() 1218 (github issue #2848 from shayakhmetov) 1219 - Expose SubstructLibrary serialization stream 1220 (github pull #2853 from bp-kelley) 1221 - Fix typo 1222 (github pull #2862 from e-kwsm) 1223 - Rename RDK_OPTIMIZE_NATIVE to RDK_OPTIMIZE_POPCNT 1224 (github pull #2865 from ElianeBriand) 1225 - Update Draw.MolToImage() and Draw.MolToFile() to use the new drawing code 1226 (github pull #2866 from greglandrum) 1227 - Improve PostgreSQL cartridge install documentation 1228 (github pull #2870 from yellowBirdy) 1229 - Fixes #2858 1230 (github pull #2871 from greglandrum) 1231 - Add a cartridge test to the azure devops config 1232 (github pull #2873 from greglandrum) 1233 - Add a new Cookbook v2 to the RDKit docs 1234 (github pull #2884 from vfscalfani) 1235 - Add MolVS tautomer canonicalization 1236 (github pull #2886 from greglandrum) 1237 - add a convenience function for RGD--Pandas integration 1238 (github pull #2887 from greglandrum) 1239 - run clang-tidy with readability-braces-around-statements 1240 (github pull #2899 from greglandrum) 1241 - Allow RDProps::clearProp to succeed even if the prop doesn't exist 1242 (github issue #2910 from greglandrum) 1243 - Add a scaffold network implementation 1244 (github pull #2911 from greglandrum) 1245 - cleanup of the SMILES/SMARTS parsing and writing code 1246 (github pull #2912 from greglandrum) 1247 - Add _ctab, _mol2, _pdb to allow direct mol construction from strings 1248 (github issue #2916 from greglandrum) 1249 - Parse and handle the stereoCare or STBOX flags in CTABs 1250 (github pull #2917 from greglandrum) 1251 - RDKit exceptions do not override the default `what()` method 1252 (github issue #2920 from ricrogz) 1253 - Allow custom post-match filters for substructure matching 1254 (github pull #2927 from greglandrum) 1255 - Proposed improvements to 2D Drawing Code 1256 (github issue #2931 from DavidACosgrove) 1257 - Include running the documentation tests as part of the CI runs 1258 (github pull #2932 from greglandrum) 1259 - Add support for phosphine and arsine chirality 1260 (github issue #2949 from wopozka) 1261 - A couple additions to the extended Hueckel integration 1262 (github pull #2955 from greglandrum) 1263 - Add BCUT 2D descriptors 1264 (github pull #2957 from bp-kelley) 1265 - Add multithreaded pattern/fp generator 1266 (github pull #2973 from bp-kelley) 1267 - Description for the data files. 1268 (github pull #2975 from zhentg) 1269 - Enable larger ring matches in SMARTS expressions 1270 (github pull #2981 from d-b-w) 1271 - ScaffoldNetwork rearrangements 1272 (github pull #2985 from greglandrum) 1273 - add add_hs() and remove_hs() to JS wrappers 1274 (github pull #2986 from greglandrum) 1275 - Add Atom Feature Vectors 1276 (github pull #2988 from thegodone) 1277 - Add CoulombMat calculator 1278 (github pull #2993 from thegodone) 1279 - Update azure-pipelines.yml 1280 (github pull #2997 from greglandrum) 1281 - Improve Conformational Sampling of Small and Large Ring Molecules 1282 (github pull #2999 from hjuinj) 1283 - Fix atom highlighting in notebook PNGs 1284 (github pull #3000 from greglandrum) 1285 - adds a one-liner for getting a vector of random smiles for a molecule 1286 (github pull #3002 from greglandrum) 1287 - Allow enhanced stereo to be used in substructure search 1288 (github pull #3003 from d-b-w) 1289 - Add support for the rest of the v3000 atom properties 1290 (github pull #3007 from greglandrum) 1291 - Move jupyter extension logging to the python logger 1292 (github pull #3008 from bp-kelley) 1293 - Commit of 2D draw annotation. 1294 (github pull #3010 from DavidACosgrove) 1295 - Update Maeparser & Coordgen Dependencies 1296 (github pull #3011 from ricrogz) 1297 - Remove unnecessary files 1298 (github pull #3012 from e-kwsm) 1299 - allow retrieval of the atoms/bonds modified by the tautomerization 1300 (github pull #3013 from greglandrum) 1301 - Add 5 new recipes to Cookbook 1302 (github pull #3014 from vfscalfani) 1303 - Turns on cairo support (and testing) in the Azure DevOps CI builds 1304 (github pull #3022 from greglandrum) 1305 - Added support for Python FMCS functors 1306 (github pull #3023 from ptosco) 1307 - add random seed to docs to get reproducible conformations 1308 (github pull #3026 from greglandrum) 1309 - update docs for 2020.03 1310 (github pull #3028 from greglandrum) 1311 - update Getting Started in C++ document 1312 (github pull #3039 from DavidACosgrove) 1313 1314 1315 1316## Deprecated code (to be removed in a future release): 1317- To improve API consistency of the exceptions in RDKit with the default ones in 1318 the STL, the several `message()` methods and `Invariant::getMessage()` in RDKit's 1319 exceptions are from now on deprecated in favor of `what()`. Both `message()` and 1320 `Invariant::getMessage()` will be removed in the next release. 1321- The old MolHash code should be considered deprecated. This release introduces 1322 a more flexible alternative. Specifically the following pieces will be removed in the next release: 1323 - The python functionality `rdkit.Chem.rdMolHash.GenerateMoleculeHashString()` 1324 - The C++ functionality directly present in the header file `GraphMol/MolHash/MolHash.h` 1325 1326# Release_2019.09.1 1327(Changes relative to Release_2019.03.1) 1328 1329## Important 1330- The atomic van der Waals radii used by the RDKit were corrected/updated in #2154. 1331 This leads to different results when generating conformations, molecular volumes, 1332 and molecular shapes. 1333 1334## Backwards incompatible changes 1335- See the note about atomic van der Waals radii above. 1336- As part of the enhancements to the MolDraw2D class, we changed the type of 1337 DrawColour from a tuple to be an actual struct. We also added a 4th element to 1338 capture alpha values. This should have no affect on Python code (the alpha 1339 value is optional when providing color tuples), but will require changes to C++ 1340 and Java/C# code that is using DrawColour. 1341- When reading Mol blocks, atoms with the symbol "R" are now converted into 1342 queries that match any atom when doing a substructure search (analogous to "*" 1343 in SMARTS). The previous behavior was to only match other dummy atoms 1344- When loading SDF files using PandasTools.LoadSDF(), we now default to 1345 producing isomeric smiles in pandas tables. To reproduce the original 1346 behavior, use isomericSmiles=False in the call to the function. 1347- The SMARTS generated by the RDKit no longer contains redundant wildcard 1348 queries. This means the SMARTS strings generated by this release will generally 1349 be different from that in previous releases, although the results produced by 1350 the queries should not change. 1351- The RGroupDecomposition code now removes Hs from output R groups by default. 1352 To restore the old behavior create an RGroupDecompositionParameters object and 1353 set removeHydrogensPostMatch to false. 1354- The default values for some of the new fingerprint generators have been changed so 1355 that they more closely resemble the original fingerprinting code. In 1356 particular most fingerprinters no longer do count simulation by default and 1357 the RDKit fingerprint now sets two bits per feature by default. 1358- The SMARTS generated for MCS results using the ringMatchesRingOnly or 1359 completeRingsOnly options now includes ring-membership queries. 1360 1361## Highlights: 1362- The substructure matching code is now about 30% faster. This also improves the 1363 speed of reaction matching and the FMCS code. (#2500) 1364- A minimal JavaScript wrapper has been added as part of the core release. (#2444) 1365- It's now possible to get information about why molecule sanitization failed. (#2587) 1366- A flexible new molecular hashing scheme has been added. (#2636) 1367 1368## Acknowledgements: 1369Patricia Bento, Francois Berenger, Jason Biggs, David Cosgrove, Andrew Dalke, 1370Thomas Duigou, Eloy Felix, Guillaume Godin, Lester Hedges, Anne Hersey, 1371Christoph Hillisch, Christopher Ing, Jan Holst Jensen, Gareth Jones, Eisuke 1372Kawashima, Brian Kelley, Alan Kerstjens, Karl Leswing, Pat Lorton, John 1373Mayfield, Mike Mazanetz, Dan Nealschneider, Noel O'Boyle, Stephen Roughley, 1374Roger Sayle, Ricardo Rodriguez Schmidt, Paula Schmiel, Peter St. John, Marvin 1375Steijaert, Matt Swain, Amol Thakkar Paolo Tosco, Yi-Shu Tu, Ricardo Vianello, 1376Marc Wittke, '7FeiW', 'c56pony', 'sirbiscuit' 1377 1378 1379## Bug Fixes: 1380 - MCS returning partial rings with completeRingsOnly=True 1381 (github issue #945 from greglandrum) 1382 - Alternating canonical SMILES for fused ring with N 1383 (github issue #1028 from greglandrum) 1384 - Atom index out of range error 1385 (github issue #1868 from A-Thakkar) 1386 - Incorrect cis/trans stereo symbol for conjugated ring 1387 (github issue #2023 from baoilleach) 1388 - Hardcoded max length of SMARTs string cut of input query for FragCatlog 1389 (github issue #2163 from 7FeiW) 1390 - VSA_EState {1, ..., 10} calculated by rdkit doesn't seem correct. 1391 (github issue #2372 from c56pony) 1392 - MolStandardize: FragmentRemover should not sanitize fragments 1393 (github issue #2411 from greglandrum) 1394 - MolStandardize: combinatorial explosion in Normalizer 1395 (github issue #2414 from greglandrum) 1396 - MCS code doesn't return envelope MCS if CompleteRingsOnly is true 1397 (github issue #2420 from greglandrum) 1398 - RemoveHs() does not remove all hydrogens. 1399 (github issue #2422 from paulaju) 1400 - Incorrect assignment of explicit Hs to Al+3 read from mol block 1401 (github issue #2423 from greglandrum) 1402 - Cannot set maxProducts > 1000 in RunReactants 1403 (github issue #2427 from tduigou) 1404 - Chem.MolStandardize.standardize.Standardizer drops molecular properties 1405 (github pull #2431 from lilleswing) 1406 - Canon::rankMolAtoms results in crossed double bonds in rings 1407 (github issue #2437 from greglandrum) 1408 - make boost::iostreams optional 1409 (github pull #2440 from greglandrum) 1410 - Fix/rgroup sdf isotope 1411 (github pull #2449 from bp-kelley) 1412 - Uncharger incorrectly removing charge from boron anions 1413 (github issue #2452 from greglandrum) 1414 - Add java builds to azure devops 1415 (github pull #2460 from greglandrum) 1416 - Cart fixes 1417 (github pull #2462 from jones-gareth) 1418 - Typo in UFF torsion terms for SP2-SP2 1419 (github issue #2463 from jasad1) 1420 - Negative atom map values cause depickling to fail 1421 (github issue #2465 from greglandrum) 1422 - Deserialization failures crash Java wrapper 1423 (github issue #2466 from greglandrum) 1424 - rdkit.six fix and cleanup 1425 (github pull #2469 from rvianello) 1426 - dummy atom queries are flagged as complex 1427 (github issue #2471 from greglandrum) 1428 - 3D structure display broken in jupyter notebook 1429 (github issue #2473 from greglandrum) 1430 - Inconsistent defaults for nonBondedThresh in MMFF optimization 1431 (github issue #2475 from greglandrum) 1432 - Fix/rgroup multiple labels 1433 (github pull #2481 from bp-kelley) 1434 - 2D Depiction clipped atom highlighting 1435 (github issue #2486 from DavidACosgrove) 1436 - BRICSBuild now passes scrambleReagents to children 1437 (github pull #2488 from greglandrum) 1438 - Pattern Fingerprint Issues 1439 (github issue #2501 from jones-gareth) 1440 - CMake Error: Wrap directories being used when python build is turned off 1441 (github issue #2516 from jasondbiggs) 1442 - - fixes ResonanceMolSupplier bug in perceiving conjugated groups 1443 (github pull #2517 from ptosco) 1444 - Fix/mmff threadsafety issues 1445 (github pull #2518 from bp-kelley) 1446 - update expected SVG output in cartridge tests 1447 (github pull #2520 from greglandrum) 1448 - fix to SDWriter docs 1449 (github pull #2521 from pstjohn) 1450 - Fix the azure pipelines builds 1451 (github pull #2522 from greglandrum) 1452 - Code cleanups from PVS/Studio 1453 (github pull #2531 from greglandrum) 1454 - getAtomNeighbors() and getAtomBonds() not in SWIG wrappers. 1455 (github issue #2532 from greglandrum) 1456 - Default sanitizerxn doesn't aromatize if possible 1457 (github issue #2547 from bp-kelley) 1458 - Add RDKIT_FILEPARSERS_EXPORT to finishMolProcessing 1459 (github pull #2551 from d-b-w) 1460 - Chem.rdFMCS.FindMCS hangs for certain ligand pairs 1461 (github issue #2581 from lohedges) 1462 - fix the inclusion path for the targets file (#2584) 1463 (github pull #2589 from rvianello) 1464 - Fix inocuous typo/bug in Dative bond matching 1465 (github pull #2593 from ricrogz) 1466 - E/Z and CIS/TRANS stereo bonds are incorrectly matched 1467 (github pull #2596 from ricrogz) 1468 - Uncharger ignores dications 1469 (github issue #2602 from greglandrum) 1470 - Possible Garbage Collection Bug in Pharmacophore Generation 1471 (github issue #2603 from cing) 1472 - Uncharger incorrectly neutralizes cations when non-neutralizable anions are present. 1473 (github issue #2605 from greglandrum) 1474 - Bad valence corrections on Pb, Sn 1475 (github issue #2606 from greglandrum) 1476 - Pb and Sn should support valence 2 1477 (github issue #2607 from greglandrum) 1478 - Uncharger incorrectly modifying a zwitterion 1479 (github issue #2610 from greglandrum) 1480 - CanonicalRankAtomsInFragment breakTies doesn't 1481 (github issue #2611 from bp-kelley) 1482 - Pattern fingerprint failing substructure condition in very large molecules 1483 (github issue #2614 from greglandrum) 1484 - Memory leak with Chem.Atom() constructor 1485 (github issue #2639 from AlanKerstjens) 1486 - Fixes: Atoms in non-standard valences not being properly written to mol blocks 1487 (github pull #2646 from greglandrum) 1488 - C++ MCS code returns a null MCS between methylcyclopentane and methylcyclohexane 1489 (github issue #2662 from ptosco) 1490 - CXSMILES writer has error if mol comes from v3000 molfile 1491 (github issue #2666 from d-b-w) 1492 - MolToCXSmiles generates error for empty molecule 1493 (github issue #2667 from greglandrum) 1494 - fix a problem with normalize, ringinfo, and fragments 1495 (github pull #2685 from greglandrum) 1496 - Error when a squiggle bond is in an aromatic ring 1497 (github issue #2695 from greglandrum) 1498 - Cannot combine multiple range queries on a single atom. 1499 (github issue #2709 from greglandrum) 1500 - setBondStereoFromDirections() returning incorrect results. 1501 (github issue #2712 from greglandrum) 1502 - update supplier documentation to reflect python 3 iterator syntax 1503 (github pull #2719 from greglandrum) 1504 - removeHs messing up double bond stereo in partially sanitized molecules 1505 (github issue #2721 from greglandrum) 1506 - seg fault in ReactionRunner 1507 (github issue #2722 from greglandrum) 1508 - Intermittent test failures for JavaDistanceGeometryTests 1509 (github issue #2727 from greglandrum) 1510 - Fixes a bug in TorsionConstraint 1511 (github pull #2732 from ptosco) 1512 - Apply fix for #1592 to _MolsToGridSVG 1513 (github pull #2737 from yishutu) 1514 1515## New Features and Enhancements: 1516 - Added rankAtoms to ROMol wrapper and added Java test case 1517 (github pull #1540 from sroughley) 1518 - Use van der Waals radii from blue obelisk 1519 (github pull #2154 from UnixJunkie) 1520 - add generateDepictionMatching2DStructure() to SWIG wrappers 1521 (github issue #2239 from greglandrum) 1522 - Added OptimizeMoleculeConfs with pre-generated force-field 1523 (github pull #2401 from ptosco) 1524 - FreeSASA improvements 1525 (github pull #2402 from ptosco) 1526 - Speed up symmetrizeSSSR 1527 (github issue #2403 from d-b-w) 1528 - Trim whitespace from mol fragment SMARTS and check SMARTS presence 1529 (github pull #2406 from ricrogz) 1530 - Run clang-tidy over the entire codebase 1531 (github pull #2408 from greglandrum) 1532 - Enable Azure Pipelines builds for CI 1533 (github pull #2409 from ricrogz) 1534 - Add RDProps interface to Conformers 1535 (github issue #2441 from greglandrum) 1536 - Add minimal JavaScript wrapper 1537 (github pull #2444 from greglandrum) 1538 - Fixes annoying warnings on MSVC 1539 (github pull #2454 from ptosco) 1540 - add prepareMolsBeforeDrawing option for drawMols 1541 (github pull #2455 from greglandrum) 1542 - computeGasteigerCharges quality of life improvement for python api 1543 (github issue #2480 from bp-kelley) 1544 - Preserve bond direction in fragmentOnBonds 1545 (github pull #2484 from greglandrum) 1546 - SanitizeRxn code and docstring cleanup 1547 (github pull #2491 from greglandrum) 1548 - Support XYZ format for output 1549 (github pull #2498 from e-kwsm) 1550 - vf2 optimisations 1551 (github pull #2500 from johnmay) 1552 - Python wrap enhanced stereo setters 1553 (github pull #2509 from d-b-w) 1554 - Fix the azure pipelines builds 1555 (github pull #2522 from greglandrum) 1556 - add a script for benchmarking fingerprint screenout and substructure performance 1557 (github pull #2523 from greglandrum) 1558 - make "R" in CTABs an AtomNull query 1559 (github pull #2528 from greglandrum) 1560 - Expose SDF loading options to LoadSDF 1561 (github pull #2534 from bp-kelley) 1562 - Remove unused ctest: testCanon 1563 (github pull #2541 from ricrogz) 1564 - Update maeparser and coordgen versions 1565 (github pull #2542 from ricrogz) 1566 - Improved handling of bond stereo in reactions 1567 (github pull #2553 from ricrogz) 1568 - Code simplification for fingerprints to np array 1569 (github pull #2557 from ChrisHill8) 1570 - Integrate Unique Ring Families from RingDecomposerLib 1571 (github pull #2558 from greglandrum) 1572 - Allow providing a bounds matrix to EmbedMol 1573 (github pull #2560 from greglandrum) 1574 - Enable SimilarityMaps in C++ 1575 (github pull #2562 from greglandrum) 1576 - Do not run UnitTestMCS.py::TestTimeout in debug builds 1577 (github pull #2569 from ricrogz) 1578 - Expose more drawing methods to Python 1579 (github issue #2571 from greglandrum) 1580 - Allow Point2D to be constructed from Point3D 1581 (github pull #2572 from greglandrum) 1582 - Allows dative bonds to be drawn 1583 (github pull #2573 from greglandrum) 1584 - Allow identification of chemistry problems 1585 (github pull #2587 from greglandrum) 1586 - Adds MolFragmentToSmarts to generate smarts for a subset of a Molecule 1587 (github pull #2594 from d-b-w) 1588 - Removal of redundant wildcards in SMARTS (Null Atom/Bond Query combination) 1589 (github pull #2595 from ricrogz) 1590 - Support range-based charge queries from SMARTS 1591 (github issue #2604 from greglandrum) 1592 - Keep PDB info from Maestro files if available 1593 (github pull #2619 from lorton) 1594 - optimization of the MolStandardize code 1595 (github pull #2621 from greglandrum) 1596 - Assign stereo bond labels in molecules read from SMARTS 1597 (github pull #2623 from ricrogz) 1598 - Automatically load the ipython extensions running in Jupyter 1599 (github pull #2626 from bp-kelley) 1600 - draw zero-order bonds 1601 (github pull #2630 from greglandrum) 1602 - Updated cartridge documentation 1603 (github pull #2635 from msteijaert) 1604 - Add new mol hashing code 1605 (github pull #2636 from greglandrum) 1606 - emolecules link updated 1607 (github pull #2638 from marcwittke) 1608 - Update maeparser to 1.2.1 and coorgen to 1.3.1 1609 (github pull #2652 from ricrogz) 1610 - Get numpy include dir programmatically 1611 (github pull #2653 from sirbiscuit) 1612 - Fix long columns pandas 1613 (github pull #2655 from sirbiscuit) 1614 - Added AtomComparator.AtomCompareAnyHeavyAtom and test cases to FMCS code 1615 (github pull #2656 from sroughley) 1616 - The C++ MCS code generates ambiguous SMARTS strings 1617 (github issue #2663 from ptosco) 1618 - add bond-selector info to SVGs 1619 (github pull #2664 from greglandrum) 1620 - support writing CXSMILES from the cartridge 1621 (github issue #2668 from greglandrum) 1622 - support the new hashing code in the cartridge 1623 (github pull #2671 from greglandrum) 1624 - Adds additional capabilities to the minimal JS wrapper 1625 (github pull #2676 from greglandrum) 1626 - Add MolHash to Java Wrappers 1627 (github issue #2677 from sroughley) 1628 - A bunch of changes to the new fingerprinter code 1629 (github pull #2679 from greglandrum) 1630 - Add viewBox to default SVG output 1631 (github issue #2680 from bp-kelley) 1632 - Allow Java to see RGroup labels in the std::map wrapper. 1633 (github pull #2681 from bp-kelley) 1634 - Update maeparser to v1.2.2. 1635 (github pull #2682 from ricrogz) 1636 - Update coordgen to v1.3.2 1637 (github pull #2686 from ricrogz) 1638 - Add a drawOptions object to IPythonConsole 1639 (github pull #2691 from greglandrum) 1640 - Make StructureGroups editable from Python 1641 (github pull #2692 from greglandrum) 1642 - Update documentation 1643 (github pull #2697 from greglandrum) 1644 - Make removeHydrogensPostMatch=true the default for RGD 1645 (github pull #2701 from greglandrum) 1646 - Eat our own dogfood, Clone is deprecated so use copy 1647 (github pull #2711 from bp-kelley) 1648 - The MCS smartsString may still be ambiguous 1649 (github issue #2714 from ptosco) 1650 - Add threaded runner for the filter catalog 1651 (github pull #2718 from bp-kelley) 1652 - Add Leader picker implementation 1653 (github pull #2724 from greglandrum) 1654 - Add consideration of ring fusion to the MCS algorithm 1655 (github pull #2731 from ptosco) 1656 1657 1658## Deprecated code (to be removed in a future release): 1659 1660- The old MolHash code should be considered deprecated. This release introduces 1661 a more flexible alternative. Specifically the following pieces will be removed in a future release: 1662 - The python functionality `rdkit.Chem.rdMolHash.GenerateMoleculeHashString()` 1663 - The C++ functionality directly present in the header file `GraphMol/MolHash/MolHash.h` 1664 1665 1666# Release_2019.03.1 1667(Changes relative to Release_2018.09.1) 1668 1669## REALLY IMPORTANT ANNOUNCEMENT 1670- As of this realease (2019.03.1) the RDKit no longer supports Python 2. Please 1671 read this rdkit-discuss post to learn what your options are if you need to 1672 keep using Python 2: 1673 https://www.mail-archive.com/rdkit-discuss@lists.sourceforge.net/msg08354.html 1674 1675## Backwards incompatible changes 1676- The fix for github #2245 means that the default behavior of the MaxMinPicker 1677 is now truly random. If you would like to reproduce the previous behavior, 1678 provide a seed value of 42. 1679- The uncharging method in the MolStandardizer now attempts to generate 1680 canonical results for a given molecule. This may result in different output 1681 for some molecules. 1682 1683## Highlights: 1684- There's now a Japanese translation of large parts of the RDKit documentation 1685- SGroup data can now be read from and written to Mol/SDF files 1686- The enhanced stereo handling has been improved: the information is now 1687 accessible from Python, EnumerateStereoisomers takes advantage of it, and it 1688 can be read from and written to CXSmiles 1689 1690## Acknowledgements: 1691Michael Banck, Francois Berenger, Thomas Blaschke, Brian Cole, Andrew Dalke, 1692Bakary N'tji Diallo, Guillaume Godin, Anne Hersey, Jan Holst Jensen, Sunhwan Jo, 1693Brian Kelley, Petr Kubat, Karl Leswing, Susan Leung, John Mayfield, Adam Moyer, 1694Dan Nealschneider, Noel O'Boyle, Stephen Roughley, Takayuki Serizawa, Gianluca 1695Sforna, Ricardo Rodriguez Schmidt, Gianluca Sforna, Matt Swain, Paolo Tosco, 1696Ricardo Vianello, 'John-Videogames', 'magattaca', 'msteijaert', 'paconius', 1697'sirbiscuit' 1698 1699## Bug Fixes: 1700 - PgSQL: fix boolean definitions for Postgresql 11 1701 (github pull #2129 from pkubatrh) 1702 - update fingerprint tutorial notebook 1703 (github pull #2130 from greglandrum) 1704 - Fix typo in RecapHierarchyNode destructor 1705 (github pull #2137 from iwatobipen) 1706 - SMARTS roundtrip failure 1707 (github issue #2142 from mcs07) 1708 - Error thrown in rdMolStandardize.ChargeParent 1709 (github issue #2144 from paconius) 1710 - SMILES parsing inconsistency based on input order 1711 (github issue #2148 from coleb) 1712 - MolDraw2D: line width not in python wrapper 1713 (github issue #2149 from greglandrum) 1714 - Missing Python API Documentation 1715 (github issue #2158 from greglandrum) 1716 - PgSQL: mol_to_svg() changes input molecule. 1717 (github issue #2174 from janholstjensen) 1718 - Remove Unicode From AcidBasePair Name 1719 (github pull #2185 from lilleswing) 1720 - Inconsistent treatment of `[as]` in SMILES and SMARTS 1721 (github issue #2197 from greglandrum) 1722 - RGroupDecomposition fixes, keep userLabels more robust onlyMatchAtRGroups 1723 (github pull #2202 from bp-kelley) 1724 - Fix TautomerTransform in operator= 1725 (github pull #2203 from bp-kelley) 1726 - testEnumeration hangs/takes where long on 32bit architectures 1727 (github issue #2209 from mbanck) 1728 - Silencing some Python 3 warning messages 1729 (github pull #2223 from coleb) 1730 - removeHs shouldn't remove atom lists 1731 (github issue #2224 from rvianello) 1732 - failure round-tripping mol block with Q atom 1733 (github issue #2225 from rvianello) 1734 - problem round-tripping mol files that include bond topology info 1735 (github issue #2229 from rvianello) 1736 - aromatic main-group atoms written to SMARTS incorrectly 1737 (github issue #2237 from greglandrum) 1738 - findPotentialStereoBonds() stopping too early 1739 (github issue #2244 from greglandrum) 1740 - MinMax Diversity picker seeding shows deterministic / non-random behaviour 1741 (github issue #2245 from sroughley) 1742 - Fix to serialize binary strings 1743 (github pull #2264 from bp-kelley) 1744 - Recognize N in three-membered rings as potentially chiral 1745 (github issue #2268 from greglandrum) 1746 - Failure when parsing mol block with M PXA 1747 (github issue #2277 from greglandrum) 1748 - query-query matching failing for atoms constructed from SMARTS 1749 (github issue #2299 from greglandrum) 1750 - SMILES parsing fails for dative ring closures 1751 (github issue #2303 from greglandrum) 1752 - Missing Dict.h overload: std::string Dict::getVal<std::string> 1753 (github issue #2308 from greglandrum) 1754 - fix a problem with the random pickers test 1755 (github pull #2310 from greglandrum) 1756 - Some tests still failing on less common platforms. 1757 (github issue #2311 from giallu) 1758 - AddHs() using 3D coordinates with 2D conformations 1759 (github pull #2328 from greglandrum) 1760 - change to make the SWIG builds work on windows 1761 (github pull #2340 from greglandrum) 1762 - uncharger behaves differently on molecules constructed from mol blocks and SMILES 1763 (github issue #2346 from greglandrum) 1764 - Memory Error When Writing ToBinary With "AllProps" 1765 (github issue #2352 from atom-moyer) 1766 - Seg fault on init if RDBASE is not set 1767 (github issue #2368 from greglandrum) 1768 - PandasTools.FrameToGridImage() fails with SVG output 1769 (github issue #2380 from greglandrum) 1770 - ClusterMols.GetDistanceMatrix throws a type error in Python 3 1771 (github issue #2387 from John-Videogames) 1772 - Uncharging logic reversed: protonate non-acids first 1773 (github issue #2392 from Anne Hersey) 1774 1775## New Features and Enhancements: 1776 - Allow access to Enhanced Stereochemistry information from Python 1777 (github issue #2108 from d-b-w) 1778 - Adopt EnumerateStereoisomers to use extended stereo 1779 (github issue #2109 from greglandrum) 1780 - Enable ctest -T memcheck 1781 (github pull #2113 from ricrogz) 1782 - Support for parsing/writing SGroups in SD Mol files 1783 (github pull #2138 from ricrogz) 1784 - Rename the #define _DEBUG to MMPA_DEBUG in mmpa.cpp 1785 (github pull #2140 from baoilleach) 1786 - MolDraw2D: line width should be controlled by MolDrawOptions 1787 (github issue #2151 from greglandrum) 1788 - Some refactoring of the distance geometry code 1789 (github pull #2153 from greglandrum) 1790 - Less warnings 1791 (github pull #2155 from UnixJunkie) 1792 - ShapeTverskyIndex python function 1793 (github pull #2156 from susanhleung) 1794 - Skip compound if smiles conversion fails 1795 (github pull #2168 from msteijaert) 1796 - Fix #2176: InChI functions should return NULL on un-InChI-able input molecules. 1797 (github pull #2177 from janholstjensen) 1798 - Update installation instructions for Linux 1799 (github pull #2181 from sirbiscuit) 1800 - Update CMake rules to find external coorgen & maeparser libs 1801 (github pull #2184 from ricrogz) 1802 - Update to use the travis Xenial environment 1803 (github pull #2200 from greglandrum) 1804 - Do not allow PandasTools to overwrite pandas settings 1805 (github pull #2206 from sirbiscuit) 1806 - re-enable (and update) the file parser tests 1807 (github pull #2208 from greglandrum) 1808 - Added documentation files written in Japanese into Book directory 1809 (github pull #2210 from magattaca) 1810 - Add C++ convenience function for drawing ROMols 1811 (github issue #2220 from greglandrum) 1812 - Change boost int types to std types 1813 (github pull #2233 from bp-kelley) 1814 - Added exports for SGroup functions 1815 (github pull #2242 from ricrogz) 1816 - Use coordMap when starting embedding from random coords 1817 (github issue #2246 from greglandrum) 1818 - Improve interactivity of output SVG 1819 (github pull #2253 from greglandrum) 1820 - Add options for substructure searching 1821 (github pull #2254 from greglandrum) 1822 - keep extra information about bonds from Mol files 1823 (github pull #2260 from greglandrum) 1824 - Allow converting mol blocks directly to InChI 1825 (github pull #2262 from greglandrum) 1826 - Patch/pains updates 1827 (github pull #2272 from johnmay) 1828 - add warning for 2D conformations flagged as 3D 1829 (github pull #2273 from greglandrum) 1830 - Store extra CXSMILES data as a property 1831 (github pull #2281 from ricrogz) 1832 - Parse enhanced stereo information from CXSMILES 1833 (github pull #2282 from ricrogz) 1834 - Robustify parsing of CTABs and SGROUPs 1835 (github pull #2283 from greglandrum) 1836 - Write enhanced stereo to cxsmiles 1837 (github pull #2290 from greglandrum) 1838 - Allow custom type-handlers in the RDProps interface 1839 (github pull #2293 from bp-kelley) 1840 - Add serialization to SubstructLibrary 1841 (github pull #2295 from bp-kelley) 1842 - support reading/writing atom props from SD files 1843 (github pull #2297 from greglandrum) 1844 - Add test for issue #2285, fix molbundle test 1845 (github pull #2301 from bp-kelley) 1846 - Update maeparser & coordgen libraries 1847 (github pull #2302 from ricrogz) 1848 - Mem errors clean up 1849 (github pull #2305 from ricrogz) 1850 - Add definition of MolFragmentToCXSmiles 1851 (github pull #2307 from greglandrum) 1852 - Doc update 1853 (github pull #2312 from greglandrum) 1854 - Adds gzstream stream, exposes to swig 1855 (github pull #2314 from bp-kelley) 1856 - Remove a bunch of Python2-related warts 1857 (github pull #2315 from greglandrum) 1858 - some much-needed optimization work on the new property lists 1859 (github pull #2317 from greglandrum) 1860 - Build warnings revisited 1861 (github pull #2318 from ricrogz) 1862 - change bogus "3D" to "2D" in a test file 1863 (github pull #2319 from greglandrum) 1864 - Allow copying atoms in Python 1865 (github pull #2322 from d-b-w) 1866 - fixes an r-group symmetrization problem 1867 (github pull #2324 from greglandrum) 1868 - simple docstring fix 1869 (github pull #2326 from sunhwan) 1870 - allow using system's catch2 for tests 1871 (github pull #2327 from giallu) 1872 - Python wrap DetectAtomStereoChemistry from MolFileStereochem.h 1873 (github issue #2329 from d-b-w) 1874 - switch to using cmake to handle the C++ spec 1875 (github pull #2334 from greglandrum) 1876 - WIP: optional integration with YAeHMOP 1877 (github pull #2335 from greglandrum) 1878 - Exposes substructlibrary to swig 1879 (github pull #2337 from bp-kelley) 1880 - Add a skip_all_if_match option to the FragmentRemover 1881 (github pull #2338 from greglandrum) 1882 - Dev/general csharp fixes 1883 (github pull #2341 from bp-kelley) 1884 - Add a read-only Python wrapper for SGroups 1885 (github pull #2343 from greglandrum) 1886 - Expose RGroupDecomposition to SWIG 1887 (github pull #2345 from greglandrum) 1888 - update debian build script to python3 1889 (github pull #2350 from UnixJunkie) 1890 - add GetStereoIsomerCount() function to EnumerateStereoisomers 1891 (github pull #2354 from greglandrum) 1892 - Update coordgenlibs to v1.2.2 1893 (github pull #2355 from ricrogz) 1894 - Small fixes to get DLLs to build on Windows 1895 (github pull #2356 from ptosco) 1896 - Boost deprecation warning 1897 (github pull #2357 from d-b-w) 1898 - Removes an extra debugging cerr statment 1899 (github pull #2360 from d-b-w) 1900 - Preserve enhanced stereo in reactions 1901 (github pull #2366 from d-b-w) 1902 - improvements to the Uncharge functionality 1903 (github pull #2374 from greglandrum) 1904 - Add ExplicitBitVect prop and query 1905 (github pull #2384 from bp-kelley) 1906 - Allow components of the MolStandardize code to be initialized from streams 1907 (github pull #2385 from greglandrum) 1908 1909 1910# Release_2018.09.1 1911(Changes relative to Release_2018.03.1) 1912 1913## Deprecations 1914- As part of the changes and cleaning up done for #1836 many of the `#defines` 1915 used in the RDKit have been renamed. 1916 - `USE_BUILTIN_POPCOUNT` -> `RDK_OPTIMIZE_NATIVE` 1917 - `RDK_THREADSAFE_SSS` -> `RDK_BUILD_THREADSAFE_SSS` 1918 - `BUILD_COORDGEN_SUPPORT` -> `RDK_BUILD_COORDGEN_SUPPORT` 1919 - `BUILD_AVALON_SUPPORT` -> `RDK_BUILD_AVALON_SUPPORT` 1920 - `BUILD_INCHI_SUPPORT` -> `RDK_BUILD_INCHI_SUPPORT` 1921 - `BUILD_SLN_SUPPORT` -> `RDK_BUILD_SLN_SUPPORT` 1922 - `RDK_CAIRO_BUILD` -> `RDK_BUILD_CAIRO_SUPPORT` 1923 1924## Documentation updates 1925We have moved to using Sphinx's autodoc to create the Python API documentation. 1926`epydoc`, the tool we used to use, is no longer actively developed and only supports 1927Python2. There will undoubtedly be problems associated with the change; if you notice 1928anything missing in the documetation or something that's really badly formatted, 1929please either let us know or submit a PR with a fix. 1930 1931## Backwards incompatible changes 1932This release includes a set of changes to make the default arguments to common 1933functions less error prone (github #1679). 1934- GetAtomSmiles() now generates isomeric SMILES by default. 1935- The ringMatchesRingOnly option to the FindMCS() function now applies to 1936 atom-atom matches as well as bond-bond matches. 1937- The Python functions EmbedMolecule() and EmbedMultipleConfs() now use the 1938 ETKDG algorithm by default instead of standard distance geometry. 1939 1940## Highlights: 1941- This release includes two contributions from the Google Summer of Code: 1942 - A new generalized fingerprint generator. 1943 - An integration/port of MolVS to the core RDKit. 1944 The API on both of these may change a bit with future releases. 1945- The rdkit.Chem.Draw module now includes functions for depicting fingerprint 1946 bits. Morgan and RDKit fingerprints are currently supported. 1947 1948## Acknowledgements: 1949Boran Adas, Francois Berenger, Thomas Blaschke, Brian Cole, Andrew Dalke, Guillaume Godin, 1950Brice Hoff, Brian Kelley, Karl Leswing, Susan Leung, Pat Lorton, Josh Meyers, Hirotomo Moriwaki, 1951Dan Nealschneider, Noel O'Boyle, Pavel Raiskup, Sereina Riniker, Ricardo Rodriguez Schmidt, 1952Stephen Roughley, Roger Sayle, Takayuki Serizawa, Rim Shayakhmetov, Gregory Simm, Jon Sorenson, 1953Matt Swain, Kiran Telukunta, Paulo Tosco, Alain Vaucher, Maciej Wójcikowski, '0xDECAFC0FFEE', 1954'jaechanglim', 'paconius' 1955 1956## Contrib updates: 1957- The FastCluster code has been updated. 1958 1959## New Features and Enhancements: 1960 - expose MolChemicalFeature.{get,set}ActiveConformer() to python 1961 (github issue #1636 from greglandrum) 1962 - added Scripts/create_deb_packages.sh 1963 (github pull #1655 from UnixJunkie) 1964 - Start to use Catch2 for new tests 1965 (github pull #1732 from greglandrum) 1966 - Switch DbCLI scripts from optparse to argparse 1967 (github issue #1778 from greglandrum) 1968 - Add EEM partial charges 1969 (github pull #1828 from greglandrum) 1970 - Add header file providing access to RDKit compile time flags 1971 (github issue #1836 from greglandrum) 1972 - add control over the coordinate precision to coordgen 1973 (github pull #1847 from greglandrum) 1974 - Add Properties interface to ChemicalReactions 1975 (github pull #1848 from greglandrum) 1976 - Switch Python API documentation generation over to Sphinx autodoc 1977 (github pull #1849 from greglandrum) 1978 - expose MolOps::assignStereochemistryFrom3D() to Python 1979 (github issue #1850 from greglandrum) 1980 - bivariate_normal deprecation in mlab.py of matplotlib 1981 (github issue #1851 from telukir) 1982 - Expose minAtomRingSize() and minBondRingSize() to Python wrappers 1983 (github pull #1859 from mwojcikowski) 1984 - enable building DLLs on Windows 1985 (github pull #1861 from ptosco) 1986 - Fix compatibility with Boost 1.67+ 1987 (github pull #1864 from mcs07) 1988 - Don't manually set RDConfig paths in conda env 1989 (github pull #1865 from mcs07) 1990 - Make svg xmlns prefix use more consistent 1991 (github pull #1866 from mcs07) 1992 - Add custom 3D Descriptors 1993 (github pull #1867 from greglandrum) 1994 - Add initial Maestro format Supplier using maeparser library 1995 (github pull #1872 from lorton) 1996 - add queryAtomNonHydrogenDegree() query operation 1997 (github issue #1873 from greglandrum) 1998 - Add an auto-populated file with cmake config options 1999 (github pull #1874 from greglandrum) 2000 - Custom property VSA 2001 (github pull #1884 from sriniker) 2002 - Swap maeparser and coordgen dependencies to use releases 2003 (github issue #1887 from greglandrum) 2004 - expose MolDraw2DSVG.tagAtoms() to python 2005 (github pull #1897 from greglandrum) 2006 - allow the cleanup step of Mol2 parsing to be disabled 2007 (github pull #1898 from greglandrum) 2008 - Allow Atom.GetAtomSmarts() to return isomeric SMILES 2009 (github pull #1902 from greglandrum) 2010 - Allow coordgen and maeparser to be built as static libraries 2011 (github pull #1909 from ptosco) 2012 - Support reaction_to_svg() in cartridge 2013 (github issue #1916 from greglandrum) 2014 - Addresses several minor warning messages during the build 2015 (github pull #1935 from d-b-w) 2016 - Some optimization of the queries constructed from SMARTS 2017 (github pull #1940 from greglandrum) 2018 - Add ring/chain match constraints options to AdjustQueryParameters() 2019 (github issue #1943 from greglandrum) 2020 - roc calculation naming problem 2021 (github pull #1975 from 0xDECAFC0FFEE) 2022 - Fingerprinting functions should call assignStereochemistry() when necessary 2023 (github issue #1993 from bricehoff) 2024 - Dev/GSOC2018_MolVS_Integration 2025 (github pull #2002 from susanhleung) 2026 - GSoC 2018 - Fingerprints 2027 (github pull #2005 from Boranadas) 2028 - port fingerprint bit rendering code from CheTo 2029 (github pull #2008 from greglandrum) 2030 - PgSQL: add support for PostgreSQL_CONFIG cmake var 2031 (github pull #2014 from praiskup) 2032 - Add missing boost header for v1.64 2033 (github pull #2016 from gncs) 2034 - Enhanced stereo read/write support in SDF files. 2035 (github pull #2022 from d-b-w) 2036 - IPythonConsole hooks should copy the original docstring 2037 (github issue #2025 from adalke) 2038 - Allow dumping interchange information into SVG files 2039 (github pull #2030 from greglandrum) 2040 - MCS: add test for ring--non-ring matches at the atom level 2041 (github issue #2034 from greglandrum) 2042 - Ability to generate a list of possible smiles representation for a given molecule 2043 (github issue #2042 from thegodone) 2044 - add scoring test (relevant to #1975) 2045 (github pull #2064 from greglandrum) 2046 - actually run the SmilesWriterNoNames() test 2047 (github pull #2067 from greglandrum) 2048 - Add a default for maximum products generated by a reaction (maxProduc… 2049 (github pull #2069 from bp-kelley) 2050 - Add user-defined literals for parsing SMILES and SMARTS 2051 (github pull #2070 from greglandrum) 2052 - move rdInfoLog to stderr 2053 (github pull #2073 from greglandrum) 2054 - add confId argument to MolChemicalFeatureFactor::getFeaturesForMol() 2055 (github issue #2077 from greglandrum) 2056 - Expose a CMake flag to build RDKit with -rpath 2057 (github pull #2084 from coleb) 2058 - Dev/expose setquery to python 2059 (github pull #2088 from bp-kelley) 2060 - Updated .gitignore with files generated outside of build directory. 2061 (github pull #2095 from ricrogz) 2062 - Address compile warnings & trivial improvements 2063 (github pull #2097 from ricrogz) 2064 - Coordgen: stop printing Templates location 2065 (github pull #2102 from greglandrum) 2066 - Update Docs For CalcBEDROC 2067 (github pull #2103 from lilleswing) 2068 2069## Bug Fixes: 2070 - Cannot find rings for ChEBI 50252 2071 (github issue #299 from greglandrum) 2072 - Feature request: #defines to test RDKit version 2073 (github issue #1454 from baoilleach) 2074 - Atoms in residue read from pdb lose their AtomPDBResidueInfo after reaction (Bug) 2075 (github issue #1632 from hjuinj) 2076 - SMARTS parse failure for some queries involving Hs 2077 (github issue #1719 from greglandrum) 2078 - Conformer indexing bug in RDFreeSASA.cpp? 2079 (github issue #1786 from paconius) 2080 - allow libs to not be installed 2081 (github pull #1832 from greglandrum) 2082 - RWMol::addAtom(Atom,bool) missing from Java wrappers 2083 (github issue #1837 from greglandrum) 2084 - RWMol::clear now calls ROMol::initMol 2085 (github pull #1844 from bp-kelley) 2086 - Allow types.h to be included in applications that use /D_USE_MATH_DEFINES 2087 (github pull #1846 from d-b-w) 2088 - Fixes failing Python tests on Windows 2089 (github pull #1855 from ptosco) 2090 - Allow building on cygwin using -std=c++11 2091 (github pull #1856 from greglandrum) 2092 - Stop using the cmake Boost:: targets 2093 (github pull #1858 from greglandrum) 2094 - R-group Decomposition: allow H replacements when matchOnlyAtRgroups is set 2095 (github pull #1871 from bp-kelley) 2096 - Mark cartridge functions as being parallel safe 2097 (github issue #1886 from greglandrum) 2098 - Fixes locale handling on Windows 2099 (github pull #1892 from ptosco) 2100 - get the pandas tests working with pandas 0.23 2101 (github pull #1896 from greglandrum) 2102 - "make install" appears to miss RDBoost/export.h 2103 (github issue #1903 from baoilleach) 2104 - Fix curl fallback for downloading files 2105 (github pull #1904 from d-b-w) 2106 - Bond stereo information not output to SMARTS 2107 (github issue #1906 from greglandrum) 2108 - Library .so names missing RDKit? 2109 (github issue #1913 from baoilleach) 2110 - Negated atom number queries in SMARTS should not set atomic number of query atom 2111 (github issue #1920 from greglandrum) 2112 - memory leak in Get3DDistanceMatrix 2113 (github issue #1924 from jaechanglim) 2114 - Atom with bond to itself is accepted by the SMILES parser. 2115 (github issue #1925 from tblaschke) 2116 - Possibly incorrect aromatic SMILES generated for structure 2117 (github issue #1928 from baoilleach) 2118 - Using the coordgen library seems to cause a seg fault 2119 (github issue #1929 from JoshuaMeyers) 2120 - Aromaticity failure in 7-ring with charged radical carbon 2121 (github issue #1936 from bp-kelley) 2122 - Fix embarassing bug, check the counter each iteration 2123 (github pull #1939 from bp-kelley) 2124 - RuntimeError when importing rdkit.Chem.Descriptors with Python 3.7 2125 (github issue #1948 from drkeoni) 2126 - Query features in products of rxn files not properly handled 2127 (github issue #1950 from greglandrum) 2128 - ReactionToSmarts broken for multi-component templates 2129 (github issue #1955 from bp-kelley) 2130 - update knime urls in overview.md 2131 (github pull #1966 from greglandrum) 2132 - CXN extended SMILES labels are not applied to the correct atom in SMILES with explicit H 2133 (github issue #1968 from baoilleach) 2134 - MolFromSmarts MolToSmarts fails to roundtrip on patterns with chirality 2135 (github issue #1985 from bp-kelley) 2136 - QueryAtoms with atom list queries should not have the atomic number set 2137 (github issue #1988 from greglandrum) 2138 - RemoveHs not properly updating double bond stereoatoms 2139 (github issue #1990 from shayakhmetov) 2140 - Error while parsing empty atom list in Mol files. 2141 (github issue #2000 from drkeoni) 2142 - Cleanup step of sanitization sometimes sets undesired formal charges 2143 (github issue #2020 from avaucher) 2144 - GetBondSmiles() returns nothing for wedged bonds when allBondsExplicit is true 2145 (github issue #2029 from greglandrum) 2146 - PMIs and NPRs return same value between different conformer 2147 (github issue #2037 from philopon) 2148 - Failure to parse V3K mol file with bonds to multi-center linkage points 2149 (github issue #2040 from greglandrum) 2150 - patch a memory allocation problem in the maeparser v1.0.0 2151 (github pull #2044 from greglandrum) 2152 - CIPRank values from JSONDataToMols are not unsigned 2153 (github issue #2046 from greglandrum) 2154 - switch to v1.0.1 of the maeparser 2155 (github pull #2048 from greglandrum) 2156 - Update fastcluster code 2157 (github pull #2051 from greglandrum) 2158 - Fix memory leak in Dict operator= 2159 (github pull #2061 from bp-kelley) 2160 - Atom mapping lost after call to MergeQueryHs() 2161 (github issue #2062 from greglandrum) 2162 - Drawing racemic bond stereo as crossed bonds should be the default 2163 (github issue #2063 from coleb) 2164 - Moved test.h from RDBoost to RDGeneral for consistency with export.h 2165 (github pull #2074 from ptosco) 2166 - CTABs behave differently than before regarding stereo 2167 (github issue #2082 from bp-kelley) 2168 - BitInfo not complete for RDKFingerprint 2169 (github issue #2115 from greglandrum) 2170 2171## Removed code: 2172- Remove the deprecated MolDrawing code 2173 (github pull #2111 from greglandrum) 2174 2175 2176# Release_2018.03.1 2177(Changes relative to Release_2017.09.1) 2178 2179## C++11 notes 2180 2181Starting with this release, the RDKit core C++ code is written in modern C++; 2182for this release that means C++11. This means that the compilers used to build 2183it cannot be completely ancient. Here are the minimum tested versions: 2184- g++ v4.8: though note that the SLN parser code cannot be built with v4.8. It 2185 will automatically be disabled when this older compiler is used. 2186- clang v3.9: it may be that older versions of the compiler also work, but we 2187 haven't tested them. 2188- Visual Studio 2015: it may be that older versions of the compiler also work, 2189 but we haven't tested them. 2190 2191## Backwards incompatible changes 2192 2193This release includes a set of changes to make the default arguments to common 2194functions less error prone (github #1679). 2195- MolToSmiles() now generates isomeric SMILES by default. 2196- The embedding code now uses the ETKDG method by default. 2197- MolToMolBlock() will now by default generate a set of 2D coordinates for 2198 molecules when the includeStereo option is set to True. The changes are made 2199 to a copy of the molecule; the molecule itself will not be modified. 2200- The Mol file (and SDF) parser now determines atomic stereochemisty based on 2201 the 3D coordinates provided (if 3D coordinates are provided). 2202- The SMILES parser now supports CXSMILES by default (assuming that additional 2203 text that looks like CXSMILES extensions is there). 2204 2205In every case the old behavior can be obtained by providing an optional argument 2206to the function(s) mentioned. 2207 2208## Acknowledgements: 2209Boran Adas, José Emilio Sánchez Aparicio, Patrick Avery, Jason Biggs, Brian 2210Cole, Andrew Dalke, JW Feng, Peter Gedeck, Guillaume Godin, Richard Hall, Thomas 2211Heavy, Gareth Jones, Brian Kelley, Karl Leswing, Susan Leung, Chris Morris, Dan 2212Nealschneider, Noel O'Boyle, Axel Pahl, Pavel Polishchuk, Sereina Riniker, Jeff 2213van Santen, Roger Sayle, Martin Šícho, Matt Swain, Paolo Tosco, Sam Webb, Maciej 2214Wójcikowski, Nicola Zonta, 'clinntt', 'hjuinj', 'iwatobipen', 2215 2216## Highlights: 2217 - An initial version of an integration with Schrodinger's coordgen library is 2218 included. This produces much better 2D coordinates for complex molecules. 2219 - Thanks to the move to modern C++ the RDKit is now faster and uses less 2220 memory 2221 - A number of improvements were made to the PDB reader 2222 - v2 of the ETKDG torsions and potentials is now available 2223 2224## Contrib updates: 2225 - Implementation of Peter Ertl's IFG method for identifying functional groups 2226 from Guillaume Godin and Richard Hall 2227 (github pull #1813 from thegodone) 2228 2229## New Features and Enhancements: 2230 - Support InChi 1.05 2231 (github issue #1533 from greglandrum) 2232 - Update CPack to create .deb files correctly 2233 (github pull #1580 from psavery) 2234 - Initial commit of EnumerateHeterocycles 2235 (github pull #1588 from coleb) 2236 - Version 2 of ETKDG 2237 (github pull #1597 from sriniker) 2238 - GetMolFrags now optionally returns atom indices along with mols 2239 (github pull #1602 from ptosco) 2240 - NP Likeness with confidence value 2241 (github pull #1608 from apahl) 2242 - Adding an option to EnumerateStereoisomers to only return unique isomers 2243 (github pull #1612 from coleb) 2244 - Add function wedgeBond() 2245 (github issue #1615 from greglandrum) 2246 - Dev/substructlibrary docs 2247 (github pull #1620 from bp-kelley) 2248 - Turns off exception throwing for certain classes Rlabel sanitization. 2249 (github pull #1621 from bp-kelley) 2250 - Add an "MDL" aromaticity model 2251 (github issue #1622 from hjuinj) 2252 - Add support for %(NNN) notation for ring closures 2253 (github pull #1624 from baoilleach) 2254 - Enable windows build that uses cairo 2255 (github pull #1628 from greglandrum) 2256 - [MRG] Fix PDB reader + add argument to toggle proximity bonding 2257 (github pull #1629 from mwojcikowski) 2258 - Improve AddHs for molecules read from PDB 2259 (github pull #1647 from mwojcikowski) 2260 - Improved regression test for ETKDG version 2 2261 (github pull #1640 from sriniker) 2262 - RDKit interpretation of atom stereo SMILES is different from 4 other toolkits 2263 (github issue #1652 from coleb) 2264 - Treat bonds in PDB CONECT records explicitly, but make blacklisted ones zero-order. 2265 (github pull #1658 from mwojcikowski) 2266 - There is no need to enforce that (i, j) and (k, l) be bonded when setting a i, j, k, l dihedral 2267 (github pull #1673 from ptosco) 2268 - Make default arguments to common functions less error prone 2269 (github issue #1679 from greglandrum) 2270 - Add Fast cluster script 2271 (github pull #1683 from iwatobipen) 2272 - Update embedded InChI to v1.05 2273 (github pull #1684 from mcs07) 2274 - Add `AllChem.MMFFGetMoleculeForceField().CalcGradient()` to Python wrappers 2275 (github issue #1688 from theavey) 2276 - Play nice with naughty MOL blocks 2277 (github issue #1689 from jw-feng) 2278 - Make the defaults for some functions less error prone. 2279 (github pull #1690 from greglandrum) 2280 - implemented Python wrappers for computing PMI axes and moments 2281 (github pull #1700 from ptosco) 2282 - Enable range-based for loops for molecules 2283 (github pull #1701 from bp-kelley) 2284 - Support some cactvs extensions to SMARTS 2285 (github pull #1704 from greglandrum) 2286 - Integrate Coordgen 2287 (github pull #1708 from greglandrum) 2288 - Removes ATOM/BOND_SPTR in boost::graph in favor of raw pointers 2289 (github pull #1713 from greglandrum) 2290 - Set atomic properties from SMARTS 2291 (github pull #1716 from greglandrum) 2292 - Allow installation of Python tests to facilitate testing installations 2293 (github pull #1724 from greglandrum) 2294 - setAromaticity() should work even if there are aromatic atoms present 2295 (github issue #1730 from greglandrum) 2296 - Use uint32 atom and bond indices 2297 (github pull #1742 from greglandrum) 2298 - Switch from boost::thread to std::thread 2299 (github pull #1745 from greglandrum) 2300 - switch to using std::regex in the SLN parser 2301 (github pull #1746 from greglandrum) 2302 - replace the usage of rdk_auto_ptr with std::unique_ptr 2303 (github pull #1752 from greglandrum) 2304 - getMolBoundsMatrix() should do triangle bound smoothing by default 2305 (github issue #1763 from greglandrum) 2306 - Added Morgan feature fingerprints to Java API 2307 (github pull #1764 from jones-gareth) 2308 - Reaction fingerprints not exposed in Java wrapper 2309 (github issue #1776 from webbres) 2310 - add Tversky index calculation for shapes 2311 (github pull #1777 from susanhleung) 2312 - Add MolToInchiKey function() 2313 (github pull #1784 from greglandrum) 2314 - speedup the NumBitsInCommon operation 2315 (github pull #1785 from greglandrum) 2316 - Stop putting brackets around * atoms in SMILES 2317 (github pull #1788 from greglandrum) 2318 - Support for a JSON-based molecule interchange format 2319 (github pull #1798 from greglandrum) 2320 2321## Bug Fixes: 2322 - Fixes Java wrapper build error with Boost 1.64 2323 (github pull #1613 from ptosco) 2324 - AssignStereochemistry cleanIt=True incorrectly removing new CIS/TRANS bond stereo 2325 (github issue #1614 from coleb) 2326 - switch to using a specific freesasa version 2327 (github pull #1619 from greglandrum) 2328 - Add support for %(NNN) notation for ring closures 2329 (github pull #1624 from baoilleach) 2330 - Draw._moltoSVG() raises an exception 2331 (github issue #1625 from greglandrum) 2332 - MolDrawCairo2D does not build on windows 2333 (github issue #1627 from greglandrum) 2334 - Enable windows build that uses cairo 2335 (github pull #1628 from greglandrum) 2336 - don't always download the FreeSASA source 2337 (github issue #1630 from greglandrum) 2338 - Make sure EmbedMultipleConfs is deterministic for very large seeds and a seed of 0 2339 (github pull #1635 from coleb) 2340 - from rdkit.Chem import AllChem has grown a six dependency 2341 (github issue #1637 from bp-kelley) 2342 - Fixing bug in IPythonConsole SVG rendering introduced in 1027d4469545653180fff9a38dc8224bd50e8b0d 2343 (github pull #1641 from coleb) 2344 - changes required to allow replacing the obsolete __conda_version__ in conda-rdkit 2345 (github pull #1644 from ptosco) 2346 - GetConformerRMSMatrix does not work if some conformers were removed 2347 (github issue #1650 from DrrDom) 2348 - EnumerateLibrary with initFromString called twice doesn't clear the reaction 2349 (github issue #1657 from bp-kelley) 2350 - Missed symmetrization in R-Group decomposition 2351 (github issue #1659 from greglandrum) 2352 - Use numpy not numeric for boost 1.65+ - fixes #1581 2353 (github pull #1664 from mcs07) 2354 - Support valence 7 for As, Sb, and Bi 2355 (github issue #1668 from greglandrum) 2356 - Fix: GetDonor2FeatVects heavy atoms confusion 2357 (github pull #1676 from josan82) 2358 - Acetylenic hydrogens not given appropriate 2D coordinates 2359 (github issue #1691 from jasondbiggs) 2360 - Warning on import of rgroup decomposition package 2361 (github issue #1695 from greglandrum) 2362 - AUTOCORR2D.h not installed unless RDK_BUILD_DESCRIPTORS3D but is required 2363 (github issue #1702 from baoilleach) 2364 - Dative bonds interfere with kekulization and the perception of aromaticity 2365 (github issue #1703 from greglandrum) 2366 - Fix/rgroup prefer matching nonhs over hs 2367 (github pull #1707 from bp-kelley) 2368 - bonds that are STEREOCIS or STEREOTRANS cannot be depickled 2369 (github issue #1710 from greglandrum) 2370 - Get queries from the new cactvs SMARTS extensions to pickle correctly 2371 (github pull #1712 from greglandrum) 2372 - fix an irritating cmake problem 2373 (github pull #1715 from greglandrum) 2374 - Added dependency from Boost headers to PgSQL CMakeLists.txt 2375 (github pull #1717 from ptosco) 2376 - Updates python test runner to always use sys.executable 2377 (github pull #1721 from bp-kelley) 2378 - - make bond stereo detection in rings consistent 2379 (github pull #1727 from ptosco) 2380 - xlocale.h not needed to compile with clang 2381 (github issue #1728 from adalke) 2382 - BreakBRICSBonds() not preserving stereochemistry 2383 (github issue #1734 from greglandrum) 2384 - rdmolfiles.CanonicalRankAtoms segfaults on 0 atom molecules 2385 (github issue #1735 from lilleswing) 2386 - deprecated apply() function causes GetRDKFingerprint to fail in Python 3 2387 (github issue #1747 from clinntt) 2388 - Stop dereferencing end() iterators 2389 (github pull #1748 from greglandrum) 2390 - out of range fromAtom causes GetMorganFingerprintAsBitVect to segfault 2391 (github issue #1749 from adalke) 2392 - Generated SMARTS does not contain atomic chiral tags 2393 (github issue #1756 from greglandrum) 2394 - make the build work even if boost::serialization is disabled 2395 (github pull #1767 from greglandrum) 2396 - Fix typo in GetBoolProp documentation 2397 (github pull #1770 from jvansan) 2398 - Fingerprint segfaults with branchedPaths=False and useHs=False 2399 (github issue #1793 from chrishmorris) 2400 - Fix python linkage (primarily for conda builds) 2401 (github pull #1808 from greglandrum) 2402 - removeHs() should not remove H atoms that are contributing to the definition of a stereo bond 2403 (github pull #1810 from d-b-w) 2404 - global EmbedParameters objects should not be writeable in SWIG wrappers 2405 (github issue #1826 from greglandrum) 2406 - RDKit crashes when MolsToGridImage function is called with an empty iterable. 2407 (github issue #1829 from martin-sicho) 2408 2409 2410# Release_2017.09.1 2411(Changes relative to Release_2017.03.1) 2412 2413## Important 2414- The fix for bug #1567 changes the way fragment SMILES are canonicalized. 2415 MolFragmentToSmiles() and canonicalizeFragment() will now often return 2416 different results 2417- The fix for bug #1604 changes the behavior of QueryAtom::setQuery(), which 2418 now deletes the current query before setting the new value. If you are using 2419 QueryAtom::setQuery() from C++ (or possibly Java), be sure that you are not 2420 also deleting that memory. 2421 2422## Acknowledgements: 2423Brian Cole, Peter Gedeck, Guillaume Godin, Jan Halborg Jensen, Malitha Kabir, 2424Tuomo Kalliokoski, Brian Kelley, Noel O'Boyle, Matthew O'Meara, Pavel 2425Polishchuk, Cameron Pye, Christian Ribeaud, Stephen Roughley, Patrick Savery, 2426Roger Sayle, Nadine Schneider, Gregor Simm, Matt Swain, Paolo Tosco, Alain 2427Vaucher, Sam Webb, 'phenethyl', 'xiaotaw' 2428 2429## Highlights: 2430- The new R-Group decomposition code provides a flexible and powerful tool for 2431 building R-group tables or datasets look in $RDBASE/Docs/Notebooks for 2432 example notebooks showing how to use this. 2433- Drawing of chemical reactions has been greatly improved and is now done using 2434 the C++ rendering code. 2435- The MaxMinPicker is dramatically faster. 2436- New descriptors: the QED descriptor has been added as have a large collection 2437 of new 3D descriptors and implementations of the USR and USRCAT fingerprints. 2438 2439## New Features and Enhancements: 2440 - Bring back USR and USRCAT descriptors 2441 (github pull #1417 from greglandrum) 2442 - Generate a warning for conflicting bond directions 2443 (github issue #1423 from greglandrum) 2444 - expose and test GetDrawCoords() 2445 (github pull #1427 from greglandrum) 2446 - Improvement suggestions for SaltRemover 2447 (github issue #1431 from ribeaud) 2448 - Remove obsolete scripts from Scripts dir 2449 (github pull #1440 from greglandrum) 2450 - Support drawing reactions from C++ 2451 (github pull #1444 from greglandrum) 2452 - QED code with unit test file 2453 (github pull #1445 from gedeck) 2454 - Add support for other datatypes to ConvertToNumpyArray 2455 (github issue #1447 from pyeguy) 2456 - - updated FindCairo.cmake 2457 (github pull #1455 from ptosco) 2458 - - fixes PgSQL CMakeLists.txt to enable conda build on Windows 2459 (github pull #1457 from ptosco) 2460 - Some cleanups to make Travis builds faster 2461 (github pull #1464 from greglandrum) 2462 - ExplainPairScore does not support includeChirality=True 2463 (github issue #1466 from xiaotaw) 2464 - Add a collection of new 3D descriptors 2465 (github pull #1467 from greglandrum) 2466 - Update cartridge documentation to use ChEMBL 23 2467 (github issue #1491 from greglandrum) 2468 - First entry of the SubstructLibrary module 2469 (github pull #1493 from bp-kelley) 2470 - assorted fixes to get the current master branch to build on Windows 2471 (github pull #1495 from ptosco) 2472 - Support assignment of stereochemistry tags to bonds from 3D structure 2473 (github issue #1497 from gncs) 2474 - Support black and white molecule drawing 2475 (github issue #1510 from greglandrum) 2476 - Missing def_readwrite for backgroundColour in rdMolDraw2D.cpp 2477 (github issue #1519 from goraj) 2478 - Adds canonicalization of atom maps 2479 (github pull #1521 from bp-kelley) 2480 - Implement stereoisomer enumeration 2481 (github pull #1531 from greglandrum) 2482 - Add a MolBundle class 2483 (github pull #1537 from greglandrum) 2484 - Provide support for color palettes in MolDraw2D 2485 (github pull #1546 from greglandrum) 2486 - A few reaction drawing tweaks 2487 (github pull #1549 from greglandrum) 2488 - R group improvements 2489 (github pull #1552 from greglandrum) 2490 - Add a canned Atom query for heavy atom degree 2491 (github issue #1563 from greglandrum) 2492 - Adds FreeSASA adapter 2493 (github pull #1565 from bp-kelley) 2494 - Added C++ version of getBestRMS() 2495 (github pull #1568 from psavery) 2496 - SMILES lexer optimization/enhancement 2497 (github pull #1575 from greglandrum) 2498 - Update IPythonConsole and PandasTools to use new drawing code 2499 (github pull #1577 from greglandrum) 2500 - Squashes warnings on cygwin 2501 (github pull #1578 from bp-kelley) 2502 - Support continuous highlighting in drawMolecules(). 2503 (github pull #1579 from greglandrum) 2504 - Enhanced Similarity Maps depiction 2505 (github pull #1594 from gerebtzoff) 2506 2507## Bug Fixes: 2508 - RDKit gets stuck on PubChem CID 102128817 2509 (github issue #1281 from TuomoKalliokoski) 2510 - MMP code not including molecules with no cuts 2511 (github issue #1406 from greglandrum) 2512 - Fixes PandasTools to also work with pandas 0.20 2513 (github pull #1410 from bp-kelley) 2514 - csharp input files out of date 2515 (github issue #1413 from greglandrum) 2516 - Fix cxsmiles parse on VS2008 2517 (github pull #1415 from mcs07) 2518 - MaxMinPicker picking non-existent element 2519 (github issue #1421 from greglandrum) 2520 - _isCallable clashes with Celery 2521 (github issue #1434 from momeara) 2522 - Impossible to build the RDKit from source without Python installed 2523 (github issue #1435 from greglandrum) 2524 - RemoveHs() removes H atom attached to dummy if it came from AddHs() 2525 (github issue #1439 from DrrDom) 2526 - fix a couple failing windows tests related to temp file removal 2527 (github pull #1446 from greglandrum) 2528 - SanitizeRxn fails with a runtime exception when unused Rlabels are in product 2529 (github issue #1448 from bp-kelley) 2530 - String module conversion bug 2531 (github pull #1452 from coleb) 2532 - GetConformerRMS() documentation is misleading 2533 (github pull #1459 from greglandrum) 2534 - URANGE_CHECK not doing its job in RWMol::addBond 2535 (github issue #1461 from baoilleach) 2536 - ExplainPairScore does not support includeChirality=True 2537 (github issue #1466 from xiaotaw) 2538 - MolToSmarts does not include atom-map or isotope info for molecules built from SMILES 2539 (github issue #1472 from greglandrum) 2540 - AdjustQueryProperties() removing properties from dummy atoms 2541 (github issue #1474 from greglandrum) 2542 - Fixes lookup for HELM Monomer 'D' 2543 (github pull #1477 from bp-kelley) 2544 - Aromatic rings composed solely of dummy atoms should not be kekulized 2545 (github issue #1478 from bp-kelley) 2546 - Directly specify rotor model used in QED. 2547 (github pull #1483 from bp-kelley) 2548 - Unicode problem with pidPS tests on Mac 2549 (github issue #1490 from greglandrum) 2550 - Pattern fingerprint setting bad bits with degree zero atoms 2551 (github issue #1496 from greglandrum) 2552 - Remove xlocale header 2553 (github pull #1501 from greglandrum) 2554 - Fixes atom documentation 2555 (github pull #1505 from bp-kelley) 2556 - TypeError from PandasTools.SaveXlsxFromFrame 2557 (github issue #1507 from pyeguy) 2558 - Removes trailing spaces after \ to fix windows compilation errors 2559 (github pull #1516 from bp-kelley) 2560 - prepareMolForDrawing() not in SWIG wrappers 2561 (github issue #1522 from greglandrum) 2562 - Bond is missing IsInRing methods in Java wrapper 2563 (github issue #1535 from sroughley) 2564 - Fixes blanking of non-query atom data when QueryAtomData was being pi… 2565 (github pull #1541 from bp-kelley) 2566 - ChemicalReaction code not calling setNoImplicit() when H counts are set. 2567 (github issue #1544 from greglandrum) 2568 - Fixes failing build with MSVC 2569 (github pull #1547 from ptosco) 2570 - Kekulization error with cores from R-Group Decomposition 2571 (github issue #1550 from greglandrum) 2572 - Fixes double free for Dict::update 2573 (github pull #1571 from bp-kelley) 2574 - QueryAtom::setQuery() should delete the old query first 2575 (github pull #1604 from greglandrum) 2576 2577 2578# Release_2017.03.1 2579(Changes relative to Release_2016.09.1) 2580 2581## Important 2582- The fix for bug #879 changes the definition of the layered fingerprint. 2583 This means that all database columns using layered fingerprints as well as 2584 all substructure search indices should be rebuilt. 2585- All C++ library names now start with RDKit (see #1349). 2586 2587## Acknowledgements: 2588Brian Cole, David Cosgrove, JW Feng, Berend Huisman, Peter Gedeck, 'i-tub', 2589Jan Holst Jensen, Brian Kelley, Rich Lewis, Brian Mack, Eloy Felix Manzanares, 2590Stephen Roughley, Roger Sayle, Nadine Schneider, Gregor Simm, Matt Swain, 2591Paolo Tosco, Riccardo Vianello, Hsiao Yi 2592 2593## Highlights: 2594 - It's now possible (though not the default) to pickle molecule properties 2595 with the molecule 2596 - There's a new, and still in development, "Getting started in C++" document. 2597 - A lot of the Python code has been cleaned up 2598 2599## New Features and Enhancements: 2600 - Add removeHs option to MolFromSmiles() 2601 (github issue #554 from greglandrum) 2602 - support a fixed bond length in the MolDraw2D code 2603 (github issue #565 from greglandrum) 2604 - Pattern fingerprint should set bits for single-atom fragments. 2605 (github issue #879 from greglandrum) 2606 - Reviewed unit tests of rdkit.ML - coverage now 63.1% 2607 (github pull #1148 from gedeck) 2608 - Reviewed unit tests of rdkit.VLib - coverage now 67.1% 2609 (github pull #1149 from gedeck) 2610 - Removes exponetial numBonds behavior 2611 (github pull #1154 from bp-kelley) 2612 - Exposes normalize option to GetFlattenedFunctionalGroupHierarchy 2613 (github pull #1165 from bp-kelley) 2614 - Expose RWMol.ReplaceBond to Python 2615 (github pull #1174 from coleb) 2616 - Review of rdkit.Chem.Fraggle code 2617 (github pull #1184 from gedeck) 2618 - Add support for dative bonds. 2619 (github pull #1190 from janholstjensen) 2620 - Python 3 compatibility (issue #398) 2621 (github pull #1192 from gedeck) 2622 - 1194: Review assignments of range in Python code 2623 (github pull #1195 from gedeck) 2624 - Moved GenerateDepictionMatching[23]DStructure from Allchem.py to C++ 2625 (github pull #1197 from DavidACosgrove) 2626 - Review rdkit.Chem.pharm#D modules 2627 (github pull #1201 from gedeck) 2628 - Find potential stereo bonds should return any 2629 (github pull #1202 from coleb) 2630 - Gedeck coverage sim div filters 2631 (github pull #1208 from gedeck) 2632 - Gedeck review unit test inchi 2633 (github pull #1209 from gedeck) 2634 - Coverage rdkit.Dbase 2635 (github pull #1210 from gedeck) 2636 - Coverage rdkit.DataStructs 2637 (github pull #1211 from gedeck) 2638 - UnitTestPandas works on Python3 2639 (github pull #1213 from gedeck) 2640 - Cleanup and improvement to test coverage of PandasTools 2641 (github pull #1215 from gedeck) 2642 - Cleanup of rdkit.Chem.Fingerprints 2643 (github pull #1217 from gedeck) 2644 - Optimization of UFF and MMFF forcefields 2645 (github pull #1218 from ptosco) 2646 - Support for ChemAxon Extended SMILES/SMARTS 2647 (github issue #1226 from greglandrum) 2648 - Improved test coverage for rdkit.Chem.Fingerprints 2649 (github pull #1243 from gedeck) 2650 - Adding a few tests for coverage utils 2651 (github pull #1244 from gedeck) 2652 - Make Pandastools modifications to generic RDkit functionality more obvious 2653 (github pull #1245 from gedeck) 2654 - Rename test file and cleanup 2655 (github pull #1246 from gedeck) 2656 - Review of rdkit.Chem.MolKey 2657 (github pull #1247 from gedeck) 2658 - Review tests in rdkit.Chem.SimpleEnum 2659 (github pull #1248 from gedeck) 2660 - Move execution of DocTests in rdkit.Chem into a UnitTest file 2661 (github pull #1256 from gedeck) 2662 - Review code in rdkit.Chem.Suppliers 2663 (github pull #1258 from gedeck) 2664 - Add python wraps 2665 (github pull #1259 from eloyfelix) 2666 - Rename file UnitTestDocTests in rdkitChem 2667 (github pull #1263 from gedeck) 2668 - Gedeck rdkit chem unit test surf 2669 (github pull #1267 from gedeck) 2670 - cleanup rdkit.Chem.Lipinski and rdkit.Chem.GraphDescriptors 2671 (github pull #1268 from gedeck) 2672 - Address Issue #1214 2673 (github pull #1275 from gedeck) 2674 - Dev/pickle properties 2675 (github pull #1277 from bp-kelley) 2676 - Remove unused test boilerplate 2677 (github pull #1288 from gedeck) 2678 - Refactored the script SDFToCSV 2679 (github pull #1289 from gedeck) 2680 - Dev/rdmmpa api update 2681 (github pull #1291 from bp-kelley) 2682 - Fix/rogers fixes 2683 (github pull #1293 from bp-kelley) 2684 - Remove expected (error) output during unit tests 2685 (github pull #1298 from gedeck) 2686 - Refactor FeatFinderCLI and add unittests 2687 (github pull #1299 from gedeck) 2688 - Refactor BuildFragmentCatalog - 1 2689 (github pull #1300 from gedeck) 2690 - Review of rdkit.Chem code - 1 2691 (github pull #1301 from gedeck) 2692 - Minor cleanup in rdkit.Chem 2693 (github pull #1304 from gedeck) 2694 - Start using py3Dmol in the notebook 2695 (github pull #1308 from greglandrum) 2696 - Add the option to match formal charges to FMCS 2697 (github pull #1311 from greglandrum) 2698 - Review of rdkit.Chem.Subshape 2699 (github pull #1313 from gedeck) 2700 - Review rdkit.Chem.UnitTestSuppliers 2701 (github pull #1315 from gedeck) 2702 - Add cis/trans tags to double bonds 2703 (github pull #1316 from greglandrum) 2704 - MolDraw2D: make custom atom labels easier 2705 (github issue #1322 from greglandrum) 2706 - MolDraw2D: allow DrawMolecules() to put all molecules in one pane 2707 (github issue #1325 from greglandrum) 2708 - Refactoring rdkit.Chem.SATIS 2709 (github pull #1329 from gedeck) 2710 - Minor cleanup of rdkit.Chem.SaltRemover 2711 (github pull #1330 from gedeck) 2712 - Review rdkit.chem.FunctionalGroups and rdkit.Chem.UnitTestSuppliers 2713 (github pull #1331 from gedeck) 2714 - Get the tests working with python 3.6 2715 (github pull #1332 from greglandrum) 2716 - add "RDKit" to the beginning of all library names 2717 (github pull #1349 from greglandrum) 2718 - Fix/sanitizerxn merge hs 2719 (github pull #1367 from bp-kelley) 2720 - Update AllChem.py 2721 (github pull #1378 from BerendHuisman) 2722 2723## New Java Wrapper Features: 2724 2725## Bug Fixes: 2726 - python2 code in python3 install 2727 (github issue #1042 from kcamnairb) 2728 - Fixes #1162 (resMolSupplierTest failing with boost 1.62) 2729 (github pull #1166 from ptosco) 2730 - add missing $RDKLIBS to cartridge build 2731 (github pull #1167 from rvianello) 2732 - Include <boost/cstdint.hpp> for uint64_t 2733 (github pull #1168 from mcs07) 2734 - replace std::map::at with std::map::find 2735 (github pull #1169 from mcs07) 2736 - Fix Trajectory GetSnapshot behaviour after Clear 2737 (github pull #1172 from mcs07) 2738 - Add Contrib dir to RDPaths 2739 (github pull #1176 from mcs07) 2740 - RDThreads.h: No such file or directory 2741 (github issue #1177 from gncs) 2742 - this now builds with vs2008 2743 (github pull #1178 from greglandrum) 2744 - Add information on building RDkit on macOS using conda 2745 (github pull #1180 from gedeck) 2746 - new sequence capabilities not available from either Python or Java 2747 (github issue #1181 from greglandrum) 2748 - Gets the reaction sanitization code working correctly on 32bit systems 2749 (github pull #1187 from greglandrum) 2750 - Adds RDProps to c# wrapper 2751 (github pull #1188 from bp-kelley) 2752 - fix compatibility with PostgreSQL 9.2 2753 (github pull #1189 from greglandrum) 2754 - Fixes memory leak in closeCheckMolFiles, fixes valgrind read issue in… 2755 (github pull #1200 from bp-kelley) 2756 - Support valences of 4 and 6 for Te 2757 (github issue #1204 from hsiaoyi0504) 2758 - Stereochemistry not output to SMILES when allHsExplicit=True 2759 (github issue #1219 from greglandrum) 2760 - Remove deprecated string module functions 2761 (github pull #1223 from gedeck) 2762 - Turns on -fpermissive for gcc >= 6 and boost < 1.62 2763 (github pull #1225 from bp-kelley) 2764 - all-atom RMSD used to prune conformers in embedding code, docs say heavy-atom RMSD is used 2765 (github issue #1227 from greglandrum) 2766 - FindPotentialStereoBonds() failure 2767 (github issue #1230 from greglandrum) 2768 - make the Pandas version checking more robust 2769 (github pull #1239 from greglandrum) 2770 - Failure to embed larger aromatic rings 2771 (github issue #1240 from greglandrum) 2772 - fixed build failure on Windows due to missing link to library 2773 (github pull #1241 from ptosco) 2774 - fixed a test failure on Windows due to CR+LF encoding 2775 (github pull #1242 from ptosco) 2776 - MolFromMolBlock sanitizing when it should not be 2777 (github issue #1251 from greglandrum) 2778 - PMI descriptors incorrect 2779 (github issue #1262 from greglandrum) 2780 - Reactions don't modify isotope unless chemical element is specified for the product 2781 (github issue #1266 from i-tub) 2782 - Do not include the 3D descriptors in rdkit.Chem.Descriptors.descList 2783 (github issue #1287 from greglandrum) 2784 - ring stereochemistry perception failing for spiro centers 2785 (github issue #1294 from greglandrum) 2786 - Property pickling test failing on windows 2787 (github issue #1348 from greglandrum) 2788 - Fixes overflow error in boost when compiler chooses int for enum type 2789 (github pull #1351 from bp-kelley) 2790 - Hybridization type of group 1 metals 2791 (github issue #1352 from richlewis42) 2792 - bad python docs for some distance geometry functions 2793 (github issue #1385 from greglandrum) 2794 - Bond from reactant not added to product 2795 (github issue #1387 from greglandrum) 2796 - int32_t with no namespace in MolPickler.h 2797 (github issue #1388 from greglandrum) 2798 2799## Contrib updates: 2800 - Chemical reaction role assignment code from Nadine Schneider 2801 (github pull #1185 from NadineSchneider) 2802 2803## Deprecated code (to be removed in a future release): 2804- rdkit.Chem.MCS: please use rdkit.Chem.rdFMCS instead 2805 2806# Release_2016.09.1 2807(Changes relative to Release_2016.03.1) 2808 2809## Important 2810- The adjustQueryParameters structure has been rewritten. If you were using 2811 this in your code, you'll need to update your code. 2812 2813## Acknowledgements: 2814Brian Cole, Piotr Dabrowski, Jan Domanski, Peter Gedeck, Richard Hall, Brian 2815Kelley, Joos Kiener, 'maddogcz', John Mayfield, 'michalsta', Michal Nowotka, 2816'philopon', Nico Pulver, Sereina Riniker, Stephen Roughley, Roger Sayle, Nadine 2817Schneider, Gianluca Sforna, Peter Shenkin, Paolo Tosco, David Turbert, Riccardo 2818Vianello, Maciek Wojcikowski 2819 2820## Highlights: 2821 - New AdjustQueryProperties() (adjustQueryProperties() in C++) for fine-tuning substructure queries. 2822 - ReactionEnum functionality adds significant new capabilities for doing library enumeration 2823 - Similarity searches with the PostgreSQL cartridge are substantially faster 2824 - New 3D descriptors (requires Eigen3 if you are building them yourself) 2825 2826## New Features and Enhancements: 2827 - Trajectory/Snapshot objects 2828 (github pull #863 from ptosco) 2829 - Adds Avalon fingerprints to default set 2830 (github pull #871 from bp-kelley) 2831 - Adds the default index to the building block templates 2832 (github pull #873 from bp-kelley) 2833 - Pandas: Allow reading just the properties from SDF file 2834 (github pull #883 from mwojcikowski) 2835 - Dev/filtercatalog functional groups 2836 (github pull #885 from bp-kelley) 2837 - Dev/preprocessrxn cpp 2838 (github pull #892 from bp-kelley) 2839 - Rollup of warning squashing (with some tests diagnostics thrown in) 2840 (github pull #895 from bp-kelley) 2841 - Adds RDAny (smaller generic holder) Updates all used dictionaries 2842 (github pull #896 from bp-kelley) 2843 - expose FPS functions to SWIG 2844 (github pull #897 from greglandrum) 2845 - Add SaveFile method to the PyMol wrapper 2846 (github pull #898 from greglandrum) 2847 - Add a MultiFPBReader class 2848 (github pull #909 from greglandrum) 2849 - Improved Python doc strings for Trajectory/Snapshot objects 2850 (github pull #912 from ptosco) 2851 - Added support for building the gzip'd stream test 2852 (github pull #914 from ptosco) 2853 - Improved Trajectory Python doc strings 2854 (github pull #915 from ptosco) 2855 - improve error reporting for kekulization failures 2856 (github pull #919 from greglandrum) 2857 - Feat/github934 2858 (github pull #939 from greglandrum) 2859 - Add support for a simplified aromaticity model. 2860 (github pull #942 from greglandrum) 2861 - Dev/moldescriptors callables 2862 (github pull #944 from bp-kelley) 2863 - Dev/cleanup warnings 2864 (github pull #948 from greglandrum) 2865 - Modifications to enable building with MinGW compilers 2866 (github pull #960 from ptosco) 2867 - Made DistGeomHelpers test robust against small 3D coordinate variations 2868 (github pull #961 from ptosco) 2869 - Adds aromatization and reaction options to AdjustQuery 2870 (github pull #965 from bp-kelley) 2871 - Improved planarity for ETKDG 2872 (github pull #967 from sriniker) 2873 - Fixes built-in popcount in PgSQL cartridge on Windows 2874 (github pull #978 from ptosco) 2875 - A variety of drawing-related changes 2876 (github pull #986 from greglandrum) 2877 - Get pango 2D depiction to work with cairocffi 2878 (github pull #998 from ptosco) 2879 - Adds Atom atom map and rlabel apis 2880 (github pull #1004 from bp-kelley) 2881 - Dev/chemtransforms chirality 2882 (github pull #1006 from bp-kelley) 2883 - Added the option to label deuterium and tritium as D and T 2884 (github pull #1011 from ptosco) 2885 - Adds replaceCore function that takes a matchVect 2886 (github pull #1013 from bp-kelley) 2887 - Add an initial version of wavy bonds 2888 (github pull #1014 from greglandrum) 2889 - remove a compiler warning 2890 (github pull #1019 from greglandrum) 2891 - Make the Contrib directory available in RDConfig 2892 (github pull #1024 from NadineSchneider) 2893 - Adds some additional canned atom and bond query definitions 2894 (github pull #1047 from greglandrum) 2895 - Draw crossed bonds 2896 (github pull #1052 from greglandrum) 2897 - Alex/struct checker apr15 2898 (github pull #1054 from bp-kelley) 2899 - MolDraw2D: allow the amount of padding around atom labels to be adjusted. 2900 (github issue #1056 from greglandrum) 2901 - Add multiple molecule drawing to the C++ interface 2902 (github pull #1059 from greglandrum) 2903 - add pickle support to FilterCatalog 2904 (github pull #1063 from greglandrum) 2905 - Issue #1066: Improved .gitignore file 2906 (github pull #1068 from gedeck) 2907 - Cleanup of Scaffolds Python code 2908 (github pull #1069 from gedeck) 2909 - Consistent formatting of Python code 2910 (github issue #1071 from gedeck) 2911 - Improved test coverage of Python code 2912 (github pull #1081 from gedeck) 2913 - Improved test coverage of rdkit.DataStructs 2914 (github pull #1083 from gedeck) 2915 - Add some 3D molecular descriptors (requires Eigen3) 2916 (github pull #1084 from greglandrum) 2917 - Conformer GetPos returns a numpy array rather than a tuple of tuples 2918 (github pull #1087 from jandom) 2919 - make the 3D descriptors available in the Descriptors module 2920 (github pull #1097 from greglandrum) 2921 - Documentation update. 2922 (github pull #1100 from greglandrum) 2923 - Provide SVG output from the cartridge 2924 (github pull #1109 from greglandrum) 2925 - Allow the output of ROMol::debugMol() to show up in jupyter 2926 (github pull #1110 from greglandrum) 2927 - Dev/reaction enumeration 2928 (github pull #1111 from bp-kelley) 2929 - yapf formatting of recent changes to Python code in rdkit and Code 2930 (github pull #1120 from gedeck) 2931 - Add a parameters structure for controlling the embedding options. 2932 (github pull #1121 from greglandrum) 2933 - add more detailed error reporting when python tests fail in TestRunner.py 2934 (github pull #1122 from greglandrum) 2935 - add support for a default constructor to the python-exposed RWMol class 2936 (github pull #1129 from greglandrum) 2937 - The RunStruchk function is not exposed in pyAvalonTools 2938 (github issue #1130 from pulveni1) 2939 - SSSR performance improvements to support larger systems 2940 (github pull #1131 from coleb) 2941 - Script PythonFormat.py will test the RDkit python code for conformance with the agreed format using yapf 2942 (github pull #1133 from gedeck) 2943 - support additional trans-uranic elements 2944 (github pull #1134 from greglandrum) 2945 - Expanded sequence support 2946 (github pull #1140 from greglandrum) 2947 - add UGM link to documentation 2948 (github pull #1142 from David-Turbert) 2949 - Remove iPythonConsole configuration for normal Draw tests 2950 (github pull #1146 from gedeck) 2951 - Wrap DetectBondStereoChemistry in python 2952 (github pull #1156 from coleb) 2953 2954## New Database Cartridge Features: 2955 - Provide SVG output from the cartridge 2956 (github pull #1109 from greglandrum) 2957 - Add cartridge support for adjustQueryProperties() 2958 (github pull #949 from greglandrum) 2959 - refactoring of the postgresql cartridge 2960(github pull #992 from rvianello) 2961 2962## New Java Wrapper Features: 2963 - Expose filtermatch to swig 2964 (github pull #1117 from bp-kelley) 2965 - adjustQueryProperties() 2966 - Java wrappers for Trajectory/Snapshot objects 2967 (github pull #977 from ptosco) 2968 - Added getAlignmentTransform to ROMol.i to expose in Java SWIG wrapper 2969 (github pull #1155 from sroughley) 2970 2971## Bug Fixes: 2972 - initialization of the PeriodicTable object should be made thread-safe 2973 (github issue #381 from greglandrum) 2974 - AssignAtomChiralTagsFromStructure() not recognizing chiral S 2975 (github issue #607 from greglandrum) 2976 - Fixed a few typos in Code/PgSQL/rdkit/CMakeLists.txt 2977 (github pull #867 from ptosco) 2978 - MergeQueryHs explicit H warning when no explicit Hs were actually used 2979 (github issue #868 from bp-kelley) 2980 - Fixes regression in python api CalcNumRotatableBonds 2981 (github pull #870 from bp-kelley) 2982 - Single atoms setting radius 1 bits in Morgan fingerprints 2983 (github issue #874 from greglandrum) 2984 - Providing subImgSize argument to MolsToGridImage() causes drawing failure 2985 (github issue #876 from greglandrum) 2986 - javadoc failure on CentOS 7 2987 (github pull #878 from ptosco) 2988 - adjust cartridge tests after the fix for #874 2989 (github pull #884 from greglandrum) 2990 - bugreport: invalid handling of negation of aromaticity when parsing SMARTS 2991 (github issue #893 from michalsta) 2992 - Fixes depictor problem with empty fragments 2993 (github pull #894 from greglandrum) 2994 - Fix building with G++ on Mac OS X 2995 (github pull #900 from johnmay) 2996 - linked additional libs to fix a build failure on Windows 2997 (github pull #901 from ptosco) 2998 - Rdkit 2016_03_1 generate SVG typo in Python bindings 2999 (github issue #903 from maddogcz) 3000 - PAINS filters update fails when old Python is installed 3001 (github issue #904 from greglandrum) 3002 - rdMolDraw2D.PrepareMolForDrawing() should not default to forceCoords=True 3003 (github issue #906 from greglandrum) 3004 - AddHs() using 3D coordinates with 2D conformations 3005 (github issue #908 from greglandrum) 3006 - ugly coordinates generated for peptide chains 3007 (github issue #910 from greglandrum) 3008 - Cartridge: makefile not using -O2 for C code. 3009 (github issue #920 from greglandrum) 3010 - Removes incorrect setting of hasNonPodData 3011 (github pull #923 from bp-kelley) 3012 - cleanups of RDLog's tee behavior 3013 (github pull #926 from greglandrum) 3014 - initialize boost::once_flag properly 3015 (github pull #927 from greglandrum) 3016 - sys not imported in IPythonConsole.py 3017 (github issue #928 from greglandrum) 3018 - AddTee is now SetTee 3019 (github pull #930 from bp-kelley) 3020 - mistake in SVG generated for wedged bonds 3021 (github issue #932 from greglandrum) 3022 - PandasTools AttributeError with pandas-0.18.1 3023 (github issue #933 from philopon) 3024 - Jupyter Notebooks: Issue with PyMol.MolViewer on Windows 3025 (github issue #936 from kienerj) 3026 - Subshape module: Not Python 3 compatible 3027 (github issue #937 from kienerj) 3028 - property dictionaries leaking memory 3029 (github issue #940 from greglandrum) 3030 - Bug when removing stereo info? 3031 (github pull #946 from mnowotka) 3032 - Distorted aromatic rings from ETKDG 3033 (github issue #952 from greglandrum) 3034 - MolDraw2D: default color should not be cyan 3035 (github issue #953 from greglandrum) 3036 - GetPropNames() no longer working on Atoms or Bonds 3037 (github issue #955 from greglandrum) 3038 - Kekulization issues post successful smiles parsing 3039 (github issue #962 from bp-kelley) 3040 - Fixes includes for older boost/gcc 3041 (github pull #966 from bp-kelley) 3042 - ugly conformations can be generated for highly constrained ring systems 3043 (github issue #971 from greglandrum) 3044 - Cleanup bad conformations 3045 (github pull #973 from greglandrum) 3046 - Unnecessary warnings in rxn.validate() 3047 (github issue #975 from greglandrum) 3048 - Minor fix to Code/GraphMol/Wrap/testTrajectory.py 3049 (github pull #979 from ptosco) 3050 - prepareMolForDrawing(): Do not add Hs to some three-coordinate Cs 3051 (github issue #982 from greglandrum) 3052 - MolDraw2D: wedged bonds between chiral centers drawn improperly 3053 (github issue #983 from greglandrum) 3054 - Fix format-security GCC warning 3055 (github pull #984 from giallu) 3056 - MolDraw2D scaling problems 3057 (github issue #985 from greglandrum) 3058 - RIght-justified elements in RCSB SDF files can now be parsed 3059 (github pull #994 from ptosco) 3060 - Right-justified elements in RCSB SDF files raise an exception 3061 (github issue #995 from ptosco) 3062 - ChemReactions: Bugfix in copy constructor 3063 (github pull #996 from NadineSchneider) 3064 - PgSQL README typos 3065 (github pull #997 from ptosco) 3066 - Fixes rounding errors in test 3067 (github pull #1001 from bp-kelley) 3068 - Fixes middle-justified symbols in sd files, adds M_CHG tests 3069 (github pull #1002 from bp-kelley) 3070 - fix compatibility issues with postgres < 9.5 (#1000) 3071 (github pull #1005 from rvianello) 3072 - Fixes MMFF94 aromaticity perception and ChemicalForceFields.MMFFHasAllMoleculeParams() 3073 (github pull #1007 from ptosco) 3074 - fixes typo which breaks the PostgreSQL cartridge build on Windows 3075 (github pull #1008 from ptosco) 3076 - Fix Inchi being hardcoded into PostgreSQL 3077 (github pull #1009 from ptosco) 3078 - Support ETKDG from within the SWIG wrappers 3079 (github pull #1010 from greglandrum) 3080 - move definition of computedPropName to namespace RDKit::detail 3081 (github issue #1017 from greglandrum) 3082 - fix non-inchi build 3083 (github pull #1018 from greglandrum) 3084 - Fixes #1018 3085 (github pull #1020 from ptosco) 3086 - GetSSSR interrupts by segmentation fault 3087 (github issue #1023 from PiotrDabr) 3088 - FMCS fix for Windows DLLs 3089 (github pull #1030 from ptosco) 3090 - Cause ImportError from failed dlopen of the rdBase.so shared library to propagate. 3091 (github pull #1032 from coleb) 3092 - typos in MMPA hash code 3093 (github issue #1044 from greglandrum) 3094 - MolOps::cleanUp() being called by CTAB parser even when sanitization isn't on 3095 (github issue #1049 from greglandrum) 3096 - Bond::BondDir::EITHERDOUBLE not exposed to python 3097 (github issue #1051 from greglandrum) 3098 - add python3 compatibility 3099 (github pull #1057 from greglandrum) 3100 - doc updates from Dave Cosgrove 3101 (github pull #1060 from greglandrum) 3102 - Fix leak with renumberAtoms() in the SWIG wrappers 3103 (github pull #1064 from greglandrum) 3104 - Timings on Windows with Python 3 3105 (github pull #1067 from ptosco) 3106 - computeInitialCoords() should call the SSSR code before it calls assignStereochemistry() 3107 (github issue #1073 from greglandrum) 3108 - Remove duplicates doesn't work on first column in rdkit.Dbase.DbUtils.GetData 3109 (github issue #1082 from gedeck) 3110 - clear up a bunch of windows warnings 3111 (github pull #1086 from greglandrum) 3112 - MolsToGridImage barfs on '&' in labels, at least with useSVG=True 3113 (github issue #1090 from shenkin) 3114 - Fixes csharp build for 64 bit systems 3115 (github pull #1098 from bp-kelley) 3116 - Cartridge: some C++ functions returning pointers to local storage 3117 (github issue #1106 from greglandrum) 3118 - Check for doubles after other integer types when reporting properties 3119 (github pull #1115 from bp-kelley) 3120 - Replace has_key use in Python (#issue1042) 3121 (github pull #1132 from gedeck) 3122 - fix moldraw2d headers installation path 3123 (github pull #1143 from giallu) 3124 - Remove iPythonConsole configuration for normal Draw tests 3125 (github pull #1146 from gedeck) 3126 - Adds SWIGWIN definition in WIN32 if not 32bit 3127 (github pull #1158 from bp-kelley) 3128 - Fix/java win64 memoryleak 3129 (github pull #1159 from bp-kelley) 3130 3131## Deprecated code (to be removed in a future release): 3132 - rdkit.VLib python module 3133 - SanitizeRxn parameters "ChemDrawRxnAdjustParams" has been renamed to 3134 "MatchOnlyAtRgroupsAdjustParams". These settings did not reflect 3135 how integrations with SciQuest or the Perkin Elmer ELN behaved and 3136 were confusing to users (especially since they were not explicit) 3137 3138## Removed code: 3139 3140## Contrib updates: 3141 - added an implementation of the Gobbi Atom-Atom-Path (AAP) similarity 3142 (github pull #1015 from Richard-Hall) 3143 3144## Other: 3145 3146# Release_2016.03.1 3147(Changes relative to Release_2015.09.2) 3148 3149## Important 3150In order to build the RDKit, it is now necessary to have at least v1.7 of numpy installed. 3151 3152## Acknowledgements: 3153Note: The RDKit has the wonderful "problem" that there are a lot of 3154contributors and it's tough for me to capture them all to put together release 3155notes. I don't even know many of the contributors (which is *awesome!*) 3156The names here come largely from what I pull in an automated way from github. 3157In cases where there's no real name listed in github, I either guessed 3158or used just the github alias in quotes. If I got it wrong, please let me know! 3159 3160Josep Arus, Nik Bates-Haus, Andrew Dalke, 'DoliathGavid', 'elcaceres', Peter 3161Gedeck, James Jeffryes, Brian Kelley, Juuso Lehtivarjo, Rich Lewis, Daniel Lowe, 3162'maddogcz', Kozo Nishida, Michal Nowotka, Axel Pahl, Steven Roughley, Alexander 3163Savelyev, Nadine Schneider, Gianluca Sforna, Teague Sterling, Nik Stiefl, Matt 3164Swain, Eric Ting, Paolo Tosco, Samo Turk, Riccardo Vianello 3165 3166## Highlights: 3167- Improvements to the build system: it's now much easier to build with InChI 3168 and/or Avalon support since cmake now knows how to fetch the appropriate 3169 source code for you. Building the PostgreSQL cartridge is now integrated into 3170 normal build process. 3171- Some improvements to molecule rendering and Jupyter notebook integration: The 3172 new `Draw.PrepareMolForDrawing()` function takes care of standard tasks like 3173 wedging bonds, kekulization, and adding chiral Hs. `Draw.MolsToGridImage()` 3174 can generate SVGs and uses the new molecular drawing code for PNGs when 3175 possible. The Jupyter notebook integration uses the new drawing code when 3176 possible. 3177- Error and warning messages from the C++ core can now be displayed in the 3178 Jupyter notebook 3179 3180## Bug Fixes: 3181 - Sanitizer rejects higher valency halides 3182 (github issue #115 from dan2097) 3183 - Bad E/Z assignment from ctab 3184 (github issue #188 from greglandrum) 3185 - bad E/Z assignment from ctab 3186 (github issue #192 from greglandrum) 3187 - Documentation is still python2 specific. 3188 (github issue #374 from greglandrum) 3189 - SVG export - Python 3 support 3190 (github issue #398 from maddogcz) 3191 - FragmentOnBonds() producing incorrect chirality 3192 (github issue #511 from greglandrum) 3193 - Rings containing all dummy atoms with single bonds are flagged as aromatic 3194 (github issue #518 from greglandrum) 3195 - IPython integration broken with latest Jupyter 3196 (github issue #666 from samoturk) 3197 - Added missing include/forward declarations 3198 (github pull #668 from ptosco) 3199 - Fixes a memory leak in fragmentMol 3200 (github pull #669 from bp-kelley) 3201 - resetVect option being ignored by reaccsToFingerprint() 3202 (github issue #671 from greglandrum) 3203 - failure in AddHs when addCoords is true and coords are all zero 3204 (github issue #678 from greglandrum) 3205 - 404 error for the link to Installation instructions 3206 (github issue #679 from EricTing) 3207 - Fix java8 build 3208 (github pull #681 from greglandrum) 3209 - Smiles containing "[as]" do not parse. 3210 (github issue #682 from greglandrum) 3211 - SMARTS reaction triggers invariant violation on chiral compounds 3212 (github issue #685 from JamesJeffryes) 3213 - partially specified chiral substructure queries don't work properly 3214 (github issue #688 from bp-kelley) 3215 - ExactMolWt ignoring the mass of the electron 3216 (github issue #694 from greglandrum) 3217 - Bad 1-4 bounds matrix elements in highly constrained system 3218 (github issue #696 from greglandrum) 3219 - More ChEMBL molecules that fail bounds smoothing 3220 (github issue #697 from greglandrum) 3221 - Molecule serialization doesn't read/write atomic numbers above 128 3222 (github issue #713 from greglandrum) 3223 - AddHs cip rank is declared <int> should be unsigned int? 3224 (github issue #717 from bp-kelley) 3225 - ensure line endings are handled consistently for all users 3226 (github pull #729 from rvianello) 3227 - Fixes return type of operator[] (fails on later clangs) 3228 (github pull #733 from bp-kelley) 3229 - Fix/thread safe localeswitcher line endings 3230 (github pull #743 from bp-kelley) 3231 - Fixes Boost 1.46 issues with type traits 3232 (github pull #748 from bp-kelley) 3233 - PR #749 causes seg faults on windows 3234 (github issue #750 from greglandrum) 3235 - Fixes notebook problems with newer jupyter installs 3236 (github pull #753 from bp-kelley) 3237 - Double bond geometry loss on calling removeHs 3238 (github issue #754 from sroughley) 3239 - Bug fix to getShortestPath 3240 (github pull #757 from JLVarjo) 3241 - reversed stereochemistry with sulfoxides and ring closures 3242 (github issue #760 from greglandrum) 3243 - libRDBoost.so.1: undefined symbol 3244 (github issue #762 from kozo2) 3245 - Removed -Xdoclint:none flag when packing org.RDKitDoc.jar 3246 (github pull #763 from undeadpixel) 3247 - AnyBond specification treated as single when joining rings in SMARTS 3248 (github issue #766 from teaguesterling) 3249 - CanonicalRankAtomsInFragment() leaks when called from Python 3250 (github issue #769 from greglandrum) 3251 - MolCanvas2D drawing upside down 3252 (github issue #774 from greglandrum) 3253 - Drawing single-atom molecules hangs. 3254 (github issue #781 from greglandrum) 3255 - chiral lexical order for ring closure after branch 3256 (github issue #786 from adalke) 3257 - surface -> self.surface 3258 (github pull #787 from mnowotka) 3259 - Chem.MolToSmarts param misnomer 3260 (github issue #792 from elcaceres) 3261 - Fixes MolToSmarts python docs 3262 (github pull #793 from bp-kelley) 3263 - npscorer.py: Py3 compat and importable from other locations 3264 (github #801 from apahl) 3265 - Pre-condition Violation: bad bond type 3266 (github issue #805 from nbateshaus) 3267 - rooted atom fingerprint non identical for the same molecules 3268 (github issue #811 from nisti74) 3269 - test60RunSingleReactant() not being run 3270 (github issue #825 from greglandrum) 3271 - PostgreSQL bug fixes 3272 (github pull #835 from ptosco) 3273 - Crash while running testGithub497() on Windows 3274 (github pull #842 from ptosco) 3275 - Return value of NumRadicalElectrons and NumValenceElectrons should be integer 3276 (github issue #846 from gedeck) 3277 - Fixed a bug in getUFFAngleBendParams() 3278 (github pull #850 from ptosco) 3279 - Lines used to wedge bonds are too thick 3280 (github issue #852 from greglandrum) 3281 - Fix out of range dereference in MCS code. 3282 (github pull #857 from DoliathGavid) 3283 - Atom symbols in wrong order if bond comes from right 3284 (github issue #860 from greglandrum) 3285 3286## New Features and Enhancements: 3287 - switch to using new version of avalon toolkit 3288 (github issue #382 from greglandrum) 3289 - MolDraw2D: Expand basic drawing api 3290 (github issue #417 from greglandrum) 3291 - MolDraw2D: add options 3292 (github issue #424 from greglandrum) 3293 - fixed FutureWarning in PeriodicTable.py 3294 (github pull #665 from richlewis42) 3295 - first pass, using google style 3296 (github pull #672 from greglandrum) 3297 - Use sets instead of and map. Minor comments cleanup. 3298 (github pull #675 from DoliathGavid) 3299 - Dev/squash msvc14 warnings 3300 (github pull #684 from bp-kelley) 3301 - Fix/stop unnecessary filtercatalog updates 3302 (github pull #690 from bp-kelley) 3303 - Add RDK_USE_BOOST_SERIALIZATION configure option (On by default) 3304 (github pull #691 from bp-kelley) 3305 - Minor optimizations of the force field minimization code, fix for issue 696 3306 (github pull #693 from greglandrum) 3307 - Include cis/trans stereochemistry when useChirality=true with the morgan fingerprints 3308 (github issue #695 from greglandrum) 3309 - Fixed a couple of compilation warnings in Resonance.cpp/Resonance.h 3310 (github pull #701 from ptosco) 3311 - Dev/run single reactant 3312 (github pull #705 from bp-kelley) 3313 - Updates CMAKE_SOURCE_DIR to CMAKE_CURRENT_SOURCE_DIR 3314 (github pull #707 from bp-kelley) 3315 - Make LocaleSwitcher threadsafe 3316 (github issue #710 from greglandrum) 3317 - Exposes Get/Set Double, Int, Uint and bool props to molecules 3318 (github pull #711 from bp-kelley) 3319 - Speed up molblock generation 3320 (github pull #712 from greglandrum) 3321 - Expose generateOneProductSet? 3322 (github issue #721 from DoliathGavid) 3323 - Add a reader for FPB files (still experimental) 3324 (github pull #724 from greglandrum) 3325 - replace std::map::at with std::map::operator[] 3326 (github pull #730 from rvianello) 3327 - Fix/get double prop get props asdict 3328 (github pull #734 from bp-kelley) 3329 - Add support for Tversky similarity to the FPB reader 3330 (github pull #735 from greglandrum) 3331 - Fix ConformerParser to use const std::string & 3332 (github pull #737 from mcs07) 3333 - Fix/expose invariant exception 3334 (github pull #740 from bp-kelley) 3335 - Support CTABs where the second letter in atom symbols is capitalized 3336 (github issue #741 from greglandrum) 3337 - Adds support for capturing RDLogs in Python StdErr streams 3338 (github pull #749 from bp-kelley) 3339 - Allow adding Hs only to atoms matching a query operator 3340 (github issue #758 from greglandrum) 3341 - Add argument to addHs allowing only certain Hs to be considered 3342 (github pull #759 from greglandrum) 3343 - avoid the multiple definition of rdkitVersion/boostVersion 3344 (github pull #761 from rvianello) 3345 - cleanup possible pythonObjectToVect leaks in python wrappers 3346 (github issue #764 from greglandrum) 3347 - Stop possible core leaks in pythonObjectToVect() 3348 (github pull #770 from greglandrum) 3349 - Add C++ function to prepare mol for rendering 3350 (github issue #771 from greglandrum) 3351 - Prefer wedging bonds to Hs 3352 (github issue #772 from greglandrum) 3353 - Add prepareMolForDrawing() function to C++ 3354 (github pull #775 from greglandrum) 3355 - Support blanks in MolsToGridImage() 3356 (github issue #776 from greglandrum) 3357 - A number of small additions and features to the drawing code 3358 (github pull #802 from greglandrum) 3359 - Support larger isotope deltas in the chirality assignment 3360 (github issue #803 from greglandrum) 3361 - Adds option RDK_USE_COMPLEX_ROTOR_DEFINITION 3362 (github pull #810 from bp-kelley) 3363 - add Draw.MolsToSVGGrid() 3364 (github pull #817 from greglandrum) 3365 - make Hs black instead of gray 3366 (github pull #819 from greglandrum) 3367 - Fix alignMols so that it takes into account of QueryAtoms and QueryBonds 3368 (github pull #821 from DoliathGavid) 3369 - feat/github831: Add getText() static method. 3370 (github pull #832 from greglandrum) 3371 - Add an unfolded count-based version of the RDKFingerprint 3372 (github pull #838 from NadineSchneider) 3373 - Add some utils functions to ChemReactions 3374 (github pull #840 from NadineSchneider) 3375 - Autodetect boost c++ library and compile with matching one 3376 (github pull #845 from bp-kelley) 3377 - Add automatic downloads of junit.jar 3378 (github pull #859 from greglandrum) 3379 3380## New Database Cartridge Features: 3381 - support providing InChI (or InChI key) generation options in cartridge 3382 (github pull #755 from greglandrum) 3383 - building the cartridge is now integrated with the cmake build system 3384 (github pull #785 from ptosco) 3385 3386## New Java Wrapper Features: 3387 - Add a bit more control over the lazy MaxMin picker to the java layer 3388 (github pull #791 from greglandrum) 3389 - Ensure reduceProductToSideChains exposed in Java/Swig 3390 (github issue #744 from bp-kelley) 3391 3392## Deprecated code (to be removed in next release): 3393 3394## Removed code: 3395 3396## Contrib updates: 3397 3398## Other: 3399 3400# Release_2015.09.2 3401(Changes relative to Release_2015.09.1) 3402 3403## Acknowledgements: 3404Brian Kelley, Paolo Tosco, Riccardo Vianello 3405 3406## Bug Fixes: 3407 - Fixed a post-decrement which causes a crash when compiling under Windows with MSVC 9 3408 (from ptosco) 3409 - Fixes a memory leak in fragmentMol 3410 (github #669 from bp-kelley) 3411 - MMPA compile error with Microsoft Visual C++ Compiler for Python 2.7 3412 (github #655 from rvianello) 3413 3414# Release_2015.09.1 3415(Changes relative to Release_2015.03.1) 3416 3417## Acknowledgements: 3418 3419Pierre Bhoorasingh, Gungor Budak, Andrew Dalke, JP Ebejer, Peter Ertl, 3420Jan Holst Jensen, Brian Kelley, Joos Kiener, Noel O'Boyle, Axel Pahl, 3421Sereina Riniker, Alexander Savelyev, Roger Sayle, Nadine Schneider, 3422Andrew Stretton, Paolo Tosco, Samo Turk, JL Varjo, Riccardo Vanello, 3423Maciek Wojcikowski 3424 3425## Highlights: 3426 3427 - Addition of parsers/writers for sequence notation, FASTA, and basic HELM 3428 - Improved conformation generation based on experimental torsional parameters 3429 - Much better filtering of generated conformations to ensure they 3430 match the chirality of the input structure 3431 - New method for enumerating molecular resonance structures 3432 - Addition of a molecular FilterCatalog data structure 3433 3434## Bug Fixes: 3435 - Draw.MolToImage(mol) does not work for Python 3, because cairo for Python 3 has not yet implemented Surface.create_for_data 3436 (github issue #460 from apahl) 3437 - SDWriter.close() fails when the underlying stream has an error 3438 (github issue #498 from greglandrum) 3439 - Hexafluorophosphate cannot be handled 3440 (github issue #510 from greglandrum) 3441 - Labels of highlighted atoms are invisible 3442 (github issue #519 from NadineSchneider) 3443 - MolDraw2D: Fix in highlighting atoms 3444 (github pull #521 from NadineSchneider) 3445 - Cartridge: index failing for molecular equality in some circumstances 3446 (github issue #525 from greglandrum) 3447 - Bad ring finding in a complex fused ring 3448 (github issue #526 from greglandrum) 3449 - Fixed crash upon closing a gzip/bzip2 stream opened in binary mode for use with SDWriter under Python3 3450 (github pull #531 from ptosco) 3451 - Regression: _smilesAtomOutputOrder incorrect for dot disconnected molecules 3452 (github issue #532 from baoilleach) 3453 - Fix #532 - smilesAtomOutputOrder incorrect 3454 (github pull #535 from baoilleach) 3455 - Fix Python3 encoding for FilterCatalog/Entry serialization 3456 (github pull #537 from bp-kelley) 3457 - Catalog::setCatalogParams needs to be virtual now 3458 (github pull #538 from bp-kelley) 3459 - Bonds in allyl cation are not conjugated 3460 (github issue #539 from greglandrum) 3461 - Fixes GitHub issue 539 3462 (github pull #540 from ptosco) 3463 - SaltBuilder._initPatterns incorrectly handles SMARTS errors 3464 (github issue #541 from adalke) 3465 - merging query Hs failing on recursive SMARTS 3466 (github issue #544 from greglandrum) 3467 - Crash in O3A alignment when running multi-threaded 3468 (github issue #546 from greglandrum) 3469 - PyMol.py: changed xmlrpc import to have Python2/Python3 compatibility 3470 (github pull #547 from apahl) 3471 - fix MMPA bugs for some tests 3472 (github pull #548 from AlexanderSavelyev) 3473 - TFD fix for single bonds adjacent to triple bonds 3474 (github pull #550 from sriniker) 3475 - Canonicalization paper Aug2015 3476 (github pull #552 from NadineSchneider) 3477 - Chirality not affected by atom-map index 3478 (github issue #553 from adalke) 3479 - Implicit Hs should not appear in depictions for query atoms. 3480 (github issue #556 from greglandrum) 3481 - Fix issue with invalid reactions throwing NameError 3482 (github pull #559 from bp-kelley) 3483 - InChI radicals not properly converted 3484 (github issue #562 from pierrelb) 3485 - MMPA code not python3 compatible 3486 (github issue #564 from greglandrum) 3487 - mmpa: fix bug with num_of_cuts > 2 case 3488 (github pull #566 from AlexanderSavelyev) 3489 - Incorrect stereochemistry after embedding 3490 (github issue #568 from greglandrum) 3491 - changed FrameToGridImage() so that the dataframe index can be used as legend 3492 (github pull #570 from apahl) 3493 - MolDraw2DCairo.GetDrawingText() doesn't work with Python3 3494 (github issue #571 from greglandrum) 3495 - addBond return value 3496 (github issue #572 from JLVarjo) 3497 - Process aborts during ForwardSDMolSupplier gc when the file object is closed 3498 (github issue #579 from adalke) 3499 - Fix/update pains filter catalog 3500 (github pull #581 from bp-kelley) 3501 - Importing PandasTools on Windows fails due to Salts.txt 3502 (github issue #583 from baoilleach) 3503 - renumberAtoms() not setting conformer dimensionality properly 3504 (github issue #584 from greglandrum) 3505 - stereo atoms property on double bonds not being updated properly with insertMol 3506 (github issue #608 from greglandrum) 3507 - UFF Atom type not properly assigned to lanthanides 3508 (github issue #613 from greglandrum) 3509 - segfault from MolToInchi when bad bond stereochem info is present 3510 (github issue #614 from greglandrum) 3511 - MQN12 (heavy atom count) seems to be always 0. 3512 (github issue #623 from kienerj) 3513 - fmcs: fix issue with initial seed for PR 580 3514 (github pull #624 from AlexanderSavelyev) 3515 - fmcs: fixes #631 with chiralirty 3516 (github pull #634 from AlexanderSavelyev) 3517 - Fixes sprintf not found on some gcc compiles 3518 (github pull #635 from bp-kelley) 3519 - Fix AppVeyor and Travis UnitTests 3520 (github pull #636 from bp-kelley) 3521 - Fixes #629 - python GetSubstructureMatch thread safety 3522 (github pull #637 from bp-kelley) 3523 - Fix regressions occurring when building with msvc9 3524 (github pull #638 from rvianello) 3525 - Fix/python gil release on rdkit threadsafe sss only 3526 (github pull #639 from bp-kelley) 3527 - ctest not running some of the python tests. 3528 (github issue #643 from greglandrum) 3529 - Issue643 3530 (github pull #646 from greglandrum) 3531 - Fix/various bug fixes filtercatalog and bad operator 3532 (github pull #648 from bp-kelley) 3533 - unlocking or destroying a locked mutex in the substructure matcher 3534 (github issue #653 from greglandrum) 3535 - MMPA compile error with Microsoft Visual C++ Compiler for Python 2.7 3536 (github issue #655 from rvianello) 3537 - new canon: fix in special symmetry invariant 3538 (github pull #663 from NadineSchneider) 3539 3540## New Features and Enhancements: 3541 - enable popcount by default for cartridge 3542 (github issue #428 from greglandrum) 3543 - Added the RSMD calculation over N molecules in the cookbook. 3544 (github pull #495 from malteseunderdog) 3545 - Modified force field constraint tests to be more robust 3546 (github pull #503 from ptosco) 3547 - Fix mol drawing on Python3 (issue #460) 3548 (github pull #504 from apahl) 3549 - mmpa first version was added 3550 (github pull #505 from AlexanderSavelyev) 3551 - Forcefield tests now use RDKit::feq() instead of RDKit::round() 3552 (github pull #506 from ptosco) 3553 - SDMolSupplier(), setData() and strictParsing 3554 (github pull #507 from ptosco) 3555 - Improvements to LoadSDF and WriteSDF 3556 (github pull #513 from samoturk) 3557 - updates to mmpa. reduce number of smiles parsing 3558 (github pull #515 from AlexanderSavelyev) 3559 - Some enhancements for the new canonicalization 3560 (github pull #520 from NadineSchneider) 3561 - mmpa: remove boost_regex dependency at all. Add new test references 3562 (github pull #527 from AlexanderSavelyev) 3563 - Support getting atoms involved in Pharm2D bits 3564 (github issue #530 from greglandrum) 3565 - Optimized MMFF::MMFFOptimizeMoleculeConfs() 3566 (github pull #534 from ptosco) 3567 - RDKit learns how to filter PAINS/BRENK/ZINC/NIH via FilterCatalog 3568 (github pull #536 from bp-kelley) 3569 - Expose Conformer's copy constructor to Python 3570 (github issue #545 from greglandrum) 3571 - PyMol.py: changed xmlrpc import to have Python2/Python3 compatibility 3572 (github pull #547 from apahl) 3573 - Update PAINS smarts to validated set. Always use mergeQueryHs when reading Smarts 3574 (github pull #549 from bp-kelley) 3575 - Add a curated set of PAINS filters to the RDKit 3576 (github issue #555 from greglandrum) 3577 - Update pains from wehi_pains.csv 3578 (github pull #560 from bp-kelley) 3579 - Change MMPA to use CanonicalRankAtoms instead of _CIPRank 3580 (github issue #561 from adalke) 3581 - Add adjustQuery() function to make substructure queries more specific. 3582 (github issue #567 from greglandrum) 3583 - changed sascorer.py to enable import from different location 3584 (github pull #569 from apahl) 3585 - add export_values() to enums in the python wrapper where it's sensible to do so 3586 (github issue #573 from greglandrum) 3587 - Support Sheridan's BT and BP fingerprints 3588 (github issue #574 from greglandrum) 3589 - Locale dependent float for _GasteigerCharge 3590 (github issue #577 from adalke) 3591 - fmcs: implement adding an initial seed structure 3592 (github pull #580 from AlexanderSavelyev) 3593 - Where possible convert docs from RST to MD 3594 (github issue #585 from greglandrum) 3595 - [UGM2015] Autodetection of numThreads 3596 (github issue #586 from mwojcikowski) 3597 - Generating SVG Images with Transparent Background 3598 (github issue #587 from gungorbudak) 3599 - updates to PandasTools.LoadSDF 3600 (github pull #599 from adalke) 3601 - Can control mol depiction size with PandasTools.molSize = (200,200). 3602 (github pull #600 from samoturk) 3603 - pandas performance and functionality improvements 3604 (github pull #601 from adalke) 3605 - Adding documentation for installation with conda. 3606 (github pull #602 from strets123) 3607 - Automatic atom reordering in TorsionFingerprints 3608 (github pull #603 from sriniker) 3609 - remove bare excepts 3610 (github pull #606 from adalke) 3611 - Added option to use SVG rendering in pandas data frames 3612 (github pull #609 from samoturk) 3613 - Handle inserting molecules with conformers into molecules without conformers 3614 (github issue #610 from greglandrum) 3615 - If wedged bonds are already present, write them to mol blocks 3616 (github issue #611 from greglandrum) 3617 - Dev/filter catalog java wrapper 3618 (github pull #612 from bp-kelley) 3619 - Support extended reduced graphs 3620 (github issue #615 from greglandrum) 3621 - port NumSpiroCenters and NumBridgeheadAtoms descriptors to C++ 3622 (github issue #617 from greglandrum) 3623 - Add parser/writer for peptide sequences 3624 (github issue #620 from greglandrum) 3625 - Add parser/writer for FASTA 3626 (github issue #621 from greglandrum) 3627 - Add parser/writer for HELM 3628 (github issue #622 from greglandrum) 3629 - Migrate std::string APIs to const std::string & 3630 (github pull #627 from bp-kelley) 3631 - Chirality tests 3632 (github pull #628 from sriniker) 3633 - Improvements of TFD 3634 (github pull #630 from sriniker) 3635 - Added ResonanceMolSupplier 3636 (github pull #632 from ptosco) 3637 - Image tostring/fromstring methods replaced by tobytes/frombytes 3638 (github pull #644 from rvianello) 3639 - ET(K)DG implementation 3640 (github pull #647 from sriniker) 3641 - Build multithreading support by default when boost::threads is present 3642 (github issue #649 from greglandrum) 3643 - Minimal SWIG Java wrappers for ResonanceMolSupplier 3644 (github pull #657 from ptosco) 3645 3646## New Database Cartridge Features: 3647 - Support for PostgreSQL v8.x has been removed 3648 - NumSpiroCenters and NumBridgeheadAtoms added 3649 3650## New Java Wrapper Features: 3651 - Support for FilterCatalogs 3652 - Support for ResonanceMolSuppliers 3653 3654## Deprecated code (to be removed in next release): 3655 3656## Removed code: 3657 - rdkit/DataStructs/BitVect.py : a C++ version is used, this was only present for historical reasons 3658 - rdkit/DataStructs/SparseIntVect.py : a C++ version is used, this was only present for historical reasons 3659 3660## Contrib updates: 3661 - Addition of Peter Ertl's Natural Product Likeness score. 3662 3663## Other: 3664 - Much of the documentation has been translated from RST to MD 3665 3666# Release_2015.03.1 3667(Changes relative to Release_2014.09.2) 3668 3669## IMPORTANT 3670 3671 - This release has a new algorithm for canonical atom ordering. This 3672 means that canonical SMILES generated with the new version will be 3673 different from those generated with previous versions. 3674 3675## Acknowledgements: 3676 3677David Cosgrove, Andrew Dalke, JP Ebejer, Niko Fechner, Igor Filippov, 3678Patrick Fuller, David Hall, J Bach Hardie, Jan Holst Jensen, Brian 3679Kelley, Rich Lewis, John May, Michael Reutlinger, Sereina Riniker, 3680Alexander Savelyev, Roger Sayle, Nadine Schneider, Gianluca Sforna, 3681Paolo Tosco, Samo Turk, JL Varjo, Riccardo Vianello 3682 3683## Highlights: 3684 3685 - A new algorithm for generating canonical atom orders. The new 3686 algorithm is faster and more robust than the old one. 3687 - C++-based molecule drawing code, allows consistent molecule 3688 renderings from C++, Java, and Python. This will become the 3689 default renderer in the next release. 3690 - General performance improvements and reduction of memory usage. 3691 - Torsion Fingerprints for comparing 3D conformations to each other 3692 - MCS code now available from the PostgreSQL cartridge 3693 3694## Bug Fixes: 3695 3696 - fmcs: use the zero bond type instead of other 3697 (github issue #368 from AlexanderSavelyev) 3698 - bug fixed in TorsionFingerprints.GetTFDMatrix 3699 (github issue #376 from sriniker) 3700 - rdkit.Chem.MolDb.Loader_sa does not work with python3.4 3701 (github issue #390) 3702 - ChemReactions: Bugfix/Memleak-fix in runReactants 3703 (github issue #394 from NadineSchneider) 3704 - TorsionConstraint bug fix 3705 (github issue #395 from ptosco) 3706 - Fixed LoadSDF to keep 3D info 3707 (github pull #401 from samoturk) 3708 - Incorrect expected absolute stereochemistries in a test 3709 (github issue #407) 3710 - GetSubstructMatches() consumes all available memory 3711 (github issue #409) 3712 - Bugfix in the chirality handling of chemical reactions 3713 (github pull #410 from NadineSchneider) 3714 - fixed two minor bugs in MMFF code 3715 (github issue #416 from ptosco) 3716 - Varied sanitise rejection with hydrogen representation 3717 (github issue #418) 3718 - Fixed two trivial bugs 3719 (github issue #419 from ptosco) 3720 - RDKit learns how to roundtrip MOLFile values. 3721 (github issue #420 from bp-kelley) 3722 - cairoCanvas.py python3 compatibility 3723 (github issue #426 from bach-hardie) 3724 - Chem.FragmentOnSomeBonds() should update implicit H count on aromatic heteroatoms when addDummies is False 3725 (github issue #429) 3726 - Chem.FragmentOnSomeBonds() crashes if the bond list is empty 3727 (github issue #430) 3728 - Increase limit for smallest ring size 3729 (github issue #431 from cowsandmilk) 3730 - Problems caused by heteroatoms with radicals in aromatic rings. 3731 (github issue #432) 3732 - Conversion from mol to InChI getting ring stereo wrong 3733 (github issue #437) 3734 - Metals in mol2 blocks handled incorrectly 3735 (github issue #438) 3736 - Fixed a few tests failing when the Windows git client is used 3737 (github pull #439 from ptosco) 3738 - Fixed tests failing on Windows when retrieving sources through the Windows git client 3739 (github pull #440 from ptosco) 3740 - Conformers not copied correctly in renumberAtoms 3741 (github issue #441) 3742 - Radicals are not correctly assigned when reading from SMILES 3743 (github issue #447) 3744 - moving RDBoost/Exceptions.h to RDGeneral 3745 (github pull #458 from rvianello) 3746 - Add code to accept blank SMILES input. 3747 (github issue #468 from janholstjensen) 3748 - Accept empty SMILES and SMARTS 3749 (github issue #470) 3750 - Fix MolFile Atom Line List Writer 3751 (github issue #471 from bp-kelley) 3752 - Moved 3D ipython renderer to dependency 3753 (github pull #472 from patrickfuller) 3754 - Windows build/test failure fixes 3755 (github issue #473 from ptosco) 3756 - install missing FMCS/Graph.h header file 3757 (github pull #478 from rvianello) 3758 - added const qualifiers to some methods of Atom/Bond iterator classes 3759 (github pull #479 from rvianello) 3760 - Bugfix in SmilesWrite and some additional tests for getMolFrags function 3761 (github issue #482 from NadineSchneider) 3762 - Removed a while(1) {} in BFGSOpt.h which might result in an infinite loop 3763 (github issue #484 from ptosco) 3764 - Gasteiger charge calculation fails with hexavalent sulfur #485 3765 (github issue #485) 3766 - SmilesWriter not creating automatic name values for molecules read from CTABs 3767 (github issue #488) 3768 - Fix StringType access, remove unused imports 3769 (github issue #494 from bp-kelley) 3770 3771## New Features: 3772 3773 - Isomeric fix in PandasTools 3774 (github issue #369 from samoturk) 3775 - added SaveXlsxFromFrame - first version 3776 (github issue #371 from samoturk) 3777 - New feature: Torsion fingerprints 3778 (github issue #372 from sriniker) 3779 - Add function to extract a molecule with a single (particular) conformer from a multiconf mol 3780 (github issue #384) 3781 - Added C++ and Python helpers to retrieve force-field parameters 3782 (github issue #387 from ptosco) 3783 - Support providing all options to SWIG-wrapped FMCS 3784 (github issue #397) 3785 - Add function to request if calling UpdatePropertyCache is necessary 3786 (github issue #399) 3787 - Add function to test if UpdatePropertyCache is necessary 3788 (github issue #400 from NadineSchneider) 3789 - Substructure highlighting in pandas dataframe (fixes #362) 3790 (github issue #403 from nhfechner) 3791 - Added SDF Export to PandasTools and adjusted SDF Import 3792 (github issue #404 from nhfechner) 3793 - support count-based avalon fingerprint 3794 (github issue #408) 3795 - New C++ drawing code 3796 (github issue #412 from greglandrum) 3797 - RDKit learns how to compute code coverage for tests 3798 (github issue #413 from bp-kelley) 3799 - Dictionary access is saniztized and optimized. 3800 (github issue #414 from bp-kelley) 3801 - expose MolOps::rankAtoms() and MolOps::rankAtomsInFragment() to python 3802 (github issue #421) 3803 - Dev/expose rank atoms to python 3804 (github issue #422 from bp-kelley) 3805 - rdkit learns how to wrap a proper RWMol in python 3806 (github issue #423 from bp-kelley) 3807 - Docs: document "magic" property values that are used throughout the code 3808 (github issue #425) 3809 - MolDraw2D: expose class to Python 3810 (github issue #433) 3811 - RDKit learns how to query properties on Atoms 3812 (github issue #442 from bp-kelley) 3813 - Issue445: provide helper functions for multithreaded evaluation of some expensive functions 3814 (github issue #448 from greglandrum) 3815 - RDKit learns how to release the GIL in python 3816 (github pull #449 from bp-kelley) 3817 - Dev/property queries 3818 (github pull #450 from bp-kelley) 3819 - Support a confId argument to the atom pair fingerprinting code 3820 (github issue #453) 3821 - Save the atom bookmarks so we can deconvolute reaction products. 3822 (github pull #454 from bp-kelley) 3823 - Cartridge: Support converting no structs to InChI 3824 (github issue #455) 3825 - RDKit learns how to expose ChemicalReaction copy constructor to python 3826 (github pull #456 from bp-kelley) 3827 - chirality flag was implemented for fmcs() function 3828 (github pull #466 from AlexanderSavelyev) 3829 - Support copy and deepcopy properly for at least Mol and RWMol 3830 (github issue #467) 3831 - Cartridge: add qmol_from_smiles() and qmol_from_ctab() 3832 (github issue #469) 3833 - restore java and python wrappers. New parameter (matchChiralTag) 3834 (github issue #477 from AlexanderSavelyev) 3835 - Added a Python wrapper for getShortestPath() 3836 (github issue #487 from ptosco) 3837 - Dev/merge query hs no unmapped atoms 3838 (github issue #490 from bp-kelley) 3839 3840## New Database Cartridge Features: 3841 3842 - The MCS code is now available within the cartridge 3843 - The functions qmol_from_smiles() and qmol_from_ctab() 3844 3845## New Java Wrapper Features: 3846 3847 - The new molecule rendering code is accessible from the SWIG wrappers. 3848 3849## Deprecated code (to be removed in next release): 3850 3851 - C++: The functionality in $RDBASE/Code/GraphMol/MolDrawing has been 3852 superseded by the new drawing code in $RDBASE/Code/GraphMol and will 3853 be removed in the next release. 3854 - Python: 3855 - rdkit/Dbase/Pubmed 3856 - rdkit/Chem/fmcs (this has been superseded by the C++ implementation) 3857 - Cartridge: support for v8.x of PostgreSQL (v8.4 is no longer 3858 supported by the PostgreSQL project team as of July 2014) 3859 3860## Removed code: 3861 3862 - the method Atom::setMass() has been removed. Please use setIsotope() 3863 instead. 3864 - the methods involving an atom's dativeFlag have been removed. 3865 3866## Contrib updates: 3867 3868## Other: 3869 - Python 2.6 support is deprecated. Starting with the next RDKit 3870release, we will only support python 2.7 and python 3.4 and 3871higher. Python 2.6 has not been supported since October 2013. If you 3872believe that you are stuck with python 2.6 because of the version of 3873RHEL you are running, please read this post to learn about your 3874options: 3875http://www.curiousefficiency.org/posts/2015/04/stop-supporting-python26.html 3876 - The RDKit molecule objects (ROMol and RWMol) now require about 15% 3877less memory to store 3878 3879 3880# Release_2014.09.2 3881(Changes relative to Release_2014.09.1) 3882 3883## Acknowledgements: 3884Sereina Riniker, Nadine Schneider, Paolo Tosco 3885 3886## Bug Fixes: 3887- SMILES parser doing the wrong thing for odd dot-disconnected construct 3888 (github issue #378) 3889- O3A code generating incorrect results for multiconformer molecules 3890 (github issue #385) 3891- Suppliers probably not safe to read really large files 3892 (github issue #392) 3893- Torsion constraints not worrking properly for negative torsions 3894 (github issue #393) 3895- Core leak in reactions 3896 (github issue #396) 3897 3898 3899# Release_2014.09.1 3900(Changes relative to Release_2014.03.1) 3901 3902## Acknowledgements: 3903Andrew Dalke, James Davidson, Jan Domanski, Patrick Fuller, Seiji 3904Matsuoka, Noel O'Boyle, Sereina Riniker, Alexander Savelyev, Roger 3905Sayle, Nadine Schneider, Matt Swain, Paolo Tosco, Riccardo Vianello, 3906Richard West 3907 3908## Bug Fixes: 3909- Bond query information not written to CTAB 3910 (github issue #266) 3911- Bond topology queries not written to CTABs 3912 (github issue #268) 3913- Combined bond query + topology query not correctly parsed from CTAB 3914 (github issue #269) 3915- SWIG wrapped suppliers leak memory on .next() 3916 (github issue #270) 3917- SWIG wrappers don't build with SWIG 3.0.x 3918 (github issue #277) 3919- core leak from DataStructs.ConvertToNumpyArray 3920 (github issue #281) 3921- MolTransforms not exposed to Java wrapper 3922 (github issue #285) 3923- Seg fault in ReactionFromRxnBlock 3924 (github issue #290) 3925- BitInfo from GetHashedMorganFingerprint() has non-folded values 3926 (github issue #295) 3927- bad inchi for chiral S when the molecule is sanitized 3928 (github issue #296) 3929- Cannot generate smiles for ChEBI 50252 3930 (github issue #298) 3931- Either molecule-molecule substruct matching is wrong *OR* the docs for Atom::Match incorrect 3932 (github issue #304) 3933- fluorine F-F gives segmentation fault with MMFF forcefield 3934 (github issue #308) 3935- cartridge: MACCS similarity wrong when using the builtin popcount and the index 3936 (github issue #311) 3937- Substructure Search via SMARTS implicit hydrogens 3938 (github issue #313) 3939- SMARTS output for [x] is wrong 3940 (github issue #314) 3941- Bonds not being set up properly in renumberAtoms 3942 (github issue #317) 3943- Python 2 code in python 3 branch 3944 (github issue #326) 3945- Linking error with ICC 15.0 on Linux 3946 (github issue #327) 3947- Using explicit hydrogens in the SMILES lead to the same AP FP for two different molecules 3948 (github issue #334) 3949- memory leaks when smiles/smarts parsers fail 3950 (github issue #335) 3951- No double bond stereo perception from CTABs when sanitization is turned off 3952 (github issue #337) 3953- missing MACCS key 44 might be found 3954 (github issue #352) 3955- Hydrogens in mol blocks have a valence value set 3956 (github issue #357) 3957- Computed props on non-sanitized molecule interfering with substructure matching 3958 (github issue #360) 3959- Fixed a weakness in the angular restraint code 3960 (github pull #261 from ptosco) 3961- A few fixes to improve MMFF/UFF robustness 3962 (github pull #274 from ptosco) 3963- Static webGL rendering fix 3964 (github pull #287 from patrickfuller) 3965- Revert #include ordering in SmilesMolSupplier.cpp 3966 (github pull #297 from mcs07) 3967- Add missing include for RDDepict::compute2DCoords 3968 (github pull #301 from baoilleach) 3969- Herschbach-Laurie fallback implemented to fix GitHub 308 3970 (github pull #312 from ptosco) 3971- Issue #320 Making GetBestRMS more idiot-proof 3972 (github pull #322 from jandom) 3973- Update URLs to InChI API after inchi-trust.org website redesign. 3974 (github pull #341 from rwest) 3975 3976## New Features: 3977- Should be able to do intramolecular bond breaking in reactions. 3978 (github issue #58) 3979- Support reactions in cartridge 3980 (github issue #223) 3981- Documentation of Inchi methods 3982 (github issue #240) 3983- add DescribeQuery() to Bond python wrapper 3984 (github issue #267) 3985- support avalon fingerprint in cartridge 3986 (github issue #286) 3987- support partial fragmentation with fragmentOnSomeBonds 3988 (github issue #288) 3989- Add calcNumHeterocycles() descriptor 3990 (github issue #351) 3991- C++ implementation of FMCS algorithm 3992- Reordering feature for Butina clustering 3993 (github pull #302 from sriniker) 3994- Changes and new functions for the calculation of RMS values between conformers of a molecule 3995 (github pull #306 from sriniker) 3996- Extended chemical reaction functionality and add chemical reactions to cartridge 3997 (github pull #315 from NadineSchneider) 3998- Custom color to highlight atoms in Mol2Image 3999 (github pull #316 from jandom) 4000- Several different fingerprint algorithms for chemical reactions are now available 4001- add Chem.Draw.MolToQPixmap 4002 (github pull #355 from mojaie) 4003 4004 4005## New Database Cartridge Features: 4006- *NOTE:* the configuration variable rdkit.ss_fp_size has been renamed to rdkit.sss_fp_size 4007- Chemical reactions and several operations on them are now supported 4008- Avalon fingerprints now supported (when support has been compiled in) 4009 4010 4011## New Java Wrapper Features: 4012- FMCS implementation exposed 4013- Fingerprints for chemical reactions 4014- Possible core leak in some of the MolSuppliers was fixed 4015 4016Deprecated modules (to be removed in next release): 4017- Projects/SDView4 4018- rdkit/utils/ 4019 - GUIDs.py 4020 - GenLicense.py 4021 - Licensing.py 4022 - PiddleTools.py 4023 - PilTools.py 4024 - REFile.py 4025 - SliceTools.py 4026- rdkit/Logger 4027 4028Removed modules: 4029 4030## Contrib updates: 4031 4032## Other: 4033- The RDKit now supports both python3 and python2. 4034- There is now conda integration for the RDKit. 4035- SMILES generation is substantially faster 4036 4037 4038# Release_2014.03.1 4039(Changes relative to Release_2013.09.2) 4040 4041## IMPORTANT 4042 - Due to a bug fix in the rotatable bonds definition, the default 4043 rotatable bond calculation returns different values than before. 4044 This also affects MQN descriptor #18. 4045 4046## Acknowledgements: 4047Paul Czodrowski, James Davidson, Markus Elfring, Nikolas Fechner, Jan Holst Jensen, Christos Kannas, Sereina Riniker, Roger Sayle, Paolo Tosco, Samo Turk, Riccardo Vianello, Maciej Wójcikowski, Toby Wright 4048 4049## Bug Fixes: 4050- Dict::DataType declaration causing problems with C++11 std::lib 4051 (github issue 144) 4052- Pre-condition Violation in AllChem.Compute2DCoords 4053 (github issue 146) 4054- GetSimilarityMapForFingerprint() fails when similarity is zero 4055 (github issue 148) 4056- PatternFingerprint failure for substructure matching 4057 (github issue 151) 4058- query atoms don't match ring queries 4059 (github issue 153) 4060- Incorrect SMILES generated after calling MMFF parameterization 4061 (github issue 162) 4062- Problems with Xe from SDF 4063 (github issue 164) 4064- Radicals not being used in atom--atom matches 4065 (github issue 165) 4066- Cannot skip sanitization while reading PDB 4067 (github issue 166) 4068- Distance Geometry embedding not thread safe 4069 (github issue 167) 4070- O3A::align() and O3A::trans() now return "true" RMSD value 4071 (github pull 173) 4072- RangeError when pre-incrementing or decrementing AtomIterators 4073 (github issue 180) 4074- ctabs do not contain wedged bonds for chiral s 4075 (github issue 186) 4076- ctabs do not contain "A" when appropriate 4077 (github issue 187) 4078- Problems round-tripping Al2Cl6 via CTAB 4079 (github issue 189) 4080- Don't merge Hs onto dummies 4081 (github issue 190) 4082- Wavy bonds to Hs in CTABs should affect the stereochemistry of attached double bonds 4083 (github issue 191) 4084- Rendering binary compounds as ClH, FH, BrH or IH rather than putting H first. 4085 (github issue 199) 4086- Fixed data race condition in Code/GraphMol/MolAlign/testMolAlign.cpp 4087 (github pull 202) 4088- Re-prepared SDF/SMILES files of the MMFF validation suite + a fix 4089 (github pull 205) 4090- Problems round-tripping P with non-default valence. 4091 (github issue 206) 4092- Added a stricter definition of rotatable bonds as a new function in the ... 4093 (github pull 211) 4094- Code/GraphMol/AddHs patch proposal 4095 (github pull 212) 4096- Fix: Changed getNumReactantTemplates to GetNumReactantTemplates. 4097 (github pull 219) 4098- aromatic B ("b") causes errors from SMARTS parser 4099 (github issue 220) 4100- Segmentation fault for MMFF optimization with dummy atoms 4101 (github issue 224) 4102- isMoleculeReactantOfReaction() and isMoleculeProductOfReaction() not useable from SWIG wrappers 4103 (github issue 228) 4104- cartridge: mol_from_ctab() ignores argument about keeping conformers 4105 (github issue 229) 4106- Reaction not correctly preserving chirality on unmapped atoms. 4107 (github issue 233) 4108- AllChem.AssignBondOrdersFromTemplate() fails with nitro groups 4109 (github issue 235) 4110- Fix molecule dataframe rendering in pandas 0.13.x 4111 (github pull 236) 4112- Dummy labels copied improperly into products 4113 (github issue 243) 4114- Two bugfixes in MMFF code 4115 (github pull 248) 4116- seg fault when trying to construct pharmacophore with no conformation 4117 (github issue 252) 4118- EmbedMolecule() should not create a conformer for molecules that have zero atoms 4119 (github issue 256) 4120- cartridge: dice similarity calculation does not use USE_BUILTIN_POPCOUNT flag 4121 (github issue 259) 4122- cartridge: similarity calculations wrong for maccs fps when USE_BUILTIN_POPCOUNT flag is set 4123 (github issue 260) 4124 4125## New Features: 4126- Expose gasteiger charge calculation to SWIG 4127 (github issue 152) 4128- Added additional functionality to PandasTools 4129 (github pull 155) 4130- Add MMFFHasAllMoleculeParams() to SWIG interface 4131 (github issue 157) 4132- O3A code should throw an exception if the parameterization is not complete. 4133 (github issue 158) 4134- Support zero order bonds 4135 (github issue 168) 4136- Add attachmentPoint argument to ReplaceSubstructs 4137 (github issue 171) 4138- Forcefield constraints (distances, angles, torsions, positions) 4139 (github pull 172) 4140- Add kekulize flag to SDWriter 4141 (github issue 174) 4142- Support operator= for RWMol 4143 (github issue 175) 4144- Get GetAromaticAtoms() and GetQueryAtoms() working from python 4145 (github issue 181) 4146- Support richer QueryAtom options in Python 4147 (github issue 183) 4148- Support writing V3000 mol blocks 4149 (github issue 184) 4150- Allow disabling the building of tests 4151 (github issue 185) 4152- Expand DbCLI to allow updating databases 4153 (github issue 197) 4154- Code refactoring and enhancement to allow for O3A alignment according to atom-based Crippen logP contribs 4155 (github pull 201) 4156- call MolOps::assignStereochemistry() with flagPossibleStereoCenters true from within the molecule parsers. 4157 (github issue 210) 4158- Support passing of file-like PandasTools.LoadSDF 4159 (github pull 221) 4160- Reaction SMARTS parser should support agents 4161 (github issue 222) 4162- Add function to MolOps to allow a molecule to be split into fragments based on a query function 4163 This is useable from python as Chem.SplitMolByPDBResidues() and Chem.SplitMolByPDBChainId() 4164 (github issue 234) 4165- Adding option useCounts for Morgan fingerprints 4166 (github pull 238) 4167- support SimpleEnum functionality for adding recursive queries to reactions 4168 (github issue 242) 4169- Additional functions for bit vectors 4170 (github pull 244) 4171- Support of RDK fingerprints added to SimilarityMaps 4172 (github pull 246) 4173- add get3DDistance 4174- support 3D distances in the atom pair fingerprints 4175 (github issue 251) 4176- added MolOps::get3DDistanceMat() (Chem.Get3DDistanceMatrix() from python) 4177 4178 4179## New Database Cartridge Features: 4180- Support configuration of fingerprint sizes in cartridge. 4181 (github issue 216) 4182- Add mol_to_ctab(mol, bool default true) to Postgres cartridge. 4183 (github pull 230) 4184- Adds sum formula function to PG cartridge. 4185 (github pull 232) 4186 4187## New Java Wrapper Features: 4188 4189Deprecated modules (to be removed in next release): 4190 4191Removed modules: 4192- The CMIM integration (previously available to python in the rdkit.ML.FeatureSelect package) 4193 has been removed due to license incompatibility. 4194 4195## Contrib updates: 4196- Added Contribution to train ChEMBL-based models 4197 (github pull 213) 4198- ConformerParser functionality 4199 (github pull 245) 4200 4201## Other: 4202- The Open3DAlign code is considerably faster. 4203- The SMILES parsing code is faster. 4204- Fix Bison 3.x incompabtility 4205 (github pull 226) 4206- Add Travis support 4207 (github pull 227) 4208- port of rdkit.ML bindings from Python/C API to boost::python 4209 (github pull 237) 4210- The code now builds more easily using the Anaconda python distribution's 4211 conda package manager 4212 (github pull 247) 4213 4214# Release_2013.09.2 4215(Changes relative to Release_2013.09.1) 4216 4217## Acknowledgements: 4218Andrew Dalke, JP Ebejer, Daniel Moser, Sereina Riniker, Roger Sayle, Manuel Schwarze, Julia Weber 4219 4220## Bug Fixes: 4221- cannot pickle unsanitized molecules 4222 (github issue 149) 4223- Problems reading PDB files when locale is DE 4224 (github issue 170) 4225- calling RWMol::clear() leaves property dict empty 4226 (github issue 176) 4227- zero atom molecule generates exception in MolToSmiles when 4228 rootedAtAtom is provided 4229 (github issue 182) 4230- bond orders not being set when PDB files are read 4231 (github issue 194) 4232- GenMACCSKeys() raises an exception with an empty molecule 4233 (github issue 195) 4234- left-justified SDF bond topology of "0" raises an unexpected 4235 exception 4236 (github issue 196) 4237 4238# Release_2013.09.1 4239(Changes relative to Release_2013.06.1) 4240 4241## Acknowledgements: 4242James Davidson, JP Ebejer, Nikolas Fechner, Grégori Gerebtzoff, Michal Nowotka, Sereina Riniker, Roger 4243Sayle, Gianluca Sforna, Matthew Szymkiewicz, Paolo Tosco, Dan Warner, 4244 4245## IMPORTANT 4246 - Due to a bug fix in the parameter set, the MolLogP and MolMR 4247 descriptor calculators now return different values for molecules 4248 with pyrrole (or pyrrole-like) Ns. 4249 4250## Bug Fixes: 4251 - The pymol ShowMol method can now handle molecules with more than 4252 999 atoms (they are sent via PDB) 4253 - Various stability improvements to the Pandas integration. 4254 (github issues 129 and 51) 4255 - Some RDKit methods require python lists and don't allow passing 4256 numpy arrays or pandas series directly 4257 (github issue 119) 4258 - mol2 parser not setting E/Z flags on double bonds 4259 (github issue 114) 4260 - Incorrect angle terms in UFF 4261 (github issue 105) 4262 - Problems with stereochemistry flags and PathToSubmol() 4263 (github issue 103) 4264 - Bad Crippen atom type for pyrrole H 4265 (github issue 92) 4266 - PandasTools tests fail with Pandas v0.12 4267 (github issue 91) 4268 - Isotope information not affecting chirality 4269 (github issue 90) 4270 - properties are not read from SDF files with V3000 mol blocks. 4271 (github issue 88) 4272 - assignStereochemistry does not remove bond wedging that shouldn't be there. 4273 (github issue 87) 4274 - Drawing code modifies wedge bonds in reactions 4275 (github issue 86) 4276 - Stereochemistry not perceived when parsing CTABs unless sanitization is done. 4277 (github issue 82) 4278 - 2D rendering issue for epoxide ( CAS 70951-83-6) 4279 (github issue 78) 4280 - PandasTools doctests should be failing, but are not 4281 (github issue 75) 4282 - Better handling of radicals to/from mol files 4283 (github issue 73) 4284 - Benzothiazolium structure can be parsed from ctab, but the SMILES generated cannot be processed. 4285 (github issue 72) 4286 - Chem.MolFromInch hangs on CID 23691477 and CID 23691480 4287 (github issue 68) 4288 - Chem.MolFromInchi on CHEMBL104337 leads to segmentation fault 4289 (github issue 67) 4290 - "Could not embed molecule." (The Anthony Conundrum) 4291 (github issue 55) 4292 4293## New Features: 4294 - Add fragmentOnBonds() to python wrapper 4295 (github issue 142) 4296 - Allow renumbering atoms in a molecule. 4297 (github issue 140) 4298 - MMFF94 and MMFF94S support 4299 - implementation of the Open3DAlign rigid alignment algorithm 4300 - Support for reading and writing PDB files 4301 - The python function AllChem.AssignBondOrdersFromTemplate() can be 4302 used to assign bond orders from a reference molecule to the bonds 4303 in another molecule. This is helpful for getting bond orders 4304 correct for PDB ligands. 4305 (github issue 135) 4306 - Bond lengths, angles, and torsions can now be queries and adjusted. 4307 (github issue 132) 4308 - Implementation of similarity maps 4309 (github issue 94) 4310 - Python implementation of the Fraggle similarity algorithm. 4311 See Jameed Hussain's presentation from the 2013 UGM for details: 4312 https://github.com/rdkit/UGM_2013/blob/master/Presentations/Hussain.Fraggle.pdf?raw=true 4313 - SparseIntVects now support -=, +=, /=, and *= with ints from C++ 4314 and Python 4315 - support \\ in SMILES 4316 (github issue 136) 4317 - Support a similarity threshold in DbCLI 4318 (github issue 134) 4319 - Support construction molecules from other molecules in the python wrapper 4320 (github issue 133) 4321 - support tversky similarity in DbCLI 4322 (github issue 130) 4323 - support tversky similarity in cartridge 4324 (github issue 121) 4325 - support reading and writing reactionComponentType and reactionComponentNumber from ctabs 4326 (github issue 118) 4327 - Add in-place forms of addHs(), removeHs(), and mergeQueryHs() 4328 (github issue 117) 4329 - modify MolOps::cleanUp() to support this azide formulation: C-N=N#N 4330 (github issue 116) 4331 - Dihedral rotation exposed in python 4332 (github issue 113) 4333 - Support for cairocffi (cairo drop-in replacement that plays nicely with virtualenv) 4334 (github issue 80) 4335 - Grey color for Hydrogens 4336 (github issue 97) 4337 - Improvements to the Dict interface in C++ 4338 (github issue 74) 4339 - customizable drawing options 4340 (github issue 71) 4341 - Add method for setting the chiral flag in mol blocks 4342 (github issue 64) 4343 - New descriptors added (Python only for now): 4344 MaxPartialCharge(),MinPartialCharge(),MaxAbsPartialCharge(),MinAbsPartialCharge(), 4345 MaxEStateIndex(),MinEStateIndex(),MaxAbsEStateIndex(),MinAbsEStateIndex() 4346 4347## New Database Cartridge Features: 4348 4349## New Java Wrapper Features: 4350 - MMFF support 4351 - PDB reading and writing 4352 - Open3DAlign support 4353 4354 4355Deprecated modules (to be removed in next release): 4356 4357Removed modules: 4358 4359## Contrib updates: 4360 - The MMPA implementation has been updated 4361 See Jameed Hussain's tutorial from the 2013 UGM for details: 4362 https://github.com/rdkit/UGM_2013/tree/master/Tutorials/mmpa_tutorial 4363 [Jameed Hussain] 4364 - An implementation of Ertl and Schuffenhauer's Synthetic 4365 Accessibility score is available in Contrib/SA_Score 4366 [Peter Ertl, Greg Landrum] 4367 - Command line scripts for the Fraggle similarity algorithm 4368 See Jameed Hussain's presentation from the 2013 UGM for details: 4369 https://github.com/rdkit/UGM_2013/blob/master/Presentations/Hussain.Fraggle.pdf?raw=true 4370 [Jameed Hussain] 4371 4372## Other: 4373 - Some of the changes to UFF deviate from the published force 4374 field. Specifics of the changes, and the reasoning behind them, are 4375 in Paolo Tosco's 2013 RDKit UGM presentation: 4376 https://github.com/rdkit/UGM_2013/blob/master/Presentations/Tosco.RDKit_UGM2013.pdf?raw=true 4377 - Reaction drawing has been improved. Support for reaction drawing 4378 has been added to the IPython notebook. 4379 4380 4381# Release_2013.06.1 4382(Changes relative to Release_2013.03.2) 4383 4384Administrivia note: 4385In the course of this release cycle, development was moved over 4386entirely to github. The sourceforge svn repository no longer contains 4387an up-to-date version of the code. 4388 4389## Acknowledgements: 4390Andrew Dalke, JP Ebejer, Nikolas Fechner, Roger Sayle, Riccardo Vianello, 4391Yingfeng Wang, Dan Warner 4392 4393## Bug Fixes: 4394 - The docs for Descriptors.MolWt are now correct (GitHub #38) 4395 - Molecules coming from InChi now have the correct molecular 4396 weight. (GitHub #40) 4397 - RemoveAtoms() no longer leads to problems in canonical SMILES 4398 generation when chiral ring atoms are present. (GitHub #42) 4399 - Atom invariants higher than the number of atoms in the molecule can 4400 now be provided to the atom pairs and topological torsions 4401 fingerprinters. (GitHub #43) 4402 - A typo with the handling of log levels was fixed in the python 4403 wrapper code for InChI generation. (GitHub #44) 4404 - Stereochemistry no longer affects canonical SMILES generation if 4405 non-stereo SMILES is being generated. (GitHub #45) 4406 - The ExactMolWt of [H+] is no longer zero. (GitHub #56) 4407 - The MPL canvas now has an addCanvasDashedWedge() method. (GitHub 4408 #57) 4409 - RWMol::insertMol() now copies atom coordinates (if 4410 present). (GitHub #59) 4411 - The "h" primitive in SMARTS strings now uses the method 4412 getTotalNumHs(false) instead of getImplicitValence(). 4413 (GitHub #60) 4414 - bzip2 files now work better with the SDWriter class. (GitHub #63) 4415 - a crashing bug in InChI generation was fixed. (GitHub #67) 4416 4417## New Features: 4418 - Sanitization can now be disabled when calling GetMolFrags() from 4419 Python (GitHub #39) 4420 - Bond.GetBondTypeAsDouble() has been added to the python 4421 wrapper. (GitHub #48) 4422 - The fmcs code now includes a threshold argument allowing the MCS 4423 that hits a certain fraction of the input molecules (instead of all 4424 of them) to be found. The code has also been synced with the most 4425 recent version of Andrew Dalke's version. 4426 - Atoms now have a getTotalValence() (GetTotalValence() from Python) 4427 method. (GitHub #61) 4428 - R labels from Mol files now can go from 0-99 4429 - chiral flags in CTABs are now handled on both reading and writing. 4430 The property "_MolFileChiralFlag" is used. 4431 4432 4433## New Database Cartridge Features: 4434 4435## New Java Wrapper Features: 4436 - {Get,Set}Prop() methods are now available for both Atoms and 4437 Bonds. (GitHub #32) 4438 4439 4440Deprecated modules (to be removed in next release): 4441 4442Removed modules: 4443 - rdkit.utils.pydoc_local 4444 4445## Other: 4446 - the handling of flex/bison output files as dependencies has been 4447 improved (GitHub #33) 4448 - the molecule drawing code should now also work with pillow (a fork of 4449 PIL) 4450 - the PANDAS integration has been improved. 4451 4452 4453# Release_2013.03.2 4454(Changes relative to Release_2013.03.1) 4455 4456## Acknowledgements: 4457Manuel Schwarze 4458 4459## Bug Fixes: 4460 - The hashed topological torsion fingerprints generated are now the 4461 same as in previous rdkit versions. (GitHub issue 25) 4462 4463 4464# Release_2013.03.1 4465(Changes relative to Release_2012.12.1) 4466 4467## IMPORTANT 4468 4469 - The algorithm for hashing subgraphs used in the RDKit fingerprinter 4470 has changed. The new default behavior will return different 4471 fingerprints than previous RDKit versions. This affects usage from 4472 c++, python, and within the postgresql cartridge. See the "## Other" 4473 section below for more details. 4474 4475## Acknowledgements: 4476Paul Czodrowski, Andrew Dalke, Jan Domanski, Jean-Paul Ebejer, Nikolas 4477Fechner, Jameed Hussain, Stephan Reiling, Sereina Riniker, Roger 4478Sayle, Riccardo Vianello 4479 4480## Bug Fixes: 4481 - removeBond now updates bond indices (sf.net issue 284) 4482 - dummy labels are no longer lost when atoms are copied (sf.net issue 4483 285) 4484 - more specific BRICS queries now match before less specific ones 4485 (sf.net issue 287, github issue 1) 4486 - molAtomMapNumber can now be set from Python (sf.net issue 288) 4487 - the legend centering for molecular image grids has been improved 4488 (sf.net issue 289) 4489 - make install now includes all headers (github issue 2) 4490 - InChIs generaged after clearing computed properties are now correct 4491 (github issue 3) 4492 - Reacting atoms that don't change connectivity no longer lose 4493 stereochemistry (github issue 4) 4494 - Aromatic Si is now accepted (github issue 5) 4495 - removeAtom (and deleteSubstructs) now correctly updates stereoAtoms 4496 (github issue 8) 4497 - [cartridge] pg_dump no longer fails when molecules cannot be 4498 converted to SMILES (github issue 9) 4499 - a canonicalization bug in MolFragmentToSmiles was fixed (github issue 12) 4500 - atom labels at the edge of the drawing are no longer cut off (github issue 13) 4501 - a bug in query-atom -- query-atom matching was fixed (github issue 15) 4502 - calling ChemicalReaction.RunReactants from Python with None 4503 molecules no longer leads to a seg fault. (github issue 16) 4504 - AllChem.ReactionFromSmarts now generates an error message when called 4505 with an empty string. 4506 - Writing CTABs now includes information about atom aliases. 4507 - An error in the example fdef file 4508 $RDBASE/Contrib/M_Kossner/BaseFeatures_DIP2_NoMicrospecies.fdef 4509 has been fixed. (github issue 17) 4510 - Quantize.FindVarMultQuantBounds() no longer generates a seg fault 4511 when called with bad arguments. (github issue 18) 4512 - The length of SDMolSuppliers constructed from empty files is no 4513 longer reported as 1. (github issue 19) 4514 - Partial charge calculations now work for B, Si, Be, Mg, and Al. 4515 (github issue 20) 4516 - Two logging problems were fixed (github issues 21 and 24) 4517 - Molecules that have had kappa descriptors generated can now be 4518 written to SD files (github issue 23) 4519 4520## New Features: 4521 - The handling of chirality in reactions has been reworked and 4522 improved. Please see the RDKit Book for an explanation. 4523 - Atom-pair and topological-torsion fingerprints now support the 4524 inclusion of chirality in the atom invariants. 4525 - A number of new compositional descriptors have been added: 4526 calcFractionCSP3, calcNum{Aromatic,Aliphatic,Saturated}Rings, 4527 calcNum{Aromatic,Aliphatic,Saturated}Heterocycles, 4528 calcNum{Aromatic,Aliphatic,Saturated}Carbocycles 4529 - An implementation of the molecular quantum number (MQN) descriptors 4530 has been added. 4531 - RDKFingerprintMol now takes an optional atomBits argument which is 4532 used to return information about which bits atoms are involved in. 4533 - LayeredFingerprintMol no longer takes the arguments tgtDensity and 4534 minSize. They were not being used. 4535 - LayeredFingerprintMol2 has been renamed to PatternFingerprintMol 4536 - The substructure matcher can now properly take stereochemistry into 4537 account if the useChirality flag is provided. 4538 - The module rdkit.Chem.Draw.mplCanvas has been added back to svn. 4539 - A new module integrating the RDKit with Pandas (rdkit.Chem.PandasTools) 4540 has been added. 4541 4542## New Database Cartridge Features: 4543 - The new compositional descriptors are available: 4544 calcFractionCSP3, calcNum{Aromatic,Aliphatic,Saturated}Rings, 4545 calcNum{Aromatic,Aliphatic,Saturated}Heterocycles, 4546 calcNum{Aromatic,Aliphatic,Saturated}Carbocycles 4547 - MACCS fingerprints are available 4548 - the substruct_count function is now available 4549 - substructure indexing has improved. NOTE: indexes on molecule 4550 columns will need to be rebuilt. 4551 4552## New Java Wrapper Features: 4553 - The new compositional descriptors are available: 4554 calcFractionCSP3, calcNum{Aromatic,Aliphatic,Saturated}Rings, 4555 calcNum{Aromatic,Aliphatic,Saturated}Heterocycles, 4556 calcNum{Aromatic,Aliphatic,Saturated}Carbocycles 4557 - The molecular quantum number (MQN) descriptors are available 4558 - MACCS fingerprints are available 4559 - BRICS decomposition is available. 4560 4561Deprecated modules (to be removed in next release): 4562 4563Removed modules: 4564 4565## Other: 4566 - RDKit fingerprint generation is now faster. The hashing algorithm 4567 used in the RDKit fingerprinter has changed. 4568 - Force-field calculations are substantially faster (sf.net issue 290) 4569 - The core of the BRICS implementation has been moved into C++. 4570 - The MACCS fingerprint implementation has been moved into 4571 C++. (contribution from Roger Sayle) 4572 - New documentation has been added: Cartridge.rst, Overview.rst, 4573 Install.rst 4574 4575# Release_2012.12.1 4576(Changes relative to Release_2012.09.1) 4577 4578## IMPORTANT 4579 4580## Acknowledgements: 4581Andrew Dalke, James Davidson, Robert Feinstein, Nikolas Fechner, 4582Nicholas Firth, Markus Hartenfeller, Jameed Hussain, Thorsten Meinl, 4583Sereina Riniker, Roger Sayle, Gianluca Sforna, Pat Walters, Bernd 4584Wiswedel 4585 4586## Bug Fixes: 4587 - Using parentheses for zero-level grouping now works in reaction 4588 SMARTS. This allows intramolecular reactions to be expressed. 4589 - SMILES generated for molecules with ring stereochemistry 4590 (e.g. N[C@H]1CC[C@H](CC1)C(O)=O) are now canonical. (issue 40) 4591 - SKP lines in a CTAB property block are now properly handled. (issue 4592 255) 4593 - The molecular drawing code now shows dotted lines for Any bonds. 4594 (issue 260) 4595 - ROMol::debugMol() (ROMol.DebugMol() in Python) now reports isotope 4596 information. (issue 261) 4597 - The molecular drawing code now correctly highlights wedged bonds. 4598 (issue 262) 4599 - RWMol::addAtom() now adds atoms to conformers. 4600 (issue 264) 4601 - TDT files with atomic coordinates now have those coordinates in the 4602 correct order. (issue 265) 4603 - A ring-finding error/crash has been fixed. (issue 266) 4604 - Dummy atoms now have a default valence of 0 and no maximum 4605 valence. (issue 267) 4606 - The Python code no longer throws string exceptions. (issue 268) 4607 - Invalid/unrecognized atom symbols in CTABs are no longer 4608 accepted. (issue 269) 4609 - Chem.RDKFingerprint now accepts atom invariants with values larger 4610 than the number of atoms. (issue 270) 4611 - The code should now all work when the locale (LANG) is set to 4612 values other than "C" or one of the English locales. (issue 271) 4613 - Two-coordinate Hs are no longer removed by 4614 MolOps::removeHs(). (issue 272) 4615 - R groups read from CTABs are now marked using setIsotope() instead 4616 of setMass(). (issue 273) 4617 - Hs present in the molecule graph no longer incorrectly impact 4618 substructure matches. (issue 274) 4619 - Murcko decomposition of molecules with chiral ring atoms now 4620 works. (issue 275) 4621 - Methane now shows up in molecular drawings. (issue 276) 4622 - '&' in SLN properties is now correctly handled. (issue 277) 4623 - Molecules with string-valued molAtomMapNumber atomic properties can 4624 now be serialized. (issue 280) 4625 - SMARTS strings containing a dot in a recursive piece are now 4626 properly parsed. (issue 281) 4627 - The SMILES and SLN parsers no longer leak memory when sanitization 4628 of the result molecule fails. (issue 282) 4629 - The cairo canvas drawing code now works with PIL v1.1.6 as well as 4630 more recent versions. 4631 4632## New Features: 4633 - RDKit ExplicitBitVects and DiscreteValueVects can now be directly 4634 converted into numpy arrays. 4635 - Rogot-Goldberg similarity has been added. 4636 - C++: BitVects and SparseIntVects now support a size() method. 4637 - C++: DiscreteValueVects now support operator[]. 4638 - An initial version of a SWIG wrapper for C# has been added. 4639 - Support for easily adding recursive queries to molecules and 4640 reactions has been added. More documentation is required for this 4641 feature. 4642 - To allow more control over the reaction, it is possible to flag reactant 4643 atoms as being protected by setting the "_protected" property on those 4644 atoms. Flagged atoms will not be altered in the reaction. 4645 - Atoms and Bonds now support a ClearProp() method from python. 4646 - The new Python module rdkit.ML.Scoring.Scoring includes a number of 4647 standard tools for evaluating virtual screening experiments: ROC 4648 curve generation, AUC, RIE, BEDROC, and Enrichment. 4649 - The function RDKit::Descriptors::getCrippenAtomContribs() 4650 (rdkit.Chem.rdMolDescriptors._CalcCrippenContribs() from Python) 4651 can now optionally return atom-type information as ints or text. 4652 4653 4654## New Database Cartridge Features: 4655- The Chi and Kappa descriptors are now available 4656 4657## New Java Wrapper Features: 4658- The Chi and Kappa descriptors are now available 4659 4660Deprecated modules (to be removed in next release): 4661 4662Removed modules: 4663- The old SWIG wrapper code in $RDBASE/Code/Demos/SWIG has been 4664 removed. The SWIG wrappers are now in $RDBASE/Code/JavaWrappers 4665 4666## Other: 4667- The C++ code for drawing molecules previously found in 4668 $RDBASE/Code/Demos/RDKit/Draw has been moved to 4669 $RDBASE/Code/GraphMol/MolDrawing 4670- Calculation of the Chi and Kappa descriptors has been moved into 4671 C++. 4672- To make builds easier, the thread-safety of the recursive-smarts 4673 matcher has been made optional. The build option is 4674 RDK_BUILD_THREADSAFE_SSS. 4675- There are two new entries in the Contrib directory: 4676 * Contrib/PBF : An implementation of the Plane of Best Fit 4677 contributed by Nicholas Firth. 4678 * Contrib/mmpa : An implementation of GSK's matched molecular pairs 4679 algorithm contributed by Jameed Hussain 4680- A new "Cookbook" has been added to the documentation to provide 4681 a collection of recipes for how to do useful tasks. 4682 4683 4684# Release_2012.09.1 4685(Changes relative to Release_2012.06.1) 4686 4687## IMPORTANT 4688 - Some of the bug fixes affect the generation of SMILES. Canonical 4689 SMILES generated with this version of the RDKit will be different 4690 from previous versions. 4691 - The fix to Issue 252 (see below) will lead to changes in calculated 4692 logP and MR values for some compounds. 4693 - The fix to Issue 254 (see below) will lead to changes in some 4694 descriptors and geometries for sulfur-containing compounds. 4695 - The fix to Issue 256 (see below) has changed the name of the 4696 optional argument to mol.GetNumAtoms from onlyHeavy to 4697 onlyExplicit. For compatibility reasons, Python code that uses 4698 explicitly uses onlyHeavy will still work, but it will generate 4699 warnings. This compatibility will be removed in a future release. 4700 4701## Acknowledgements: 4702Gianpaolo Bravi, David Cosgrove, Andrew Dalke, Fabian Dey, James 4703Davidson, JP Ebejer, Gabriele Menna, Stephan Reiling, Roger Sayle, 4704James Swetnam 4705 4706## Bug Fixes: 4707- The molecules that come from mergeQueryHs() now reset the RingInfo 4708 structure. (issue 245) 4709- The output from MurckoScaffold.MakeScaffoldGeneric no longer 4710 includes stereochemistry or explicit Hs. (issue 246) 4711- D and T atoms in CTABs now have their isotope information 4712 set. (issue 247) 4713- Some problems with ring finding in large, complex molecules have 4714 been fixed. (issue 249) 4715- The "rootedAtAtom" argument for FindAllSubgraphsOfLengthN is now 4716 handled properly. (issue 250) 4717- Bonds now have a SetProp() method available in Python. (issue 251) 4718- A number of problems with the Crippen atom parameters have been 4719 fixed. (issue 252) 4720- Ring closure digits are no longer repeated on the same atom in 4721 SMILES generated by the RDKit. (issue 253) 4722- Non-ring sulfur atoms adjacent to aromatic atoms are no longer set 4723 to be SP2 hybridized. This allows them to be stereogenic. (issue 4724 254) 4725- The combineMols() function now clears computed properties on the 4726 result molecule. 4727- A couple of problems with the pickling functions on big endian 4728 hardware were fixed. 4729- The molecule drawing code now uses isotope information 4730- Superscript/Subscript handling in the agg canvas has been improved. 4731- SKP lines in CTABS are now propertly handled. (Issue 255) 4732- The name of the optional argument to mol.GetNumAtoms has been 4733 changed from onlyHeavy to onlyExplicit. The method counts the number 4734 of atoms in the molecular graph, not the number of heavy 4735 atoms. These numbers happen to usually be the same (which is why 4736 this has taken so long to show up), but there are exceptions if Hs 4737 or dummy atoms are in the graph. (Issue 256) 4738- Unknown bonds in SMILES are now output using '~' instead of '?'. The 4739 SMILES parser now recognizes '~' as an "any bond" query. (Issue 257) 4740- Lines containing only white space in SDF property blocks are no 4741 longer treated as field separators. 4742- Transition metals and lanthanides no longer have default valences 4743 assigned. 4744 4745## New Features: 4746- The RDKit now has a maximum common substructure (MCS) implementation 4747 contributed by Andrew Dalke. This is currently implemented in Python 4748 and is available as: from rdkit.Chem import MCS Documentation is 4749 available as a docstring for the function MCS.FindMCS and in the 4750 GettingStarted document. 4751- A few new functions have been added to rdkit.Chem.Draw: 4752 MolsToImage(), MolsToGridImage(), ReactionToImage() 4753- CalcMolFormula() now provides the option to include isotope 4754 information. 4755- The RDKit and Layered fingerprinters both now accept "fromAtoms" 4756 arguments that can be used to limit which atoms contribute to the 4757 fingerprint. 4758- Version information is now available in the Java wrapper. 4759- The descriptor NumRadicalElectrons is now available. 4760- The PyMol interface now supports a GetPNG() method which returns the 4761 current contents of the viewer window as an PIL Image object. 4762- Molecules (ROMol in C++, rdkit.Chem.Mol in Python) now have a 4763 getNumHeavyAtoms() method. 4764- Component-level grouping (parens) can be used in reaction SMARTS. 4765 4766 4767## New Database Cartridge Features: 4768- support for molecule <-> pickle conversion via the functions 4769 mol_to_pkl, mol_from_pkl, and is_valid_mol_pkl. 4770- support for bit vector <-> binary text conversion via the functions 4771 bfp_to_binary_text, bfp_from_binary_text 4772 4773## New Java Wrapper Features: 4774 4775Deprecated modules (to be removed in next release): 4776 4777Removed modules: 4778 4779## Other: 4780- During this release cycle, the sourceforge project was updated to 4781 their new hosting system. This explains the change in bug/issue 4782 ids. 4783- the SMILES parser is now substantially faster. 4784- The molecular drawings generated by Code/Demo/RDKit/Draw/MolDrawing.h 4785 have been improved. 4786- There is now demo code availble for using the C++ drawing code 4787 within Qt applications. (contributed by David Cosgrove) 4788- The directory $RDBASE/Regress now contains sample data and 4789 scripts for benchmarking the database cartridge. 4790- Fused-ring aromaticity is now only considered in rings of up to size 4791 24. 4792- It is no longer necessary to have flex and bison installed in order 4793 to build the RDKit. 4794 4795 4796# Release_2012.06.1 4797(Changes relative to Release_2012.03.1) 4798 4799## IMPORTANT 4800 - Some of the bug fixes affect the generation of SMILES. Canonical 4801 SMILES generated with this version of the RDKit will be different 4802 from previous versions. 4803 4804## Acknowledgements: 4805Andrew Dalke, JP Ebejer, Igor Filippov, Peter Gedeck, Jan Holst 4806Jensen, Adrian Jasiński, George Papadatos, Andrey Paramonov, Adrian 4807Schreyer, James Swetnam 4808 4809## Bug Fixes: 4810 - Radicals are now indicated in molecular depictions. (Issue 3516995) 4811 - Calling .next() on an SDMolSupplier at eof no longer results in an 4812 infinite loop. (Issue 3524949) 4813 - Chirality perception no longer fails in large molecules. 4814 (Issue 3524984) 4815 - problem creating molblock for atom with four chiral nbrs 4816 (Issue 3525000) 4817 - A second sanitization leads to a different molecule. 4818 (Issue 3525076) 4819 - can't parse Rf atom in SMILES 4820 (Issue 3525668) 4821 - generates [HH2-] but can't parse it 4822 (Issue 3525669) 4823 - improper (re)perception of 1H-phosphole 4824 (Issue 3525671) 4825 - ForwardSDMolSupplier not skipping forward on some errors 4826 (Issue 3525673) 4827 - SMILES/SMARTS parsers don't recognize 0 atom maps 4828 (Issue 3525776) 4829 - R group handling in SMILES 4830 (Issue 3525799) 4831 - Canonical smiles failure in symmetric heterocycles 4832 (Issue 3526810) 4833 - Canonical smiles failure with "extreme" isotopes 4834 (Issue 3526814) 4835 - Canonical smiles failure with many symmetric fragments 4836 (Issue 3526815) 4837 - Canonical smiles failure with dependent double bonds 4838 (Issue 3526831) 4839 - Build Fails Due to Missing include in Code/RDBoost/Wrap.h 4840 (Issue 3527061) 4841 - Incorrect template parameter use in std::make_pair 4842 (Issue 3528136) 4843 - Canonicalization failure in cycle 4844 (Issue 3528556) 4845 - incorrect values reported in ML analysis 4846 (Issue 3528817) 4847 - Cartridge does not work on 32bit ubuntu 12.04 4848 (Issue 3531232) 4849 - Murcko Decomposition generates unuseable molecule. 4850 (Issue 3537675) 4851 - A few memory leaks were fixed in the Java Wrappers 4852 - The exact mass of molecules with non-standard isotopes is now 4853 calculated correctly. 4854 - The default (Euclidean) distance metric should now work with Butina 4855 clustering. 4856 - Some bugs in the depictor were fixed. 4857 - AvalonTools bug with coordinate generation for mols with no 4858 conformers fixed. 4859 4860## New Features: 4861 - ChemicalFeatures now support an optional id 4862 - Isotope handling has been greatly improved. Atoms now have a 4863 getIsotope() (GetIsotope() in Python) method that returns zero if 4864 no isotope has been set, the isotope number otherwise. 4865 - The function MolFragmentToSmiles can be used to generate canonical 4866 SMILES for pieces of molecules. 4867 - The function getHashedMorganFingerprint (GetHashedMorganFingerprint 4868 in Python) has been added. 4869 4870## New Database Cartridge Features: 4871 - The functions mol_from_smiles(), mol_from_smarts(), and 4872 mol_from_ctab() now return a null value instead of generating an 4873 error when the molecule processing fails. This allows molecule 4874 tables to be constructed faster. 4875 - The functions mol_to_smiles() and mol_to_smarts() have been added. 4876 - Creating gist indices on bit-vector fingerprint columns is faster. 4877 - The indexing fingerprint for molecular substructures has been changed. 4878 The new fingerprint is a bit slower to generate, but is 4879 considerably better at screening. More information here: 4880 http://code.google.com/p/rdkit/wiki/ImprovingTheSubstructureFingerprint 4881 4882## New Java Wrapper Features: 4883 4884Deprecated modules (to be removed in next release): 4885 - Support for older (pre9.1) postgresql versions. 4886 4887Removed modules: 4888 - rdkit.Excel 4889 - the code in $RDBASE/Code/PgSQL/RDLib 4890 - rdkit.Chem.AvailDescriptors : the same functionality is now available 4891 in a more useable manner from rdkit.Chem.Descriptors 4892 4893## Other: 4894 - Similarity calculations on ExplicitBitVectors should now be much faster 4895 - Use of [Xa], [Xb], etc. for dummy atoms in SMILES is no longer 4896 possible. Use the "*" notation and either isotopes (i.e. [1*], 4897 [2*]) or atom maps (i.e. [*:1], [*:2]) instead. 4898 - Initial work was done towards make the RDKit work on big endian 4899 hardware (mainly changes to the way pickles are handled) 4900 - Canonical SMILES generation is now substantially faster. 4901 4902# Release_2012.03.1 4903(Changes relative to Release_2011.12.1) 4904 4905## IMPORTANT 4906 - The atom-atom match behavior for non-query atoms has been changed. 4907 This affects the results of doing substructure matches using 4908 query molecules that are not constructed from SMARTS. 4909 4910## Acknowledgements: 4911JP Ebejer, Paul Emsley, Roger Sayle, Adrian Schreyer, Gianluca Sforna, 4912Riccardo Vianello 4913 4914## Bug Fixes: 4915- the older form of group evaluations in Mol blocks is now correctly 4916 parsed. (Issue 3477283) 4917- some problems with handling aromatic boron were fixed. (Issue 3480481) 4918- the SD writer no longer adds an extra $$$$ when molecule parsing 4919 fails (Issue 3480790) 4920- molecules in SD files that don't contain atoms are now parsed 4921 without warnings and their properties are read in. (Issue 3482695) 4922- it's now possible to embed molecules despite failures in the triangle 4923 bounds checking (Issue 3483968) 4924- Isotope information in Mol blocks is now written to M ISO lines 4925 instead of going in the atom block. (Issue 3494552) 4926- Better 2D coordinates are now generated for neighbors of atoms with 4927 unspecified hybridization. (Issue 3487469) 4928- Dummy atoms and query atoms are now assigned UNSPECIFIED hybridization 4929 instead of SP. (Issue 3487473) 4930- Error reporting for SMARTS involving recursion has been improved. 4931 (Issue 3495296) 4932- Some problems of queries and generating SMARTS for queries were resolved. 4933 (Issues 3496759, 3496799, 3496800) 4934- It's now possible to do database queries with SMARTS that use the index. 4935 (Issue 3493156). 4936- A series of problems related to thread safety were fixed. 4937- Tracking the lifetime of owning molecules across the C++/Python 4938 border is now being handled better (Issue 3510149) 4939- A bug with ring-finding in some complex fused ring systems was fixed. 4940 (Issue 3514824) 4941- The AllChem module now imports successfully even if the SLN parser 4942hasn't been built. 4943 4944## New Features: 4945- The molecular sanitization is now configurable using an optional 4946 command-line argument. 4947- It's now possible to get information from the sanitization routine 4948 about which operation failed. 4949- Suppliers support GetLastItemText() 4950- ComputeDihedralAngle() and ComputeSignedDihedralAngle() were added 4951 to the rdkit.Geometry module. 4952- computeSignedDihedralAngle() was added to the C++ API 4953- ChemicalReactions now support a GetReactingAtoms() method 4954- the Mol file and Mol block parsers, as well as the SD suppliers, 4955 now support an optional "strictParsing" argument. 4956 When this is set to False, problems in the structure of the 4957 input file are ignored when possible 4958- EditableMols return the index of the atom/bond added by AddAtom/AddBond 4959- rdkit.Chem.Draw.MolToImage() now supports an optional "legend" argument 4960- The MolToSmiles function now supports an optional "allBondsExplicit" argument. 4961 4962## New Database Cartridge Features: 4963- the functions mol_from_smiles() and mol_from_smarts() were added 4964 4965## New Java Wrapper Features: 4966- the diversity picker now supports an optional random-number seed 4967 4968Deprecated modules (to be removed in next release): 4969- rdkit.Excel 4970 4971Removed modules: 4972- rdkit.ML.Descriptors.DescriptorsCOM 4973- rdkit.ML.Composite.CompositeCOM 4974 4975## Other: 4976- Assigning/cleaning up stereochemistry is now considerably 4977faster. This makes standard molecule construction faster. 4978 4979 4980# Release_2011.12.1 4981(Changes relative to Release_2011.09.1) 4982 4983## IMPORTANT 4984 - The functions for creating bit vector fingerprints using atom pairs 4985 and topological torsions have been changed. The new default 4986 behavior will return different fingerprints than previous RDKit 4987 versions. This affects usage from c++, python, and within the 4988 postgresql cartridge. See the "## Other" section below for more 4989 details. 4990 - Due to a bug fix in the parameter set, the MolLogP and MolMR 4991 descriptor calculators now return different values for some 4992 molecules. See the "## Bug Fixes" section below for more details. 4993 - To make storage more efficient, the size of the fingerprint 4994 used to store morgan fingerprints in the database cartridge 4995 has been changed from 1024 bits to 512 bits. If you update 4996 the cartridge version all morgan and featmorgan fingerprints 4997 and indices will need to be re-generated. 4998 4999## Acknowledgements: 5000Andrew Dalke, JP Ebejer, Roger Sayle, Adrian Schreyer, Gianluca 5001Sforna, Riccardo Vianello, Toby Wright 5002 5003## Bug Fixes: 5004- molecules with polymeric S group information are now rejected by the 5005 Mol file parser. (Issue 3432136) 5006- A bad atom type definition and a bad smarts definition were fixed in 5007 $RDBASE/Data/Crippen.txt. This affects the values returned by the 5008 logp and MR calculators. (Issue 3433771) 5009- Unused atom-map numbers in reaction products now produce warnings 5010 instead of errors. (Issue 3434271) 5011- rdMolDescriptors.GetHashedAtomPairFingerprint() now works. (Issue 5012 3441641) 5013- ReplaceSubstructs() now copies input molecule conformations to the 5014 output molecule. (Issue 3453144) 5015- three-coordinate S and Se are now stereogenic (i.e. the 5016 stereochemistry of O=[S@](C)F is no longer ignored). (Issue 3453172) 5017 5018## New Features: 5019- Integration with the new IPython graphical canvas has been 5020 added. For details see this wiki page: 5021http://code.google.com/p/rdkit/wiki/IPythonIntegration 5022- Input and output from Andrew Dalke's FPS format 5023 (http://code.google.com/p/chem-fingerprints/wiki/FPS) for 5024 fingerprints. 5025- The descriptor CalcNumAmideBonds() was added. 5026 5027## New Database Cartridge Features: 5028- Support for PostgreSQL v9.1 5029- Integration with PostgreSQL's KNN-GIST functionality. (Thanks to 5030 Adrian Schreyer) 5031- the functions all_values_gt(sfp,N) and all_values_lt(sfp,N) were 5032 added. 5033 5034## New Java Wrapper Features: 5035- A function for doing diversity picking using fingerprint similarity. 5036- support for the Avalon Toolkit (see below) 5037 5038Deprecated modules (to be removed in next release): 5039- rdkit.Excel 5040- rdkit.ML.Descriptors.DescriptorsCOM 5041- rdkit.ML.Composite.CompositeCOM 5042 5043Removed modules: 5044- rdkit.WebUtils 5045- rdkit.Reports 5046- rdkit.mixins 5047 5048## Other: 5049- Improvements to the SMARTS parser (Roger Sayle) 5050- The atom-pair and topological-torsion fingerprinting functions that 5051 return bit vectors now simulate counts by setting multiple bits in 5052 the fingerprint per atom-pair/torsion. The number of bits used is 5053 controlled by the nBitsPerEntry argument, which now defaults to 4. 5054 The new default behavior does a much better job of reproducing the 5055 similarities calculated using count-based fingerprints: 95% of 5056 calculated similarities are within 0.09 of the count-based value 5057 compared with 0.22 or 0.17 for torsions and atom-pairs previously. 5058 To get the old behavior, set nBitsPerEntry to 1. 5059- Optional support has been added for the Avalon Toolkit 5060(https://sourceforge.net/projects/avalontoolkit/) to provide an 5061alternate smiles canonicalization, fingerprint, and 2D coordination 5062generation algorithm. 5063- The SLN support can now be switched off using the cmake variable 5064RDK_BUILD_SLN_SUPPORT. 5065- There are now instructions for building the RDKit and the SWIG 5066wrappers in 64bit mode on windows. 5067 5068# Release_2011.09.1 5069(Changes relative to Release_2011.06.1) 5070 5071## IMPORTANT 5072 - A bug in the definition of the Lipinski HBD descriptor was fixed in 5073 this release. The descriptor Lipinski.NHOHCount will return 5074 different values for molecules containing Ns or Os with more than 5075 one attached H. 5076 5077## Acknowledgements: 5078Eddie Cao, Richard Cooper, Paul Czodrowski, James Davidson, George 5079Papadatos, Riccardo Vianello 5080 5081## Bug Fixes: 5082 - A problem with interpretation of stereochemistry from mol files was 5083 fixed (Issue 3374639) 5084 - Sterochemistry information for exocyclic double bonds in mol blocks 5085 is no longer lost. (Issue 3375647) 5086 - linear double bonds from mol files now have their stereochemistry 5087 set correctly(Issue 3375684) 5088 - Chirality for phosphates and sulfates is not longer automatically 5089 removed. (Issue 3376319) 5090 - A bug with the reading of query information from mol files was 5091 fixed. (Issue 3392107) 5092 - Sterochemistry is now cleaned up after processing mol2 5093 files. (Issue 3399798) 5094 - mergeQueryHs now correctly handles atoms with multiple Hs (Issue 5095 3415204) 5096 - mergeQueryHs now correctly handles atoms without initial query 5097 information (Issue 3415206) 5098 - the calcLipinskiHBD() (equivalent to Lipinski.NHOHCount) descriptor 5099 now correctly handles Ns or Os with multiple Hs. (Issue 3415534) 5100 - Morgan fingerprints generated using the fromAtoms argument now have 5101 all bits from those atoms set.(Issue 3415636) 5102 - A problem with the way MolSuppliers handle the EOF condition when 5103 built with the most recent versions of g++ was fixed. 5104 - Translation of RDKit stereochemistry information into InChI 5105 stereochemistry information is improved. 5106 5107## New Features: 5108 5109## New Database Cartridge Features: 5110 - molecules can now be built from mol blocks using the function 5111 mol_from_ctab(). The corresponding is_valid_ctab() function was 5112 also added. 5113 - the radius argument is now optional for the functions morganbv_fp, 5114 morgan_fp, featmorganbv_fp, and featmorgan_fp. The default radius 5115 for all four functions is 2. 5116 5117Deprecated modules (to be removed in next release): 5118 5119Removed modules: 5120 5121## Other: 5122 - The documentation in $RDBASE/Docs/Book has been migrated to use 5123 Sphinx instead of OpenOffice. 5124 - The optional InChI support can now be built using a system 5125 installation of the InChI library. 5126 5127 5128 5129# Release_2011.06.1 5130(Changes relative to Release_2011.03.2) 5131 5132## Acknowledgements: 5133 - Eddie Cao, Andrew Dalke, James Davidson, JP Ebejer, Gianluca 5134 Sforna, Riccardo Vianello, Bernd Wiswedel 5135 5136## Bug Fixes: 5137 - A problem with similarity values between SparseIntVects that 5138 contain negative values was fixed. (Issue 3295215) 5139 - An edge case in SmilesMolSupplier.GetItemText() was fixed. (Issue 5140 3299878) 5141 - The drawing code now uses dashed lines for aromatic bonds without 5142 kekulization. (Issue 3304375) 5143 - AllChem.ConstrainedEmbed works again. (Issue 3305420) 5144 - atomic RGP values from mol files are accessible from python (Issue 5145 3313539) 5146 - M RGP blocks are now written to mol files. (Issue 3313540) 5147 - Atom.GetSymbol() for R atoms read from mol files is now 5148 correct. (Issue 3316600) 5149 - The handling of isotope specifications is more robust. 5150 - A thread-safety problem in SmilesWrite::GetAtomSmiles() was fixed. 5151 - some of the MACCS keys definitions have been corrected 5152 - Atoms with radical counts > 2 are no longer always written to CTABs 5153 with a RAD value of 3. (Issue 3359739) 5154 5155## New Features: 5156 - The smiles, smarts, and reaction smarts parsers all now take an additional 5157 argument, "replacements", that carries out string substitutions pre-parsing. 5158 - There is now optional support for generating InChI codes and keys 5159 for molecules. 5160 - the atom pair and topological torsion fingerprint generators now 5161 take an optional "ignoreAtoms" argument 5162 - a function to calculate exact molecular weight was added. 5163 - new java wrappers are now available in $RDBASE/Code/JavaWrappers 5164 - the methods getMostCommonIsotope() and getMostCommonIsotopeMass() 5165 have been added to the PeriodicTable class. 5166 5167## New Database Cartridge Features: 5168 - Support for generating InChIs and InChI keys 5169 (if the RDKit InChI support is enabled). 5170 5171Deprecated modules (to be removed in next release): 5172 - The original SWIG wrappers in $RDBASE/Code/Demos/SWIG are deprecated 5173 5174Removed modules: 5175 5176## Other: 5177 - The quality of the drawings produced by both the python molecule drawing 5178 code and $RDBASE/Code/Demos/RDKit/Draw is better. 5179 - the python molecule drawing code will now use superscripts and 5180 subscripts appropriately when using the aggdraw or cairo canvases 5181 (cairo canvas requires pango for this to work). 5182 - $RDBASE/Code/Demos/RDKit/Draw now includes an example using cairo 5183 - A lot of compiler warnings were cleaned up. 5184 - The error reporting in the SMILES, SMARTS, and SLN parsers was improved. 5185 - the code for calculating molecular formula is now in C++ 5186 (Descriptors::calcMolFormula()) 5187 5188 5189# Release_2011.03.2 5190(Changes relative to Release_2011.03.1) 5191 5192## Bug Fixes: 5193 - A problem in the refactored drawing code that caused the 5194 rdkit.Chem.Draw functionality to not work at all was fixed. 5195 5196 5197# Release_2011.03.1 5198(Changes relative to Release_2010.12.1) 5199 5200## Acknowledgements: 5201 - Eddie Cao, James Davidson, Kirk DeLisle, Peter Gedeck, George 5202 Magoon, TJ O'Donnell, Gianluca Sforna, Nik Stiefl, Bernd Wiswedel 5203 5204## Bug Fixes: 5205 - The performance of SSSR finding for molecules with multiple highly-fused 5206 ring systems has been improved. (Issue 3185548) 5207 - Isotope information is now correctly saved when molecules are 5208 serialized (pickled). (Issue 3205280) 5209 - Generating SMILES for a molecule no longer changes the 5210 molecule. This fixes a round-trip bug with certain highly symmetric 5211 molecules read from SD files. (Issue 3228150) 5212 - Another bounds-matrix generation bug for highly (con)strained 5213 systems was fixed. (Issue 3238580) 5214 - Conformation information is now better handled by deleteSubstructs(), 5215 replaceSubstructs(), and replaceCore(). 5216 5217## New Features: 5218 - the rdkit.Chem.Draw package has been significantly refactored. 5219 - Code for doing Murcko decomposition of molecules has been 5220 added. From Python this is in the module: 5221 rdkit.Chem.Scaffolds.MurckoScaffold 5222 It's available in C++ in the GraphMol/ChemTransforms area. 5223 - rdkit.Chem.AllChem.TransformMol() now takes optional arguments 5224 allowing the conformation to be transformed to be specified and 5225 other existing conformations to be preserved. 5226 - Calculations for most of the descriptors in rdkit.Chem.Lipinski and 5227 rdkit.Chem.MolSurf have been moved into C++. The python API is the 5228 same, but the calculations should be somewhat faster. 5229 - Extensive feature additions to the SWIG-based java wrapper. 5230 - The Chem.ReplaceCore() function is now better suited for use 5231 in R-group decomposition. 5232 - The Morgan fingerprinting code can now return information about 5233 which atoms set particular bits. 5234 - The function pathToSubmol() now copies coordinate information 5235 from conformations (if present). The function is also now available 5236 from Python 5237 - The path and subgraph finding code now takes an optional 5238 rootedAtAtom argument to allow only paths/subgraphs that start at a 5239 particular atom to be generated. 5240 - The function findAtomEnvironmentOfRadiusN has been added to allow 5241 circular atom environments to be located in molecules. 5242 - MolOps::assignStereochemistry now can also flag potential 5243 stereocenters that are not specified. 5244 5245## New Database Cartridge Features: 5246 - the descriptor-calculation functions mol_numrotatablebonds(), 5247 mol_numheteroatoms(), mol_numrings(), and mol_tpsa() have been 5248 added. 5249 5250Deprecated modules (to be removed in next release): 5251 5252Removed modules: 5253 5254## Other: 5255 - In C++, the functions CalcCrippenDescriptors and CalcAMW have been 5256 renamed calcCrippenDescriptors and calcAMW to make them consistent 5257 with the other descriptor calculators. 5258 - The molecule serialization (pickling) format has been changed. The 5259 new format is more compact. 5260 5261 5262 5263# Release_2010.12.1 5264(Changes relative to Release_2010.09.1) 5265 5266## IMPORTANT 5267 - Due to changes made to the fingerprinting code, RDKit and layered 5268 fingerprints generated with this release are not compatible with 5269 those from previous releases. For users of the database cartridge: 5270 you will need to re-generate RDKit fingerprint columns and any 5271 indices on molecule tables. 5272 5273## Acknowledgements: 5274 - Eddie Cao, Andrew Dalke, James Davidson, Kirk DeLisle, Peter Gedeck, 5275 TJ O'Donnell, Gianluca Sforna, Nik Stiefl, Riccardo Vianello 5276 5277## Bug Fixes: 5278 - The depiction code no longer crashes with single-atom templates 5279 (issue 3122141) 5280 - Aromatic bonds in the beginning of a SMILES branch are now 5281 correctly parsed (issue 3127883) 5282 - A crash when generating 2d constrained coordinates was fixed (issue 5283 3135833) 5284 - Stereochemistry no longer removed from double bonds in large 5285 rings. (issue 3139534) 5286 - Atom mapping information no longer in reaction products (issue 5287 3140490) 5288 - Smiles parse failure with repeated ring labels and dot disconnects 5289 fixed (issue 3145697) 5290 - a bug causing the molecule drawing code to not use the cairo canvas 5291 when it's installed was fixed 5292 - the SMILES generated for charged, aromatic Se or Te has been fixed 5293 (issue 3152751) 5294 - PropertyMols constructed from pickles and then written to SD files 5295 will now include the properties in the SD file. 5296 - SMILES can now be generated correctly for very large molecules 5297 where more than 50 rings are open at once. (issue 3154028) 5298 5299## New Features: 5300 - All molecular descriptor calculators are now pulled in by the 5301 rdkit.Chem.Descriptors module. So you can do things like: 5302 Descriptors.MolLogP(mol) or Descriptors.fr_amide(mol) 5303 - Atom-map numbers in SMILES are now supported. They can be accessed 5304 as the atomic "molAtomMapNumber" property. (issue 3140494) 5305 - It's now possible to tell the RDKit to generate non-canonical 5306 SMILES via an optional argument to MolToSmiles. This is faster than 5307 generating canonical SMILES, but is primarity intended for 5308 debugging/testing. (issue 3140495) 5309 - The function GenerateDepictionMatching2DStructure() has been added 5310 to the rdkit.Chem.AllChem module to make generating 5311 template-aligned depictions easier. 5312 - Generating FCFP-like fingerprints is now more straightforward via 5313 the useFeatures optional argument to GetMorganFingerprint() 5314 - Extensive changes were made to the layered fingerprinting code to 5315 allow better coverage of queries. 5316 - Functionality for stripping common salts from molecules has been 5317 added in rdkit.Chem.SaltRemover. The salts themselves are defined 5318 in $RDBASE/Data/Salts.txt 5319 - Functionality for recognizing common functional groups has been 5320 added in rdkit.Chem.FunctionalGroups. The functional groups 5321 themselves are defined in 5322 $RDBASE/Data/Functional_Group_Hierarchy.txt 5323 5324## New Database Cartridge Features: 5325 - The cartridge now supports SMARTS queries. 5326 - The functions is_valid_{smiles,smarts}() are now available 5327 (issue 3097359). 5328 - The operator @= is now supported for testing molecule equality. 5329 (issue 3120707) 5330 - The functions featmorgan_fp() and featmorganbv_fp() are now 5331 available for generating FCFP-like fingerprints. 5332 5333Deprecated modules (to be removed in next release): 5334 - rdkit.Chem.AvailDescriptors : the same functionality is now available 5335 in a more useable manner from rdkit.Chem.Descriptors (see above). 5336 5337Removed modules: 5338 5339## Other: 5340 - RDKit support has been added to the Knime data mining and reporting 5341 tool. More information is available from the knime.org community 5342 site: http://tech.knime.org/community/rdkit 5343 Thanks to Thorsten, Bernd, Michael, and the rest of the crew at 5344 knime.com for making this possible. 5345 - RPMs to allow easy installation of the RDKit on Fedora/CentOS/RHEL 5346 and similar systems are now available. Thanks to Gianluca Sforna 5347 for doing this work. 5348 - The database cartridge now statically links the RDKit libraries. 5349 This should make installation easier. 5350 - The RDKit fingerprinter now by default sets 2 bits per hashed 5351 subgraph instead of 4. The old behavior can be regained by setting 5352 nBitsPerHash to 4. 5353 5354# Release_2010.09.1 5355(Changes relative to Release_Q22010_1) 5356 5357## IMPORTANT 5358 - Due to changes made to the layered fingerprinting code, 5359 fingerprints generated with this release are not compatible with 5360 fingerprints from earlier releases. 5361 - The default arguments to the Morgan fingerprinting code will yield 5362 fingerprints that are not backwards compatible. 5363 5364## Acknowledgements: 5365 - Andrew Dalke, James Davidson, Paul Emsley, Peter Gedeck, 5366 Uwe Hoffmann, Christian Kramer, Markus Kossner, TJ O'Donnell, 5367 Gianluca Sforna, Nik Stiefl, Riccardo Vianello 5368 5369## Bug Fixes: 5370 - A typo in the parameters for the Crippen clogp calculator was 5371 fixed. (issue 3057201) 5372 - some problems in the layered fingerprinting code were fixed. (issue 5373 3030388) 5374 - a bug in the ring-finding code that could lead to incorrect results 5375 or crashes in large molecules was fixed. 5376 - the Murtagh clustering code should now execute correctly on recent 5377 versions of the MacOS. 5378 - some problems with the cairo canvas were fixed 5379 - a problem with matching non-default isotope SSS queries for molecules 5380 read in from CTABs was fixed (issue 3073163). 5381 - a problem with calculating AMW for molecules with non-default isotopes 5382 was fixed. 5383 5384## New Features: 5385 - a PostgreSQL cartridge for similarity and substructure searching 5386 has been added to the RDKit distribution. 5387 - The Morgan fingerprinting code accepts additional arguments that 5388 control whether or not bond order and chirality are taken into 5389 account. By default chirality is ignored and the bond order is 5390 used. Another change with the MorganFPs is that ring information is 5391 now included by default. 5392 - 2D coordinates can now be generated for chemical reactions. 5393 - The functions IsMoleculeReactantOfReaction and 5394 IsMoleculeProductOfReaction have been added to the C++ 5395 interface. From python these are methods of the ChemicalReaction 5396 class: 5397 rxn.IsMoleculeReactant and rxn.IsMoleculeProduct 5398 - The default bond length for depiction can now be changed. 5399 - FCFP-like fingerprints can now be generated with the Morgan 5400 fingerprinting code by starting with feature invariants. 5401 - The close() method has been added to MolWriters. 5402 - Morgan, atom-pair, and topological-torsion fingerprints can now 5403 also be calculated as bit vectors. 5404 - RDKit and layered fingerprints can now be generated using only 5405 linear paths. 5406 - the function findAllPathsOfLengthMtoN() was added 5407 5408Deprecated modules (to be removed in next release): 5409 5410Removed modules: 5411 - rdkit/qtGui 5412 - rdkit/RDToDo 5413 - Projects/SDView 5414 5415## Other: 5416 - As of this release a new version numbering scheme is being used: 5417 YYYY.MM.minor. An example, this release was done in Sept. of 2010 5418 so it's v2010.09.1. 5419 - the RDBASE environment variable is no longer required. It will be 5420 used if set, but the code should work without it 5421 - The directory Contrib/M_Kossner contains two new contributions from 5422 Markus Kossner. 5423 - A change was made to the subgraph matching code that speeds up 5424 substructure searches involving repeated recursive queries. 5425 - the deprecated registerQuery argument has been removed from the 5426 substructure matching functions. 5427 - the empty header files AtomProps.h and BondProps.h have been 5428 removed. 5429 - in order to simplify the build process the test databases are now 5430 in svn 5431 - some python functions to calculate descriptors (i.e. pyMolWt, 5432 pyMolLogP, etc.) that have C++ equivalents have been removed to 5433 clean up the interface 5434 - the PIL canvas should no longer generate warnings 5435 - Thanks to the help of Gianluca Sforna and Riccardo Vianello, it is 5436 now much easier to package and distribute the RDKit. 5437 - the bjam-based build system has been removed. 5438 5439# Release_Q22010_1 5440(Changes relative to Release_Q12010_1) 5441 5442## IMPORTANT 5443 - There are a couple of refactoring changes that affect people using 5444 the RDKit from C++. Please look in the ## Other section below for a list. 5445 - If you are building the RDKit yourself, changes made in this 5446 release require that you use a reasonably up-to-date version of 5447 flex to build it. Please look in the ## Other section below for more 5448 information. 5449 5450## Acknowledgements: 5451 - Andrew Dalke, James Davidson, Kirk DeLisle, Thomas Heller, Peter Gedeck, 5452 Greg Magoon, Noel O'Boyle, Nik Stiefl, 5453 5454## Bug Fixes: 5455 - The depictor no longer generates NaNs for some molecules on 5456 windows (issue 2995724) 5457 - [X] query features work correctly with chiral atoms. (issue 5458 3000399) 5459 - mols will no longer be deleted by python when atoms/bonds returned 5460 from mol.Get{Atom,Bond}WithIdx() are still active. (issue 3007178) 5461 - a problem with force-field construction for five-coordinate atoms 5462 was fixed. (issue 3009337) 5463 - double bonds to terminal atoms are no longer marked as "any" bonds 5464 when writing mol blocks. (issue 3009756) 5465 - a problem with stereochemistry of double bonds linking rings was 5466 fixed. (issue 3009836) 5467 - a problem with R/S assignment was fixed. (issue 3009911) 5468 - error and warning messages are now properly displayed when cmake 5469 builds are used on windows. 5470 - a canonicalization problem with double bonds incident onto aromatic 5471 rings was fixed. (issue 3018558) 5472 - a problem with embedding fused small ring systems was fixed. 5473 (issue 3019283) 5474 5475## New Features: 5476 - RXN files can now be written. (issue 3011399) 5477 - reaction smarts can now be written. 5478 - v3000 RXN files can now be read. (issue 3009807) 5479 - better support for query information in mol blocks is present. 5480 (issue 2942501) 5481 - Depictions of reactions can now be generated. 5482 - Morgan fingerprints can now be calculated as bit vectors (as 5483 opposed to count vectors. 5484 - the method GetFeatureDefs() has been added to 5485 MolChemicalFeatureFactory 5486 - repeated recursive SMARTS queries in a single SMARTS will now be 5487 recognized and matched much faster. 5488 - the SMILES and SMARTS parsers can now be run safely in 5489 multi-threaded code. 5490 5491Deprecated modules (to be removed in next release): 5492 - rdkit/qtGui 5493 - Projects/SDView 5494 5495Removed modules: 5496 - SVD code: External/svdlibc External/svdpackc rdkit/PySVD 5497 - rdkit/Chem/CDXMLWriter.py 5498 5499## Other: 5500 - The large scale changes in the handling of stereochemistry were 5501 made for this release. These should make the code more robust. 5502 - If you are building the RDKit yourself, changes made in this 5503 release require that you use a reasonably up-to-date version of 5504 flex to build it. This is likely to be a problem on Redhat, and 5505 redhat-derived systems. Specifically: if your version of flex is 5506 something like 2.5.4 (as opposed to something like 2.5.33, 2.5.34, 5507 etc.), you will need to get a newer version from 5508 http://flex.sourceforge.net in order to build the RDKit. 5509 5510 - Changes only affecting C++ programmers: 5511 - The code for calculating topological-torsion and atom-pair 5512 fingerprints has been moved from $RDBASE/Code/GraphMol/Descriptors 5513 to $RDBASE/Code/GraphMol/Fingerprints. 5514 - The naming convention for methods of ExplicitBitVect and 5515 SparseBitVect have been changed to make it more consistent with 5516 the rest of the RDKit. 5517 - the bjam-based build system should be considered 5518 deprecated. This is the last release it will be actively 5519 maintained. 5520 5521 5522# Release_Q12010_1 5523(Changes relative to Release_Q42009_1) 5524 5525## Acknowledgements: 5526 - Andrew Dalke, Jean-Marc Nuzillard, Noel O'Boyle, Gianluca Sforna, 5527 Nik Stiefl, Anna Vulpetti 5528 5529## Bug Fixes 5530 - Substantial improvements were made to the SLN parser 5531 - A bad depiction case was fixed. (issue 2948402) 5532 - Hs added to planar carbons are no longer in the same plane as the 5533 other atoms. (issue 2951221) 5534 - Elements early in the periodic table (e.g. Mg, Na, etc.) no longer 5535 have their radical counts incorrectly assigned. (issue 2952255) 5536 - Some improvements were made to the v3k mol file parser. (issue 5537 2952272) 5538 - Double bonds with unspecified stereochemistry are now correctly 5539 flagged when output to mol files. (issue 2963522) 5540 - A segmentation fault that occurred when kekulizing modified 5541 molecules has been fixed. (issue 2983794) 5542 5543## New Features 5544 - The MaxMin diversity picker can now be given a seed for the random 5545 number generator to ensure reproducible results. 5546 5547## Other 5548 - the vflib source, which is no longer used, was removed from the 5549 External source tree. It's still available in svn at rev1323 or via 5550 this tarball: 5551 http://rdkit.svn.sourceforge.net/viewvc/rdkit/trunk/External/vflib-2.0.tar.gz?view=tar&pathrev=1323 5552 - the directory Contrib has been added to the RDKit distribution to 5553 house contributions that don't necessarily fit anywhere else. The 5554 first contribution here is a collection of scripts required to 5555 implement local-environment fingerprints contributed by Anna 5556 Vulpetti. 5557 - Some optimization work was done on the molecule initialization code: 5558 reading in molecules is now somewhat faster. 5559 - Some optimization work was done on the RDK and Layered fingerprinting code. 5560 5561# Release_Q42009_1 5562(Changes relative to Release_Q32009_1) 5563 5564## IMPORTANT 5565 - A bug fix in the SMARTS parser has changed the way atom-map 5566 numbers in Reaction SMARTS are parsed. 5567 Earlier versions of the RDKit required that atom maps be 5568 specified at the beginning of a complex atom query: 5569 [CH3:1,NH2]>>[*:1]O 5570 The corrected version only accepts this form: 5571 [CH3,NH2:1]>>[*:1]O 5572 This change may break existing SMARTS patterns. 5573 - A switch to using cmake as the build system instead of bjam has 5574 made the RDKit much easier to build. 5575 5576## Acknowledgements 5577 - Andrew Dalke, Kirk DeLisle, David Hall, Markus Kossner, Adrian 5578 Schreyer, Nikolaus Stiefl, Jeremy Yang 5579 5580## Bug Fixes 5581 - the SMARTS parser now correctly requires tha atom-map numbers be 5582 at the end of a complex atom query. 5583 (issue 1804420) 5584 - a bug in the way SMARTS matches are uniquified has been fixed 5585 (issue 2884178) 5586 5587## New Features 5588 - The new SMARTS atomic query feature "x" (number of ring bonds) is 5589 now supported. 5590 - The proof-of-concept for a SWIG-based wrapper around the RDKit has 5591 been expanded a bit in functionality. Samples are now included for 5592 Java, C#, and Python. 5593 - Information about the current RDKit and boost versions is now 5594 available from C++ (file RDGeneral/versions.h) and Python 5595 (rdBase.rdkitVersion and rdBase.boostVersion) 5596 - The KNN code now supports weighted nearest-neighbors calculations 5597 with a radius cutoff. 5598 5599## Other 5600 - The lapack dependency has been completely removed from the RDKit. 5601 - The supported build system for the RDKit is now cmake 5602 (http://www.cmake.org) instead of bjam. See the file INSTALL for 5603 the new installation instructions. Files for bjam are still 5604 included in the distribution but are deprecated and will be 5605 removed in a future version. 5606 5607 5608# Release_Q32009_1 5609(Changes relative to Release_Q22009_1) 5610 5611## IMPORTANT 5612 - Due to bug fixes in the boost random-number generator, RDK 5613 fingerprints generated with boost 1.40 are not backwards 5614 compatible with those from earlier versions. 5615 5616## Acknowledgements 5617 - Uwe Hoffmann, Nik Stiefl, Greg Magoon, Ari Gold-Parker, 5618 Akihiro Yokota, Kei Taneishi, Riccardo Vianello, Markus Kossner 5619 5620## Bug Fixes 5621 - the canonOrient argument to the depiction code now works 5622 (issue 2821647) 5623 - typo in the depictor 2D embedding code fixed 5624 (issue 2822883) 5625 - single aromatic atoms in chains now (correctly) fail sanitization 5626 (issue 2830244) 5627 - problem with embedding and fused rings fixed 5628 (issue 2835784) 5629 - crash when reading some large molecules fixed 5630 (issue 2840217) 5631 - trailing newline in TemplateExpand.py fixed 5632 (issue 2867325) 5633 - fingerprint incompatibility on 64bit machines fixed 5634 (issue 2875658) 5635 - PropertyMol properties are now written to SD files 5636 (issue 2880943) 5637 5638## New Features 5639 - to the extent possible, reactions now transfer coordinates from 5640 reactant molecules to product molecules (issue 2832951) 5641## Other 5642 - the function DaylightFingerprintMol() has been removed 5643 - the outdated support for Interbase has been removed 5644 - the Compute2DCoords() function in Python now canonicalizes the 5645 orientation of the molecule by default. 5646 - the distance-geometry code should now generate less bad amide 5647 conformations. (issue 2819563) 5648 - the quality of distance-geometry embeddings for substituted- and 5649 fused-ring systems should be better. 5650 5651# Release_Q22009_1 5652(Changes relative to Release_Q12009_2) 5653 5654## Acknowledgements 5655 - Uwe Hoffmann, Marshall Levesque, Armin Widmer 5656 5657## Bug Fixes 5658 - handling of crossed bonds in mol files fixed (issue 2804599) 5659 - serialization bug fixed (issue 2788233) 5660 - pi systems with 2 electrons now flagged as aromatic (issue 2787221) 5661 - Chirality swap on AddHs (issue 2762917) 5662 - core leak in UFFOptimizeMolecule fixed (issue 2757824) 5663 5664## New Features 5665 - cairo support in the mol drawing code (from Uwe Hoffmann) (issue 2720611) 5666 - Tversky and Tanimoto similarities now supported for SparseIntVects 5667 - AllProbeBitsMatch supported for BitVect-BitVect comparisons 5668 - ChemicalReactions support serialization (pickling) (issue 2799770) 5669 - GetAtomPairFingerprint() supports minLength and maxLength arguments 5670 - GetHashedTopologicalTorsionFingerprint() added 5671 - preliminary support added for v3K mol files 5672 - ForwardSDMolSupplier added 5673 - CompressedSDMolSupplier added (not supported on windows) 5674 - UFFHasAllMoleculeParams() added 5675 - substructure searching code now uses an RDKit implementation of 5676 the vf2 algorithm. It's much faster. 5677 - Atom.GetPropNames() and Bond.GetPropNames() now available from 5678 python 5679 - BRICS code now supports FindBRICSBonds() and BreakBRICSBonds() 5680 - atom labels Q, A, and * in CTABs are more correctly supported 5681 (issue 2797708) 5682 - rdkit.Chem.PropertyMol added (issue 2742959) 5683 - support has been added for enabling and disabling logs 5684 (issue 2738020) 5685 5686## Other 5687 - A demo has been added for using the MPI with the RDKit 5688 ($RDBASE/Code/Demos/RDKit/MPI). 5689 - Embedding code is now better at handling chiral structures and 5690 should produce results for molecules with atoms that don't have 5691 UFF parameters. 5692 - the UFF code is more robust w.r.t. missing parameters 5693 - GetHashedAtomPairFingerprint() returns SparseIntVect instead of 5694 ExplicitBitVect 5695 - the CTAB parser (used for mol files and SD files) is faster 5696 - extensive changes to the layered fingerprinting code; 5697 fingerprinting queries is now possible 5698 - molecule discriminator code moved into $RDBASE/Code/GraphMol/Subgraphs 5699 - the SDView4 prototype has been expanded 5700 - $RDBASE/Regress has been added to contain regression and 5701 benchmarking data and scripts. 5702 - support for sqlalchemy has been added to $RDBASE/rdkit/Chem/MolDb 5703 - $RDBASE/Projects/DbCLI/SDSearch.py has been removed; use the 5704 CreateDb.py and SearchDb.py scripts in the same directory instead. 5705 - the BRICS code has been refactored 5706 5707# Release_Q12009_2 5708(Changes relative to Release_Q42008_1) 5709 5710## IMPORTANT 5711 5712 - The directory structure of the distribution has been changed in 5713 order to make installation of the RDKit python modules more 5714 straightforward. Specifically the directory $RDBASE/Python has been 5715 renamed to $RDBASE/rdkit and the Python code now expects that 5716 $RDBASE is in your PYTHONPATH. When importing RDKit Python modules, 5717 one should now do: "from rdkit import Chem" instead of "import 5718 Chem". Old code will continue to work if you also add $RDBASE/rdkit 5719 to your PYTHONPATH, but it is strongly suggested that you update 5720 your scripts to reflect the new organization. 5721 - For C++ programmers: There is a non-backwards compatible change in 5722 the way atoms and bonds are stored on molecules. See the *## Other* 5723 section for details. 5724 5725## Acknowledgements 5726 - Kirk DeLisle, Noel O'Boyle, Andrew Dalke, Peter Gedeck, Armin Widmer 5727 5728## Bug Fixes 5729 - Incorrect coordinates from mol2 files (issue 2727976) 5730 - Incorrect handling of 0s as ring closure digits (issues 2525792, 5731 and 2690982) 5732 - Incorrect handling of atoms with explicit Hs in reactions (issue 2540021) 5733 - SmilesMolSupplier.GetItemText() crashes (issue 2632960) 5734 - Incorrect handling of dot separations in reaction SMARTS (issue 2690530) 5735 - Bad charge lines in mol blocks for large molecules (issue 2692246) 5736 - Order dependence in AssignAtomChiralTagsFromStructure (issue 2705543) 5737 - Order dependence in the 2D pharmacophore code 5738 - the LayeredFingerprints now handle non-aromatic single ring bonds 5739 between aromatic atoms correctly. 5740 5741 5742## New Features 5743 - BRICS implementation 5744 - Morgan/circular fingerprints implementation 5745 - The 2D pharmacophore code now uses standard RDKit fdef files. 5746 - Atom parity information in CTABs now written and read. If present 5747 on reading, atom parity flags are stored in the atomic property 5748 "molParity". 5749 - An optional "fromAtoms" argument has been added to the atom pairs 5750 and topological torsion fingerprints. If this is provided, only atom 5751 pairs including the specified atoms, or torsions that either start 5752 or end at the specified atoms, will be included in the fingerprint. 5753 - Kekulization is now optional when generating CTABs. Since the MDL 5754 spec suggests that aromatic bonds not be used, this is primarily 5755 intended for debugging purposes. 5756 - the removeStereochemistry() (RemoveStereoChemistry() from Python) 5757 function has been added to remove all stereochemical information 5758 from a molecule. 5759 5760## Other 5761 - The Qt3-based GUI functionality in $RDBASE/rdkit/qtGui and 5762 $RDBASE/Projects/SDView is deprecated. It should still work, but it 5763 will be removed in a future release. Please do not build anything 5764 new on this (very old and creaky) framework. 5765 - The function DaylightFingerprintMol() is now deprecated, use 5766 RDKFingerprintMol() instead. 5767 - For C++ programmers: The ROMol methods getAtomPMap() and 5768 getBondPMap() have been removed. The molecules themselves now support 5769 an operator[]() method that can be used to convert graph iterators 5770 (e.g. ROMol:edge_iterator, ROMol::vertex_iterator, 5771 ROMol::adjacency_iterator) to the corresponding Atoms and Bonds. 5772 New API for looping over an atom's bonds: 5773 ... molPtr is a const ROMol * ... 5774 ... atomPtr is a const Atom * ... 5775 ROMol::OEDGE_ITER beg,end; 5776 boost::tie(beg,end) = molPtr->getAtomBonds(atomPtr); 5777 while(beg!=end){ 5778 const BOND_SPTR bond=(*molPtr)[*beg]; 5779 ... do something with the Bond ... 5780 ++beg; 5781 } 5782 New API for looping over a molecule's atoms: 5783 ... mol is an ROMol ... 5784 ROMol::VERTEX_ITER atBegin,atEnd; 5785 boost::tie(atBegin,atEnd) = mol.getVertices(); 5786 while(atBegin!=atEnd){ 5787 ATOM_SPTR at2=mol[*atBegin]; 5788 ... do something with the Atom ... 5789 ++atBegin; 5790 } 5791 5792# Release_Q42008_1 5793(Changes relative to Release_Q32008_1) 5794 5795## IMPORTANT 5796 - A fix in the handling of stereochemistry in rings means that the 5797 SMILES generated with this release are different from those in 5798 previous releases. Note that the canonicalization algorithm does 5799 not work in cases of pure ring stereochemistry : the SMILES should 5800 be correct, but it is not canonical. Rings containing chiral 5801 centers should be fine. 5802 5803## Acknowledgements: 5804 - Kirk DeLisle, Markus Kossner, Greg Magoon, Nik Stiefl 5805 5806## Bug Fixes 5807 - core leaks in learning code (issue 2152622) 5808 - H-bond acceptor definitions (issue 2183240) 5809 - handling of aromatic dummies (issue 2196817) 5810 - errors in variable quantization (issue 2202974) 5811 - errors in information theory functions on 64 bit machines (issue 2202977) 5812 - kekulization problems (issue 2202977) 5813 - infinite loop in getShortestPaths() for disconnected structures (issue 2219400) 5814 - error in depictor for double bonds with stereochemistry connected 5815 to rings (issue 2303566) 5816 - aromaticity flags not copied to null atoms in reaction products 5817 (issue 2308128) 5818 - aromaticity perception in large molecule hangs (issue 2313979) 5819 - invariant error in canonicalization (issue 2316677) 5820 - mol file parser handling of bogus bond orders (issue 2337369) 5821 - UFF optimization not terminating when atoms are on top of each 5822 other (issue 2378119) 5823 - incorrect valence errors with 4 coordinate B- (issue 2381580) 5824 - incorrect parsing of atom-list queries with high-numbered atoms 5825 (issue 2413431) 5826 - MolOps::mergeQueryHs() crashing with non-query molecules. (issue 5827 2414779) 5828 5829## New Features 5830 - SLN parser (request 2136703). 5831 - Mol2 parser : Corina atom types (request 2136705). 5832 - Building under mingw (request 2292153). 5833 - Null bonds in reaction products are replaced with the corresponding 5834 bond from the reactants (request 2308123). 5835 5836## Other 5837 - a bunch of deprecation warnings from numpy have been cleaned up 5838 (issue 2318431) 5839 - updated documentation 5840 - some optimization work on the fingerprinter 5841 5842# Release_Q32008_1 5843(Changes relative to Release_May2008_1) 5844 5845## Acknowledgements: 5846 - Noel O'Boyle, Igor Filippov, Evgueni Kolossov, Greg Magoon 5847 5848## Bug Fixes 5849 - A memory leak in the ToBase64 and FromBase64 wrapper functions was 5850 fixed. 5851 - The UFF atom typer has been made more permissive: it now will pick 5852 "close" atom types for things it does not recognize. (issue 5853 2094445) 5854 - The handling of molecules containing radicals has been greatly 5855 improved (issues 2091839, 2091890, 2093420) 5856 - Iterative (or secondary, or dependent) chirality is now supported, 5857 see this page for more information: 5858 http://code.google.com/p/rdkit/wiki/IterativeChirality 5859 (issue 1931470) 5860 - Isotope handling has been changed, this allows correct matching of 5861 SMARTS with specified isotopes. (issue 1968930) 5862 - Some problems with the MACCS key definitions have been 5863 fixed. (issue 2027446) 5864 - Molecules with multiple fragments can now be correctly 5865 embedded. (issue 1989539) 5866 - Adding multiple bonds between the same atoms in a molecule now 5867 produces an error. (issue 1993296) 5868 - The chemical reaction code now handles chiral atoms correctly in 5869 when applying reactions with no stereochem information 5870 provided. (issue 2050085) 5871 - A problem with single-atom cores in TemplateExpand.py has been 5872 fixed. (issue 2091304) 5873 - A problem causing bicyclobutane containing molecules to not be 5874 embeddable has been fixed. (issue 2091864) 5875 - The default parameters for embedding are now molecule-size 5876 dependent. This should help with the embedding of large, and 5877 crowded molecules. (issue 2091974) 5878 - The codebase can now be built with boost 1.36. (issue 2071168) 5879 - A problem with serialization of bond directions was fixed. 5880 (issue 2113433) 5881 5882## New Features 5883 - The RDKit can now be built under Darwin (Mac OS/X). 5884 - Tversky similarity can now be calculated. (request 2015633) 5885 - Many of the core datastructures now support equality comparison 5886 (operator==). (request 1997439) 5887 - Chirality information can now be assigned based on the 3D 5888 coordinates of a molecule using 5889 MolOps::assignChiralTypesFrom3D(). (request 1973062) 5890 - MolOps::getMolFrags() can now return a list of split molecules 5891 instead of just a list of atom ids. (request 1992648) 5892 - ROMol::getPropNames() now supports the includePrivate and 5893 includeComputed options. (request 2047386) 5894 5895 5896## Other 5897 - the pointers returned from Base64Encode/Decode are now allocated 5898 using new instead of malloc or calloc. the memory should be 5899 released with delete[]. 5900 - the generation of invariants for chirality testing is now quite a 5901 bit faster; this results in faster parsing of molecules. 5902 - The use of C include files instead of their C++ replacements has 5903 been dramatically reduced. 5904 - The new (as of May2008) hashing algorithm for fingerprints is now 5905 the default in the python fingerprinting code 5906 (Chem.Fingerprints.FingerprintMols). 5907 - The functions MolOps::assignAtomChiralCodes() and 5908 MolOps::assignBondStereoCodes() are deprecated. Use 5909 MolOps::assignStereochemistry() instead. 5910 - The RDKit no longer uses the old numeric python library. It now 5911 uses numpy, which is actively supported. 5912 - By default Lapack++ is no longer used. The replacement is the boost 5913 numeric bindings: http://mathema.tician.de/software/boost-bindings. 5914 5915 5916# Release_May2008_1 5917(Changes relative to Release_Jan2008_1) 5918 5919## IMPORTANT 5920 - A fix to the values of the parameters for the Crippen LogP 5921 calculator means that the values calculated with this version are 5922 not backwards compatible. Old values should be recalculated. 5923 - topological fingerprints generated with this version *may* not be 5924 compatible with those from earlier versions. Please read the note 5925 below in the "## Other" section. 5926 - Please read the point about dummy atoms in the "## New Features" 5927 section. It explains a change that affects backwards compatibility 5928 when dealing with dummy atoms. 5929 5930 5931## Acknowledgements: 5932 - Some of the bugs fixed in this release were found and reported by 5933 Adrian Schreyer, Noel O'Boyle, and Markus Kossner. 5934 5935## Bug Fixes 5936 - A core leak in MolAlign::getAlignmentTransform was fixed (issue 5937 1899787) 5938 - Mol suppliers now reset the EOF flag on their stream after they run 5939 off the end (issue 1904170) 5940 - A problem causing the string "Sc" to not parse correctly in 5941 recursive SMARTS was fixed (issue 1912895) 5942 - Combined recursive smarts queries are now output correctly. 5943 (issue 1914154) 5944 - A bug in the handling of chirality in reactions was fixed (issue 5945 1920627) 5946 - Looping directly over a supplier no longer causes a crash (issue 5947 1928819) 5948 - a core leak in the smiles parser was fixed (issue 1929199) 5949 - Se and Te are now potential aromatic atoms (per the proposed 5950 OpenSmiles standard). (issue 1932365) 5951 - isotope information (and other atomic modifiers) are now correctly 5952 propagated by chemical reactions (issue 1934052) 5953 - triple bonds no longer contribute 2 electrons to the count for 5954 aromaticity (issue 1940646) 5955 - Two bugs connected with square brackets in SMILES were fixed 5956 (issues 1942220 and 1942657) 5957 - atoms with coordination numbers higher than 4 now have tetrahedral 5958 stereochemistry removed (issue 1942656) 5959 - Bond.SetStereo() is no longer exposed to Python (issue 1944575) 5960 - A few typos in the parameter data for the Crippen logp calculator 5961 were fixed. Values calculated with this version should be assumed 5962 to not be backwards compatible with older versions (issue 1950302) 5963 - Isotope queries are now added correctly (if perhaps not optimally) 5964 to SMARTS. 5965 - some drawing-related bugs have been cleared up. 5966 - A bug in Chem.WedgeMolBonds (used in the drawing code) that was 5967 causing incorrect stereochemistry in drawn structures was 5968 fixed. (issue 1965035) 5969 - A bug causing errors or crashes on Windows with [r<n>] queries was 5970 fixed. (issue 1968930) 5971 - A bug in the calculation of TPSA values in molecules that have Hs 5972 in the graph was fixed. (issue 1969745) 5973 5974## New Features 5975 - Support for supplying dummy atoms as "[Du]", "[X]", "[Xa]", etc. is 5976 now considered deprecated. In this release a warning will be 5977 generated for these forms and in the next release the old form will 5978 generate errors. Note that the output of dummy atoms has also 5979 changed: the default output format is now "*", this means that the 5980 canonical SMILES for molecules containing dummies are no longer 5981 compatible with the canonical SMILES from previous releases. 5982 (feature request 186217) 5983 - Atom and bond query information is now serializable; i.e. query 5984 molecules can now be pickled and not lose the query 5985 information. (feature request 1756596) 5986 - Query features from mol files are now fully supported. (feature 5987 request 1756962) 5988 - Conformations now support a dimensionality flag. Dimensionality 5989 information is now read from mol blocks and TDT files. (feature request 5990 1906758) 5991 - Bulk Dice similarity functions have been added for IntSparseIntVect 5992 and LongSparseIntVect (feature request 1936450) 5993 - Exceptions are no longer thrown during molecule parsing. Failure in 5994 molecule parsing is indicated by returning None. Failure to *open* a 5995 file when reading a molecule throws BadFileExceptions (feature 5996 requests 1932875 and 1938303) 5997 - The various similarity functions for BitVects and SparseIntVects 5998 now take an optional returnDistance argument. If this is provided, 5999 the functions return the corresponding distance instead of 6000 similarity. 6001 - Some additional query information from Mol files is now translated 6002 when generating SMARTS. Additional queries now translated: 6003 - number of ring bonds 6004 - unsaturation queries 6005 - atom lists are handled better as well 6006 (feature request 1902466) 6007 - A new algorithm for generating the bits for topological 6008 fingerprints has been added. The new approach is a bit quicker and 6009 more robust than the old, but is not backwards compatible. 6010 Similarity trends are more or less conserved. 6011 - The molecule drawing code in Chem.Draw.MolDrawing has been modified 6012 so that it creates better drawings. A new option for drawing that 6013 uses the aggdraw graphics library has been added. 6014 - The RingInfo class supports two new methods: AtomRings() and 6015 BondRings() that return tuples of tuples with indices of the atoms 6016 or bonds that make up the molecule's rings. 6017 6018## Other 6019 - Changes in the underlying boost random-number generator in version 6020 1.35 of the boost library may have broken backwards compatibility 6021 of 2D fingerprints generated using the old fingerprinter. It is 6022 strongly suggested that you regenerate any stored fingerprints (and 6023 switch to the new fingerprinter if possible). There is an explicit 6024 test for this in $RDBASE/Code/GraphMol/Fingerprints/test1.cpp 6025 - The unofficial and very obsolete version of John Torjo's v1 6026 boost::logging library that was included with the RDKit 6027 distribution is no longer used. The logging library has been 6028 replaced with the much less powerful and flexible approach of just 6029 sending things to stdout or stderr. If and when the logging library 6030 is accepted into Boost, it will be integrated. 6031 - The DbCLI tools (in $RDBASE/Projects/DbCLI) generate topological 6032 fingerprints using both the old and new algorithms (unless the 6033 --noOldFingerprints option is provided). The default search 6034 uses the newer fingerprint. 6035 - The directory $RDBASE/Data/SmartsLib contains a library of sample 6036 SMARTS contributed by Richard Lewis. 6037 6038 6039# Release_Jan2008_1 6040(Changes relative to Release_Aug2007_1) 6041 6042## IMPORTANT 6043 - Bug fixes in the canonicalization algorithm have made it so that 6044 the canonical SMILES from this version are not compatible with 6045 those from older versions of the RDKit. 6046 - Please read the point about dummy atoms in the "## New Features" 6047 section. It explains a forthcoming change that will affect 6048 backwards compatibility when dealing with dummy atoms. 6049 - The build system has been completely changed. Makefiles and Visual 6050 Studio project files have been removed. See the "## Other" section for 6051 more info. 6052 6053## Acknowledgements: 6054 - Adrian Schreyer uncovered and reported a number of the bugs fixed 6055 in this release. 6056 6057## Bug Fixes 6058 - the Recap code no longer generates illegal fragments for 6059 highly-branched atoms. (issue 1801871) 6060 - the Recap code no longer breaks cyclic bonds to N 6061 (issue 1804418) 6062 - A bug in the kekulization of aromatic nitrogens has been fixed 6063 (issue 1811276) 6064 - Bugs in the Atom Type definitions for polar carbons and positive 6065 nitrogens in BaseFeatures.fdef have been fixed. (issue 1836242) 6066 - A crash in the sanitization of molecules that only have degree 4 6067 atoms has been fixed; it now generates an exception. The underlying 6068 problem with ring-finding in these systems is still present. (issue 6069 1836576) 6070 - Mol files for molecules that have more than 99 atoms or bonds are 6071 no longer incorrectly generated. (issue 1836615) 6072 - Problems with the sping PIL and PDF canvases have been cleared 6073 up. The PIL canvas still generates a lot of warnings, but the 6074 output is correct. 6075 - The query "rN" is now properly interpreted to be "atom whose 6076 smallest ring is of size N" in SMARTS queries. It was previously 6077 interpreted as "atom is in a ring of size N". (issue 1811276) 6078 This change required that the default feature definitions for 6079 aromaticity and lumped hydrophobes be updated. 6080 - The MolSuppliers (SDMolSupplier, TDTMolSupplier, SmilesMolSupplier) 6081 no longer fail when reading the last element. (issue 1874882) 6082 - A memory leak in the constructor of RWMols was fixed. 6083 - A problem causing rapid memory growth with Recap analysis was fixed. 6084 (issue 1880161) 6085 - The Recap reactions are no longer applied to charged Ns or Os 6086 (issue 1881803) 6087 - Charges, H counts, and isotope information can now be set in 6088 reactions. (issue 1882749) 6089 - The stereo codes from double bonds (used for tracking cis/trans) 6090 are now corrected when MolOps::removeHs is called. (issue 1894348) 6091 - Various small code cleanups and edge case fixes were done as a 6092 result of things discovered while getting the VC8 build working. 6093 6094## New Features 6095 - The SparseIntVect class (used by the atom pairs and topological 6096 torsions) is now implemented in C++. 6097 - The package $RDKit/Python/Chem/MolDb has been added to help deal 6098 with molecular databases. (this was intended for the August release 6099 and overlooked) 6100 - The module $RDKit/Python/Chem/FastSDMolSupplier has been added to 6101 provide a fast (at the expense of memory consumption) class for 6102 working with SD files. (this was intended for the August release 6103 and overlooked) 6104 - A new directory $RDKit/Projects has been created to hold things 6105 that don't really fit in the existing directory structure. 6106 - The new project $RDKit/Projects/DbCLI has been added. This contains 6107 command-line scripts for populating molecular database and 6108 searching them using substructure or similarity. 6109 - The code for calculating some descriptors has been moved into C++ 6110 in the new module Chem.rdMolDescriptors. The C++ implementation is 6111 considerably faster than the Python one and should be 100% 6112 backwards compatible. 6113 - The MaxMinPicker (in Code/SimDivPickers) supports two new options: 6114 1) the user can provide a set of initial picks and the algorithm 6115 will pick new items that are diverse w.r.t. to those 6116 2) the user can provide a function to calculate the distance matrix 6117 instead of calculating it in advance. This saves the N^2 step of 6118 calculating the distance matrix. 6119 - A new piece of code demo'ing the use of the RDKit to add chemical 6120 functionality to SQLite is in Code/Demos/sqlite. This will 6121 eventually move from Demos into Code/sqlite once some more 6122 functionality has been added and more testing is done. 6123 - The distance geometry embedding code now supports using random 6124 initial coordinates for atoms instead of using the eigenvalues of 6125 the distance matrix. The default behavior is still to use the 6126 eigenvalues of the distance matrix. 6127 - The function Recap.RecapDecompose now takes an optional argument 6128 where the user can specify the minimum size (in number of atoms) 6129 of a legal fragment. (feature request 180196) 6130 - Dummy atoms can be expressed using asterixes, per the Daylight spec. 6131 Dummy atoms are also now legal members of aromatic systems (e.g. 6132 c1cccc*1 is a legal molecule). Support for supplying dummy atoms 6133 as "[Du]", "[X]", "[Xa]", etc. is now considered deprecated. In 6134 the next release a warning will be generated for these forms and 6135 in the release after that the old form will generate errors. Note 6136 that the output of dummy atoms will also change: in the next release 6137 the default output format will be "*". 6138 (feature request 186217) 6139 - A proof of concept for doing a SWIG wrapper of RDKit functionality 6140 has been added in: $RDBASE/Code/Demos/SWIG/java_example. This isn't 6141 even remotely production-quality; it's intended to demonstrate that 6142 the wrapping works and isn't overly difficult. 6143 6144## Other 6145 - The full set of tests is now easier to setup and run on new 6146 machines. (issue 1757265) 6147 - A new build system, using Boost.Build, has been put into place on 6148 both the windows and linux sides. The new system does much better 6149 dependency checking and handles machine-specific stuff a lot 6150 better. The new system has been tested using Visual Studio 2003, 6151 Visual Studio Express 2005, Ubuntu 7.10, and RHEL5. 6152 - The "Getting Started in Python" document has been expanded. 6153 - There's now an epydoc config file for building the python 6154 documentation ($RDBASE/Python/epydoc.config). 6155 6156# Release_Aug2007_1 6157(Changes relative to Release_April2007_1) 6158 6159## Bug Fixes 6160 - operators and SparseIntVects. (issue 1716736) 6161 - the Mol file parser now calculates cis/trans labels for double 6162 bonds where the two ends had the same substituents. (issue 1718794) 6163 - iterator interface to DiscreteValueVects and UniformGrid3D. (issue 6164 1719831) 6165 - improper removal of stereochemistry from ring atoms (issue 6166 1719053) 6167 - stereochemistry specifications and ring bonds. (issue 1725068) 6168 - handling of aromatic bonds in template molecules for chemical 6169 reactions. (issue 1748846) 6170 - handling of unrecognized atom types in the descriptor calculation 6171 code. (issue 1749494) 6172 - ChemicalReactionException now exposed to Python. (issue 1749513) 6173 - some small problems in topological torsions and atom pairs 6174 6175## New Features 6176 - The Atom Pairs and Topological Torsions code can now provide 6177 "explanations" of the codes. See $RDBASE/Python/Chem/AtomPairs for 6178 details. 6179 - The PointND class has been exposed to Python 6180 - The "Butina" clustering algorithm [JCICS 39:747-50 (1999)] is now 6181 available in $RDBase/Python/Ml/Cluster/Butina.py 6182 - A preliminary implementation of the subshape alignment algorithm is 6183 available. 6184 - The free version of MS Visual C++ is now supported. 6185 - There is better support for queries in MDL mol files. (issue 1756962) 6186 Specifically: ring and chain bond queries; the not modifier for 6187 atom lists; R group labels. 6188 - An EditableMol class is now exposed to Python to allow molecules to 6189 be easily edited. (issue 1764162) 6190 - The RingInfo class is now exposed to Python. 6191 - The replaceSidechains and replaceCore functions have been added 6192 in the ChemTransforms library and are exposed to Python as 6193 Chem.ReplaceSidechains and Chem.ReplaceCore. 6194 - pickle support added to classes: PointND 6195 - atoms and bonds now support the HasQuery() and GetSmarts() methods 6196 from Python. 6197 6198## Other 6199 - Similarity scores can now be calculated from Python in bulk 6200 (i.e. calculating the similarity between one vector and a list of 6201 others). This can be substantially faster than calling the 6202 individual routines multiple times. The relevant functions are 6203 BulkTanimotoSimilarity, BulkDiceSimilarity, etc. 6204 - The calculation of AtomPairs and TopologicalTorsions fingerprints 6205 is now a lot more efficient. 6206 - Optimization of the Dice metric implementation for SparseIntVects 6207 - The Visual Studio build files have been moved to the directories 6208 $RDBASE/Code/Build.VC71 and $RDBASE/Code/Build.VC80. This allows 6209 simultaneous support of both versions of the system and cleans up 6210 the source trees a bit. 6211 - Boost version 1.34 is now supported (testing has been done on 1.34 and 1.34.1). 6212 - Updates to the "Getting Started" documentation. 6213 6214# Release_April2007_1 6215(Changes relative to Release_Jan2007_1) 6216 6217## Bug Fixes 6218 - handing of isotope information in SMILES has been fixed 6219 - "implicit" hydrogens are now added to charged atoms explicitly when 6220 writing SMILES. (issue 1670149) 6221 - the 2D->3D code no longer generates non-planar conjugated 4-rings 6222 (e.g. C1=CC=C1). (issue 1653802) 6223 - removing explicit hydrogens no longer produces incorrect smiles 6224 (issue 1694023) 6225 - bit indices and signature lengths in the AtomPairs code no longer 6226 being calculated incorrectly. *NOTE* this changes the bits that are 6227 set, so if you have existing signatures, they will need to be 6228 regenerated. 6229 - Fixed a bug causing MolSuppliers to generate incorrect length 6230 information when a combination of random access and iterator 6231 interfaces are used. (issue 1702647) 6232 - Fixed a bug leading to incorrect line numbers in error messages 6233 from the SDMolSuppler. (issue 1695221) 6234 6235## New Features 6236 - chemical reactions are now supported 6237 - there is a new entry point into the 2D depictor code, 6238 compute2DCoordsMimicDistMat(), that attempts to generate 2D 6239 depictions that are similar to the structure described by the 6240 distance matrix. There's also a shorthand approach for calling this 6241 to mimic a 3D structure available as: 6242 AllChem.GenerateDepictionMatching3DStructure() 6243 - DiscreteValueVect and UniformGrid3D now support the binary 6244 operators |, &, +, and -. 6245 - a reader/writer for TPL files has been added. 6246 - support has been added for MolCatalogs: hierarchical catalogs that 6247 can store complete molecules. 6248 - the protrude distance metric for shapes has been added 6249 - pickle support added to classes: UniformGrid, DiscreteValueVect, 6250 Point 6251 - added the class DataStructs/SparseIntVect to improve performance 6252 and clarity of the AtomPairs code 6253 6254## Other 6255 - the non-GUI code now supports python2.5; the GUI code may work with 6256 python2.5, but that has not been tested 6257 - the Mol and SD file parsers have been sped up quite a bit. 6258 - the "Crippen" descriptors are now calculated somewhat faster. 6259 - in-code documentation updates 6260 - new documentation for beginners in $RDBASE/Docs/Book 6261 6262# Release_Jan2007_1 6263(Changes relative to Release_Oct2006_1) 6264 6265## Bug Fixes 6266 - zero-atom molecules now trigger an exception 6267 - dummy atoms are no longer labelled 'Xe' 6268 - core leak in the mol file writer fixed 6269 - mol files with multiple charge lines are now correctly parsed 6270 - a workaround was installed to prevent crashes in the regression 6271 tests on Windows when using the newest VC++ v7 series compiler. 6272 (http://sourceforge.net/tracker/index.php?func=detail&aid=1607290&group_id=160139&atid=814650) 6273 - chirality perception (which requires partial sanitization) is no 6274 longer done by the MolFileParser when sanitization is switched 6275 off. 6276 - Two potential memory corruption problems were fixed (rev's 150 and 6277 151). 6278 6279## New Features 6280 - optional use of chirality in substructure searches 6281 - MolWriters can now all take a stream as an argument 6282 - Chiral terms can now be included in the DistanceGeometry 6283 embedding. 6284 6285## Other 6286 - $RDBASE/Code/Demos/RDKit/BinaryIO is a demonstration of using 6287 boost IOStreams and the ROMol pickling mechanism to generate 6288 highly compressed, random-access files of molecules. 6289 - the Point code has been refactored 6290