Commit Graph

163 Commits

Author SHA1 Message Date
Paolo Tosco
c08ea49bda - enable building DLLs on Windows (#1861)
* - enable building DLLs on Windows

* - export.h and test.h are now auto-generated by CMake
2018-05-16 08:42:41 +02:00
Greg Landrum
624698f282 add control over the coordinate precision to coordgen (#1847) 2018-05-04 12:41:28 -04:00
Greg Landrum
e8c46ca2a9 Fix/github1810 (#1811)
* Fixes #1810
There's still a problem with stereo atoms (see the commented out test),
but this takes care of the basics and that's up next.

* clean up that last problematic bit.
Still needs all tests to run

* this seems to be a necessary workaround for problems with VS2017.
It's a bit ugly, but shouldn't have any performance impact, so I'm not
going to get too worked up.

* This set of changes alters what we get for some of the InChI test cases.
Adjust for that.
2018-04-11 04:48:16 +02:00
Greg Landrum
650ad9e4f3 Add MolToInchiKey function() (#1784) 2018-03-23 15:54:06 -04:00
Greg Landrum
108d84ab1e Switch from boost::thread to std::thread (#1745)
* boost::thread mostly gone... still need to get rid of once
everything compiles

* replace boost::call_once

* remove link-time dependency on boost::thread

* first pass at using async

* switch to using async everywhere
2018-02-22 03:43:07 +01:00
Greg Landrum
c04cecacc6 fix a residual typo that causes build problems in debug mode 2018-02-19 08:22:09 +01:00
Greg Landrum
372e7db618 Fixes #1630 (#1751) 2018-02-15 05:39:02 +01:00
Greg Landrum
42eecc664d Integrate Coordgen (#1708)
* first pass, does not yet actually work

* pass2, same problems

* pass2, same problems

* another test

* new tests; bugfix

* move the code out to a header

* add a double bond example

* enable auto-downloads of the code

* move the function to its own namespace

* first pass at a basic python wrapper

* change coordgen commit used

* try supporting bond stereo; does not currently work

* cis/trans seems to now work.

* first pass at templates; needs testing

* use the fixed flag too

* need mol align

* expand test

* initial pass at python wrapper for template

* simplify tests

* add an option to directly use a substructure match for alignment

* scaling

* add #define

* Define a cache setting for RDK_COORDGEN_LIBS to allow these to be used in other packages

* return the conformer id from addCoords

* Make CoordGen the default when it’s available.
This is a backup commit… the tests don’t even come close to passing.

* add some debugging options for a bit

* add alignment step to testing when using non-fixed coords

* Add global to allow use of CoordGen to be disabled
get the basic depictor tests working

* make coordgen the default when it is available

* make sure things continue to work when coordgen is disabled

* get windows builds working

* mods to get this building on windows.
something is screwy with the fileParsersTest1

* no need to generate coords for the 1K C string

* fix java wrappers

* works on linux

* update the (stupid) way dependencies were handled on windows.
this allows a lot of cleanup of cmake files (still more to do)
the linux build is unlikely to work due to the way _statics aren't handled

* docs

* extend forceRDKit applicability

* switch coordgen version

* try using templates

* try to get the template dir finding reasonably robust w.r.t. conda install

* continuing to iterate on the way the template file is installed

* fix a problem caused by the merge

* remove test that should never have been checked in

* update expected results for cartridge tests

* switch back to using the RDKit as the default coordinate generator
2018-02-15 05:36:03 +01:00
Matt Swain
15c31e1f88 Update embedded InChI to v1.05 (#1684)
* Update download-inchi.sh for InChI 1.05

* Fix downloadAndCheckMD5

* Update FindInchi.cmake for InChI 1.05

* Update CMakeLists.txt for InChI 1.05
2017-12-21 05:45:24 +01:00
Greg Landrum
9d5dbac2e3 switch to using a specific freesasa version (#1619)
* switch to using a release version on linux (windows still needs to be looked at)

* finish that

* switch to a local copy of the test file
2017-11-15 06:36:33 +01:00
Greg Landrum
1efa8e696e another clang-format run 2017-10-12 06:42:15 +02:00
Greg Landrum
f94e277856 another pass of clang modernize 2017-10-12 06:35:51 +02:00
Greg Landrum
87786c08b5 Merge branch 'master' into modern_cxx
# Conflicts:
#	.travis.yml
#	Code/GraphMol/FileParsers/MolFileParser.cpp
#	Code/GraphMol/FileParsers/MolFileStereochem.cpp
#	Code/GraphMol/ForceFieldHelpers/UFF/testUFFHelpers.cpp
#	Code/GraphMol/MolAlign/testMolAlign.cpp
#	Code/GraphMol/MolDraw2D/MolDraw2D.cpp
#	Code/GraphMol/MolDraw2D/Wrap/rdMolDraw2D.cpp
#	Code/GraphMol/QueryOps.cpp
#	Code/GraphMol/ROMol.cpp
#	Code/GraphMol/SmilesParse/test.cpp
#	Code/GraphMol/Trajectory/Trajectory.cpp
#	Code/GraphMol/Wrap/Atom.cpp
#	Code/GraphMol/Wrap/Bond.cpp
#	Code/GraphMol/new_canon.cpp
#	Code/RDGeneral/testDict.cpp
#	Code/SimDivPickers/Wrap/MaxMinPicker.cpp
2017-10-05 05:58:38 +02:00
Brian Kelley
210935a92c Adds FreeSASA adapter (#1565)
* Adds FreeSASA adapter

* Uses windows branch when necessary

* Oops inverted windows and unix builds

* Fixes windows source build

* Adds downloading message

* Updates FreeSASA to final API

* Adds python API

* Finished queryatom API

* Changes d_alg to algorithm (and d_classifier) exposes to python adds docs/tests

* Adds FATAL_ERROR to MSVC builds, removes from appveyor
2017-09-25 08:57:14 +02:00
Greg Landrum
4160d20fdc Fixes github #1572 (#1573)
* Fixes #1572
initial pass

* one more cleanup; adjust expected results for the python unit tets
2017-09-15 12:59:26 -04:00
Greg Landrum
c775897625 disable some warnings for the avalon code too 2017-07-03 04:48:33 +02:00
Greg Landrum
3e061504a4 silence some warnings while building inchi code with modern clang 2017-07-02 18:15:35 +02:00
Greg Landrum
e52cf5c666 Fix/github1286 (#1307)
* clean up the header a bit
clang-format

* clang-format

* add test for #1286

* backup

* fixes the specific failure, but needs more looking

* add an additional test

* update the inchi code to explicitly include queue

* fix a typo identified during the review
2017-03-04 12:35:26 -05:00
Greg Landrum
e625c58bab Add cis/trans tags to double bonds (#1316)
* add cis and trans to bond stereo

* compiles, does not work

* tests all pass

* Whitespace cleanup to recent changes.

* C++ test case for Bond::setStereo using Bond::STEREOCIS and Bond::STEREOTRANS

* Adding a PRECONDITION to Bond::setStereo to make sure the stereo atoms
are already specified if CIS or TRANS is being specified.

E/Z is technically defined by the topology of the molecule so the
stereo atoms are redundant (easier to understand and use!), but
ultimately redundant with the graph. However, CIS and TRANS is _only_
defined in this usage as the orientation of the atoms in the
getStereoAtoms vector.

* Exposing Bond::setStereo to Python and adding test cases to make sure
it can be used to set CIS/TRANS stereochemistry.

* verify substructure matching works

* Adding Bond::setStereoAtoms to C++ Bond class.

This allows setting the atoms to be considered for CIS or TRANS
directly without a much more costly determination of ranking that E/Z
requires.

* Wrap Bond::SetStereoAtoms into python with a new type of test case.

* docs
2017-02-26 08:15:44 -05:00
Brian Kelley
5cff04583d Fixes memory leak in closeCheckMolFiles, fixes valgrind read issue in initCheckMol (#1200) 2016-12-13 16:33:09 +01:00
Brian Kelley
7d0f3e0743 Fix/expose run struchk (#1147)
* Exposes GetMolCheckLog to python

* Updates docs to reflect reality
2016-11-04 04:31:04 +01:00
gedeck
4580160e37 Replace has_key use in Python (#issue1042) (#1132)
* Replaced all uses of dict.has_key(key) in Python code - part 1

* Replaced all uses of dict.has_key(key) in Python code - part 1

* Replaced all uses of dict.has_key(key) in Python code - part 2 (sping)
2016-10-29 04:41:57 +02:00
gedeck
e9af48ffd7 Issue1071/yapf (#1078)
* Issue #1071: add yapf configuration file

* yapf formatting of Code directory

* yapf formatting of Contrib directory

* yapf formatting of Data directory

* yapf formatting of Docs directory

* yapf formatting of External directory

* yapf formatting of Projects directory

* yapf formatting of Regress directory

* yapf formatting of Scripts directory

* yapf formatting of Web directory

* yapf formatting of rdkit directory
2016-09-23 04:58:46 +02:00
Paolo Tosco
0406520e38 - fixes #1018 (#1020) 2016-08-11 11:21:22 +02:00
Greg Landrum
cb85329ec8 fix non-inchi build (#1018) 2016-08-11 06:13:04 +02:00
Paolo Tosco
5d3bb11488 Fix Inchi being hardcoded into PostgreSQL (#1009)
* - this should fix the problem with "Inchi" being hardcoded into PostgreSQL

* - moved the InChI check code out of the main CMakeLists.txt
  into FindInchi.cmake
2016-08-08 11:22:56 +02:00
Greg Landrum
03cd55e635 Dev/cleanup warnings (#948)
* Remove a bunch of warnings

The biggest change here is to treat the boost includes as system libraries.
This causes g++ to ignore warnings from boost.
This change still needs to be tested with clang and on Windows

* suppress a bunch of warnings on clang
2016-06-22 13:49:15 -04:00
Greg Landrum
c88ab59085 do not download the avalon distribution if we don't need it (#858) 2016-04-13 09:55:58 -04:00
Matt Swain
8a8717bcec Fix building with system InChI 2016-04-09 23:00:31 +01:00
Paolo Tosco
8135eb0396 - Updated Install.md and README files related to the new CMake build
procedures involving the Avalon Toolkit, InChI and PostgreSQL cartridge
2016-04-03 23:06:28 +01:00
Greg Landrum
ccbebcf3ba and another block of warnings 2016-03-30 14:03:54 +02:00
Greg Landrum
e04aed8ea8 another batch of warnings squashed 2016-03-30 13:44:21 +02:00
Paolo Tosco
8adfc6503a - added the possibility to override AVALONTOOLS_BASE and INCHI_BASE too 2016-02-28 08:30:47 +00:00
Paolo Tosco
31f2b33cbc - download URLs and MD5 checksums can now be overridden with CMake
definitions
- InChI and AvalonTools README files were updated accordingly
2016-02-28 07:49:45 +00:00
Paolo Tosco
4363a40489 - added a downloadAndCheckMD5() function which attempts to use CMake
DOWNLOAD first, and if it fails it falls back to curl (Unix, OS X)
  or Powershell (Windows). The MD% sum is check with the nativa CMake
  command md5sum
2016-02-27 22:15:46 +00:00
Paolo Tosco
ec400a896d - improved curl workaround 2016-02-23 09:21:11 +00:00
Paolo Tosco
a76f413b0d - reverting previous change 2016-02-23 09:13:00 +00:00
Paolo Tosco
0f0b8d4f25 - better curl workaround 2016-02-23 09:06:50 +00:00
Paolo Tosco
39a4eabea1 - added workaround for failing HTTPS protocol with older CMake versions 2016-02-23 08:47:52 +00:00
Paolo Tosco
f8e6d697ba - now download-avalontoolkit.sh also patches the AvalonTools sources automatically 2016-02-22 22:55:44 +00:00
Paolo Tosco
44794a277a - added the patch for AvalonTools 1.2 2016-02-21 21:56:00 +00:00
Paolo Tosco
e57714b3eb - as per Brian's suggestion, now AvalonTools are downloaded (and patched)
at the CMake stage
2016-02-21 21:54:31 +00:00
Paolo Tosco
4c75676fb6 - as per Brian's suggestion now INCHI is downloaded at the CMake stage 2016-02-21 21:52:48 +00:00
Paolo Tosco
35014df23d - tried to make the INCHI README clearer 2016-02-21 21:50:09 +00:00
Paolo Tosco
f270eb810b - modified AvalonTools test which failed to run under Windows 2016-02-21 21:48:34 +00:00
Paolo Tosco
c18fe6410b - added a script to download AvalonTools 2016-02-21 21:46:46 +00:00
Paolo Tosco
b86eb79618 - updated the AvalonTools README 2016-02-21 21:44:16 +00:00
Greg Landrum
b428eafd20 Merge pull request #684 from bp-kelley/dev/squash-msvc14-warnings
Dev/squash msvc14 warnings
2015-11-30 13:44:48 +01:00
kelley
9b98a4a1af Squash Avalon Build Warnings 2015-11-29 18:02:53 -05:00
Greg Landrum
489dbfbc9a add a test for initstruchk, fix an input problem 2015-11-29 05:09:39 +01:00