Translation
PlasmidPop translates DNA in two places: under CDS features in the sequence view, and for any selection in the Translate tab.
Amino acids under CDS features
With Translations on in the toolbar, every CDS feature gets a line of one-letter amino acids between the strands and the feature bars. Each residue sits under its codon, and codons are shaded alternately so the frame is easy to follow. The translation honours:
/codon_start(1, 2 or 3) for features that begin mid-codon. Deleting bases from the start of a CDS moves it, so the codons after the cut stay in frame, and marks the CDS 5′-partial so the first codon left is not shown asM(unless only the bases/codon_startskips went: the first codon is whole, so the CDS keeps its start). Copying a region, extracting it, or a cloning product (digest fragment, PCR, Gibson, Gateway, ligation) that starts inside a CDS does the same. When the region keeps both ends of a CDS but drops its middle (a digest backbone cut inside a CDS, a region across the origin), the two kept stretches become two CDS features, each marked partial on the cut side and each with its own/codon_start, so each translates in its own correct frame. A kept piece is marked partial on every side where the feature goes on past it, also where the region dropped a whole join segment or the far side of the origin; deleting the end of a CDS's reading marks it 3′-partial;/transl_table: every genetic code NCBI numbers (1–6, 9–16 and 21–33), not only the standard and bacterial ones. The code decides the amino acids as well as the start codons — TGA is a stop under the standard code and tryptophan under the vertebrate mitochondrial one — so a gene read with the wrong code comes out chopped short;join(...)locations: the pieces are spliced before translating;- reverse-strand features, translated from the reverse complement and drawn right to left;
- partial ends (
<and>), which suppress the start-codonM; - the bases left over after the last whole codon, which are dropped, except two at a partial 3′ end that give the same residue whatever the third base would have been:
GTis valine,CCproline, so the gene ends inVorPas NCBI's own/translationdoes. Where the third base would decide (TAcould be a stop or tyrosine) they are dropped too. Clicking that residue selects its two bases; Mutate offers no codon there; /transl_except, which reads one codon as a residue the genetic code would not give it:(pos:220..222,aa:Sec)makes that UGA selenocysteine,U, instead of a stop. Pyrrolysine shows asO;- features that wrap the origin of a circular sequence.
Stops are shown as *, codons with ambiguity codes as X.
A /transl_except names its codon by position in the sequence, so it moves with its feature: insert bases upstream, reverse-complement the molecule, set a new origin or copy the gene into another tab, and it still names the same codon. An edit to that codon's own bases removes it. The same goes for /anticodon on a tRNA. Copying a region that clips a CDS drops its stored /translation, which no longer matches the bases; where the copy splits the CDS into stretches, a /transl_except stays only on the stretch that holds its codon.
Clicking an amino acid selects its codon — the three bases it is read from — and dragging along the line extends the selection codon by codon, which is a quick way to take a protein-aligned piece of a gene. Ctrl+Shift+← and Ctrl+Shift+→ do the same from the keyboard: the first press takes the codon the cursor is in, each one after that adds the next. Click the feature bar below instead to select the whole feature.
A /transl_table naming a code NCBI does not use — 7 and 8 were withdrawn, 17 to 20 were never issued — falls back to the standard code, and a warning in the status bar says which feature asked for what. So does a /transl_except that names no codon of its feature, such as one out of frame; that codon is read with the genetic code.
Numbered residues
Above the amino acids, the first residue of each CDS and every tenth one (10, 20, 30, …) carry their number, centred over the letter. Residue 1 is the first whole codon — after the bases a /codon_start of 2 or 3 skips — and the count runs on through every piece of a join(...), however the exons split the codons, and straight through the origin of a circular sequence. On the reverse strand the count runs right to left, the way the gene is read, so residue 1 is at the right-hand end.
Format ▸ Residue numbers chooses how many are numbered:
- Every 10th, the default;
- All, for reading a protein position off the sequence directly. Where the numbers are wider than their codons — four-digit numbers at the Small text size, say — some are left out rather than drawn over each other, the tens always kept first. A larger text size or fewer bases per row brings them back;
- Off, which also gives the rows back the room the numbers take.
The sequence SVG export numbers the residues the same way. The Translate tab numbers its frames too, see below. A protein document has no such numbers: its ruler already counts residues.
Checking a record against itself
Most records state the protein they expect: a CDS carries a /translation qualifier its author wrote out. When a file is opened, every CDS that has one is translated from its own bases and compared with it, and a disagreement is reported in the status bar with the feature, where it is, and the first residue that differs:
CDS rpoB at complement(4,181,245..4,185,273) — the file's /translation
differs from the sequence at residue 12: the file says Q, the sequence gives E.
This is worth knowing before trusting either one. It usually means the file and its own annotation have drifted apart — a sequence edited without the translation being redone — but it can equally mean the feature needs a genetic code or a /codon_start it does not have. Only the first eight are listed; the rest are counted.
An X on either side is not counted as a disagreement: it is a residue nobody is claiming to know. A U or O in the file is counted unless a /transl_except puts it there.
The check also follows your edits. As soon as an edit makes a CDS disagree with its /translation — a base changed inside it, say — its row in the Features list gets a ⚠, and hovering it says how. Select the feature and the same explanation appears under it, with two ways out:
- Update /translation rewrites the stored protein from the bases as they are now;
- Remove /translation drops it; the protein is still shown under the feature, translated from the bases.
Either is one step in the History, so Ctrl+Z undoes it. A record that disagreed with itself when it was opened carries the ⚠ from the start.
The Translate tab
The tab translates the current selection, or the whole sequence when nothing is selected, in all six frames:
- +1, +2, +3 read the forward strand from its first, second and third base.
- −1, −2, −3 read the reverse complement, starting at the 3′ end of the selection.
Each frame shows its length in amino acids, the number of stop codons, and the protein with every stop marked, so the open frame stands out. Copy puts one frame on the clipboard, and Open as protein opens it as a protein document of its own, stops and all. Export FASTA downloads all six as one protein FASTA file, one record per frame, named after the document and the range.
Above the frames, CDS features lists the coding features of the selection (or of the whole sequence), each with Open as protein: the protein it codes for opens in a tab of its own, named after the CDS. It is read exactly as the line under the CDS is — its own genetic code, /codon_start, /transl_except, every piece of a join, the reverse strand — and the stop that ends it is left off. See Proteins.
Code chooses the genetic code the six frames are read with — any of the 27 NCBI numbers, the standard code by default. A frame full of stops under the standard code often has none under the right mitochondrial one, which is the quickest way to tell what you are looking at. The choice is remembered and is shared with the ORFs tab, because both are reading bases that carry no /transl_table of their own; CDS features are read with theirs whatever is chosen here.
Export FASTA names the code in each description line when it is not the standard one.
Each frame's protein is set in blocks of ten, numbered as a sequence is printed: the first block by 1 and by 10 at its end, each block after by its last residue (20, 30, …). The count starts afresh in every frame, at the frame's first codon — at the left of the selection for +1 to +3 and at its right for −1 to −3, since those read the other strand. The numbers are not part of the text, so selecting and copying a frame copies residues only. Format ▸ Residue numbers ▸ Off shows the frames as plain text, and so does a frame of more than 20,000 residues.
Recode a CDS for a host
Recode… beside a CDS in the CDS features list chooses new codons for the same protein, to suit the organism the gene will be expressed in. The protein does not change: every result is translated again, with the CDS's own genetic code, and compared with the protein before it is offered, and a difference stops it with a message instead of a result.
- Host is the codon usage to follow: _E. coli_ (W3110, a K-12 derivative), _S. cerevisiae_, _P. pastoris_, human, mouse or CHO, the counts the Codon Usage Database compiled from GenBank, or a table of your own. Import a table… reads either that database's page saved as text or a file with one codon to a line and its count last (
TTT,17.6,714298, a first line# Nameto name it); U is read as T. It is read in your browser and kept there, and remove forgets it. - Codons is most used by the host, the commonest codon for each residue, or in the host's own mix, each codon in the share the host uses it, spread along the gene, which reads more like a native gene and scores a lower CAI on purpose. The aim is not the highest score: a codon the host uses for under a tenth of its amino acid is left out unless nothing else will clear a limit.
- Keep these sites out takes enzyme names (any enzyme of the set in use, the list completes as you type); the recognition site is kept out of the gene on both strands, including where it would straddle the gene's ends.
- GC at least / at most … in any … bases and Longest run are the other limits (30 % to 70 % in any 50 bases and runs of at most 6 by default; 0 in Longest run and 0 to 100 % switch them off).
Recode works on the analysis worker and shows a preview and nothing else: the CAI (Codon Adaptation Index, Sharp and Li 1987, relative to the host's own commonest codons) before and after, how many codons change, how many are ones the host seldom uses, and any limit that could not be met without changing the protein, with where it is. Apply makes the change as one step in the History, named Recode _name_ for _host_, and adds a /note to the CDS saying it was recoded, with the CAI and the number of codons changed; Undo takes back the bases and the note together.
The start codon and the stop codon are left as they are, and so is any codon with a base that is not A, C, G or T. A CDS made of several pieces (a join), one that runs across the origin of a circular sequence, and one with /transl_except are not recoded, and the button says which. The bases only change within the CDS; features, case and the length of the document stay as they were.
How to find the reading frame of a fragment
- Select the fragment in either view (or press
Ctrl+Fand find it). - Open the Translate tab.
- The frame with no stops, or the fewest, is the one to look at.
- To annotate it, use the ORFs tab and Add as CDS feature, or select the exact range and Add feature with type
CDS.