Source code for lib5c.writers.bias

"""
Module for writing bias vector files.
"""

from lib5c.util.system import check_outdir


[docs]def write_cis_bias_vector(bias, primermap, outfile, region_order=None): """ Writes a dict of bias vectors to a file. Parameters ---------- bias : Dict[str, np.ndarray] The keys are region names as strings, the values are the one-dimensional bias vector for that region. primermap : Dict[str, List[Dict[str, Any]]] The primermap or pixelmap that describes the loci whose bias factors are contained in the bias vectors. outfile : str A string reference to a file to write the bias vector to. region_order : Optional[List[str]] Pass a list of region names as strings to force the regions to be written in that order. If this kwarg is not passed, the regions will be written in the order of ``primermap.keys()``. """ check_outdir(outfile) # deduce regions if region_order is None: region_order = list(primermap.keys()) with open(outfile, 'w') as handle: for region in region_order: for i in range(len(primermap[region])): handle.write('%s\t%s\n' % (primermap[region][i]['name'], bias[region][i]))