summaryrefslogtreecommitdiff
path: root/Code/param4net.py
blob: eccc540a365e7c50752955cc9a4c4424770c957e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Purpose: refactoring.
# Create on 10 Aug 2019 by Hui Lan <lanhui@zjnu.edu.cn>

GLB_PARAM_SYMBOL    = '%%'

def get_key_value(s):
    lst = s.split('=')
    k, v = lst[0], lst[1]
    return (k.strip(), v.strip())


def make_global_param_dict(fname):
    f = open(fname)
    d = {'GENE_LIST':'', 'HIGH_PRIORITY_GENE':'', 'BINDING_MATRIX':'', 'INPUT_MATRIX':'', 'EXPRESSION_MATRIX':'', 'BINDING_INFO':'', 'EXPRESSION_INFO':'', 'RESEARCH_KEYWORDS':'', 'USER_CONDITION_LIST':[], 'LOOK_FOR_POS_CORRELATION':'NO', 'LOOK_FOR_NEG_CORRELATION':'NO', 'MAKE_PLOT':'NO', 'TWO_WAY':'YES', 'THREE_WAY':'NO', 'TARGET_RANGE':'1000', 'FC':'2.0', 'PVALUE':'0.0001', 'QVALUE':'0.01', 'CHRINFO':{'1':30427671, '2':19698289, '3':23459830, '4':18585056, '5':26975502, 'Mt':366924, 'Pt':154478}, 'SELECT_POINTS_DIAGONAL_MAX_DIFF':0.25, 'EXISTING_TARGET_TF_PAIRS':None} # change
    for line in f:
        line = line.strip()
        if line.startswith(GLB_PARAM_SYMBOL):
            s = line[line.rfind(GLB_PARAM_SYMBOL[-1])+1:]
            lst = s.split('\t')  # separate items by TAB
            for x in lst:
                if x != '':
                    k, v = get_key_value(x)
                    d[k] = v
    f.close()
    return d