3 import os, string, sys, getopt, Args
5 record_delimiter = "\n---\n"
15 ###########################################
18 ###########################################
20 ###########################################
21 def open_streams(self, input_file, output_file):
22 #print input_file, output_file
24 self.in_stream = sys.stdin
25 #print "in_stream = <STDIN>"
28 self.in_stream = open(input_file, 'r')
29 #print "in_stream = %s" % (input_file)
34 self.out_stream = sys.stdout
35 #print "out_stream = <STDOUT>"
38 self.out_stream = open(output_file, 'w')
39 #print "out_stream = %s" % (output_file)
42 ###########################################
44 ###########################################
45 def close_streams(self):
47 self.in_stream.close()
49 self.out_stream.close()
50 ###########################################
52 ###########################################
56 while not self.eo_buffer:
62 tmp = self.in_stream.read(1000)
66 self.buffer = self.buffer + tmp
67 delim_index = self.buffer.find(record_delimiter)
69 rec = self.buffer[:delim_index]
70 self.buffer = self.buffer[delim_index + len(record_delimiter):]
73 ###########################################
75 ###########################################
76 def process_record(self, rec):
80 lines = rec.split("\n")
82 self.rec_dic[self.rec_num] = {}
86 self.rec_dic[self.rec_num][toks[0]] = toks[1].lower()
88 self.rec_dic[self.rec_num][toks[0]] = toks[1]
89 #self.rec_dic[self.rec_num][toks[0]] = toks[1]
90 #print self.rec_dic[self.rec_num]
92 ###########################################
94 ###########################################
95 def put_record(self, r_num):
96 rec = self.rec_dic[r_num]
98 #print "%s: %s" % (k, rec[k])
99 self.out_stream.write("%s: %s\n" % (k, rec[k]))
101 self.out_stream.write("---\n")
102 ###########################################
104 ###########################################
105 def print_usage(self, opt):
106 bp_dir = os.environ['BP_DIR']
107 usage_path = bp_dir + os.path.sep + "bp_usage" + os.path.sep + "lowercase_seq.wiki"
108 os.system("print_usage -i %s %s" % (usage_path, opt))
109 ###########################################
122 lc_seq = Lowercase_seq()
124 a = Args.Args('Usage: %(progname)s [-a value] [-b value] [-c] word [file...]')
126 a.opt['-I'] = '' # input file
127 a.opt['-O'] = '' # output file
128 a.getopt('I:O:?:v') # get user supplied option values
130 #print >> sys.stderr, a.opt
132 word = a.shift() # get the first of the remaining arguments
133 # use a.pop() to get the last instead
135 sys.stderr.write("Unknown argument %s\n" % (word))
138 if sys.stdin.isatty():
139 lc_seq.print_usage('')
142 #for line in a: # iterate over the contents of all remaining arguments (file names)
144 # print 'starting new file:', a.infile
145 # a.warning(line.rstrip())
147 #print 'Options:', a.opt
149 #print 'Total number of lines:', a.linesum
152 if a.opt.has_key('-?'):
153 lc_seq.print_usage('-?')
157 lc_seq.open_streams(a.opt['-I'], a.opt['-O'])
159 sys.stderr.write("%s\n" % ("IOError"))
164 rec = lc_seq.get_record()
167 rec_num = lc_seq.process_record(rec)
168 lc_seq.put_record(rec_num)
170 lc_seq.close_streams()
172 #source = "Dmel_tRNAs_key_record_tuples.txt"
173 #lc_seq.open_stream(source)