363 Commits

Author SHA1 Message Date
Greg Landrum
fbbddc6035 Start using string_views in the file parsers (#5301)
* 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
2022-06-14 17:18:40 -04:00
Greg Landrum
594c58f86c make the catch tests build faster (#5284)
* reorg the catch tests
the goal here is to make the builds faster

* make that easier
2022-05-17 04:39:33 +02:00
Eisuke Kawashima
ba6d8e0d3b clang-tidy: readability-simplify-boolean-expr (#4639) 2022-03-17 13:50:50 +01:00
Paolo Tosco
13ca05392c fixes #5089 (#5092)
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
2022-03-14 04:42:17 +01:00
Eisuke Kawashima
27f711a658 Run clang-tidy (readability-braces-around-statements) (#4977)
https://github.com/rdkit/rdkit/pull/3024#discussion_r526549843
2022-03-10 08:00:10 +01:00
Eisuke Kawashima
b53ee20b49 Fix Flake8 erorrs (#4252)
* Fix PEP8 [E101](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)

* Fix PEP8 [E502](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)

* Fix PEP8 [E703](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)

* Fix PEP8 [E711](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)

* Fix PEP8 [E712](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)

* Fix PEP8 [E713](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)

* Fix PEP8 [E722](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)

* Fix PEP8 [W605](https://github.com/PyCQA/pycodestyle/blob/2.8.0/docs/intro.rst#error-codes)
2022-03-10 06:55:18 +01:00
Ric
76e8b2a3f3 fix + test (#5057) 2022-03-05 04:32:31 +01:00
Greg Landrum
00f23b5047 [WIP] Clean up the warning landscape (#5048)
* 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
2022-03-01 05:00:25 +01:00
Dan N
05d7d8511e Fix warning when generating coordinates for ZOBs (#5011)
When generating coordinates for molecules with zero order bonds,
the coordgen adapter layer emitted a warning. This addresses that
warning.
2022-02-21 14:26:38 +01:00
Greg Landrum
06027dcd05 Remove unnecessary mutex in InChI wrapper (#4680)
* 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>
2021-11-10 04:08:30 +01:00
Ric
36a01b8b3e bump coordgen version; update test ref (#4638) 2021-10-26 06:00:04 +02:00
Eisuke Kawashima
f18a601454 Fix clang warning -Wabsolute-value (#4616) 2021-10-17 07:44:34 +02:00
Eisuke Kawashima
3720537c7e Add Eigen to ExternalProject and automatically download if RDK_BUILD_DESCRIPTORS3D (#3075) 2021-09-30 16:45:01 +02:00
Greg Landrum
3d427e8153 remove the minimizeOnly option from the coordgen integration (#4554)
* remove the minimizeOnly option from the coordgen integration

* Update ReleaseNotes.md

Co-authored-by: Ric <ricrogz@users.noreply.github.com>

Co-authored-by: Ric <ricrogz@users.noreply.github.com>
2021-09-26 07:44:32 +02:00
Ric
9aa949576a Addresses #4425 (#4426)
* refactor converter registration checking

* some more converters refactoring & cleanup
2021-08-20 11:23:39 +02:00
Paolo Tosco
660ffa3b76 - enable using the URF library in Windows static builds (#4357)
Co-authored-by: Paolo Tosco <paolo.tosco@novartis.com>
2021-07-27 21:47:44 +02:00
Paolo Tosco
3904b6958d Fixes RDK_BUILD_THREADSAFE_SSS=OFF build (#4349)
* - 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>
2021-07-23 14:25:25 +02:00
Greg Landrum
2053a98ffa Fixes #4330 (#4338)
* Fixes #4330

* new test
2021-07-15 10:26:29 -04:00
Eisuke Kawashima
b9a5be5a2d miscellaneous updates (#4284)
* Remove accidentally tracked files and unset x flag

* Ignore ComicNeue

* Unify test tag to `reader`

* Trivial destructors

* Bump CMAKE_CXX_STANDARD to 14 (#4165)
2021-07-13 06:57:29 +02:00
Paolo Tosco
106e9f7c37 Normalize line endings in source code files (#4104)
* 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>
2021-05-13 14:31:39 +02:00
Greg Landrum
a1d94d5f22 Fixes #4075 (#4079) 2021-04-23 16:43:18 -04:00
Dan N
44cf2c9e57 Update coordgen to 2.0.3 (#4017)
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.
2021-04-10 05:11:49 +02:00
Greg Landrum
036d7fcda7 update to coordgen 2.0.0 (#3974)
change option name for setTreatAllBondsToMetalAsZOBs
update expected minimizeOnly output (note: these new results don't look great)
2021-03-25 17:47:19 +01:00
Paolo Tosco
e911da94fd use https for Avalon and Inchi downloads (#3915)
Co-authored-by: Paolo Tosco <paolo.tosco@novartis.com>
2021-03-11 21:00:22 +01:00
Greg Landrum
0e89b2dbea cleanup a bunch of compiler warnings (#3849)
* 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
2021-02-26 05:10:02 +01:00
Ric
703fe5a225 Remove boost::foreach from public headers (#3820)
* 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>
2021-02-17 14:15:48 +01:00
Ric
c9199cf1da Address #2753 (#3750)
* add test export heder to gitignore

* define export macros in separate file

* install new header

* patch GA with the new macros

* fix struct declarations

* fix conformerparser exports

* fix MolSGroupParsing ParseV3000Array export

* fix java wrappers

* export exceptions

* remove duplicated exports

* Build RDGeneral exceptions into lib

* export queries, only for *nix

* fix RingDecomposerLib header manipulation

* fix CIP labeler test issues
2021-02-15 14:29:04 +01:00
Greg Landrum
f144bb759d Support new coordgen option to not always make bonds to metals zero-order (#3769)
* bump version of coordgen we're installing

* default to not set bonds to metals to be ZOBs
but add an option to change that
2021-02-01 14:05:49 +01:00
Gareth Jones
ec5a172886 R group symmetry (#3565)
* 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>
2021-01-05 09:27:33 -05:00
Greg Landrum
454abb257c A couple of InChI bug fixes (#3656)
Fixes #3645
Fixes #3655
2020-12-17 09:32:51 -05:00
Greg Landrum
a7c438f870 Fixes #3646 (#3653) 2020-12-17 08:34:15 -05:00
Luca Naef
2fe69eea80 update catch2 to work with apple silicon (#3641) 2020-12-14 08:40:54 +01:00
Eisuke Kawashima
e0b665bfe1 Clean up CMake files (#3417)
* Clean up CMake files

* bump CMake minimum required version to 3.7 to utilize
  [`VERSION_GREATER_EQUAL`](https://cmake.org/cmake/help/v3.7/release/3.7.html#index-0-command:if)
* improve catch-dependency
* fix conditionals
* use early return
* properly use CMake commands

* Apply suggestions from code review

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2020-11-28 08:00:39 +01:00
Ric
2afb4fbac4 Mem checkup & fixes (#3510)
* 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
2020-11-09 12:08:36 -05:00
sailfish009
38f7503d9f maeparser 1.2.4 (#3506) 2020-10-17 04:27:44 +02:00
Paolo Tosco
7d0d7df5f0 Fixes a number of issues flagged by clang (#3498)
* - fixes a number of issues flagged by clang

* - removed commented line
2020-10-15 15:03:34 +02:00
Greg Landrum
9b2dcf2c53 enable accidentally disabled inchi tests (#3468) 2020-10-07 05:47:31 +02:00
Greg Landrum
895437f7c9 change default precision for coordgen (#3452)
* change default precision for coordgen
also makes preset precision settings accessible

* additional caveat in release notes
2020-10-02 05:24:29 +02:00
Jeff van Santen
34d4e8e8b4 Fix dead links to inchi-trust (#3451)
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.
2020-10-01 17:47:47 +02:00
Greg Landrum
c259a81e01 Fix #3365 (#3366)
* 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.
2020-08-26 19:10:15 -04:00
Greg Landrum
c0a62388a2 switch to using target_compile_definitions instead of add_definitions (#3350)
* switch to using target_compile_definitions instead of add_definitions

* missed one
2020-08-21 04:49:07 +02:00
Greg Landrum
bcb2860523 Add the option to minimize structures with coordgen (#3319)
* 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
2020-08-20 09:20:40 +02:00
Greg Landrum
c548159c6f Decouple coordgen and maeparser integrations (#3286)
* 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
2020-07-13 14:46:40 +02:00
Ric
cd54b80c6e update (#3265) 2020-07-03 05:52:12 +02:00
Dan N
b4e0ebf79e gitignore source and build files from the RingFamilies external lib (#3228)
RingDecomposerLib is an external dependency. We don't want to
accidentally commit files created while building it.
2020-06-19 04:51:27 +02:00
Greg Landrum
45b9aef28b clang-tidy modernize-use-default-member-init and modernize-use-emplace (#3190)
* 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>
2020-05-28 09:07:58 +02:00
Greg Landrum
611c704ea1 Fixes #3131 (#3132)
* Fixes #3131

* remove a now-redundant part of the changes from #3058
2020-05-05 17:05:59 +02:00
Eisuke Kawashima
a9d5170239 Set RDK_BOOST_VERSION to pass minimum required version to FindBoost (#3074) 2020-05-05 04:41:25 +02:00
Eisuke Kawashima
75f03412ef Modernize deprecated header inclusion (#3137) 2020-05-04 10:40:57 +02:00
Eisuke Kawashima
715100b276 Bump Catch2 to v2.12.1 (#3136) 2020-05-04 10:33:52 +02:00