def getsig(filename,clib):
infile = gzip.open(filename,'rb')
try:
lines = infile.readlines()
except IOError:
infile.close()
infile = open(filename,'rt')
lines = infile.readlines()
infile.close()
T = len(lines)
n = len(bytes.decode(lines[0]).split()[3:])
chrom = (ctypes.c_long * T)()
pos = (ctypes.c_long * T)()
obs = np.zeros((T,n),dtype=ctypes.c_int8)
lines_p = (ctypes.c_char_p * T)()
lines_p[:] = lines
clib.getsig.restype = None;
clib.getsig(chrom,pos,obs.ctypes.data_as(ctypes.c_void_p),
ctypes.c_long(T),ctypes.c_long(n),lines_p)
return n/2, chrom, pos, obs
# retrieve the genotype likelihoods
评论列表
文章目录