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

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -