verify that the ROMol form works too

This commit is contained in:
Greg Landrum
2015-01-19 16:53:51 +01:00
parent f9ee84c7f3
commit e6ae45c3e4
2 changed files with 25 additions and 0 deletions

View File

@@ -216,6 +216,11 @@ class TestCase(unittest.TestCase):
for idx,v in cv1.GetNonzeroElements().items():
self.assertEqual(2*v,cv2[idx])
cv1 = pyAvalonTools.GetAvalonCountFP(Chem.MolFromSmiles('c1ccccc1'),nBits=6000)
cv2 = pyAvalonTools.GetAvalonCountFP(Chem.MolFromSmiles('c1ccccc1.c1ccccc1'),nBits=6000)
for idx,v in cv1.GetNonzeroElements().items():
self.assertEqual(2*v,cv2[idx])
if __name__ == '__main__':
unittest.main()

View File

@@ -352,6 +352,26 @@ void testCountFps(){
TEST_ASSERT(!cv1[i] || (cv2[i]==2*cv1[i]) );
}
}
{
ROMol *m1 = static_cast<ROMol *>(SmilesToMol("c1ccccc1"));
TEST_ASSERT(m1);
ROMol *m2 = static_cast<ROMol *>(SmilesToMol("c1ccccc1.c1ccccc1"));
TEST_ASSERT(m2);
SparseIntVect<boost::uint32_t> cv1(5000),cv2(5000);
AvalonTools::getAvalonCountFP(*m1,cv1,5000);
AvalonTools::getAvalonCountFP(*m2,cv2,5000);
for(unsigned int i=0;i<cv1.size();++i){
if(cv1[i] && (cv2[i]!=2*cv1[i])){
std::cerr<<" mismatch: "<<i<<" "<<cv1[i]<<" "<<cv2[i]<<std::endl;
}
}
for(unsigned int i=0;i<cv1.size();++i){
TEST_ASSERT(!cv1[i] || (cv2[i]==2*cv1[i]) );
}
delete m1;
delete m2;
}
BOOST_LOG(rdInfoLog) << "done" << std::endl;
}