Révision e07c09eb

b/modules/screening.py
1
import logging
2

  
3
logger = logging.getLogger('DockOnSurf')
4

  
5

  
1 6
def run_screening(inp_vars):
2
    pass
7
    """Carry out the screening of adsorbate coordinates on a surface
8

  
9
    @param inp_vars: Calculation parameters from input file.
10
    """
11
    import os
12
    import numpy as np
13
    from formats import read_coords, read_energies
14
    from clustering import get_rmsd, clustering
15
    from isolated import get_moments_of_inertia
16

  
17
    if not os.path.isdir("isolated"):
18
        err = "'isolated' directory not found. It is needed in order to carry "
19
        "out the screening of structures to be adsorbed"
20
        logger.error(err)
21
        raise ValueError(err)
22

  
23
    ads_list = read_coords(inp_vars['code'], 'isolated', 'rdkit')
24
    ads_enrgs = read_energies(inp_vars['code'], 'isolated')
25
    mois = np.array([get_moments_of_inertia(ads) for ads in ads_list])
26
    rmsd_mtx = get_rmsd(ads_list)
27
    print(len(ads_list))
28
    exemplars = clustering(rmsd_mtx, True, ads_enrgs, mois)

Formats disponibles : Unified diff