dockonsurf / modules / screening.py @ e07c09eb
Historique | Voir | Annoter | Télécharger (960 octet)
1 | e07c09eb | Carles | import logging |
---|---|---|---|
2 | e07c09eb | Carles | |
3 | e07c09eb | Carles | logger = logging.getLogger('DockOnSurf')
|
4 | e07c09eb | Carles | |
5 | e07c09eb | Carles | |
6 | 4614bb6a | Carles | def run_screening(inp_vars): |
7 | e07c09eb | Carles | """Carry out the screening of adsorbate coordinates on a surface
|
8 | e07c09eb | Carles |
|
9 | e07c09eb | Carles | @param inp_vars: Calculation parameters from input file.
|
10 | e07c09eb | Carles | """
|
11 | e07c09eb | Carles | import os |
12 | e07c09eb | Carles | import numpy as np |
13 | e07c09eb | Carles | from formats import read_coords, read_energies |
14 | e07c09eb | Carles | from clustering import get_rmsd, clustering |
15 | e07c09eb | Carles | from isolated import get_moments_of_inertia |
16 | e07c09eb | Carles | |
17 | e07c09eb | Carles | if not os.path.isdir("isolated"): |
18 | e07c09eb | Carles | err = "'isolated' directory not found. It is needed in order to carry "
|
19 | e07c09eb | Carles | "out the screening of structures to be adsorbed"
|
20 | e07c09eb | Carles | logger.error(err) |
21 | e07c09eb | Carles | raise ValueError(err) |
22 | e07c09eb | Carles | |
23 | e07c09eb | Carles | ads_list = read_coords(inp_vars['code'], 'isolated', 'rdkit') |
24 | e07c09eb | Carles | ads_enrgs = read_energies(inp_vars['code'], 'isolated') |
25 | e07c09eb | Carles | mois = np.array([get_moments_of_inertia(ads) for ads in ads_list]) |
26 | e07c09eb | Carles | rmsd_mtx = get_rmsd(ads_list) |
27 | e07c09eb | Carles | print(len(ads_list))
|
28 | e07c09eb | Carles | exemplars = clustering(rmsd_mtx, True, ads_enrgs, mois) |