2 from cistematic.genomes import Genome
3 from cistematic.core.geneinfo import geneinfoDB
5 print "%prog: version 3.1"
11 usage = "usage: python %s genome GOID1 [GOID2 ....] [--outfile outfilename] [--append] [--restrict genefile]"
13 parser = optparse.OptionParser(usage=usage)
14 parser.add_option("--outfile", dest="outfilename")
15 parser.add_option("--append", action="store_true", dest="append")
16 parser.add_option("--restrict", dest="restrictfilename")
17 parser.set_defaults(outfilename=None, restrictfilename=None, append=False)
18 (options, args) = parser.parse_args(argv[1:])
31 getGOgenes(genome, GOIDlist, options.outfilename, options.restrictfilename, options.append)
34 def getGOgenes(genome, GOIDlist, outfilename=None, restrictfilename=None, append=False):
36 if outfilename is not None:
40 if restrictfilename is not None:
51 testList = hg.allGIDsbyGOID(GOID)
52 print "GOID: %s (%d)" % (GOID, len(testList))
53 firstGeneList += testList
56 for gid in firstGeneList:
59 geneList = geneDict.keys()
61 geneInfoList = idb.getallGeneInfo(genome)
65 outfile = open(outfilename, "a")
67 outfile = open(outfilename, "w")
70 outfile.write("#%s\n" % GOID)
75 restrictFile = open(restrictfilename)
76 for line in restrictFile:
77 fields = line.strip().split()
78 restrictList.append(fields[0])
79 restrictDict[fields[0]] = line
85 if restrict and gid not in restrictList:
89 symbol = geneInfoList[gid][0][0]
94 symbolDict[symbol] = restrictDict[gid]
96 outList.append(symbol)
99 for symbol in outList:
102 outfile.write(symbolDict[symbol])
104 outfile.write(symbol + "\n")
112 if __name__ == "__main__":