Commit Graph

212 Commits

Author SHA1 Message Date
greg landrum
f051e329fd changes to get wrapper builds working on windows with VS2017 2018-04-11 15:28:58 +02:00
Greg Landrum
3637cd4d75 Fixes Issue 1614 (#1781)
* This makes assignStereochemistry cleanIt=True not remove CIS/TRANS
bond stereo chemistry that was manually added as described in issue #1614.

Incorrect CIS/TRANS stereochemistry will still be removed by
'cleanIt=true' if symmetry is detected. However, this symmetry
detection doesn't work in more complex pseudo-stereo chemistry cases:
bond stereo that depends on other bond stereo to break symmetry; and
bond stereo that depends on other atom stereo centers to break
symmetry. Test cases for these cases have been added ifdef'd in based
on USE_NEW_STEREOCHEMISTRY.

However, getting USE_NEW_STEREOCHEMISTRY to work in a copacetic way is
not trivial, I tried a little bit here to no avail. I'm leaving the
test cases checked in as they should be useful when we decide to make
the plunge into using Canon::chiralRankMolAtoms for symmetry detection
instead of the CIP ranks.

So this fixes at least the glaring issue of STEREOCIS and STEREOTRANS
being incorrectly removed by 'cleanIt=true' when it is indeed valid
stereo. The checks made for symmetry are rudimentary, but don't feel
complete.

* add another test; make what's being tested explicit

* test smiles generation and function when Hs have been added

* add a test that fails

* I think that it's ok to remove this

* backup

* At this point all tests pass.
Bond wedging is now handled even if sanitization is turned off when mol files are read

* adjust to code changes

* fix a couple problems caused by rebase

* update docs
2018-04-01 17:48:36 +02:00
Greg Landrum
b8738361f1 Fixes #1776 (#1780)
* add wrapper for reaction fingerprints.
Fixes #1776

* Move definitions of default fingerprint params to .cpp file.

* just a kick to get travis to run
2018-03-20 10:10:40 -04:00
jones-gareth
252fd0ac09 Added Morgan feature fingerprints to Java API (#1764)
* Added Morgan feature fingerprints to Java API

* Cosmetic change to trigger buil now Avalon tools are available
2018-03-05 21:26:56 +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
Greg Landrum
ba12d98ad0 Removes ATOM/BOND_SPTR in boost::graph in favor of raw pointers (#1713)
* Removes ATOM/BOND_SPTR in boost::graph in favor of raw pointers

* Actually delete atoms and bonds...

* RWMol::clear now calls destroy to handle atom/bond deletion

* Changes broken Atom lookup for windows/gcc

* Adds tests for running with valgrind

* Adds test designed for valgrind and molecule deletions

* Removes RNG, actually tests bond deletions

* update swig wrappers

* deal with most recent changes on the main branch
2018-01-07 14:19:47 -05:00
Greg Landrum
2fd0b672bd dependency problems with swig 2017-11-25 09:35:48 +01:00
Maciej Wójcikowski
10fbd483bb [MRG] Fix PDB reader + add argument to toggle proximity bonding (#1629)
* Add parameter to skip proximity bonding during PDB reading

* Test proximityBonding flag

* Remove multivalent Hs and bonds to metals in PDB

* Add tests for multivalent Hs and metal unbinding

* Remove covalent bonds to waters

* Test unbinding of HOHs

* Refactor funxtions

* Rename flag for cosistency

* Include flavor in double bond perception

* Add metalorganic test (APW ligand)

* Validate input foe IsBlacklistedPair and minor changes.
2017-11-15 06:53:31 +01:00
Paolo Tosco
5649405444 Fixes Java wrapper build error with Boost 1.64 (#1613) 2017-11-15 06:36:15 +01:00
Greg Landrum
1efa8e696e another clang-format run 2017-10-12 06:42:15 +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
Greg Landrum
e38d42ca11 Fix problems in the SWIG wrappers caused by #1546 (#1558)
* fix a couple problems in the java wrappers created by the changes

* more tests
2017-09-11 16:08:47 +02:00
Greg Landrum
9af90524a4 Provide support for color palettes in MolDraw2D (#1546)
* first steps towards flexible colour palettes

* add B&W palette and a test for it

* add python support;
this is, once again, not the best API due to the inability to auto-translate boost::tuples at this point

* more palette control from python

* rename some of the swig-wrapped types to make them more consistent

* handle palettes that do not have a default value
2017-09-08 10:52:01 +02:00
Greg Landrum
67bc7a647c merge on master; modernization needs to be repeated 2017-09-05 17:09:50 +02:00
Steve Roughley
d03e9b512b Added IsInRing methods to Bond in Java wrapper(addresses #1535) (#1536) 2017-08-18 12:01:15 -04:00
Greg Landrum
b9450b7ba7 add prepareMolForDrawing to SWIG wrapper; add a test for that too (#1523) 2017-08-12 15:34:50 -04:00
Alain Vaucher
b1f136fc51 Merge branch 'modern-cmake' of github.com:avaucher/rdkit into modern-cmake 2017-07-01 19:31:53 +02:00
Alain Vaucher
a239647242 Solve include error in Java wrappers 2017-07-01 19:31:10 +02:00
Greg Landrum
66779dfc8d Some cleanups to make Travis builds faster (#1464)
* a bit of cleanup and modernization

* switch to -j3

* back to -j2

* disable static libs

* allow dynamic linking of swig wrappers

* turn off the py27 builds while we are testing

* Install java and SWIG

* re-enable python2.7
2017-06-18 21:55:24 -04:00
Greg Landrum
d9db6c3fe6 Fix #1413 (#1414)
* swig csharp wrappers now build

* fix this in a way that does not break the java wrappers
2017-05-20 09:46:29 -04:00
Greg Landrum
945cc3e402 Fixes #664 (#1364)
not tested yet...
2017-03-16 12:25:53 -04:00
Brian Kelley
e70599a12e Dev/pickle properties (#1277)
* Adds pickling of properties (optional)

* Ignores RDKit::Dict::Pairs - previously private

* Fixes AllProps definition

* Fixes BondProps seperation

* Fixes reaction pickling - Adds ability to pickle atom + QueryAtom

* Bumps pickle version

* Removes fugly post-increments

* Changes Default to NoProps

* Tests more options for pickling

* Runs clang format

* Adds get/setDefaultPropertyPickleOptions, exposes to python

* turns tests back on.

* Fixes enum (clang was allowing c++11 semantics)

* Adds global settings test

* Code/GraphMol/testPicklerGlobalSettings.cpp
2017-02-09 16:06:01 +01:00
Greg Landrum
ae774c4f24 add support the new sequence readers to wrappers (#1181) (#1221)
* Fixes #1181
needs more testing

* improved docs and a couple tests

* add the new sequence support to the java wrappers too
2016-12-21 04:42:17 +01:00
Brian Cole
9ed4250067 Find potential stereo bonds should return any (#1202)
* Wrap Chem.FindPotentialStereoBonds into Python.

* findPotentialStereoBonds now sets the Bond.GetStereo property of the double bond to Bond::STEREOANY.

Some of the doc strings indicated this as the desired behavior, but
some others also indicated otherwise. So I've cleaned up and
refactored those doc strings as well to be consistent. Pulled all the
doc string comments from the .cpp file up to the .h file and merged
all the necessary prose, including adding some about the fact rings
are ignored.

Previously, users would have to test the size of the GetStereoAtoms
vector to determine whether this function found potential double bond
stereo. Testing for Bond::STEREOANY instead is way more straight
forward.
2016-12-17 05:37:30 +01:00
Brian Kelley
b32697185a Adds RDProps to c# wrapper (#1188) 2016-12-04 16:07:29 +01:00
Matt Swain
abbac22a8c Fix Java Trajectory Test 2016-11-15 14:51:05 +00:00
Brian Kelley
8c41e248e4 Fix/java win64 memoryleak (#1159)
* Fixes memory leak

* Fixes java windows 64 builds
2016-11-11 04:44:22 +01:00
Steve Roughley
3680644ebf Added getAlignmentTransform to ROMol.i to expose in Java SWIG wrapper (#1155)
* Added getAlignmentTransform to ROMol.i to expose in Java SWIG wrapper

* Added missing argument

Added missing argument to call to getAlignmentTransform causing build failure

* Added test case for getAlignmentTransform

* Update AlignTests.java

* Update AlignTests.java

* Update AlignTests.java
2016-11-10 21:44:03 +01:00
Brian Kelley
88637a59d7 Adds SWIGWIN definition in WIN32 if not 32bit (#1158) 2016-11-10 06:34:56 +01:00
Greg Landrum
051a4deb12 add tests for the new param objects from java 2016-11-05 20:03:25 +01:00
Greg Landrum
4315388f77 Add a parameters structure for controlling the embedding options. (#1121)
* initial version; no actual testing yet

* start on tests

* rename seed->randomSeed; add tests

* add support in java wrapper

* add support in python wrapper

* initial version; no actual testing yet

* start on tests

* rename seed->randomSeed; add tests

* add support in java wrapper

* add support in python wrapper

* yapf

* document the parameter object;
introduce pre-defined const objects for ETDG, ETKDG, and KDG

* this is why we write tests

* swig did not like the initialization in the header file
2016-11-01 11:39:03 +01:00
Brian Kelley
13c3eef7c4 Dev/expose filtermatch to swig (#1117)
* Exposes FilterMatch and getFilterMatches to java

* Updates java test

* Fixes typo in test
2016-10-21 20:43:00 -04:00
Brian Kelley
092ab6ff12 Fixes csharp build for 64 bit systems (#1098)
* Fixes csharp build for 64 bit systems

* Need to support make and make install stages

* switch to an alternate strategy and get it working for the java wrappers too
this now builds for me on 64bit win10 with MSVC14

* add missing files from that last commit

* Hopefully fixes unix and osx builds while maintaining msvc builds

* Fixes mono builds, removes python check
2016-10-14 15:40:05 +02:00
Greg Landrum
4f2ec84e7b Add some 3D molecular descriptors (#1084)
* update .gitignore

* foundation for 3D descriptors
move PBF into core

* cleanup work

* a bit more cleanup

* move the principal moments calc to MolTransforms

* cleanup

* cleanups

* add caching of the principal moments and values

* do not include the 3D descriptors in MolDescriptors.h

* the properties are computed

* add PMI descriptors and tests

* add tests for NPR descriptors

* return 0 when the largest PMI is zero

* PMI edge case tests

* NPR edge case tests

* PBF edge case tests

* PBF edge case tests

* more edge cases

* add a few more 3d descriptors

* add defns to docs

* tests for the new descriptors

* add versions to new descriptors

* add 3d descriptors to python wrapper

* add eigen support to the travis build

* try to get non-windows builds working

* remove computeCovarianceMatrix() from java wrapper

* make pmi property names "private"
2016-10-10 08:34:08 -04: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
Greg Landrum
74635c5fe1 Fix leak with renumberAtoms() in the SWIG wrappers (#1064)
* fix a leak with renumberAtoms() in Java

* add a test to show that leak
2016-09-13 12:24:08 -04:00
Brian Kelley
71a0ae32b2 Adds replaceCore function that takes a matchVect (#1013)
* Adds replaceCore function that takes a matchVect

* Fixes error reporting, adds tests

* Switches PRECONDITION to ValueError exceptions

* Fixes MatchVectType annoyance in swig.  Don't know why this is necessary.

* Silences warnings

* Adds working doctests and better explanations.
2016-08-17 04:40:59 +02:00
Greg Landrum
cb710340a1 Support ETKDG from within the SWIG wrappers (#1010)
* add test files

* add seed to the mol name so that it is obvious

* add support (and tests) for ETKDG to Java
2016-08-08 11:08:55 +02:00
Greg Landrum
df0036cb12 try and resolve intermittent travis build problems
There seems to be a problem in some travis builds where some java wrapper files aren't finished writing before the next step of the build happens. This is an attempt to resolve that.
2016-08-02 17:19:03 +02:00
Paolo Tosco
a286112cbe Java wrappers for Trajectory/Snapshot objects (#977)
* - started SWIG wrapping of Trajectory code
* - work in progress
* - wip
* - wip
* - WIP on TrajectoryTests.java
* - WIP
* - WIP
* - TrajectoryTests.java completed
* - reverted file modified my accident
2016-07-20 22:51:01 -04:00
Brian Kelley
2debdfde0d Adds RDAny (smaller generic holder) Updates all used dictionaries (#896)
* Adds RDAny (smaller generic holder) Updates all used dictionaries

This is an API compliant version of the current rdany system,
but uses a lot less memory in practice.

* Removes code duplication

* Converts CHECK_INVARIANT to TEST_ASSERT

* Fixes DoubleTag issue

* Adds Bool to DoubleMagic implementation

* Removes reference to property pickler
2016-05-29 17:04:21 +01:00
Greg Landrum
db0db2e4e4 expose FPS functions to java; add tests for that (#897) 2016-05-02 14:39:48 -04:00
Paolo Tosco
15f358bb56 - fixed a build failure on CentOS 7 (which has Java 8, but whose javadoc does not seem to support the -Xdoclint:none flag
while the Java documentation builds fine in its absence)
2016-04-21 22:30:03 +01:00
Greg Landrum
76a338c1be Fixes #859 - add automatic downloads of the junit.jar code too
* download junit.jar automatically when it is needed

* do not need to download junit anymore

* doc update

* try a different maven url to see if that solves the MD5 problems
2016-04-13 09:54:03 -04:00
Brian Kelley
e647af599d Updates NumRotatableBondsOptions to be an enum 2016-03-21 20:37:52 -04:00
Brian Kelley
f26b53067e Exposes NumRotatableBondsOptions to java, adds tests 2016-03-17 10:14:20 -04:00
Brian Kelley
f1ca9e6115 Merge pull request #791 from greglandrum/feat/lazy_picker_for_java
Add a bit more control over the lazy MaxMin picker to the java layer
2016-03-01 23:47:40 -05:00
Brian Kelley
a779d5bcfd Add test for addDummyAtoms==false flag 2016-02-27 13:26:35 -05:00
Brian Kelley
23b9b2ab66 Add newobject declarations 2016-02-27 13:16:53 -05:00
Brian Kelley
8c2aca2dcd Exposes reduceProductToSideChains to Java 2016-02-27 09:53:56 -05:00