* slow steps towards a string_view experiment
* Move first set of file-handling code to use string_view
This is about 12% faster on my machine
* oops, yaehmop had not been updated to C++17
* start moving v3000 over
* disable storing string_views in Dicts.
* a bit more optimization
* get windows builds working
* fix a couple leaks in the test code
* changes in response to review
* changes suggested in review
+ more refactoring
* fix an oversight
* remove another one
* remove debugging numbers
* suppress a bunch of warnings from third-party code
get rid of one warning in RDKit code
* corrections
* fix the maeparser flags
* remove some more inchi warnings with clang
* External/INCHI-API: drop unnecessary mutex
A mutex was introduced in 6cfd34 from 2012 around all InChI library
calls, and InChI v1.05 release notes from 2017 announce that they fixed
race conditions to support multithreading.
We find that the InChI library mutex is no longer necessary with v1.05
and this patch removes it, which enables rdkit users to concurrently
call InChI-related methods.
This patch also updates the InChI multithreading tests to cover
`MolBlockToInchi`, so we have test coverage of concurrently making all
InChI calls.
I ran `testInchi` under asan 200x and all runs passed cleanly. I was
unable to configure the build toolchain with msan or tsan, so it is
unclear to me if those sanitizers would flag any issues.
* External/INCHI-API: add second multithreading test
This test covers case where immediate concurrent usage of the InChI
library leads to memory corruption.
* remove ASAN workaround (not needed for InChI 1.06)
clang-format run
update inchi version to 1.06 in docs
Co-authored-by: Jin Pan <jinxp1@gmail.com>
* - fix non-threaded *nix builds that currently fail because
boost flyweight introduces a dependency on pthreads
- make sure that mutexes and futures are only used when
RDK_BUILD_THREADSAFE_SSS is ON
- fix SubstructMatch failing test when RDK_BUILD_THREADSAFE_SSS is OFF
due to misplaced #ifdef's
- rename RDK_TEST_MULTITHREADED to RDK_THREADSAFE_SSS in inchi.cpp
(which is not a test)
* - the limitexternal Linux build is now single-threaded so we make
sure single-threaded builds do not break in the future
(suggestion from Greg)
* reverted unnecessary change to Code/GraphMol/FileParsers/testMultithreadedMolSupplier.cpp
Co-authored-by: Paolo Tosco <paolo.tosco@novartis.com>
* Remove accidentally tracked files and unset x flag
* Ignore ComicNeue
* Unify test tag to `reader`
* Trivial destructors
* Bump CMAKE_CXX_STANDARD to 14 (#4165)
* set all source code files to have native line endings
* normalized all source code line endings
Co-authored-by: Paolo Tosco <paolo.tosco@novartis.com>
This is pretty urgent, because it includes a fix for a 10X
performance regression in coordgen
(https://github.com/schrodinger/coordgenlibs/pull/90).
It also fixes coordinate generation for 2.2.2 bicyclic systems.
* cleanup a bunch of g++ warnings
* make it work with clang
* remove some additional warnings based on CI builds
* fix that version number
* stop being verbose when building
* remove include from headers
* update implementation files
* completely remove BOOST_FOREACH (#7)
* convert those changes to use auto
* get rid of all usage of BOOST_FOREACH
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Exploration
* Initial work on GA fro Rgroup Symmetry
* GA for rgroup decomp and fingerprint rgroup symmetry scoring
* Continuing development
* Exploration
* Initial work on GA fro Rgroup Symmetry
* GA for rgroup decomp and fingerprint rgroup symmetry scoring
* Continuing development
* Further development
* Continued tweaks
* Function rename
* Continued tweaks
* Bug fix for variance calculation
* Copyright notices. Remove Eigen dependency. RdKit logging. Clock fix.
* Changes to fix build failures
* Fixes for Windows dynamic DLL build
* Included GA export.h file
* Fixed RGroupDecomp CMakeLists.txt
* Notebooks working, GGroup labelling bug fixed
* Fix windows build. More options for example GA program
* More bugs found and tests adjusted
* Fixed Python rgroup test
* Trivial change to trigger CI
* OSX java and windows build fixes
* Windows DLL fix
* Fix segmentation error
* proposed change
* Possible fix for segmentation fault
* CR fixes
* CR fixes
* CR fixes
* Recreates molecules from rgroups where possible
Co-authored-by: greg landrum <greg.landrum@gmail.com>
Co-authored-by: Brian Kelley <fustigator@gmail.com>
* fix leak in testConformerParser
* fix leaks in testMultithreadedMolSupplier
* fix leak in catch_graphmol
* pass build type to YAEHMOP
* cleanup fragments in CoordGen minimizeOnly
* fix leaking ConjElectrons stack in res mol supplier
* avoid double delete
* do not delete 'this'; clean ce not added to map
* delete mol if Multithreaded SD readMolProps throws
* fix typo
* fix typo in comment
The InChI Trust website has changed the locations of the documentation and FAQ for the InChI software APIs.
I have updated the link for the FAQ, but unfortunately the User Guide is no longer directly linkable, but is available for download as part of a zip file of documentation from the main downloads page.
* Fixes#3365
* update expected inchi results
Note that this actually increases the number of failures with one of the tests.
That's because I believe the expected InChIs to be wrong and these new results to be correct.
* backup
* works; needs testing
* add some better tests and do some cleanup
* rescale coordgen output to recover original bond lengths
* patch coordgen so that we can do a windows DLL build
* patch coordgen so that we can do a windows DLL build
* changes in response to review
* decouple the maeparser and coordgen support
* further untangling of coordgen and maeparser
* more tweaks
* be explicit in the azure devops builds
* forgot one file
* get win64_dll builds working
* run clang-tidy with modernize-use-default-member-init
* results from modernize-use-emplace
* one uniform initialization per line
otherwise SWIG is unhappy
Co-authored-by: Brian Kelley <fustigator@gmail.com>