Hi Guys,

we've got a litte problem building/testing the brand new 2013.09 release on 
Centos 6.4.
The 2013.06 release builds fine and all tests succeed, except the following in 
pythonTestDirChem:

77: ======================================================================
77: ERROR: testGithubIssue54 (__main__.TestCase)
77: ----------------------------------------------------------------------
77: Traceback (most recent call last):
77:   File "UnitTestDraw.py", line 155, in testGithubIssue54
77:     img = Draw.MolToImage(mol)
77:   File "/usr/local/src/rdkit/rdkit/Chem/Draw/__init__.py", line 86, in 
MolToImage
77:     drawer.AddMol(mol,**kwargs)
77:   File "/usr/local/src/rdkit/rdkit/Chem/Draw/MolDrawing.py", line 469, in 
AddMol
77:     self._drawLabel(symbol, pos, font, color=color,orientation=orient)
77:   File "/usr/local/src/rdkit/rdkit/Chem/Draw/MolDrawing.py", line 284, in 
_drawLabel
77:     self.canvas.addCanvasText(label,(x1,y1),font,color,**kwargs)
77:   File "/usr/local/src/rdkit/rdkit/Chem/Draw/spingCanvas.py", line 83, in 
addCanvasText
77:     self.canvas.drawString(text,labelP[0],labelP[1],font,color=color)
77:   File "/usr/local/src/rdkit/rdkit/sping/PIL/pidPIL.py", line 334, in 
drawString
77:     if not pilfont: raise ValueError("bad font: %s"%font)
77: ValueError: bad font: Font(12,0,0,0,'helvetica')
77:
77: [20:56:07] INFO: Skipping agg test
77: [20:56:07] INFO: Skipping cairo test
77: [20:56:07] INFO: Skipping sping test
77: ----------------------------------------------------------------------
77: Ran 10 tests in 0.052s
77:
77: FAILED (errors=1)


I'm building RDKit over ssh on a cluster server, so this could already explain 
the error. And since the task of a cluster is to calculate results and not to 
create fancy pictures, I actually don't care about this error.

Both releases were built with Python 2.7.5, Boost 1.54.0 and CMake 2.8.12.
Boost was installed as follows:
     ./bootstrap.sh --with-libraries=python,regex,iostreams
     ./b2 --layout=tagged address-model=64 cflags=-fPIC cxxflags=-fPIC install
RDKit:
     export RDBASE=/usr/local/src/rdkit
     export LD_LIBRARY_PATH=$RDBASE/lib:$LD_LIBRARY_PATH
     export PYTHONPATH=$RDBASE:$RDBASE/lib:$PYTHONPATH
     cmake .. -DRDK_BUILD_INCHI_SUPPORT=ON -DRDK_BUILD_COMPRESSED_SUPPLIERS=ON 
-L -DBOOST_ROOT=/usr/local

/usr/local/lib is  added via /etc/ld.so.conf

With the new 2013.09 release however, there are some more errors compared to 
2013.06, namely in
         30 - fileParsersTest1 (OTHER_FAULT)
         64 - pyGraphMolWrap (Failed)
         79 - pythonTestDirChem (Failed)
In pythonTestDirChem the following tests fail:
                testGithubIssue54           -              same error as in 
2013.06
                testGithubIssue86           -              same error as in 
2013.06
                testSpingFile      -              same error as in 2013.06
                testSpingImage                -              same error as in 
2013.06
                testSpingImageDash      -              same error as in 2013.06
                testSimilarityMap            -              TclError: no 
display name and no $DISPLAY environment variable

Again probably related to ssh.

The more important errors occur in fileParsersTest1 and pyGraphMolWrap and seem 
to be related to the new PDB code in 2013.09 (see output below):

fileParsersTest1  ( unnecessary lines skipped )

30: [21:30:32] testing reading pdb files
30: [21:30:32] Explicit valence for atom # 106 O, 3, is greater than permitted
30: terminate called after throwing an instance of 'RDKit::MolSanitizeException'
30:   what():  std::exception
1/1 Test #30: fileParsersTest1 .................***Exception: Other  6.00 sec

0% tests passed, 1 tests failed out of 1


pyGraphMolWrap   ( complete test )

(default)[build@umpalumpa build]$ ctest -R  pyGraphMolWrap -V
UpdateCTestConfiguration  from :/usr/local/src/rdkit/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/usr/local/src/rdkit/build/DartConfiguration.tcl
Test project /usr/local/src/rdkit/build
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
Checking test dependency graph end
test 64
    Start 64: pyGraphMolWrap

