Statistiques
| Branche: | Tag: | Révision :

dockonsurf / tests / test_formats.py @ master

Historique | Voir | Annoter | Télécharger (1,65 ko)

1 4607d5ea Carles
import sys
2 4607d5ea Carles
import unittest
3 4607d5ea Carles
4 4458d2b6 Carles
from rdkit.Chem import Mol, AllChem as Chem
5 4607d5ea Carles
from ase.atoms import Atoms
6 4458d2b6 Carles
from modules.formats import adapt_format, confs_to_mol_list, \
7 4458d2b6 Carles
    rdkit_mol_to_ase_atoms
8 4458d2b6 Carles
9 4458d2b6 Carles
mol = Chem.MolFromMolFile('acetic.mol', removeHs=False)
10 4458d2b6 Carles
num_confs = 5
11 4458d2b6 Carles
Chem.EmbedMultipleConfs(mol, num_confs)
12 4458d2b6 Carles
13 4458d2b6 Carles
14 4458d2b6 Carles
class TestConfsToMolList(unittest.TestCase):
15 4458d2b6 Carles
    def test_confs_to_mol_list(self):
16 4458d2b6 Carles
        self.assertIsInstance(confs_to_mol_list(mol), list)
17 4458d2b6 Carles
        self.assertEqual(len(confs_to_mol_list(mol)), num_confs)
18 4458d2b6 Carles
        self.assertEqual(len(confs_to_mol_list(mol, [0, 2, 4])), 3)
19 4458d2b6 Carles
20 4458d2b6 Carles
21 4458d2b6 Carles
class TestMolToAtoms(unittest.TestCase):
22 4458d2b6 Carles
    def test_rdkit_mol_to_ase_atoms(self):
23 4458d2b6 Carles
        self.assertIsInstance(rdkit_mol_to_ase_atoms(mol), Atoms)
24 4458d2b6 Carles
        atoms = rdkit_mol_to_ase_atoms(mol)
25 4458d2b6 Carles
        self.assertEqual(mol.GetNumAtoms(), atoms.get_global_number_of_atoms())
26 4607d5ea Carles
27 4607d5ea Carles
28 83f022c9 Carles
class TestAdaptFormat(unittest.TestCase):
29 4607d5ea Carles
    def test_rdkit_mol(self):
30 4607d5ea Carles
        self.assertIsInstance(
31 83f022c9 Carles
            adapt_format('rdkit', 'acetic.mol'),
32 4607d5ea Carles
            Mol)
33 4607d5ea Carles
34 4607d5ea Carles
    def test_rdkit_xyz(self):
35 4607d5ea Carles
        self.assertIsInstance(
36 83f022c9 Carles
            adapt_format('rdkit', 'acetic.xyz'), Mol)
37 4607d5ea Carles
38 4607d5ea Carles
    def test_ase_mol(self):
39 4607d5ea Carles
        self.assertIsInstance(
40 83f022c9 Carles
            adapt_format('ase', 'acetic.mol'),
41 4607d5ea Carles
            Atoms)
42 4607d5ea Carles
43 4607d5ea Carles
    def test_ase_xyz(self):
44 4607d5ea Carles
        self.assertIsInstance(
45 83f022c9 Carles
            adapt_format('ase', 'acetic.xyz'), Atoms)
46 4607d5ea Carles
47 4607d5ea Carles
    def test_not_adeq_req(self):
48 83f022c9 Carles
        self.assertRaises(NotImplementedError, adapt_format, 'hola',
49 4607d5ea Carles
                          'acetic.xyz')
50 4607d5ea Carles
51 4607d5ea Carles
    def test_wrong_file_type(self):
52 83f022c9 Carles
        self.assertRaises(NotImplementedError, adapt_format, 'ase', 'good.inp')
53 4607d5ea Carles
54 4607d5ea Carles
55 4607d5ea Carles
if __name__ == '__main__':
56 4607d5ea Carles
    unittest.main()