1
2
3
4
5
6
8 """
9
10 >>> from rdkit import DataStructs
11 >>> bv = DataStructs.ExplicitBitVect(128)
12 >>> bv.SetBitsFromList((1,5,47,99,120))
13 >>> r = ConstructEnsembleBV(bv,(0,1,2,3,45,46,47,48,49))
14 >>> r.GetNumBits()
15 9
16 >>> r.GetBit(0)
17 0
18 >>> r.GetBit(1)
19 1
20 >>> r.GetBit(5)
21 0
22 >>> r.GetBit(6) # old bit 47
23 1
24
25
26
27 """
28 finalSize=len(bitsToKeep)
29 res = bv.__class__(finalSize)
30
31
32 for i,bit in enumerate(bitsToKeep):
33 if bv.GetBit(bit):
34 res.SetBit(i)
35 return res
36
37
38
39
40
41
43 import doctest,sys
44 return doctest.testmod(sys.modules["__main__"])
45
46 if __name__ == '__main__':
47 import sys
48 failed,tried = _test()
49 sys.exit(failed)
50