Commit Graph

15 Commits

Author SHA1 Message Date
Paolo Tosco
2392762575 - fixed a couple of compilation warnings in Resonance.cpp/Resonance.h 2015-12-16 17:33:22 +00:00
kelley
5dbec2fe85 Adds rdcasts where appropriate 2015-11-29 17:52:27 -05:00
Greg Landrum
e08e0d16d8 first pass, using google style 2015-11-14 14:58:11 +01:00
Greg Landrum
5992c6fd23 - made the ResonanceMolSupplier really lazy, i.e. resonance structure enumeration is only carried out when the user asks for a structure or when the user explicitly request that calling the enumerate() member function. This makes object creation fast and enables calling getNumConjGrps(), getBondConjGrpIdx() and getAtomConjGrpIdx() member function without incurring in the cost of necessarily enumerating resonance structures
- now bonds and atoms with do not belong to conjugated groups get a -1 index
- added a few Python wrappers
- added a few tests
2015-11-04 05:39:46 +01:00
Paolo Tosco
3d48ba72e1 - added threading support to ResonanceMolSupplier and relevant tests
- added threading support to the ResonanceMolSupplier-enabled
  SubstructMatch() and relevant tests
- modified/removed some code in O3AAlignMolecules.cpp which doesn't
  seem necessary anymore
- modified Code/GraphMol/CMakeLists.txt to allow building
  on Windows
2015-11-01 23:01:34 +00:00
Paolo Tosco
076831aa31 - removed d_ceMapTmp and d_ceMap from ResonanceMolSupplier
(they both were temporary data structures and there was
  no real reason for them to be there, especially in view
  of a possible code parallelization)
- converted most uint64_t to unsigned int since they weren't
  really necessary
- fixed a couple of compilation warnings
2015-10-25 21:50:20 +00:00
Paolo Tosco
72de596280 - implemented correct resonance structure sorting for degenerate cases
- moved classes that do not need being exposed in Resonance.h to Resonance.cpp
- added the ALLOW_CHARGE_SEPARATION flag: now by default charge
  separation structures are not displayed if there's at least one
  structure with no charge separation
- TODO
  * add SWIG wrappers
  * add a few test tp resMolSupplierTest.cpp
2015-10-23 18:41:53 +01:00
Paolo Tosco
6ccda75d77 - fixed a problem when selecting maxStructs = 0 2015-10-21 20:27:02 +01:00
Paolo Tosco
f43677b978 - fixed a problem with thiocarboxylates/thiolates not being perceived
as conjugated like their oxygen analogs
- fixed an issue with large numbers of resonance structures exceeding
  the unsigned int allowance
- implemented the uniquify feature properly
- uniquify now defaults to false when using the ResonanceMolSupplier-
  enabled SubstructMatch() version
- the concept of 'laziness' is now clearer
- TODO:
  * remove some debugging info
  * move classes from .h to .cpp
  * SWIG wrappers
  * improve resonance structure sorting for degenerate resonance
    structures
  I will do all of the above ASAP
2015-10-21 20:06:53 +01:00
Greg Landrum
c6b3d5d4a0 sync 2015-10-19 17:47:52 -04:00
Greg Landrum
91fc0de1ed include cleanup 2015-10-19 16:06:48 +02:00
Greg Landrum
442e842c58 remove vestigial svn tags 2015-10-19 16:04:42 +02:00
Paolo Tosco
f96787eede - added a check for non-NULLness of d_atom and d_bond pointers
in the AtomElectrons and BondElectrons constructors
- removed superfluous NULLness check in ConjElectrons destructor
- outer electrons are used instead of atomic number to
  determine formal charging behaviour
- better handling of electronegativity using Allen electronegativity
  instead of the number of outer electrons
- removed superfluous code in sanitizeMol() (I had missed the
  "If there is a failure in the sanitization, a SanitException will be thrown"
  note)
- used getOtherAtom() method whose existence I ignored (thanks Greg!)
2015-10-19 00:06:31 +01:00
Paolo Tosco
8a0e1ed824 - removed spurious x flags 2015-10-04 23:23:36 +01:00
Paolo Tosco
eaa187b03d - added ResonanceMolSupplier
- added overloaded SubstructMatch() version supporting ResonanceMolSupplier
- added relevant Python wrappers
- added C++/Python tests
2015-10-04 23:21:28 +01:00