Source code for comp_concatcell_chr

# command time python /gale/ddn/snm3C/humanPFC/code/comp_concatcell_chr.py --cell_list /gale/ddn/snm3C/humanPFC/smoothed_matrix/filelist/cpglist_raw_chr${c}.txt --outprefix /gale/ddn/snm3C/humanPFC/smoothed_matrix/${res0}b_resolution/merged/raw_chr${c} --ncpus 10

import argparse
import numpy as np
from multiprocessing import Pool

[docs] def load_cpg(i): data = np.load(celllist[i]) return [i, data[:-3], data[-3:]]
[docs] def comp_concatcell_chr(cell_list, outprefix, ncpus=10): global celllist celllist = np.loadtxt(cell_list, dtype=np.str) p = Pool(ncpus) result = p.map(load_cpg, np.arange(len(celllist))) p.close() comp = np.zeros((len(celllist), len(result[0][1]))) score = np.zeros((len(celllist), 3)) for i,x,s in result: comp[i] = x.copy() score[i] = s.copy() np.save(f'{outprefix}.cpgcomp.npy', comp) np.save(f'{outprefix}.cpgcompstr.npy', score)
''' parser = argparse.ArgumentParser() parser.add_argument('--cell_list', type=str, default=None, help='Full path of a file containing the full path of all CpG npy files to be concatenate') parser.add_argument('--outprefix', type=str, default=None, help='Prefix of concatenated matrix including directory') parser.add_argument('--ncpus', type=int, default=10, help='# threads for parallelization') opt = parser.parse_args() comp_concatcell_chr(opt.cell_list, opt.outprefix, opt.ncpus) '''