Total Complexity | 6 |
Total Lines | 44 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | import os |
||
2 | import numpy as np |
||
3 | import amd |
||
4 | import pickle |
||
5 | |||
6 | |||
7 | root = r'tests/data' |
||
8 | |||
9 | def regen(name, generator): |
||
10 | |||
11 | data = [] |
||
12 | for s in generator: |
||
13 | pdd = amd.PDD(s, 100) |
||
14 | data.append({'PeriodicSet': s, 'AMD100': amd.PDD_to_AMD(pdd), 'PDD100': pdd}) |
||
15 | |||
16 | with open(os.path.join(root, f'{name}.pkl'), 'wb') as f: |
||
17 | pickle.dump(data, f) |
||
18 | |||
19 | pdds = [d['PDD100'] for d in data] |
||
20 | cdm = amd.PDD_pdist(pdds) |
||
21 | np.savez_compressed(os.path.join(root, rf'{name}_cdm.npz'), cdm=cdm) |
||
22 | |||
23 | |||
24 | def regenerate_from_cifs(): |
||
25 | |||
26 | filenames = ['cubic', 'T2_experimental'] |
||
27 | |||
28 | for name in filenames: |
||
29 | path = os.path.join(root, name) |
||
30 | regen(name, amd.CifReader(path + '.cif', show_warnings=False)) |
||
31 | |||
32 | |||
33 | def regenerate_CSD_families(): |
||
34 | |||
35 | name = 'CSD_families' |
||
36 | csd_families = ['DEBXIT', 'GLYCIN', 'HXACAN', 'ACSALA'] |
||
37 | generator = amd.CSDReader(csd_families, families=True, show_warnings=False) |
||
38 | regen(name, generator) |
||
39 | |||
40 | |||
41 | if __name__ == '__main__': |
||
42 | # pass |
||
43 | regenerate_CSD_families() |