2 creates table snp {chrom varchar,
16 sample line in dbsnp file
17 608 chr1 3093453 3093454 rs52602943 0 + G G C/G genomic single unknown 0 0 unknown exact 1
26 import sqlite3 as sqlite
34 print "usage: python %s snpfile snpdbname" % argv[0]
40 buildsnpdb(snpfilename, snpdb)
43 def buildsnpdb(snpfilename, snpdb):
44 db = sqlite.connect(snpdb)
46 sql.execute("create table snp (chrom varchar, start long, stop long, name varchar, observed varchar, strand varchar, ucscref varchar, ncbiref varchar, func varchar, moltype varchar, valid varchar, class varchar)")
47 sql.execute("PRAGMA temp_store = MEMORY")
48 sql.execute("PRAGMA DEFAULT_CACHE_SIZE = 500000")
55 infile = open(snpfilename)
58 fields = entry.strip().split("\t")
60 start = int(fields[2])
72 valuesList.append((chrom, start, stop, name, observed, strand, refUcsc, refNcbi, func, molType, valid, classes))
77 if insertCounter % insertSize == 0:
79 db.executemany("insert into snp values (?,?,?,?,?,?,?,?,?,?,?,?)", valuesList)
82 if len(valuesList) > 0:
83 db.executemany("insert into snp values (?,?,?,?,?,?,?,?,?,?,?,?)", valuesList)
87 print "building index"
88 sql.execute("PRAGMA SYNCHRONOUS = OFF")
89 sql.execute("create index chromIndex on snp(chrom)")
90 sql.execute("create index mainIndex on snp(chrom,start,stop)")
94 if __name__ == "__main__":