Exemple #1
0
    def test_11_invertChirality(self):
        molsmile = CHIRAL_SMI
        sm = SmallMol(molsmile)
        aname = CHIRAL_DETAILS[0][0]
        chiral = CHIRAL_DETAILS[0][1]
        aidx = sm.get('idx', 'atomname {}'.format(aname))[0]

        sm.invertChirality(aidx)
        newchiral = sm.isChiral(returnDetails=True)[1][0][-1]

        self.assertNotEqual(chiral,
                            newchiral,
                            msg="The chirality was not formally changed")

        sm.generateConformers(num_confs=1, append=False)
        m = sm.toMolecule()
        fname = NamedTemporaryFile().name + '.mol2'
        m.write(fname)

        sm2 = SmallMol(fname)
        newchiral_confirm = sm2.isChiral(returnDetails=True)[1][0][-1]

        self.assertEqual(newchiral,
                         newchiral_confirm,
                         msg="The chirality was not structurally changed")
Exemple #2
0
    def test_08_generateConformers(self):
        mol2file = os.path.join(self.dataDir, 'benzamidine.mol2')
        sm = SmallMol(mol2file)
        current_conformer = sm.numConformers
        sm.generateConformers(num_confs=10, append=False)
        n_conformers = sm.numConformers

        self.assertGreater(n_conformers, current_conformer, 'The generation of conforemr should provide at least the '
                                                            'same amount of conformer')
Exemple #3
0
 def test_09_writeGenerateAndWriteConformers(self):
     mol2file = os.path.join(self.dataDir, 'benzamidine.mol2')
     sm = SmallMol(mol2file)
     sm.generateConformers(num_confs=10, append=False)
     tmpdir = NamedTemporaryFile().name
     sm.writeConformers(savefolder=tmpdir)
     direxists = os.path.isdir(tmpdir)
     n_files = len(glob(os.path.join(tmpdir, '*.sdf')))
     self.assertTrue(direxists, 'The directory where to store the conformations where not created')
     self.assertGreater(n_files, 1, 'None conformations were written. At least one should be present')
Exemple #4
0
    def test_08_generateConformers(self):
        mol2file = os.path.join(self.dataDir, 'benzamidine.mol2')
        sm = SmallMol(mol2file)
        current_conformer = sm.numConformers
        sm.generateConformers(num_confs=10, append=False)
        n_conformers = sm.numConformers

        self.assertGreater(
            n_conformers, current_conformer,
            'The generation of conforemr should provide at least the '
            'same amount of conformer')
Exemple #5
0
    def test_10_removeGenerateConformer(self):
        molsmile = SMILE_SMI
        sm = SmallMol(molsmile)
        sm.generateConformers(num_confs=10, append=False)
        n_confs = sm.numConformers
        sm.removeConformers([0])
        n_confs_del = sm.numConformers
        sm.removeConformers()
        n_confs_zero = sm.numConformers

        self.assertEqual(n_confs_del, n_confs - 1, "The number of conformations after the deletion was not reduced of "
                                                   "exactly one unit")
        self.assertEqual(n_confs_zero, 0, "The number of conformations after the deletion was not reduced to 0")
Exemple #6
0
 def test_09_writeGenerateAndWriteConformers(self):
     mol2file = os.path.join(self.dataDir, 'benzamidine.mol2')
     sm = SmallMol(mol2file)
     sm.generateConformers(num_confs=10, append=False)
     tmpdir = NamedTemporaryFile().name
     sm.writeConformers(savefolder=tmpdir)
     direxists = os.path.isdir(tmpdir)
     n_files = len(glob(os.path.join(tmpdir, '*.sdf')))
     self.assertTrue(
         direxists,
         'The directory where to store the conformations where not created')
     self.assertGreater(
         n_files, 1,
         'None conformations were written. At least one should be present')
Exemple #7
0
    def test_10_removeGenerateConformer(self):
        molsmile = SMILE_SMI
        sm = SmallMol(molsmile)
        sm.generateConformers(num_confs=10, append=False)
        n_confs = sm.numConformers
        sm.removeConformers([0])
        n_confs_del = sm.numConformers
        sm.removeConformers()
        n_confs_zero = sm.numConformers

        self.assertEqual(
            n_confs_del, n_confs - 1,
            "The number of conformations after the deletion was not reduced of "
            "exactly one unit")
        self.assertEqual(
            n_confs_zero, 0,
            "The number of conformations after the deletion was not reduced to 0"
        )
Exemple #8
0
    def test_11_invertChirality(self):
        molsmile = CHIRAL_SMI
        sm = SmallMol(molsmile)
        aname = CHIRAL_DETAILS[0][0]
        chiral = CHIRAL_DETAILS[0][1]
        aidx = sm.get('idx', 'atomname {}'.format(aname))[0]

        sm.invertChirality(aidx)
        newchiral = sm.isChiral(returnDetails=True)[1][0][-1]

        self.assertNotEqual(chiral, newchiral, msg="The chirality was not formally changed")

        sm.generateConformers(num_confs=1, append=False)
        m = sm.toMolecule()
        fname = NamedTemporaryFile().name + '.mol2'
        m.write(fname)

        sm2 = SmallMol(fname)
        newchiral_confirm = sm2.isChiral(returnDetails=True)[1][0][-1]

        self.assertEqual(newchiral, newchiral_confirm, msg="The chirality was not structurally changed")