1 import os, sys
2
3 _open = open
4
5 -def open(dbname, mode = "r"):
6 text = _open(os.path.join(dbname, "config.dat"), "rb").read()
7 line = text.split("\n")[0]
8 if line == "index\tBerkeleyDB/1":
9 import BerkeleyDB
10 return BerkeleyDB.open(dbname, mode)
11 elif line == "index\tflat/1":
12 import FlatDB
13 return FlatDB.open(dbname, mode)
14
15 raise TypeError("Unknown index type: %r" % (line,))
16
17
19 from Bio import Std
20 import XPath
21 import FlatDB
22 XPath.xpath_index(
23
24 dbname = "sprot_small",
25 filenames = ["/home/dalke/ftps/swissprot/smaller_sprot38.dat",
26
27 ],
28 primary_namespace = "entry",
29 extract_info = [
30 ("entry", "//entry_name"),
31 ("accession", "//%s[@type='accession']" % (Std.dbid.tag,)),
32 ],
33
34 )
35
36
37 if __name__ == "__main__":
38 main()
39