diff --git a/common.py b/common.py new file mode 100644 index 0000000..150f7c5 --- /dev/null +++ b/common.py @@ -0,0 +1,19 @@ +from optparse import OptionParser, OptionValueError + +def parse_seq(f): + """Parse a FASTA sequence from the file 'f', returning its full string""" + if not f.readline().startswith(">"): + raise Exception("Not a FASTA sequence") + lines = [] + for line in f: + if line.startswith(">"): + break + lines += [line.strip()] + return ''.join(lines) + +def parser_open_file(option, opt_str, value, parser, mode): + try: + f = open(value, mode) + except IOError, e: + raise OptionValueError(str(e)) + setattr(parser.values, option.dest, f) diff --git a/readGen.py b/readGen.py index 9f47062..7656f80 100755 --- a/readGen.py +++ b/readGen.py @@ -2,7 +2,8 @@ import random import sys -from optparse import OptionParser, OptionValueError +from optparse import OptionParser +from common import * def gen_reads(seq, l, coverage=1): num_reads = int((len(seq)/l) * coverage) @@ -21,24 +22,6 @@ def write_reads(rs, f): f.write('\t'.join(str(x) for x in read)) f.write('\n') -def parse_seq(f): - """Parse a FASTA sequence from the file 'f', returning its full string""" - if not f.readline().startswith(">"): - raise Exception("Not a FASTA sequence") - lines = [] - for line in f: - if line.startswith(">"): - break - lines += [line.strip()] - return ''.join(lines) - -def parser_open_file(option, opt_str, value, parser, mode): - try: - f = open(value, mode) - except IOError, e: - raise OptionValueError(str(e)) - setattr(parser.values, option.dest, f) - if __name__ == "__main__": parser = OptionParser(usage="%prog length [options]")