def __init__(self, fromH1, a, b): #a=0.5, b=25): self._fromH1 = fromH1 self._a = a self._b = b if self._fromH1: self._underlyingPval = r.rbeta(1, self._a, self._b) #[0] else: self._underlyingPval = r.runif(1) #[0]
def __iter__(self): from proto.RSetup import r pos = 0 maxPos = self._getChrLen() while True: #dist between segs if r.runif(1) < self.interProb: pos += int(max(1, r.rexp(1, self.interRate))) else: pos += int(max(1, r.rexp(1, self.intraRate))) start = pos #segLen pos += int(r.runif(1, self.minSegLen, self.maxSegLen)) end = pos if pos < maxPos: yield [start, end] else: break
def __iter__(self): from proto.RSetup import r pos = 0 maxPos = self._getChrLen() while True: if r.runif(1) < self.interProb: pos += int(max(1, r.rexp(1, self.interRate))) else: pos += int(max(1, r.rexp(1, self.intraRate))) if pos < maxPos: yield [pos, pos + 1] else: break
def __iter__(self): from proto.RSetup import r chr = self.chr trackName1, genome = self.trackName1, self.genome factor = self.factor region = GenomeRegion(genome, chr, 0, GenomeInfo.getChrLen(genome, chr)) track1 = PlainTrack(trackName1) tv1 = track1.getTrackView(region) vals1 = tv1.valsAsNumpyArray() #scale between 0 and 1..: minVal, maxVal = vals1.min(), vals1.max() vals1 = (vals1 - minVal) * (1 / (maxVal - minVal)) for pos in xrange(len(vals1)): #print r.runif(1), vals1[pos] if r.runif(1) < factor * vals1[pos]: yield [pos, pos + 1]
def __iter__(self): from proto.RSetup import r #maxPos = self._getChrLen() maxPos = self.chrMax minPos = self.chrMin pos = minPos while True: runif = r.runif(1) if runif < self.interProb: rexp = r.rexp(1, self.interRate) pos += int(max(1, rexp)) # among clusters else: rexp = r.rexp(1, self.intraRate) # inside cluster pos += int(max(1, rexp)) if pos < maxPos: yield [pos, pos + 1] else: break