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

dockonsurf / dockonsurf.py @ dbef6e98

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

1
#!/usr/bin/env python3
2
"""
3
Code to systematically find the most stable geometry for molecules on surfaces
4
"""
5
import os
6

    
7
import daemon
8

    
9
from modules.config_arg import get_args
10
from modules.config_log import config_log
11
from modules.dos_input import read_input
12
from modules.isolated import run_isolated
13
from modules.screening import run_screening
14
from modules.refinement import run_refinement
15

    
16
args = get_args()
17
logger = config_log('DockOnSurf')
18

    
19
print("Running DockOnSurf.\n"
20
      f"To check DockOnSurf activity see '{logger.handlers[0].baseFilename}'.\n"
21
      f"To stop DockOnSurf execution type: `$ kill {os.getpid()}`.")
22

    
23
with daemon.DaemonContext(working_directory=os.getcwd(), umask=0o002,
24
                          files_preserve=[logger.handlers[0].stream.fileno()]):
25
    logger.info(f'DockOnSurf started on {os.getcwd()}.')
26
    logger.info(f'To kill DockOnSurf execution type: `$ kill {os.getpid()}`.')
27
    logger.info(f"Using '{args.input}' as input.")
28

    
29
    inp_vars = read_input(args.input)
30

    
31
    if inp_vars['isolated']:
32
        run_isolated(inp_vars)
33

    
34
    if inp_vars['screening']:
35
        run_screening(inp_vars)
36

    
37
    if inp_vars['refinement']:
38
        run_refinement(inp_vars)
39

    
40
    logger.info(f'DockOnSurf finished.')