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

dockonsurf / dockonsurf.py @ dbef6e98

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

1 15be7594 Carles
#!/usr/bin/env python3
2 e82f843d Carles
"""
3 e82f843d Carles
Code to systematically find the most stable geometry for molecules on surfaces
4 e82f843d Carles
"""
5 e82f843d Carles
import os
6 e82f843d Carles
7 20c0887a Carles Martí
import daemon
8 20c0887a Carles Martí
9 15be7594 Carles
from modules.config_arg import get_args
10 15be7594 Carles
from modules.config_log import config_log
11 15be7594 Carles
from modules.dos_input import read_input
12 15be7594 Carles
from modules.isolated import run_isolated
13 15be7594 Carles
from modules.screening import run_screening
14 15be7594 Carles
from modules.refinement import run_refinement
15 e82f843d Carles
16 2320aec0 Carles Martí
args = get_args()
17 2320aec0 Carles Martí
logger = config_log('DockOnSurf')
18 9f7bb440 Carles
19 2320aec0 Carles Martí
print("Running DockOnSurf.\n"
20 2320aec0 Carles Martí
      f"To check DockOnSurf activity see '{logger.handlers[0].baseFilename}'.\n"
21 dbef6e98 Carles Martí
      f"To stop DockOnSurf execution type: `$ kill {os.getpid()}`.")
22 2320aec0 Carles Martí
23 2320aec0 Carles Martí
with daemon.DaemonContext(working_directory=os.getcwd(), umask=0o002,
24 2320aec0 Carles Martí
                          files_preserve=[logger.handlers[0].stream.fileno()]):
25 20c0887a Carles Martí
    logger.info(f'DockOnSurf started on {os.getcwd()}.')
26 20c0887a Carles Martí
    logger.info(f'To kill DockOnSurf execution type: `$ kill {os.getpid()}`.')
27 20c0887a Carles Martí
    logger.info(f"Using '{args.input}' as input.")
28 e82f843d Carles
29 20c0887a Carles Martí
    inp_vars = read_input(args.input)
30 4614bb6a Carles
31 20c0887a Carles Martí
    if inp_vars['isolated']:
32 20c0887a Carles Martí
        run_isolated(inp_vars)
33 4614bb6a Carles
34 20c0887a Carles Martí
    if inp_vars['screening']:
35 20c0887a Carles Martí
        run_screening(inp_vars)
36 4614bb6a Carles
37 20c0887a Carles Martí
    if inp_vars['refinement']:
38 20c0887a Carles Martí
        run_refinement(inp_vars)
39 4614bb6a Carles
40 20c0887a Carles Martí
    logger.info(f'DockOnSurf finished.')