I'm working on a project for a Coursera course where I need to scan a string of base pairs and identify possible genes, but there's something about real DNA that I need to know to design the algorithm correctly. My question is best illustrated by example.

Suppose we have a strand of DNA like this : ATGxxxyyyzzzTAAqqATGrsssATGuuTAAvpppTAG

The lower case letters just stand for general base pairs that are not in the sequences "ATG", "TAA", "TAG", or "TGA".

"ATGxxxyyyzzzTAA" constitutes a gene for the purposes of the assignment, and my program does correctly identify that string of base pairs as a gene. What I want to know focuses on what happens after that first gene is found. Let's consider the last portion of the string:


My current gene-finding program would identify "ATGrsssATGuuTAA" as a gene, but notice that this strand starts after only two base-pairs ("qq") have been searched through. Does that matter? I.e., would this happen in real DNA, or should the second valid gene be identified as "ATGuuTAAvpppTAG"?

  • $\begingroup$ without providing sources or getting into reading frames, I would say that bc DNA is sometimes damaged and not always cleaved at the end of a codon when digested for analysis, sometimes you can get 1 or 2 base pairs that are irrelevant for your purposes. Short answer: it's fine to ignore the "qq" like you've been doing. $\endgroup$
    – Diio
    Nov 7, 2017 at 17:45
  • 1
    $\begingroup$ I question the value of the course you are doing if it describes open reading frames (ORFs) as genes. This is biologically incorrect, so you can only be expected to follow the precise mathematical specifications given you. Thus the correct biological answer Remi gave you is less relevant than the actual spec, which you don't give. There are other pitfalls that relate to the two strands of the DNA (note that your lower case letters represent the bases of nucleotides — not base pairs), their directionality, and the possibility of overlapping ORFs. Have you considered these? $\endgroup$
    – David
    Nov 7, 2017 at 19:07
  • $\begingroup$ It’s a programming course, not a genetics course. The actual focus of the exercise is string manipulation, where the input is supposedly a block of base pairs read in an actual gene, like Axl2p. My intent is really more to refine an algorithm to solve a vastly oversimplified problem based on something that computer scientists would actually do on a genomics project. $\endgroup$
    – Delizardo
    Nov 7, 2017 at 19:23

1 Answer 1


There absolutely is not a rule saying that all genes on a strand should be in the same frame.

Your program is looking for ORFs (open reading frames) and it should identify all of them, in every frame. If you were being very thorough, you should generate the reverse complement of your sequence, and search that for ORFs too. But I guess if you were given this sequence, presuambly the professor gave you the sequence in the desired orientation.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .