* 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.
* 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
* 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)
* 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
* Fixes#1929
* add a tests to make sure bogus template directories work
* add a combined atomic number + aromaticity query operation to speed up SMARTS matches
Still needs to be recognized by the SMARTS writer, serialization, and no doubt a few other places.
* add a combined query for the single/aromatic bond query that shows up in SMARTS
* Stop using a dead pointer in the when parsing Marvin SMARTS in a CTAB
* At this point all tests pass on windows
* debugging info back in
* update the bison output
* Add initial Maestro format Supplier using maeparser library
Right now it's carrying over very limited information, more to come. Initially:
* 3D Coordinates
* Bonds with order
* Atom charges
* Structure title
* Greg's code review suggestions
Put MaeMolSupplier behind the coordgen flag. Added Python wrapper. Made other small
changes.
* Fix wrapping of MaeMolSupplier.cpp
* More code review feedback response
Also fixed an issue where exception during iteration locks up iterator
Remaining items:
* Bug where for i in MaeMolSupplier() works, but suppl = MaeMolSupplier
segfaults on OSX
* Add Python Unit tests
* Get build working with Coordgen flag turned off
* Fix memory bug, add Python unit tests
* Get rid of dead code in test
* Ifdef forward definitions for Maestro file reader
* 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
* 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
* 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
* Add AtomPDBResidueInfo during molops::addhs
* Test addhs and AtomPDBResidueInfo
* Little cleanup
* Fix serial
* Refactor code, add unique Hs labels
* Move code to separate function + bugfix.
* Make function optional (AddHs residueInfo param)
* Rename argument
* 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
* auto generate coords in mol block writer if includeChirality = True
* default to include chirality when writing mol blocks/files
* make isomeric smiles the default; note that not all tests are passing at the moment
* update a reaction test
* update expected cartridge search results
at this point all python, c++, and cartridge tests pass
* docs
* update incompatibility docs
* update doctests
* these now build
* minor example update
* update expected c++
* typo
* make allowCXSMILES=true the default
* add auto perception of chirality when reading 3D structures from mol blocks
* explain changes in release notes
* further doc update
* 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.
* Fixes atom documentation
* Fixes#1461
This is a complicated one. Basically URANGE_CHECK when
used on unsigned integers has a problem when the size of
the range it’s checking is 0. The standard operations is
to check
URANGE(num, size-1)
Which (for unsigned integers) obviously rolls over.
This fixes all usage cases to be
URANGE(num+1, size)
And fixes the bugs found. (addBond and the mmff tests)
* Fixes#1461 - Updates URANGE_CHECK to be 0<=x<hi
* move detectBondStereoChemistry() into MolOps
* switch more code over to using the new function
* add an addStereoChemistryFrom3D() function. Needs testing still.
* add some tests
* cleanups and rename
* New syntax to import Qt5 dependency in MolDraw2D
* In QTDemo, not necessary to import Qt explicitly because it is automatically imported through target MolDraw2D
* improve import of Cairo dependency
* Remove explicit linking of Cairo in C++ examples
* Use imported targets for Boost
* Using imported CMake targets for Eigen
* Use imported targets for Threads
* Simplify sample CMakeLists
* Remove duplication
* a couple small changes for travis
* typo
* update toolchain to trusty
* switch to requiring at least boost 1.56
* typo
* update boost dependency to pull in the build that has more libraries
* meaningless commit to trigger travis
* switch to ust libc++
* install libc++
* check abi
* try the other one; disable py27 for the moment to speed things up
* switch to c++11, that seems necessary with the conda boost builds at the moment
* re-enable python2.7
* add a SmilesParserParams object to prepare for this
* add a SmilesParserParams object to prepare for this
* add tests for the SmilesParseParmas
* support name parsing, should it be the default?
* rename CXNSmiles to CXSmiles;
add a spirit parser for CXSmiles coordinate that is at least syntax correct
* abandon boost::spirit for now; crude atom token parser
* support params in smiles parser (not tested, may not build)
* can read coords and atom labels along with mol names; crude, but works
* read coordinate bonds
* remove some compiler warnings with VS2015
* remove a bunch of compiler warnings on windows
* remove more warnings on windows
* remove more warnings on windows
* backup commit: first pass at parsing query features
* radical spec parsing
* handle attachment points using atom mapping
* switch to a named property for atom labels
* fix handling of the "A" atom query
* add functions to construct A and Q queries (needs more work)
* fix a problem created while cleaning up warnings earlier
* add some additional convenience functions for making generic atoms.
Still need M and to recognize these while writing CXSMILES
* add M queries; update some tests
* fix a linux compile problem
* get the cxsmiles stuff working in python; basic testing
* support "M" in CXSMILES
* Add support for dative bonds to molfile reader plus writer and to SMILES reader (SMILES writer already supports it).
Initial V3000 molfile reader and writer dative bond support by Esben Jannik Bjerrum.
* first pass at adding -> as dative bond in smiles/smarts
more testing required
* all tests pass
* update .cmake files for lex
* patch from Roger Sayle to support nucleic acids as well as amino acids
* add some tests which do not yet pass
* fix a bug I introduced in residue name parsing
* basic sequence testing
* add some more tests