def orfs(self, frame=<NUM_LIT:0>, revcomp=False):
assert frame in [<NUM_LIT:0>,<NUM_LIT:1>,<NUM_LIT:2>]<EOL>if revcomp:<EOL><INDENT>self.revcomp()<EOL><DEDENT>aa_seq = self.translate(frame=frame).seq.rstrip('<STR_LIT:X>')<EOL>if revcomp:<EOL><INDENT>self.revcomp()<EOL><DEDENT>orfs = _orfs_from_aa_seq(aa_seq)<EOL>for i in range(len(orfs)):<EOL><INDENT>if revcomp:<EOL><INDENT>start = len(self) - (orfs[i].end * <NUM_LIT:3> + <NUM_LIT:3>) - frame<EOL>end = len(self) - (orfs[i].start * <NUM_LIT:3>) - <NUM_LIT:1> - frame<EOL><DEDENT>else:<EOL><INDENT>start = orfs[i].start * <NUM_LIT:3> + frame<EOL>end = orfs[i].end * <NUM_LIT:3> + <NUM_LIT:2> + frame<EOL><DEDENT>orfs[i] = intervals.Interval(start, end)<EOL><DEDENT>return orfs<EOL>
Returns a list of ORFs that the sequence has, starting on the given
           frame. Each returned ORF is an interval.Interval object.
           If revomp=True, then finds the ORFs of the reverse complement
           of the sequence.