In the first part of this paper we present a thermodynamic analysis of the elongation phase of transcription in Escherichia coli. The stability of the elongation complex is described by a "free energy of formation" function (delta G zero f) that is a sum of terms for forming (i) a locally denatured 17-base-pair DNA "bubble"; (ii) a constant-length hybrid between the 3'-terminal 12-nucleotide residues of the RNA transcript and the corresponding region of the DNA template strand; and (iii) a set of binding interactions between the polymerase and certain DNA and RNA residues within and near the "transcription bubble". The transcriptional elongation complex is very stable at most positions along a natural DNA template and moves in a highly processive fashion. At these positions, the delta G zero f function provides a quantitative measure of the stability of the elongation complex. Besides allowing for the polymerization of the RNA transcript, the elongation complex also serves to define the context within which transcript termination occurs. In the second part of the paper the thermodynamic analysis is extended to discriminate between template positions at which the elongation complex is stable and positions at which it is rendered relatively unstable by the presence of a string of rU residues at the 3'-terminus of the RNA together with the formation of a specific RNA hairpin just upstream of this point. Most factor-independent (intrinsic) termination events are thermodynamically disallowed at the former positions and are thermodynamically allowed at the latter positions. The extended form of the analysis closely predicts the exact sites of termination at a number of intrinsic terminators (and attenuators) in the E. coli genome. It also correctly predicts bidirectional function for a number of bidirectional terminators. In some cases it may identify terminators that are similar to the intrinsic type but that require additional protein factors, unusual polymerase-nucleic acid interactions, or rate-limiting conformational changes in order to function. Finally, it successfully locates intrinsic terminators within a number of E. coli operons and discriminates between these terminators and the surrounding DNA sequence.