74 Commits

Author SHA1 Message Date
tadhurst-cdd
d5d4d194ec atropisomer handling added (#6903)
* atropisomer handling added

* fixed non-used variables,  linking directives

* BOOST LIB start/stop fixes, linking fix

* Fixes for RDKIT CI errors

* minimalLib fix

* changed vector<enum> for java builds

* check for extra chars in CIP labeling

* removed wrong deprecated message

* fix ostrstream output error?

* restored _ChiralAtomRank to lowercase first letter

* changes for merged master

* Fixed catch label for new Catch package

* update expected psql results

* get swig wrappers building

* restore MolFileStereochem to FileParsers

* fix java wrapper for reapplyMolBlockWedging

* some suggestions

* move a couple functions out of Bond

* Merge branch 'master' into pr/atropisomers2

* merged master

* Renamed setStereoanyFromSquiggleBond

* atropisomers in cdxml, rationalize atrop wedging, stereoGroups in drawMol

* fix for CI build

* attempt to fix java build in CI

* attempt to fix java build in CI #2

* New routine to remove non-explicit  3D-geneated chirality

* changed to use pair for atrop atoms and related bonds

* Changes as per PR reviews

* PR review respnses

* PR review reponse - more

* Fix merge from master

* fixing java ci after merge

* Updated the help doc for atripisomers

* update the atropisomer docs

* improve the images

* add the source CXSMILES

---------

Co-authored-by: greg landrum <greg.landrum@gmail.com>
2023-12-22 04:58:18 +01:00
Greg Landrum
a96f3ac4b4 FingerprintGenerator refactoring (#5748)
* add FingerprintFuncArguments() to simplify things

* getFingerprintHelper() also uses FingerprintFuncArguments

* port atompairs and tts to use new code

* not working yet

* all tests pass

* move the includeChirality flag to the global arguments
ensure stereochemistry is assigned when calculating fingerprints using chirality (#1993)

* migrate legacy morgan fp code to use generators

* refactoring the way bit info is handled

* all tests pass

* all tests pass

* expose getArguments()

* rename getArguments->getOptions

* copyright updates

* update a test

* remove template from FingerprintArguments
some other refactoring and cleanup

* hopefully fix the windows dll builds

* partial docs update

* improve docs and API

* more docs

* more docs

* a bit of modernization

* more doc tweaks

* changes in response to review
2022-12-28 17:40:13 +00:00
Greg Landrum
1937fbdfce Fixes #4212 (#4213) 2021-06-08 09:36:30 -04: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
Eisuke Kawashima
75f03412ef Modernize deprecated header inclusion (#3137) 2020-05-04 10:40:57 +02:00
Greg Landrum
d41752d558 run clang-tidy with readability-braces-around-statements (#2899)
* run clang-tidy with readability-braces-around-statements
clang-format the results
clean up all the parts that clang-tidy-8 broke

* fix problem on windows
2020-01-25 14:19:32 +01:00
Brian Kelley
373a89021e Change boost int types to std types (#2233) 2019-01-22 17:45:03 +01:00
Greg Landrum
08844e8f3a Fixes #2115 (#2116)
* Fixes #2115

* update release notestoo
2018-10-17 07:11:17 -04:00
Boran Adas
139d2bdb83 GSoC 2018 - Fingerprints (#2005)
* Fingerprint generator first prototype

* Added some more details to the prototype

* Update based on comments

* Added additional outputs and return type changes

* FingerprintGenerator updated and placeholder implementation added

* Added getFingerprint implementation to FingerprintGenerator

* Added comments for FingerprintGenerator

* WIP: Atom pairs fingerprint implementation for FingerprintGenerator

* Removed templates and added comments

* Fixed AtomPairEnvGenerator creating duplicate environments

* Added a atom pair old version compatibility test

* Moved the FingerprintGenerator related tests to a new file

* Added new comments and changes from the PR comments

* using int types from std instead of boost and remove cleanUpEnvironments

* Minor refactoring for atom-pair atom code generation

* Added more tests for AtomPairGenerator

* Removed additional clean up method from FingerprinGenerator

* Added additional output for atom-pair fingerprint and a test

* Removed leftover code

* Default argument changes

* Removed leftover include

* Default invariant generation logic seperated from env generation logic for AtomPairs

* Implemented fingerprint as bit vector type and added the test for it

* Folded fingerprint implementation and a test case added

* String representation for fingerprint generator is added

* Python wrapper for fingeprint generator added with a simple test

* Removed unused linked libraries

* AtomPair related wrapper code moved to its own file

* Python wrapper methods for different fingerprint output types added

* Wrappers for invariants generators and tests are added

* Added more comments and tests

* Changed python side names for FIngerprintGenerator and removed extra wrappers used for invariant generators on python

* Fixed object lifetime problems for invariant generators in  Python

* Fixed typo

* Added a list of test molecules and made fingerprint generator related classes noncopyable

* Morgan fingerprint python wrappers

* Removed argument helper class for wrapper

* Morgan Fingerprint simple implementation

* Added more invariants generators for Morgan

* Fixed a bug in Morgan bond invariant generator

* Added invariant generator combination tests

* Added atom pair generator to the invariant generator combination test

* Fixed a problem in morgan feature invariant generator

* Overriding invariants without generators is made possible

* Added comments and documentation

* Radius changed for morgan fingerprint test

* RDKit fingerprint generator implementation with cpp tests

* 32 bit and 64 bit fingerprint support for FingerprintGenerator

* Common utilities moved to FingerprintUtil.h and code duplication reduced

* Solved undefined reference issues for FPGenerator templates

* Topological torsion fp generator added

* Fingerprint notebook added

* Python wrappers updated

* Morgan tests added

* Tests expanded and reduced excess amounts of collision in folded output

* Expanded tests

* More documentation

* Python docs for atom pair

* Updated fingerprint generator notebook

* Python wrapper documentation added

* Seperated FingerprintGenerator implementations into seperated file again

* Python wrapper names updated to reflect new naming

* getCountFingerprint now returns 32 bit output and count simulation does not affect count fingerprints

* Python 3 compatibility for fingerprint generator tests

* a bit of ABC cleanup

* some comment formatting got screwed up

* <sigh>

* fix an uninitialized memory problem

* Added copyright statement to new files

* Corrected some comments and docs according to the latest changes

* Bulk fingerprint generation and tests

* Convenience function wrappers and size limiting for getSparseFingerprint

* Copyright text fixed

* Info string added to python wrappers

* Some changes to get the swig wrappers building again
2018-10-07 05:02:12 +02:00
Greg Landrum
0d7bb5796f Fixes #1793 (#1795)
A bit of reformatting too.
2018-04-02 05:02:15 +02: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
915cf08faa run clang-format with c++-11 style over that 2017-04-22 17:19:10 +02:00
Greg Landrum
7c0bb0b743 clang-tidy output 2017-04-22 17:09:24 +02:00
Greg Landrum
7fa3cae4cd clear up a bunch of windows warnings (#1086) 2016-10-04 06:46:07 -04:00
Nadine Schneider
d3f9d7c6e1 RDKFingerprint: add an unfolded count-based version of the RDKFingerprint
- add a bitinfo map to the RDKFingerprint
- refactor some code to largely avoid code duplicates
2016-04-01 09:10:47 +02:00
Greg Landrum
e08e0d16d8 first pass, using google style 2015-11-14 14:58:11 +01:00
Brian Kelley
e1b92efeee Adds more boost header file ignores 2015-10-18 22:23:58 -04:00
Brian Kelley
a146c3826a Remove unused variables/functions and register keyword 2015-10-18 10:01:00 -04:00
Greg Landrum
00146b2cd7 Move the query information functions from Fingerprints to QueryOps.h 2015-08-18 16:41:24 +02:00
Greg Landrum
f89f65e16d fix a typo causing problems with older vc++ versions 2014-02-06 04:58:54 +01:00
Greg Landrum
60a68669da remove more clang warnings 2013-12-02 04:46:46 +01:00
Greg Landrum
cabb7f80a5 improved isComplexQuery() logic 2013-11-15 06:49:08 +01:00
Greg Landrum
5b67e9c3e0 rename layered fingerprint2 -> pattern fingerprint
rearrange fingerprint code a bit
2013-03-28 09:44:33 +00:00
Greg Landrum
11e09f7d8b further fingerprint improvements;
remove unused arguments for the layered fingerprint
2013-03-28 03:54:13 +00:00
Greg Landrum
fbc0a7896e further optimization; switch back to the original hashing scheme 2013-03-25 15:13:14 +00:00
Greg Landrum
29e36be8b4 back to the original fp hashing scheme + atom degrees 2013-03-25 14:39:52 +00:00
Greg Landrum
e4798fa498 another pass at getting the path canonicalization working 2013-03-25 09:13:58 +00:00
Greg Landrum
2ead7f14a4 change bond hash for the original algorithm;
add optional (compile time) collision reporting
2013-03-19 05:19:42 +00:00
Greg Landrum
74555fcb25 rearrange bits in bond invars 2013-03-19 02:37:21 +00:00
Greg Landrum
242e662575 version number bump and some optimization work 2013-03-17 16:06:17 +00:00
Greg Landrum
b3aa7e0a4e new hashing algorithm for path-based fingerprints pass 1;
definitely some optimization work left to do, but this works and passes tests
2013-03-17 11:29:59 +00:00
Greg Landrum
d1cae9346f an initial version of the "atomBits" feature for RDKit fingerprints 2013-03-12 04:39:43 +00:00
Greg Landrum
0c635ea239 add a couple extra rings and fix a typo 2012-12-04 10:54:44 +00:00
Greg Landrum
57a63be899 back to the earlier behavior 2012-09-26 02:34:12 +00:00
Greg Landrum
f191b965a8 optimization 2012-09-21 05:33:13 +00:00
Greg Landrum
2936cec6ff add fromAtoms support for RDKit and layered fingerprints 2012-09-13 04:34:43 +00:00
Greg Landrum
d84d5218a9 further layeredfp2 improvements 2012-07-09 05:19:33 +00:00
Greg Landrum
fccea24ff1 efficiency improvements and added (crude) support for query structures to the LayeredFingerprint 2 2012-07-07 12:52:36 +00:00
Greg Landrum
2bb34056dd first pass at adding support for atom invariants in the rdkit, atom-pairs, and topological torsions fingerprints 2012-03-25 12:58:42 +00:00
Greg Landrum
ccbf50075b add another experimental version of the layered fingerprint (backup commit, this is not yet done) 2011-12-08 06:03:03 +00:00
Greg Landrum
3b3d44db16 remove exe property from source files 2011-01-13 04:22:56 +00:00
Greg Landrum
c07c7220c7 more tuning of the substruct fingerprint 2010-11-22 04:12:00 +00:00
Greg Landrum
9301733e6c another round of query fingerprint improvement 2010-11-20 15:23:42 +00:00
Greg Landrum
7fcea91f8b be more permissive about including bits in the fp 2010-11-16 05:30:11 +00:00
Greg Landrum
f3fbef45c5 update copyright statements 2010-09-26 17:04:37 +00:00
Greg Landrum
4b78f97572 add findAllPathsOfLengthsMtoN(), corresponds to findAllSubgraphsOfLengthsMtoN()
support path-based (i.e. non-branched fingerprints)
2010-08-21 00:20:18 +00:00
Greg Landrum
c78be3f5ee another change to the hashing mechanism; version bump; query miss cleared up 2010-08-14 11:35:00 +00:00
Greg Landrum
688fd98e6a fix an SSS fingerprint bug 2010-08-09 06:40:17 +00:00
Greg Landrum
8800620677 fix a problem with layered fingerprint hashing; switch back to using the RNG to generate bits 2010-07-27 19:56:54 +00:00
Greg Landrum
f23262a823 working towards fix for sf.net issue 3030388; note: this still needs testing 2010-07-17 03:53:46 +00:00