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