Esempio n. 1
0
    def test6Update(self):
        p = subprocess.Popen(
            (sys.executable, 'CreateDb.py', '--dbDir=testData/bzr',
             '--molFormat=smiles', 'testData/bzr.smi'))
        res = p.wait()
        self.assertFalse(res)
        p = None

        self.assertTrue(os.path.exists('testData/bzr/Compounds.sqlt'))
        self.assertTrue(os.path.exists('testData/bzr/AtomPairs.sqlt'))
        self.assertTrue(os.path.exists('testData/bzr/Descriptors.sqlt'))
        self.assertTrue(os.path.exists('testData/bzr/Fingerprints.sqlt'))

        conn = DbConnect('testData/bzr/Compounds.sqlt')
        d = conn.GetData('molecules', fields='count(*)')
        self.assertEqual(d[0][0], 10)

        conn = DbConnect('testData/bzr/AtomPairs.sqlt')
        d = conn.GetData('atompairs', fields='count(*)')
        self.assertEqual(d[0][0], 10)

        conn = DbConnect('testData/bzr/Descriptors.sqlt')
        d = conn.GetData('descriptors_v1', fields='count(*)')
        self.assertEqual(d[0][0], 10)

        conn = DbConnect('testData/bzr/Fingerprints.sqlt')
        d = conn.GetData('rdkitfps', fields='count(*)')
        self.assertEqual(d[0][0], 10)
        d = None
        conn.KillCursor()

        p = subprocess.Popen(
            (sys.executable, 'CreateDb.py', '--dbDir=testData/bzr',
             '--molFormat=smiles', '--updateDb', 'testData/bzr.2.smi'))
        res = p.wait()
        self.assertFalse(res)
        p = None

        self.assertTrue(os.path.exists('testData/bzr/Compounds.sqlt'))
        self.assertTrue(os.path.exists('testData/bzr/AtomPairs.sqlt'))
        self.assertTrue(os.path.exists('testData/bzr/Descriptors.sqlt'))
        self.assertTrue(os.path.exists('testData/bzr/Fingerprints.sqlt'))

        conn = DbConnect('testData/bzr/Compounds.sqlt')
        d = conn.GetData('molecules', fields='count(*)')
        self.assertEqual(d[0][0], 20)

        conn = DbConnect('testData/bzr/AtomPairs.sqlt')
        d = conn.GetData('atompairs', fields='count(*)')
        self.assertEqual(d[0][0], 20)

        conn = DbConnect('testData/bzr/Descriptors.sqlt')
        d = conn.GetData('descriptors_v1', fields='count(*)')
        self.assertEqual(d[0][0], 20)

        conn = DbConnect('testData/bzr/Fingerprints.sqlt')
        d = conn.GetData('rdkitfps', fields='count(*)')
        self.assertEqual(d[0][0], 20)