64: Test command: /opt/python_venv/default/bin/python 
"/usr/local/src/rdkit/Code/GraphMol/Wrap/rough_test.py"
64: Test timeout computed to be: 9.99988e+06
64: ..............[21:28:54] SMARTS Parse Error: syntax error for input: fiib
64: 28
64: 28
64: .....[21:28:54] SMILES Parse Error: syntax error for input: fail
64: [21:28:54] ERROR: Smiles parse error on line 2
64: [21:28:54] ERROR: Cannot create molecule from : 'fail'
64: >>> This may result in an infinite loop.  It should finish almost instantly
64: <<< OK, it finished.
64: ............[21:28:54] Explicit valence for atom # 1 C, 5, is greater than 
permitted
64: ............[21:28:54] non-ring atom 0 marked aromatic
64: [21:28:54] non-ring atom 0 marked aromatic
64: [21:28:54]
64:
64: ****
64: Range Error
64: idx
64: Violation occurred on line 153 in file 
/usr/local/src/rdkit/Code/GraphMol/ROMol.cpp
64: Failed Expression: 0 <= 12 <= 5
64: ****
64:
64: ...............[21:28:54] WARNING: the onlyHeavy argument to 
mol.GetNumAtoms() has been deprecated. Please use the onlyExplicit argument 
instead or mol.GetNumHeavyAtoms() if you want the heavy atom count.
64: [21:28:54] WARNING: the onlyHeavy argument to mol.GetNumAtoms() has been 
deprecated. Please use the onlyExplicit argument instead or 
mol.GetNumHeavyAtoms() if you want the heavy atom count.
64: ..............[21:28:54] Can't kekulize mol
64:
64: [21:28:54] Explicit valence for atom # 1 C, 5, is greater than permitted
64: ............[21:29:04] Explicit valence for atom # 106 O, 3, is greater 
than permitted
64: F.....
64: ======================================================================
64: FAIL: test84PDBBasics (__main__.TestCase)
64: ----------------------------------------------------------------------
64: Traceback (most recent call last):
64:   File "/usr/local/src/rdkit/Code/GraphMol/Wrap/rough_test.py", line 2422, 
in test84PDBBasics
64:     self.failUnless(m is not None)
64: AssertionError: False is not true
64:
64: ----------------------------------------------------------------------
64: Ran 90 tests in 9.998s
64:
64: FAILED (failures=1)
64: [2, 6, 9, 7, 0, 10, 3, 4, 1, 5, 11, 12, 8]
64: [0, 5, 2, 11, 12, 4, 3, 10, 8, 6, 1, 9, 7]
64: [10, 0, 1, 3, 11, 4, 12, 7, 9, 5, 2, 6, 8]
64: [11, 4, 9, 2, 7, 0, 10, 3, 5, 6, 1, 12, 8]
64: [10, 12, 0, 7, 2, 4, 6, 8, 11, 3, 9, 1, 5]
64: [6, 8, 11, 1, 0, 2, 7, 4, 12, 9, 5, 3, 10]
64: [5, 7, 10, 8, 0, 2, 9, 11, 12, 3, 4, 1, 6]
64: [6, 0, 12, 9, 3, 8, 2, 10, 7, 11, 1, 5, 4]
64: [10, 5, 4, 8, 3, 11, 2, 0, 12, 9, 7, 6, 1]
64: [0, 7, 6, 12, 9, 5, 10, 11, 3, 8, 4, 2, 1]
64: [3, 5, 0, 8, 12, 2, 7, 10, 9, 11, 1, 4, 6]
64: [3, 5, 12, 8, 6, 11, 10, 9, 0, 1, 2, 4, 7]
64: [1, 0, 12, 6, 10, 5, 3, 11, 2, 7, 8, 9, 4]
1/1 Test #64: pyGraphMolWrap ...................***Failed   10.18 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =  10.20 sec

The following tests FAILED:
         64 - pyGraphMolWrap (Failed)
Errors while running CTest


Am I missing a new dependency? Funnily enough, when I start up IPython and run 
the code of test84PDBBasics (w/o the unittest, e.g. self.failUnless.. stuff), I 
get no error (see below).


(default)[build@umpalumpa build]$ ipython
Python 2.7.5 (default, Sep 25 2013, 18:09:46)
Type "copyright", "credits" or "license" for more information.

IPython 1.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from rdkit import RDConfig,rdBase
In [2]: import os,sys,tempfile
In [3]: import unittest
In [4]: from rdkit import DataStructs
In [5]: from rdkit import Chem
In [6]: fileN = 
os.path.join(RDConfig.RDBaseDir,'Code','GraphMol','FileParsers','test_data','1CRN.pdb')
In [7]: m = Chem.MolFromPDBFile(fileN)
In [8]: m is not None
Out[8]: True
In [9]: m.GetNumAtoms()
Out[9]: 327
In [10]: m.GetNumBonds()
Out[10]: 337
In [11]: m.GetAtomWithIdx(0).GetPDBResidueInfo()
Out[11]: <rdkit.Chem.rdchem.AtomPDBResidueInfo at 0x193cde0>
In [12]: m.GetAtomWithIdx(0).GetPDBResidueInfo().GetName()
Out[12]: ' N  '
In [13]: m.GetAtomWithIdx(0).GetPDBResidueInfo().GetResidueName()
Out[13]: 'THR'
In [14]: m.GetAtomWithIdx(0).GetPDBResidueInfo().GetTempFactor()
Out[14]: 13.79
In [15]: m = Chem.MolFromPDBBlock(Chem.MolToPDBBlock(m))
In [16]: m.GetNumAtoms()
Out[16]: 327
In [17]: m.GetNumBonds()
Out[17]: 337
In [18]: m.GetAtomWithIdx(0).GetPDBResidueInfo()
Out[18]: <rdkit.Chem.rdchem.AtomPDBResidueInfo at 0x193cfa0>
In [19]: m.GetAtomWithIdx(0).GetPDBResidueInfo().GetName()
Out[19]: ' N  '
In [20]: m.GetAtomWithIdx(0).GetPDBResidueInfo().GetResidueName()
Out[20]: 'THR'
In [21]: m.GetAtomWithIdx(0).GetPDBResidueInfo().GetTempFactor()
Out[21]: 13.79


So the question is: Can I safely ignore the errors of ctest?


Cheers,

Daniel

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to