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() |