5 print "psyco not running"
8 from cistematic.cisstat.analyzego import calculateGOStats
9 from cistematic.core.geneinfo import geneinfoDB
17 usage = "usage: python %prog genome infilename prefix [--geneName] [--field fieldID]"
19 parser = optparse.OptionParser(usage=usage)
20 parser.add_option("--geneName", action="store_true", dest="translateGene",
21 help="translate gene")
22 parser.add_option("--field", type="int", dest="fieldID",
23 help="column containing gene ID/Name")
24 parser.set_defaults(translateGene=False, fieldID=None)
25 (options, args) = parser.parse_args(argv[1:])
32 if options.translateGene:
35 if options.fieldID is not None:
36 fieldID = options.fieldID
42 analyzeGOFromFile(genome, infilename, prefix, options.translateGene, fieldID)
45 def analyzeGOFromFile(genome, infilename, prefix, translateGene=False, fieldID=1):
46 infile = open(infilename)
47 analyzeGO(genome, infile, prefix, translateGene=False, fieldID=1)
51 def analyzeGO(genome, geneInfoList, prefix, translateGene=False, fieldID=1):
53 idb = geneinfoDB(cache=True)
54 geneinfoDict = idb.getallGeneInfo(genome)
56 for gid in geneinfoDict:
57 symbol = geneinfoDict[gid][0][0].strip()
58 symbolToGidDict[symbol] = gid
61 for line in geneInfoList:
64 gene = fields[fieldID]
68 print "ignoring %s" % gene
72 gID = symbolToGidDict[gene]
74 print "ignoring %s" % gene
79 if (genome, gID) not in locusList:
80 locusList.append((genome, gID))
82 if len(locusList) > 0:
83 calculateGOStats(locusList, prefix)
85 if __name__ == "__main__":