Source code for lib5c.parsers.scaled

"""
Module for parsing .scaled files.
"""

import numpy as np


[docs]def load_scaled(scaledfile): """ Loads the scaled values from a .scaled file into square, symmetric arrays and returns them. Parameters ---------- scaledfile : str String reference to location of .scaled file to load counts from. Returns ------- dict of 2d arrays The keys are the region names. The values are the arrays of scaled values for that region. These arrays are square and symmetric. """ # dict to store scaled values scaled = {} # parse scaledfile with open(scaledfile, 'r') as handle: for line in handle: # parse region region = line.strip('\n').split('\t')[0] # add region to dict if this is a new one if region not in scaled: scaled[region] = [] # parse value value = float(line.strip('\n').split('\t')[1]) # add this line to the list scaled[region].append(value) # reshape array for region in scaled.keys(): size = int(np.sqrt(len(scaled[region]))) scaled[region] = np.asarray(scaled[region]).reshape((size, size)) return scaled
# test client
[docs]def main(): counts = load_scaled('test/test.scaled') print(counts.keys()) print(len(counts['Klf4'])) print(len(counts['Klf4'][0])) print(counts['Klf4'][0][0]) print(counts['Klf4'][1][0]) print(counts['Klf4'][0][1])
if __name__ == "__main__": main()