5 # This script maps all the qualified SNC sites on to the genome browser
7 # Written by: Wendy Lee
8 # Written on: August 18th, 2008
9 # Last Modified: December 14th, 2008 by Ali Mortazavi
17 print "makeSNPtrack: version 1.3"
20 print "usage: python %s snpfile trackname trackoutfile" % argv[0]
27 makeSNPtrack(snpfile, track, outfile)
30 def makeSNPtrack(snpfilename, track, outfilename):
32 snpfile = open(snpfilename, "r")
33 writeSNPsBedfile(snpfile, track, outfilename)
37 def writeSNPsBedfile(snpPropertiesList, track, outfilename):
39 outfile = open(outfilename, "w")
40 header = getHeader(track)
43 for line in snpPropertiesList:
44 if doNotProcessLine(line):
47 fields = line.strip().split()
48 outline = getBedOutputLine(fields)
49 outfile.write(outline)
55 header = "track name=%s description=%s visibility=2 itemRgb=\"On\"\n" % (track, track)
59 def doNotProcessLine(line):
63 def getBedOutputLine(snpPropertiesList):
64 chromosome = snpPropertiesList[2]
65 readStart = int(snpPropertiesList[3]) - 1
66 readStop = readStart + 1
67 readName = snpPropertiesList[7]
68 color = getSNPColor(readName)
71 outline = "%s\t%d\t%d\t%s\t%s\t%s\t-\t-\t\t%s\n" % (chromosome, readStart, readStop, readName, score, sense, color)
76 def getSNPColor(readName):
77 baseColor = {"A": "200, 0, 255",
83 specialColors = {"A-G": "255, 0, 0",
87 if readName in specialColors.keys():
88 color = specialColors[readName]
91 color = baseColor[readName[-1]]
92 except (IndexError, KeyError):
98 if __name__ == "__main__":