python - Looking for a segment into a range using np.where -
i using python searching segment range correspond peaks in genome. have begin , end of gene , peak in differents np.arrays, eg: beginpeak, begingen, endpeak, endgen. peaks has in same chromosome genes.
the code follow:
for gen in range(len(nameid): = np.where((((begingain > begingen[gen]) & (begingain < endgen[gen])) | ( (endgain > begingen[gen]) & (endgain < endgen[gen])) | ( (begingain < begingen[gen]) & (endgain > endgen[gen]))) & ( chromogain == chromogen[gen])) and save results in variable:
if len(namegain[good]) > 0: x in range(len(namegain[good])): resbegingain.append(begingain[good][x]) rechromogain.append(chromogain[good][x]) renamegain.append(namegain[good][x]) reendgain.append(endgain[good][x]) genname.append(nameid[gen]) genbegin.append(begingen[gen]) genend.append(endgen[gen]) strandgen.append(strand[gen]) if nameid[gen] not in resnamegen: resnamegen.append(nameid[gen]) resbegingen.append(begingen[gen]) reschromogen.append(chromogen[gen]) resendgen.append(endgen[gen]) resstrand.append(strand[gen]) the problems is taking long when use 200000 genes , 100000 peaks. can have more algorithm?
Comments
Post a Comment