Commit Graph

5711 Commits

Author SHA1 Message Date
Brian Kelley
f85f2d9cbc Add MSVC VERSION information properly to default windows DLLs 2018-10-08 17:46:07 -04:00
Brian Kelley
74eb102c7f Fix language, add WINDOWS PREFIX 2018-10-05 09:56:43 -04:00
Brian Kelley
ab9b39a03c Add msvc dll version info 2018-10-05 09:42:30 -04:00
Greg Landrum
1be160baaa Fixes #2057 (#2091)
* Fixes #2057
docs still need to be updated

* docs update

* Update getting started doc.
This still needs to have the doctests run and should probably be
proofread and tweaked

* some doc updates

* change in response to review
2018-10-05 08:18:44 -04:00
Greg Landrum
32a19eaae9 Fixes #1786 (#2090) 2018-10-04 08:30:56 -04:00
Greg Landrum
b917fd4159 Fixes #1850 (#2087)
* Fixes #1850

* docstring update in response to review

* return immediately if the conformer isn't 3D
also header update
2018-10-04 08:29:50 -04:00
Brian Cole
a453b8510a Expose a CMake flag to build RDKit with -rpath (#2084)
* Adding the RDK_BUILD_RPATH_SUPPORT build flag to specify that RDKit
should link its shared libraries using -rpath. This allows the C++
shared libraries to be loaded from python without needing
LD_LIBRARY_PATH to be set.

This assumes the user has specified CMAKE_INSTALL_PREFIX to be the
place the RDKit will be installed to as this will use absolute paths
with -rpath. More work will need to be done by any user wishing to
make rpath work with relative paths from $ORIGIN.

* Allow the catch source code to be populated directly by un-taring the source code into the proper location.
2018-10-04 04:42:53 +02:00
Brian Kelley
0454492ebb Fix 2D/3D interpretation of V2000 ctabs (#2083)
* Fix 2D/3D interpretation of V2000 ctabs

* Remove debugging statements

* Apply fix to V3000 molblock

* Add 3D pretending to be 2D test case

* Fix for review comments.
2018-10-03 21:05:33 +02:00
Greg Landrum
d516883472 intriguing (#2070) 2018-10-03 12:02:58 -04:00
Greg Landrum
6f039f5434 update travis links in README.md 2018-10-03 05:22:05 +02:00
Greg Landrum
37f3443899 move rdInfoLog to stderr (#2073) 2018-10-02 11:43:08 -04:00
Greg Landrum
ffc123a665 Fixes #2062 (#2079) 2018-10-02 11:41:22 -04:00
Greg Landrum
0aa1147398 Fixes #1632 (#2076)
* Fixes #1632

* clang-format
2018-10-02 11:41:02 -04:00
Greg Landrum
2ec3b2543d Fixes #2063 (#2075) 2018-10-02 11:39:37 -04:00
Greg Landrum
3e00673a28 A couple of chemical feature related enhancements (#2078)
* fixes #1636
a bit of refactoring of the tests

* Fixes #2077
Add better confId handling to the chemical feature machinery
2018-10-01 17:38:36 +02:00
Greg Landrum
848aacc231 add export flags for the MolStandardize library (#2072) 2018-09-29 07:43:07 +02:00
Brian Kelley
28bd1e5b55 Add a default for maximum products generated by a reaction (maxProducts=1000) (#2069) 2018-09-29 07:13:11 +02:00
Greg Landrum
00cb303096 add Draw{RDKit,Morgan}Bits (#2066)
* Set drawing label for the "extra" atoms by setting atomic number

* first pass at drawing multiple morgan bits

* get this working with the RDKit FP too
2018-09-28 15:49:50 +02:00
Greg Landrum
e310163bfc Fixes #1851 (#2060) 2018-09-28 14:28:50 +02:00
Brian Kelley
e92ee9724b Fix memory leak in Dict operator= (#2061)
* Fix memory leak in Dict operator=

* Reenable old tests

* Don't overwrite nonPodData until the last moment

* Fix previous bug.  Need to check other._hasNonPodData, not our own
2018-09-28 14:03:04 +02: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
Greg Landrum
6c54135da1 mac adaptations (#2071) 2018-09-28 11:23:13 +02:00
Greg Landrum
146638600d actually run the SmilesWriterNoNames() test (#2067)
* actually run the SmilesWriterNoNames() test

* fix some leaks in the tests
2018-09-28 07:47:30 +02:00
Greg Landrum
6d9c8b9514 re-enable python wrappers 2018-09-28 07:36:31 +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
ad6ce82184 add scoring test (relevant to #1975) (#2064) 2018-09-25 18:02:43 +02:00
0xDECAFC0FFEE
46721a5a02 roc calculation naming problem (#1975)
* roc calculation naming problem

* implemented modifications suggested by gedeck
2018-09-25 16:10:33 +02:00
Greg Landrum
d5d29ab9c5 Update Readme.md (#2051) 2018-09-21 05:14:25 +01:00
Greg Landrum
1b562a0f82 switch to v1.0.1 of the maeparser (#2048) 2018-09-18 05:29:32 +02:00
Greg Landrum
60b052fb73 fixes #2046 (#2047)
also fixes a problem with retrieving version info
2018-09-18 04:48:43 +02:00
Greg Landrum
abcecf7456 enable SVG parsing from Python (#2045)
* add SVG parsing to python
re-enable the moldraw2d tests

* A couple of fixes connected to #2029

* handle problems parsing atom/bond SMILES

* wrap the whole thing in the <metadata> tag

* patch a memory allocation problem in the maeparser v1.0.0 (#2044)
2018-09-17 20:20:21 +02:00
Greg Landrum
2966c9d745 patch a memory allocation problem in the maeparser v1.0.0 (#2044) 2018-09-17 15:31:12 +02:00
Greg Landrum
99aab840e7 add test for inertial shape factor 2018-09-17 08:47:11 +02:00
Greg Landrum
44fd4e16ad Fixes #2037 (#2039) 2018-09-17 06:51:20 +02:00
Greg Landrum
50d2328251 Fixes #2034 (#2035)
* Fixes #2034

* update release notes to describe that
2018-09-17 06:50:54 +02:00
Greg Landrum
12011ad3ac a couple of small tweaks to the new fingerprint rendering code (#2032)
* cleanup and usability changes to the new bit rendering code

* Make it easier to use the new bit rendering code from the notebook
2018-09-17 06:50:31 +02:00
Greg Landrum
b91daa8ab9 Allow dumping interchange information into SVG files (#2030)
* add atoms

* add bonds

* backup

* Fixes #2029

* Get metadata working for drawMolecules()

* add to python wrapper
const correctness

* also connected to #2029: make sure bond direction also ends up in the output

* initial version of an SVG->ROMol parser
this is in the wrong place, but I wanted to make sure it actually works

* move svg parser to a more reasonable location
there is still some work to be done here

* add conformer parsing
2018-09-17 06:49:43 +02:00
Greg Landrum
4e953b6320 Fixes #2025 (#2026) 2018-09-11 00:54:27 +02:00
Greg Landrum
afe7e3492a Fixes #2027 (#2028)
Also includes a bit of modernization.
2018-09-08 15:31:48 -04:00
Alain Vaucher
ee12b4c0bd correct mistake in halogen cleanup and add test cases, fix for #2020 (#2021)
* correct mistake in halogen cleanup and add test cases

* Add same example for the test as in #2020
2018-09-05 16:13:50 +02:00
Greg Landrum
bcd3afe5e2 port fingerprint bit rendering code from CheTo (#2008)
* add basic fingerprint bit rendering code
This was inspired by/adapted from the CheTo code from Nadine

* add some tests

* add documentation
add option to control which example of the bit is used
2018-09-05 06:45:06 +02:00
Gregor Simm
c8154a4f5d Add missing boost header (#2016)
Add missing boost header for v1.64
2018-09-05 05:52:42 +02:00
Greg Landrum
223513a76e Start to use Catch2 for new tests (#1732)
* backup

* build works

* works

* builds on linux

* rename the test

* add another test to make sure that works
2018-09-04 10:32:17 -04:00
Greg Landrum
f0c0e6a035 Resolve #1269 (#1991)
* this is not anything like done

* Adjust reduceProductToSidechains() to the change

* reformatting

* switch to using global properties
2018-09-04 10:24:27 -04:00
Greg Landrum
2f6c62ee59 update expected cartridge regression results
should have been part of #1997
2018-08-16 05:22:39 +02:00
Greg Landrum
8a099085ea Fixes #1988 (#1997)
* Fixes: #1988
This just handles the atomic number part. Still need to think about the bond types

* update the tests
This includes adding UnitTestSaltRemover.py to the list of tests to be run

* fix bug from interacting PRs
2018-08-13 18:40:28 +02:00
Greg Landrum
8a08c326e0 Fixes #1990 (#1992)
* Fixes #1990
makes sure we don't destroy a double bond's StereoAtoms just because a bond connected to one of its atoms is removed

* change in response to review
2018-08-13 09:03:21 -04:00
Greg Landrum
09acc0c2a9 fixes #1999 (#2004) 2018-08-13 08:45:41 -04:00
Greg Landrum
b73fc3e317 fixes #2000 (#2001) 2018-08-12 17:10:09 -04:00
Greg Landrum
bccf5da2ed Add support for constructing atoms/bonds from SMILES/SMARTS (#1998)
* not done... nossir

* this works for molecules

* works

* update the .cmake files for the smiles parser

* do the same thing for smarts

* add to the python wrappers
2018-08-12 17:08:57 -04:00