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

dockonsurf / dockonsurf.py @ 4e82c425

Historique | Voir | Annoter | Télécharger (1,22 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}'.")
21

    
22
with daemon.DaemonContext(working_directory=os.getcwd(), umask=0o002,
23
                          files_preserve=[logger.handlers[0].stream.fileno()]):
24
    # From here on, the execution is carried out by a separate process in
25
    # background
26
    logger.info(f'DockOnSurf started on {os.getcwd()}.')
27
    logger.info(f'To kill DockOnSurf execution type: `$ kill {os.getpid()}`.')
28
    logger.info(f"Using '{args.input}' as input.")
29

    
30
    inp_vars = read_input(args.input)
31

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

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

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

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