import os

cli_default_settings = dict(
    output=os.environ.get('FRAGMENSTEIN_OUTPUT', 'output'),
    ranking=os.environ.get('FRAGMENSTEIN_RANKING', '∆∆G'),
    cutoff=float(os.environ.get('FRAGMENSTEIN_CUTOFF', 5.0)),
    quick=bool(os.environ.get('FRAGMENSTEIN_QUICK', False)),
    sw_dist=int(os.environ.get('FRAGMENSTEIN_SW_DIST', 25)),
    sw_length=int(os.environ.get('FRAGMENSTEIN_SW_LENGTH', 50)),
    sw_databases=list(os.environ.get('FRAGMENSTEIN_SW_DATABASES', 'REAL-Database-22Q1.smi.anon').split(',')),
    suffix=os.environ.get('FRAGMENSTEIN_SUFFIX', ''),
    n_cores=int(os.environ.get('FRAGMENSTEIN_N_CORES', 15)),
    combination_size=int(os.environ.get('FRAGMENSTEIN_COMBINATION_SIZE', 2)),
    top_mergers=os.environ.get('FRAGMENSTEIN_TOP_MERGERS', 500),
    max_tasks=int(os.environ.get('FRAGMENSTEIN_MAX_TASKS', 0)),
    timeout=int(os.environ.get('FRAGMENSTEIN_TIMEOUT', 240)),
    blacklist=os.environ.get('FRAGMENSTEIN_BLACKLIST', '').split(),
    workfolder=os.environ.get('FRAGMENSTEIN_WORKFOLDER', 'output'),
    linker_element=os.environ.get('FRAGMENSTEIN_LINKER_ELEMENT', 'N'),
    weights={"N_rotatable_bonds": 1,
             "\u2206\u2206G": 1,
             "interaction_uniqueness_metric": -5,
             "N_unconstrained_atoms": 0.2,
             "N_constrained_atoms": -0.05,
             "N_interactions": -1.5,
             "N_interactions_lost": 2,
             "max_hit_Tanimoto": -0.5,
             "N_PAINS": 5,
             "strain_per_HA": 1},
    supressed_exceptions=(Exception,),
)
