def seekGOTerms(keywords, output_file = None): ''' keywords: A list of words to search for. ''' ret = {} # Key: GO ID, Value: Term for gid in go.go_terms.keys(): gx = GO.GOTerm() gx = go.getGOTermOf(gid) desc = gx.getGOName() for k in keywords: k = k.upper() if desc.upper().find(k) >= 0: ret[gid] = desc print gid, desc break f=None if output_file is not None: f=open(output_file, 'w') for gid in ret.keys(): s = '\t'+gid+'\t# '+ret[gid] if f is not None: f.write(s+'\n') else: print s if f is not None: f.close()