Esempio n. 2
0
    def test4CreateOptions(self):
        if os.path.exists('testData/bzr/Compounds.sqlt'):
            os.unlink('testData/bzr/Compounds.sqlt')
        if os.path.exists('testData/bzr/AtomPairs.sqlt'):
            os.unlink('testData/bzr/AtomPairs.sqlt')
        if os.path.exists('testData/bzr/Descriptors.sqlt'):
            os.unlink('testData/bzr/Descriptors.sqlt')
        if os.path.exists('testData/bzr/Fingerprints.sqlt'):
            os.unlink('testData/bzr/Fingerprints.sqlt')

        p = subprocess.Popen((sys.executable, 'CreateDb.py',
                              '--dbDir=testData/bzr', '--molFormat=smiles',
                              '--noExtras', '--noSmiles', 'testData/bzr.smi'))
        res = p.wait()
        self.assertFalse(res)
        p = None

        self.assertTrue(os.path.exists('testData/bzr/Compounds.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/AtomPairs.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Descriptors.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Fingerprints.sqlt'))

        conn = DbConnect('testData/bzr/Compounds.sqlt')
        d = conn.GetData('molecules', fields='count(*)')
        self.assertEqual(d[0][0], 10)
        d = conn.GetData('molecules', fields='*')
        self.assertEqual(len(d), 10)
        cns = [x.lower() for x in d.GetColumnNames()]
        self.assertFalse('smiles' in cns)

        conn = None
        d = None

        if os.path.exists('testData/bzr/Compounds.sqlt'):
            os.unlink('testData/bzr/Compounds.sqlt')
        if os.path.exists('testData/bzr/AtomPairs.sqlt'):
            os.unlink('testData/bzr/AtomPairs.sqlt')
        if os.path.exists('testData/bzr/Descriptors.sqlt'):
            os.unlink('testData/bzr/Descriptors.sqlt')
        if os.path.exists('testData/bzr/Fingerprints.sqlt'):
            os.unlink('testData/bzr/Fingerprints.sqlt')

        p = subprocess.Popen(
            (sys.executable, 'CreateDb.py', '--dbDir=testData/bzr',
             '--molFormat=smiles', '--noSmiles', '--noFingerprints',
             '--noLayeredFps', '--noMorganFps', '--noPairs', '--noDescriptors',
             'testData/bzr.smi'))
        res = p.wait()
        self.assertFalse(res)
        p = None

        self.assertTrue(os.path.exists('testData/bzr/Compounds.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/AtomPairs.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Descriptors.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Fingerprints.sqlt'))

        conn = DbConnect('testData/bzr/Compounds.sqlt')
        d = conn.GetData('molecules', fields='count(*)')
        self.assertTrue(d[0][0] == 10)
        d = conn.GetData('molecules', fields='*')
        self.assertTrue(len(d) == 10)
        cns = [x.lower() for x in d.GetColumnNames()]
        self.assertFalse('smiles' in cns)
        d = None
        conn.KillCursor()
        conn = None

        p = subprocess.Popen(
            (sys.executable, 'CreateDb.py', '--dbDir=testData/bzr',
             '--molFormat=smiles', '--noProps', '--noFingerprints',
             '--noLayeredFps', '--noMorganFps', '--noPairs', '--noDescriptors',
             'testData/bzr.smi'))
        res = p.wait()
        self.assertFalse(res)
        p = None

        self.assertTrue(os.path.exists('testData/bzr/Compounds.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/AtomPairs.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Descriptors.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Fingerprints.sqlt'))

        conn = DbConnect('testData/bzr/Compounds.sqlt')
        d = conn.GetData('molecules', fields='count(*)')
        self.assertEqual(d[0][0], 10)
        d = conn.GetData('molecules', fields='*')
        self.assertEqual(len(d), 10)
        cns = [x.lower() for x in d.GetColumnNames()]
        self.assertTrue('smiles' in cns)
        d = None
        conn.KillCursor()
        conn = None

        p = subprocess.Popen(
            (sys.executable, 'CreateDb.py', '--dbDir=testData/bzr',
             '--molFormat=smiles', '--noFingerprints', '--noLayeredFps',
             '--noMorganFps', '--noPairs', '--noDescriptors',
             '--maxRowsCached=4', 'testData/bzr.smi'))
        res = p.wait()
        self.assertFalse(res)
        p = None

        self.assertTrue(os.path.exists('testData/bzr/Compounds.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/AtomPairs.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Descriptors.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Fingerprints.sqlt'))

        conn = DbConnect('testData/bzr/Compounds.sqlt')
        d = conn.GetData('molecules', fields='count(*)')
        self.assertEqual(d[0][0], 10)
        d = conn.GetData('molecules', fields='*')
        self.assertEqual(len(d), 10)
        cns = [x.lower() for x in d.GetColumnNames()]
        self.assertTrue('smiles' in cns)
        d = None
        conn.KillCursor()
        conn = None

        p = subprocess.Popen(
            (sys.executable, 'CreateDb.py', '--dbDir=testData/bzr',
             '--molFormat=smiles', '--noFingerprints', '--noPairs',
             '--noDescriptors', '--maxRowsCached=4', 'testData/bzr.smi'))
        res = p.wait()
        self.assertFalse(res)
        p = None

        self.assertTrue(os.path.exists('testData/bzr/Compounds.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/AtomPairs.sqlt'))
        self.assertFalse(os.path.exists('testData/bzr/Descriptors.sqlt'))
        self.assertTrue(os.path.exists('testData/bzr/Fingerprints.sqlt'))