Commit Graph

137 Commits

Author SHA1 Message Date
Greg Landrum
b0618008f5 Fixes #2532 (#2533) 2019-07-13 05:20:27 +02:00
Greg Landrum
23091e482f Fixes #2466 and #2465 (#2467)
* Fixes #2466

* Fixes #2465

* remove obsolete test

* remove redundancy

response to review
2019-06-25 09:26:31 +02:00
Greg Landrum
da1284c8e3 make sure boost::iostreams gets linked in the SWIG wrappers 2019-05-15 09:22:20 +02:00
Greg Landrum
d8ade5f9c8 Fix a copy-paste bug in the Java tests 2019-03-18 05:56:12 +01:00
Brian Kelley
d2f716a2e4 Adds gzstream stream, exposes to swig (#2314)
* Move RDBoostStreams to RDStreams

* RDBoostStreams->RDStreams

* RDBoostStreams->RDStreams

* Wrap SWIG (with Java test)

* Fix missing declaration

* Use the file that already exists

* Revert to original version

* Revert to CXSMiles version

* Update boost version

* Remove redundant code

* Add zlib

* check for win32

* FileParsers now builds static on windows
2019-03-18 05:32:42 +01:00
Greg Landrum
89439f5520 Expose RGroupDecomposition to SWIG (#2345)
* change to make the SWig builds work on windows

* add the wrapper. Still needs tests

* first rgd java wrapper test, does not pass

* get static builds working on windows
2019-03-13 08:23:23 -04:00
Brian Kelley
af6d413ccc Exposes substructlibrary to swig (#2337)
* SWIG wrap SubstructLibrary

* Fix tests

* Fix virtual overload for tagAtoms

* Add SubstructLibrary to swig
2019-03-12 16:35:22 +01:00
Greg Landrum
a102eaf932 Add options for substructure searching (#2254)
* first pass at adding a SubstructMatchParameter struct

* start moving the rest of the backend to use the parameters

* backend at least mostly moved over

* add aromaticMatchesConjugated
add tests

* switch over the MolBundle too
Add templates to reduce duplicated code

* support older compilers

let's see if it works...

* add SubstructMatchParameters to Python wrapper

* remove some deprecations and warnings

* damn compilers

* parameter support for bundles in python wrapper

* add the parameters to the java wrappers

* response to review
2019-02-08 09:10:10 -05:00
Greg Landrum
4d14a819e6 Fixes #2245 (#2250)
* not yet done

* update docs, python tests, and the release notes

* updates in response to review
2019-01-31 00:03:39 -05:00
Susan Leung
956fdf268c Dev/GSOC2018_MolVS_Integration (#2002)
* short test file for MolVS standardize_sm

* short test file for MolVS fragment

* short test file for MolVS metals

* short test file for MolVS normalize

* short test file for MolVS reionize

* short test file for MolVS tautomer

* short test file for MolVS validate

* long test file for MolVS standardize smiles

* long test file for MolVS fragment

* long test file for MolVS metals

* long test file for MolVS normalize

* long test file for MolVS reionize

* long test file for MolVS tautomer

* long test file for MolVS validate

* Unit tests for MolVS steps

* dropping support for Python2

* molvs/__init__.py

* molvs/charge.py

* molvs/errors.py

* molvs/fragment.py

* molvs/metal.py

* molvs/normalize.py

* molvs/resonance.py

* molvs/standardize.py

* molvs/tautomer.py

* molvs/utils.py

* molvs/validate.py

* molvs/validations.py

* molvs/cli.py

* adapted and renamed molvs/cli.py to work within $RDBASE/Contrib/MolVS/

* setup MolStandardize directories, source with empty cleanup function, header, CMake files

* corrections to empty source, header and test1.cpp

* adding empty functions and initializers to MolStandardize

* empty Metal source, header and added test

* added most of Metal.cpp functionality and made some more tests

* empty functions and initializers to Normalize

* empty functions and initializers to Validate

* added most code for RDKitDefault mode, along with some tests

* restructure for abstract base class ValidateMethod

* written in isNoneValidation for MolVSValidation

* took out isNoneValidation, put in noAtomValidation, neutralValidation, isotopeValidation for MolVSValidation

* added in AllowedAtoms

* added in disallowedAtoms

* corrections to Validate

* added code for FragmentRemover

* extended fragment functionality to include choose largest fragment, added in tests for fragment catalog, fragment remover. Also added fragmentValidation method in MolStandardize

* added another test to testValidate test_fragment

* corrections to fragment

* corrections to Metal

* added code for Normalize

* added normalize member function to MolStandardize and added tests

* added multi fragment functionality to Normalize.cpp and additional tests

* TransformCatalog

* tests for Normalize.cpp

* first bit of cleanup

* added most of Charge functionality and some tests

* some corrections to Charge.cpp and some more tests to testCharge.cpp

* corrections to Charge.cpp

* start of Tautomer Enumerate with some tests

* added BondType option to Tautomer Enumeration

* correcting for some memory leakage

* a few alterations to formatting

* sorting out some memory leaks

* sorting out some memory leaks

* some corrections for PCS test set

* redo tests with updated RDKit

* fixing memory leak

* more fixes after 100kPCS set testing

* using tab as delimiter in CSVs rather than comma

* tutorial for MolStandardize

* still working on Tautomer enumeration

* deleted some empty tests

* starting writing tautomer canonicalize

* rename test_data -> data (the source still needs to be updated)

* automatic source reformatting

* adjust to directory rename

* move the fragment catalog test into the MolStandardize directory
do not create separate library for FragmentCatalog

* stop building separate libraries for the catalogs

* move the CleanupParameters into the MolStandardize namespace

* first pass at python wrapper

* move the py module to the correct dir;
add some python tests;
add standardizeSmiles to python wrapper

* disabling the compareMolVSTest since that requires command line arguments to run

* get this building on windows

* put the python lib in the right place

* further work on python wrapper for rdMolStandardize

* added get and set functions to Metal and wrapped them

* added get and set functions to Metal and wrapped them

* changed construstor of Reionizer class and input args for reionize, wrapped this default

* overload Reionizer constructor so user can input own AcidBaseFile from python

* added Uncharger class to Charge and added test for Uncharger

* wrapped Fragment, fixed some memory leakage, changed some args and return types, added some tests

* wrapped Normalized and changed how Normalizer class is initiated

* changing MolVSValidation structure so user can choose which MolVS submethod they want

* starting to write Wrap for Validate

* now it compiles with Wrap/Validate.cpp

* a couple refactorings around validate

* move the validate code into the rdMolStandardize module

* make sure a valid pointer is returned for standardizeSmiles

* rdMolStandardize.MolVSValidation done and tests added

* half way through AllowedAtomsValidation

* finished AllowedAtomsValidation and DisallowedAtomsValidation

* moved charge, fragment, metal, normalize into the rdMolStandardize module

* changed tutorial to use wrapped code

* added copyrights

* added copyrights

* move the data files

* modify source files to adjust to the move

* added validateSmiles functionality

* removed std::cout

* redid some of the 100k PCS tests

* working on the tutorial

* adding some documentation

* deleting some comment lines

* some changes after pull review

* More changes after pull review

* start of trying to make java wrap

* remove some warnings, add some questions

* additional warning removals, a bit more reporting

* some test cleanups

* enable testing of the java code
2018-09-28 11:24:25 +02:00
Dan N
eaa44b40c2 Enhanced stereo read/write support in SDF files. (#2022)
* add a couple test files

* backup

* first pass at some theory documentatin

* it's a draft

* Update enhanced stereochemistry documentation

Adds initial target use case and caveats about the tentative
nature of the current implementation.

* Support read/write of molfile enhanced stereochemistry

This includes reading and writing of enhanced stereochemistry
from v3000 molfiles (sdf). Enhanced stereochemistry encodes
the relative configuration of stereocenters, allowing
representation of racemic mixtures and compounds with
unknown absolute stereochemistry.

It does not include:
* Python wrapping
* invalidation of the enhanced stereochemistry
* use of enhanced stereochemistry in search
* depiction of enhanced stereochemistry.

* Update to reflect changes from #1971

* change names of enum elements to allow compilation in VS2017

I think it's also clearer to do things this way

* Addressed most review comments.

* Run missed test "testEnhancedStereoChemistry"
* In tests, added size checks to group equality checks
* Updated copyright statements
* Deleted mol created for a test
* Use perfect forwarding in RWMol::setStereoGroups()
* use references for stereo groups that are checked in write and pickle
* Updated stereogroup.h in hopes of fixing compilation on Windows.
* clang-format

* try allowing a switch to boost regex and requiring it for g++-4.8

* do a better job of that

* typo

* Code review comments. Updated Copyright notice.

* When an atom is deleted, delete stereo groups containing it.

Also updates StereoGroup toUse accessors instead of
constant member attributes. This allows move of StereoGroups.

* RDKit style guide

* Add header required on Windows.

* get the SWIG wrappers to build
2018-09-26 15:44:23 +02:00
Greg Landrum
2738c35178 Fixes #1903 (#1971)
* Fixes #1903

* update SWIG bindings too
2018-07-25 09:14:17 +02:00
Greg Landrum
77078eac66 Add an auto-populated file with cmake config options (#1874)
* this is a rough first pass, needs to be finished and is a strong argument for changing the names of some of the #defines that are currently used

* rationalize the rest of the #defines
add something to the release notes about this
2018-06-09 05:41:28 +02:00
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
Matt Swain
a6354d1501 Make svg xmlns prefix use more consistent (#1866)
Set svg as the default xmlns, so no prefix is needed for every svg tag. Also remove all code in python wrappers that stripped these prefixes.
2018-05-14 17:07:55 +02:00
Greg Landrum
26f1f4cf01 builds on ubuntu 18.04 (#1858) 2018-05-10 05:04:39 +02:00
Greg Landrum
5f6650306e Fixes #1837 (#1839)
* Fixes #1837

* do not expose the takeOwnership forms of addAtom and addBond
2018-04-26 16:02:21 -04:00
Greg Landrum
404df80b8a make sure that the global EmbedParameter objects are not writeable from Java (#1824) 2018-04-17 13:37:04 +02:00
greg landrum
f051e329fd changes to get wrapper builds working on windows with VS2017 2018-04-11 15:28:58 +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
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
2fd0b672bd dependency problems with swig 2017-11-25 09:35:48 +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
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
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
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
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
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
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
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
8c2aca2dcd Exposes reduceProductToSideChains to Java 2016-02-27 09:53:56 -05:00
Greg Landrum
6002415bd2 add the useCache option to the java wrappers;
add tests for the MaxMin picker to the java wrappers
2016-02-26 08:07:03 +01:00