Changeset 16015
- Timestamp:
- 05/30/12 10:36:57 (13 months ago)
- Location:
- trunk/src
- Files:
-
- 3 modified
-
obitools/sample.py (modified) (2 diffs)
-
obitools/utils/__init__.py (modified) (1 diff)
-
obiuniq.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/obitools/sample.py
r14635 r16015 4 4 @author: coissac 5 5 ''' 6 from random import shuffle, randrange 6 from random import shuffle, randrange, sample 7 from obitools.utils import Counter 8 import random 7 9 8 10 def lookfor(x,cumsum): … … 53 55 54 56 def weigthedSampleWithoutReplacement(events,size): 55 entries = [k for k in events.iterkeys() if events[k]>0]56 shuffle(entries)57 cumul=[ ]57 # entries = [k for k in events.iterkeys() if events[k]>0] 58 entries = events.keys() 59 cumul=[0] * len(entries) 58 60 s=0 61 i=0 59 62 for e in entries: 60 63 s+=events[e] 61 cumul.append(s) 64 cumul[i]=s 65 i+=1 62 66 63 #print cumul64 result={}67 c = random.sample(xrange(s),size) 68 c.sort() 65 69 66 for t in xrange(size): 67 # print s,cumul, 68 e=lookfor(randrange(s), cumul) 69 # print e 70 k=entries[e] 71 for x in xrange(e,len(cumul)): 72 cumul[x]-=1 73 s-=1 74 result[k]=result.get(k,0)+1 70 i = 0 71 for j in xrange(len(c)): 72 v = c[j] 73 while (v > cumul[i]): 74 i+=1 75 c[j]=entries[i] 76 77 result=Counter(c) 75 78 76 79 return result -
trunk/src/obitools/utils/__init__.py
r15764 r16015 16 16 from _utils import progressBar 17 17 18 from collections import Counter 18 19 19 20 -
trunk/src/obiuniq.py
r15764 r16015 15 15 type="string", 16 16 default=[], 17 help="ecoPCR taxonomy Database " 18 "name") 17 help="attributes to merge") 19 18 20 19 optionManager.add_option('-c','--category-attribute',


