Dear Matthew,

I do not think the failure in the tests (which is most likely harmless) is related to the problem you are having with the SDWriter. I believe you may use the 2018.03.1 release in spite of those two test failures.


I believe the reason why the SDWriter is failing is that you are attempting to write a None object.

See example below:

>>> from rdkit import Chem
>>> import sys
>>> w = Chem.SDWriter(sys.stdout)
>>> mol = None
>>> w.write(mol)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
Boost.Python.ArgumentError: Python argument types in
    SDWriter.write(SDWriter, NoneType)
did not match C++ signature:
    write(RDKit::SDWriter {lvalue} self, RDKit::ROMol {lvalue} mol, int confId=-1)
>>> mol = Chem.MolFromSmiles('C')
>>> w.write(mol)
>>> w.close()

     RDKit          2D

  1  0  0  0  0  0  0  0  0  0999 V2000
    0.0000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0 0  0
M  END
$$$$
>>>

HTH, cheers

p.


On 05/17/18 15:52, Matthew Lardy wrote:
Hi all,

I've been fighting this again with the 2017_09_1 and the 2018_03_1 builds.  Both fail to pass all of the tests and for neither does the python wrapper work at all (Java Wrappers work fine).  Here is the 2017_09_1 test results:

99% tests passed, 1 tests failed out of 164

Total Test time (real) = 411.95 sec

The following tests FAILED:
    163 - pythonTestDirChem (Failed)
Errors while running CTest
make: *** [test] Error 8

And when you use the the python wrapper this is what you get:

Boost.Python.ArgumentError: Python argument types in
    SDWriter.write(SDWriter, NoneType)
did not match C++ signature:
    write(RDKit::SDWriter {lvalue} self, RDKit::ROMol {lvalue} mol, int confId=-1)

So, it is unusable.  Here are the 2018_03_1 test results:

99% tests passed, 2 tests failed out of 167

Total Test time (real) = 475.07 sec

The following tests FAILED:
    138 - JavaDistanceGeometryTests (Failed)
    166 - pythonTestDirChem (Failed)
Errors while running CTest
make: *** [test] Error 8

Same version of boost (1.59.0)  and swig (3.0.12) with more errors?  Again the python wrapper field test:

Boost.Python.ArgumentError: Python argument types in
    SDWriter.write(SDWriter, NoneType)
did not match C++ signature:
    write(RDKit::SDWriter {lvalue} self, RDKit::ROMol {lvalue} mol, int confId=-1)

I have never seen these issues from RDKit and have no idea what's going on.  This is a build on a clean machine (CentOS 7) with Boost 1.59, CMake 3.0.11, and Swig 3.0.12.  If anyone has seen this before and fixed it, please let me know what you did!  Until then I am falling back to RDKit 2016 as that built without issues.

Thanks in advance!
Matt


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot


_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to