Forbidden codon combinations in error-detecting circular codes
Elena Fimmel, Hadi Saleh, Lutz Strüngmann

TL;DR
This paper introduces a new software tool to construct special genetic codes called circular codes, using mathematical theorems to exclude certain codon combinations.
Contribution
A novel software tool for constructing self-complementary circular codes using mathematical theorems to exclude forbidden codon combinations.
Findings
A systematic approach using two mathematical theorems to exclude codons in constructing circular codes.
The software provides an efficient method for building self-complementary C³-codes of maximum size.
The approach sheds light on the mathematical foundations of these codes.
Abstract
Circular codes, which are considered as putative remnants of primaeval comma-free codes, have recently become a focal point of research. These codes constitute a secondary type of genetic code, primarily tasked with detecting and preserving the normal reading frame within protein-coding sequences. The identification of a universal code present across various species has sparked numerous theoretical and experimental inquiries. Among these, the exploration of the class of 216 self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}\end{document}C3-codes of maximum size 20 has garnered significant attention. However, the origin of the number 216 lacks a…
Genes, proteins, chemicals, diseases, species, mutations and cell lines named across the full text — each resolved to its canonical identifier and authoritative record.
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8- —Hochschule Mannheim (3390)
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsRNA and protein synthesis mechanisms · Genomics and Phylogenetic Studies · Bacterial Genetics and Biotechnology
Introduction
Genomes are dynamic units that change over time through more or less minor modifications to the nucleotide sequence. These heritable changes and errors in the nucleotide sequence of DNA are called mutations. Mutations are unavoidable and a necessary basis of evolution, but they usually have a negative effect on the organism. To limit the damage, organisms have developed effective repair mechanisms that limit the frequency of mutations to a tolerable level. Insertions or deletions of individual nucleotides account for almost a quarter of all gene mutations in the human genome (Abecasis et al. 2010). If they occur in the exon region of a gene, they lead to a shift in the reading frame (frameshift mutation) so that the wrong amino acids are used to synthesise the protein from the lesion onwards during translation. The shift often also results in a stop codon, so that translation stops shortly after the lesion (Seligmann and Pollock 2004).
The question of how frameshift mutations in particular are recognised has occupied biologists since the 1950 s (Watson and Crick 1953; Shepherd 1981). Crick proposed the hypothesis that the coding codons only form a subset of all codons, so that the frameshifts are recognised immediately (Crick et al. 1957). He called such subsets (codes) comma-free codes. After the Poly-U experiment Nirenberg and Matthaei (1961) at the latest, it became clear that Crick’s beautiful hypothesis had been experimentally disproved. As a reminder: According to Crick’s hypothesis, only codons of a comma-free code should be able to encode amino acids, while the codon UUU cannot be contained in a comma-free code, as will be explained later in the article. As a result, the theory of comma-free codes, as well as other classes of codes that can recognise frameshift, was only sporadically pursued further (see, for instance, Golomb and Gordon 1965) for a long time until the mid-1990 s, when another class of codes which could be responsible for frameshift recognition was identified purely statistically in coding sequences by Arquès and Michel (1996), namely the class of self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} codes. In recent years, this topic has been actively pursued, so that some construction and functional principles of circular codes have been uncovered (Fimmel and Strüngmann 2016, 2015; Fimmel et al. 2016; Fimmel and Strüngmann 2016; Fimmel et al. 2017 Oct). In particular, the question of forbidden combinations of two, three or four codons in self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes has already been investigated in Bussoli et al. (2011). Computer tools have also been developed (Fimmel et al. 2017) to make it easier to deal with the huge number of combinatorial possibilities and to facilitate pattern searches.
In this article, we address the question of which codon combinations are impossible in different classes of error-detecting codes. The aim is to better understand the construction principles of such codes. For this purpose, a computer aid tool was developed (https://www.cammbio.hs-mannheim.de/research/software/codonpairselector.html), which makes it easier to recognise patterns and then underlay them mathematically. The following classes of codes were analysed: comma-free codes, self-complementary circular codes and self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes. It is also shown that not every self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code can be extended to a self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code of maximum size (Sect. 5.1). It has been known for several years (Bussilo et al. 2012) that there are exactly 216 self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes of maximum size. The number could not be explained; until now, they were calculated with computer help. In this article, we give an explanation for this number (Sect. 5.2).
Definitions and notations
We will denote the genetic alphabet, which consists of four letters (nucleotides), as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}:=\{U(T), C, A, G\}.$$\end{document}The four letters of the alphabet stand for Uracil (Thymine), Cytosine, Adenine and Guanine, in short U(T), C, A and G. Three-letter words (called codons) over \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}$$\end{document} encode individual amino acids and stop signals. Mathematically, they are elements of the space \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}^3$$\end{document} . In the following, we will analyse the construction of some subsets of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}^3$$\end{document} that are likely to be responsible for frame maintenance during the translation process. Already in the 1950 s, such subsets were considered by Crick et al as a potential answer to the frameshift problem (Crick et al. 1957). Crick called them comma-free codes:
Definition 1
A trinucleotide code \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X \subseteq \mathcal {B}^3$$\end{document} is called comma-free if for any given two codons \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_1, x_2\in X$$\end{document} any subcodon of the concatenation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_1 x_2$$\end{document} except \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_1, x_2$$\end{document} themselves does not belong to X. We will call a trinucleotide comma-free code X of maximum size if it contains exactly 20 codons.
Fig. 1. For comma-free codes, a frameshift is detected immediately. All codons highlighted in red in the second and the third row are not in the comma-free code \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\{ATA,AGT,GCA,AAC\}$$\end{document}
Being comma-free means that a frameshift of one or two bases is immediately detected in the reading process (see Fig. 1).
It is immediately clear that the periodic codons AAA, CCC, GGG, UUU(TTT) cannot be contained in a comma-free code, as the frameshift cannot be recognised in a sequence containing only them. For example, the frameshift played no role in the famous Poly-U experiment by Nirenberg and Matthaei 1961, as the sequence consisted only of U and the sequence of translated amino acids contained only phenylalanine. It is also obvious that two cyclically shifted codons cannot be together in a comma-free code. For example, let us look at the codon CTG:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} CTGCTGCTGCTG... \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} C{TGC}TGCTGCTG... \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} CT{GCT}GCTGCTG... \end{aligned}$$\end{document}Thus, any comma-free code can at most contain one codon out of the three CTG, TGC and GCT and similarly for any other codon. These simple observations allow us to estimate the maximum size of a comma-free code:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$20=\frac{64-4}{3}.$$\end{document}Interestingly, it is also the actual maximum size of such codes. The complete list of comma-free codes of maximum size was already calculated by Golomb et al. (1958) end of the 1950 s and contains a total of 408 such codes.
Let us describe the cyclic shift operators formally. In the following, we denote them \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha _1:\mathcal {B}^3\rightarrow \mathcal {B}^3$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha _2:\mathcal {B}^3\rightarrow \mathcal {B}^3$$\end{document} and they act as follows
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha _1(N_1N_2N_3)=N_2N_3N_1\quad \text{ and }\quad \alpha _2(N_1N_2N_3)=N_3N_1N_2$$\end{document}for any codon \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_3 \in \mathcal {B}^3$$\end{document} (see for instance Fimmel et al. 2015). Another permutation of the positions in a codon, the so-called reversing permutation which reverses a codon, i.e. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overleftarrow{{N_1N_2N_3}}:=N_3N_2N_1$$\end{document} , with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_i\in \mathcal {B}$$\end{document} , plays an important role in the biological context.
After Crick’s hypothesis was experimentally disproved, another class of error-detecting codes, statistically identified in genomes across species in the mid-1990 s (Arquès and Michel 1996), has generated renewed interest. These are the so-called circular codes. Let us first formally define what the property of circularity means:
Definition 2
We will call a set of codons \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X\subseteq \mathcal {B}^3$$\end{document} a trinucleotide circular code if any word over the alphabet \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}$$\end{document} written on a circle has at most one decomposition into words from X. By word written on a circle, it is intended that after the last letter the word starts again (from its first letter). We will call a trinucleotide circular code X of maximum size if it contains exactly 20 codons.
Circular codes do not allow the detection of a frameshift immediately as comma-free codes do but eventually after a few codons (see Fig. 2). Thus, it is obvious that any comma-free code is also circular.Fig. 2. For circular codes, a frameshift is at most detected after a few codons. The codons highlighted in red in the second and third row are not in the circular code \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\{AAT, GAA, TGA, CAC\}$$\end{document}
The code that Arquès and Michel (1996) statistically identified in genomes of all species is
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_{0}=\left\{ { \begin{array}{cccccccc} AAC,& AAT,& ACC,& ATC,& ATT,& CAG,& CTC,& CTG,\\ GAA,& GAC,& GAG,& GAT,& GCC,& GGC,& GGT,& GTA,\\ GTC,& GTT,& TAC,& TTC \ \end{array}}\right\} .$$\end{document}This code \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_0$$\end{document} has some other very strong properties in addition to the property of circularity. First, not only the code itself is circular, but also the two codes that are obtained from it through circular shifts. This allows frameshift detection also in frames one and two:
Definition 3
Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X\subseteq \mathcal {B}^3$$\end{document} . We will say that X is a \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} * code* if X, as well as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_1$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_2$$\end{document} are circular, where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_1:=\alpha _1(X)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_2:=\alpha _2 (X)$$\end{document} .
Studies in recent years (Fimmel et al. 2015) have shown that the group of all bijective mappings of the alphabet \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}$$\end{document} in itself, the so-called symmetric group, plays an important role in preserving the property of circularity (and in particular comma-freeness and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} property). Formally, the symmetric group on the set \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}$$\end{document} is defined as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\textbf{S}_{\mathcal {B}}= \{ \varvec{\pi }: \mathcal {B}\rightarrow \mathcal {B}\mid \pi \textit{ is bijective} \}$$\end{document}with the group operation of function composition. Bijective mappings \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi :\mathcal {B}\rightarrow \mathcal {B}$$\end{document} can be applied componentwise to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x\in \mathcal {B}^3$$\end{document} and thus induce a bijective map \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}^3\rightarrow \mathcal {B}^3$$\end{document} , which we will denote also by \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi$$\end{document} . Hence \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi$$\end{document} systematically exchanges bases in a codon or sequence of codons and there are exactly 24 such transformations. A very important mapping from \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_{\mathcal {B}}$$\end{document} is the so-called complementarity mapping:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\textbf{c}: \mathcal {B}\rightarrow \mathcal {B}$$\end{document}with
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathbf{c(A)= T, c(T)=A, c(C)=G, c(G)=C.}$$\end{document}which assigns to each basis its complementary basis. As already mentioned above, all mappings from \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_{\mathcal {B}}$$\end{document} preserve the property of circularity (see Fimmel et al. 2015):
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \textit{ Any permutation from }S_{\mathcal {B}} \textit{ preserves comma-freeness and circularity, hence the }C^3\textit{ property} \end{aligned}$$\end{document}Furthermore, along with each codon, the code \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_0$$\end{document} also contains the corresponding anticodon. This property is called self-complementarity:
Definition 4
Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X\subseteq \mathcal {B}^3$$\end{document} . We will call X self-complementary if with each codon \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x\in X$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overleftarrow{{c(x)}}$$\end{document} is also in X.
Again computer calculations showed that there are exactly 528 self-complementary circular codes of maximum size (Michel and Pirillo 2010). This class contains the class of 216 self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} codes of maximum size (see Bussilo et al. 2012; Michel et al. 2016) as a subclass.
However, only eight of the bijective mappings from \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_{\mathcal {B}}$$\end{document} , namely those commuting with the mapping c, preserve the property of self-complementarity. These maps were identified in Fimmel et al. (2015); Fayazi et al. (2021) and form a subgroup of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_{\mathcal {B}}$$\end{document} that is isomorphic to the so-called dihedral group. In the following, we denote this subgroup \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\textbf{L}$$\end{document} :
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \textit{ If }X\textit{ is a self-complementary circular code and} \pi \in L,\textit{ then the code }\pi {(X)} \end{aligned}$$\end{document}is circular and self-complementary as well.
Finally, the reversing permutation also preserves self-complementarity and circularity (see Fimmel et al. 2015). Thus, we have
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \textit{ If }X\textit{ is a circular (comma-free, }C^3\textit{-) code, then its reversed code }\overleftarrow{{X}} \end{aligned}$$\end{document}- is circular (comma-free, * \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -) as well;
is self-complementary as well.
A novel software tool "CodonPairSelector"
CodonPairSelector is a tool we created to find patterns in exclusion rules between codons based on comma-freeness, circularity, self-complementarity, maximality or the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -property. The tool can be accessed via the link https://www.cammbio.hs-mannheim.de/research/software/codonpairselector.html
The tool allows the user to progressively build a code from individual codons and immediately check which other codons cannot be included in this code without breaking circularity (respectively, comma-freeness or the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -property). While the tool cannot be used to find every instance of and verify an exclusion rule, it can be used as a starting point to create hypothesis about these rules, which can later be algorithmically verified. It also helps in finding counterexamples that would otherwise be difficult to find. For example, it was used to construct a counterexample to the hypothesis that every \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code can be extended to a \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code of maximum size (compare Sect. 5.1).
Description of features
After the user selects a set of codons, the programme adds one new codon to the set and checks if this new set is circular (respectively, comma-free or has the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -property). If it is not, the new codon is highlighted as excluded, and the same process is repeated for every other codon. The programme checks for circularity (respectively, comma-freeness or the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -property) by either running a graph-theoretic based algorithm (see Fimmel et al. 2016 for the graph theory) or checking against a database of all self-complementary circular codes ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes), respectively, comma-free codes of maximum size.
Opening the website, a user will be presented with a table of codons on the left side and a table of codes on the right (see Fig. 3). The codons can be clicked to select and deselect them, adding them to the code being constructed. Added codons are highlighted in yellow. As codons are added, other codons will be highlighted in blue indicating they are excluded using the current rule (comma-free, circular or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -property) (see Fig. 4). On the right side table, codes that do not include all the codons selected by the user are highlighted in blue. Non-highlighted codes contain every codon selected by the user. Sometimes all codes can be highlighted, meaning the currently selected set of codons cannot be extended to a code of maximum size or is not self-complementary (labelled non-self-complementary codes are too numerous to show on the website) (see Fig. 5). Clicking on a code in the right side table will highlight all the codons included in it (see Fig. 6).
On the top left is a menu with various options.
- "Help" links to the GitHub repository.
- "Reset" deselects all codons starting the construction process over.
- "Copy current code to clipboard" copies the selected codons to clipboard as a comma-separated list.
- "Import code" prompts the user to type in a list of comma-separated codons and selects those in the tool.
- "Export table" downloads a.json file of the entire right side table for using as data or checking the codons of every code.
- "Type" tells the programme which type of code is being tested for (comma-free, circular or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -property). It also changes which codes of maximum size are displayed on the right side.
- "Self-complementarity" determines whether or not self-complementary should be enforced, most relevant for circular codes.
- "Maximality" tells the programme if it should exclude codons not only for breaking circularity, but also if they prevent the code from reaching a maximal number of codons.
- "# of codes" shows how many codes of maximum size contain the set of selected codons (the number of unhighlighted codes from the right side table). Codons are colour coded depending on their type: orange for type 0, yellow for type 1, green for type 2, purple for type 3, red for type 4 and white for type 5. For this classification see Definition 4.2 the next section.Fig. 3. Screenshot of the tool CodonPairSelector. Codons are coloured orange for type 0, yellow for type 1, green for type 2, purple for type 3, red for type 4 and white for type 5. No codons are selected. The list of all maximal comma-free codes is displayed on the right sideFig. 4Screenshot of the tool CodonPairSelector. Various codons are selected. The list of all maximal comma-free codes is displayed on the right sideFig. 5Screenshot of the tool CodonPairSelector. Various codons are selected. The list of all self-complementary maximal circular codes is displayed on the right side. All the codes in the list are highlighted as the codons cannot be extended to be of maximum sizeFig. 6Screenshot of the tool CodonPairSelector. All the codons from a code (191) are selected. The list of all self-complementary maximal circular codes is displayed on the right side
Forbidden codon combinations in self-complementary error-detecting codes (of maximum size)
In this section, we will mainly consider two classes of error-detecting and error-correcting codes that have appeared in the development and theory of the genetic code: the class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {CIRC}$$\end{document} of all self-complementary circular codes, and the class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {C}3$$\end{document} of all self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} codes. We are interested in determining which codon combinations are impossible in such codes. It is clear that with a codon \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x\in X\in \mathcal {CIRC} (\mathcal {C}3$$\end{document} ) its circular shifts \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha _1(c)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha _2(c)$$\end{document} are excluded. It was also noted earlier (see Fimmel et al. 2015; Fimmel and Strüngmann 2016) that codons of the form \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N)Nc(N), N\in \mathcal {B}$$\end{document} can never occur in a self-complementary circular code. However, it turns out that there are other additional constraints. Since we are dealing with self-complementary codes, it is reasonable that these constraints involve codon/anticodon pairs rather than single codons. We will consider the following codon types:
Definition 5
Given a codon x in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {B}^3$$\end{document} we classify it according to the following types which refer to the structure of x: Type 0: ** \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$Nc(N)N, N\in \mathcal {B}$$\end{document} This class includes the codon/anticodon pairs ATA/TAT, CGC/GCGType 1: **NNc(N) or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N)NN, N\in \mathcal {B}$$\end{document} . This class includes the codon/anticodon pairs
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$AAT/ATT, TAA/TTA, GCC/GGC, CCG/CGG.$$\end{document}**Type 2: ** \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_1), N_1,N_2\in \mathcal {B}, N_1\ne N_2, N_2\ne c(N_1)$$\end{document} This class includes the codon/anticodon pairs
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ACT/AGT, TCA/TGA, CAG/CTG, GAC/GTC.$$\end{document}**Type 3: ** \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1c(N_1)$$\end{document} or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)N_2,\quad N_1,N_2\in \mathcal {B}, N_1\ne N_2, N_2\ne c(N_1)$$\end{document} This class includes the codon/anticodon pairs
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$CTA/TAG, CAT/ATG, AGC/GCT, ACG/CGT,$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$TAC/GTA, ATC/GAT, GCA/TGC, CGA/TGC,$$\end{document}and**Type 4: ** \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_1N_2$$\end{document} or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_1,\quad N_1\ne N_2, N_2\ne c(N_1)$$\end{document} . This class includes the codon/anticodon pairs
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$AAC/GTT, AAG/CTT, CCA/TGG, GGA/TCC$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ACC/GGT, AGG/CCT, CAA/TTG, GAA/TTC.$$\end{document}**Type 5: ** \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1,\quad N_1\ne N_2, N_2\ne c(N_1)$$\end{document} . This class includes the codon/anticodon pairs
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ACA/TGT, AGA/TCT, CAC/GTG, GAG/CTC.$$\end{document}In order to visualise the different types defined in Definition 5, the reader can find a screenshot of the CodonSelector software in Fig. 7 where the coloured codon/anticodon pairs are marked with their type numberFig. 7Screenshot of the CodonSelector software where the coloured codon/anticodon pairs are marked with their numbers according to Definition 5
Firstly, we make a useful observation:
Lemma 1
Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x \in \mathcal {B}^3$$\end{document} be any codon of type n (with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n \in \{0, \cdots , 5\}$$\end{document} ) and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi \in L$$\end{document} be any permutation from the group L.
- Then \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi (x)$$\end{document} is again of type n.
- The reversed codon \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overleftarrow{{x}}$$\end{document} is again of type n.
Proof
- This is clear since the definition of types only involves the complementary permutation c and L consists precisely of all permutations that commute with c.
- Direct verification (see Definition 5).
In the next subsections, we will start investigating how codon/anticodon pairs of a certain type exclude other codon/anticodon pairs for certain classes of codes.
The class \documentclass[12pt]{minimal}
\usepackage{amsmath}
\usepackage{wasysym}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage{mathrsfs}
\usepackage{upgreek}
\setlength{\oddsidemargin}{-69pt}
\begin{document}$$\mathcal {CIRC}$$\end{document}CIRC
We now focus on the class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {CIRC}$$\end{document} of self-complementary circular codes and start with an easy observation.
Lemma 2
Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c_1, c_2\in \mathcal {B}^3$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi \in L$$\end{document} be any permutation from the group L.
- If \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c_1$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c_2$$\end{document} cannot appear in a circular code together then this is also true for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi {(c_1)}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi {(c_2)}$$\end{document} .
- If \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c_1$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c_2$$\end{document} cannot appear in a circular code together then this is also true for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overleftarrow{{c_1}}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overleftarrow{{c_2}}$$\end{document} .
Proof
Assume that \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overleftarrow{{c_1}},\overleftarrow{{c_2}}\in Y\quad (\pi {(c_1)},\pi {(c_2)}\in Y)$$\end{document} where Y is a circular code. According to Fimmel et al. (2015) \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overleftarrow{{Y}} \quad (\pi ^{-1}{(Y)})$$\end{document} is also a circular code and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c_1, c_2\in \overleftarrow{{Y}} \quad (c_1, c_2\in \pi ^{-1}{(Y)})$$\end{document} . This is a contradiction to the circularity of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overleftarrow{{Y}} \quad (\pi ^{-1}{(Y)})$$\end{document} .
We now show that a codon/anticodon pair of one of the 6 classes defined above in a self-complementary circular code excludes its circular shifts but also other codon/anticodon pairs of the same or a different type. The above lemma 2 is very helpful in reducing the number of cases to be considered. For example, in the theorems below for codon types 3 or 4, which each contains two differently structured codon types that are reverse to each other, proof is given for only one of them.
Theorem 1
Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X\in \mathcal {CIRC}$$\end{document} be a self-complementary circular code. Then the following statements are true:
- A codon/anticodon pair Nc(N)N/c(N)Nc(N) of type 0 cannot be in X.
- A codon/anticodon pair \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_1c(N_1)/N_1c(N_1)c(N_1)$$\end{document} of type 1 with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1\in \mathcal {B}$$\end{document} cannot be in a self-complementary circular code together with its cyclic shifts and the two codon/anticodon pairs
of type 3 (for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2$$\end{document} there are two choices). For all combinations with the other codon/anticodon pairs, there is a self-complementary circular code that contains them. 3. A type 2 or type 4 codon/anticodon pair cannot be in a self-complementary circular code together with its cyclic shifts. For all combinations with the other codon/anticodon pairs, there is a self-complementary circular code that contains them. 4. A codon/anticodon pair \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)/N_2c(N_2)c(N_1)\in X$$\end{document} of type 3 cannot be in a self-complementary circular code together with its cyclic shifts, the type 1 codon identified in (1) and its reversed codon/anticodon pair
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)N_2N_1/c(N_1)c(N_2)N_2\notin X$$\end{document}and
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)c(N_1)N_1/c(N_1)N_1N_2\notin X$$\end{document}(both of type 3). For all combinations with the other codon/anticodon pairs, there is a self-complementary circular code that contains them. 5. A codon/anticodon pair \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1/c(N_1)c(N_2)c(N_2)\in X$$\end{document} of type 5 cannot be in a self-complementary circular together with its cyclic shifts and another codon/anticodon pair of type 5, namely \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_2/c(N_2)c(N_1)c(N_1)\notin X$$\end{document} . For all combinations with the other codon/anticodon pairs, there is a self-complementary circular code that contains them.
Proof
We will prove in all the statements that the given codon/anticodon pairs exclude the mentioned codon/anticodon pairs whereas this is clear for the cyclic shifts. However, all the converse implications, i.e. that these are the only codon/anticodon pairs that are excluded, follow from computer calculations using the new tool CodonPairSelector.
- Assume that \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$Nc(N)N/c(N)Nc(N)\in X$$\end{document} . Let us now consider the concatenation
It has two decompositions on a circle
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$Nc(N)N|c(N)Nc(N)\quad \text{ and }\quad c(N)Nc(N)|Nc(N)N.$$\end{document}- Assume that
as well as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)N_2N_1, c(N_1)c(N_2)N_2\in X.$$\end{document}Let us now consider the concatenation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_1)c(N_2)N_2N_1N_1c(N_1).$$\end{document}It has two decompositions on a circle
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_1)c(N_2)N_2|N_1N_1c(N_1)\quad \text{ and }\quad c(N_2)N_2N_1|N_1c(N_1)c(N_1).$$\end{document}This is a contradiction to the circularity of X. 3. Obvious. 4. Assume that
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)/N_2c(N_2)c(N_1)\in X$$\end{document}as well as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)N_2N_1/c(N_1)c(N_2)N_2\in X.$$\end{document}Consider
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)c(N_1)c(N_2)N_2$$\end{document}with two decompositions on a circle
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)|c(N_1)c(N_2)N_2\quad \text{ and }\quad N_2c(N_2)c(N_1)|c(N_2)N_2N_1.$$\end{document}It is a contradiction to the circularity of X. Assume that
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)/N_2c(N_2)c(N_1)\in X$$\end{document}as well as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)c(N_1)N_1/c(N_1)N_1N_2\in X.$$\end{document}Consider
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)c(N_1)N_1N_2c(N_2)c(N_1)N_1N_2c(N_2)c(N_1)$$\end{document}with two decompositions on a circle
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)|c(N_1)N_1N_2|c(N_2)c(N_1)N_1|N_2c(N_2)c(N_1)$$\end{document}and
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2c(N_2)c(N_1)|N_1N_2c(N_2)|c(N_1)N_1N_2|c(N_2)c(N_1)N_1.$$\end{document}It is a contradiction to the circularity of X. 5. Assume that
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1/c(N_1)c(N_2)c(N_1)\in X$$\end{document}as well as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_2/c(N_2)c(N_1)c(N_2)\in X.$$\end{document}Let us now consider the concatenation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1N_2N_1N_2.$$\end{document}It has two decompositions on a circle
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1|N_2N_1N_2\quad \text{ and }\quad N_2N_1N_2|N_1N_2N_1.$$\end{document}This is a contradiction to the circularity of X.
We now pass to self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes in the next section.
The class \documentclass[12pt]{minimal}
\usepackage{amsmath}
\usepackage{wasysym}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage{mathrsfs}
\usepackage{upgreek}
\setlength{\oddsidemargin}{-69pt}
\begin{document}$$\mathcal {C}3$$\end{document}C3
We now consider the class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {C}^3$$\end{document} of all self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes, and it turns out that surprisingly the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -property does not substantially force more codons to be excluded except for one case of codons of type 4.
Theorem 2
Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X\in \mathcal {C}^3$$\end{document} be a self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code. Then the following statements are true:
- A codon/anticodon pair of type 0 Nc(N)N/c(N)Nc(N) cannot be in X.
- A codon/anticodon pair of type 1 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_1c(N_1)/N_1c(N_1)c(N_1)$$\end{document} with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1\in \mathcal {B}$$\end{document} only excludes1, apart from its cyclic shifts the two codon/anticodon pairs
of type 3 (for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2$$\end{document} there are two choices). 3. A type 2 codon/anticodon pair only excludes its cyclic shifts. 4. A codon/anticodon pair of type 3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)/N_2c(N_2)c(N_1)\in X$$\end{document} excludes, apart from its cyclic shifts and the type 1 codon identified in 2), also its reversed codon/anticodon pair
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)N_2N_1/c(N_1)c(N_2)N_2\notin X$$\end{document}and
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)c(N_1)N_1/c(N_1)N_1N_2\notin X$$\end{document}(both of type 3). 5. A codon/anticodon pair of type 5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1/c(N_1)c(N_2)c(N_2)\in X$$\end{document} excludes, apart from its cyclic shifts, another codon/anticodon pair of type 5, namely \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_2/c(N_2)c(N_1)c(N_1)\notin X$$\end{document} . 6. A type 4 codon/anticodon pair \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_2/c(N_2)c(N_2)c(N_1)$$\end{document} , respectively, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_1N_2/c(N_2)c(N_1)c(N_1)$$\end{document} , excludes its cyclic shifts and the corresponding type 4 codon/anticodon pair \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_1/c(N_1)c(N_1)c(N_2)$$\end{document} , respectively, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_2N_1/c(N_1)c(N_2)c(N_2)$$\end{document} .
Proof
Statements (1), (2), (3), (4) and (5) follow directly from Theorem 1 since a \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code is also circular. We only need to prove (6) and also here only the second part since it is clear that cyclic shifts are excluded. Thus assume that a type 4 codon/anticodon pair \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_2/c(N_2)c(N_2)c(N_1)$$\end{document} as well as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_1/c(N_1)c(N_1)c(N_2)$$\end{document}are in X. Then a shift 2 yields that \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_2$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1$$\end{document} are in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha _2(X)$$\end{document} which contradicts circularity of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha _2(X)$$\end{document} since X is a \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code.
If we compare Theorem 2 with Theorem 1, we see that the only difference is point 5, which states that a codon/anticodon pair of type 4 excludes, apart from its cyclic shifts, another codon/anticodon pair of type 4.
In the next section, we will consider the class of comma-free codes.
The class \documentclass[12pt]{minimal}
\usepackage{amsmath}
\usepackage{wasysym}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage{mathrsfs}
\usepackage{upgreek}
\setlength{\oddsidemargin}{-69pt}
\begin{document}$$\mathcal {COM}$$\end{document}COM
We now turn our attention to the class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathcal {COM}$$\end{document} of comma-free codes and drop the assumption of self-complementarity.
Theorem 3
Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X\in \mathcal {COM}$$\end{document} be a comma-free code. Then the following statements are true:
- A type 0 codon \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)N_1\in X$$\end{document} with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1\in \mathcal {B}$$\end{document} excludes, apart from its cyclic shifts, only its anticodon and 4 further codons of type 3:
as well as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_1)N_1N_2, \quad N_2N_1c(N_1)\notin X,\quad N_2\ne N_1, N_2\ne c(N_1)$$\end{document}- A type 1 or type 4 codon only excludes its cyclic shifts.
- A type 2 codon \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_1)\in X$$\end{document} excludes, apart from its cyclic shifts, only the two codons of type 5
- A type 3 codon \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1c(N_1)\in X$$\end{document} excludes, apart from its cyclic shifts and a codon of type 0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)N_1$$\end{document} (see 1), only a codon of type 5
- A type 5 codon \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1\in X,\quad N_2\ne N_1, N_2\ne c(N_1)$$\end{document} excludes, apart from its cyclic shifts, one further codon of type 5, namely \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_2\notin X$$\end{document} , two codons of type 2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1c(N_2), \quad c(N_2)N_1N_2\notin X$$\end{document} and two codons of type 3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1c(N_1), \quad c(N_1)N_1N_2\notin X$$\end{document}
Proof
As in the proofs before we only show that the given codon excludes its cyclic shifts and the stated codons. The fact that these are all excluded codons follows from computer calculations using the software CodonPairSelector.
- Consider the concatenation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)N_1c(N_1)N_1c(N_1)$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)N_1$$\end{document} as a subcodon. Consider the concatenation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)N_1c(N_1)N_1N_2$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)N_2$$\end{document} as a subcodon. Consider the concatenation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1c(N_1)N_1c(N_1)N_1)$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)N_2$$\end{document} as a subcodon.
- Obvious.
- Consider \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_2N_1N_2c(N_1)$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_2$$\end{document} as a subcodon. Consider \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_1)N_2c(N_1)N_2$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2c(N_1)N_2$$\end{document} as a subcodon.
- Consider \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1N_2N_1c(N_1)$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1$$\end{document} as a subcodon.
- Consider \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1N_2N_1N_2$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1$$\end{document} as a subcodon. Consider \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1N_2N_1c(N_2)$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1$$\end{document} as a subcodon. Consider \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)N_1N_2N_1N_2N_1$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1$$\end{document} as a subcodon. Consider \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_1)N_1N_2N_1N_2N_1$$\end{document} . It contains \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2N_1$$\end{document} as a subcodon.
The above theorem shows that the inclusion of codons of type 0 or 5 in a comma-free code imposes the most restrictions. With such a codon, 7 additional codons are excluded from the code.
Forbidden codon combinations involving more than two codon/anticodon pairs.
All the rules established so far have involved two codon/anticodon pairs. The inclusion of the first in a self-complementary circular code excludes the second, but importantly all these rules are symmetrical, meaning the inclusion of the second excludes the first. In this section, we will discuss every rule in which two codon/anticodon pairs exclude a third pair. These rules are similarly "symmetrical", meaning that including any two of the three pairs in a code excludes the final pair. Furthermore, certain proofs require the presence of all 6 codons from all 3 pairs in the code, so in a non-self-complementary code we could include up to 5 of the 6 codons without necessarily breaking circularity. This also means that the anticodons are sometimes, but not always required for the proof.
With this in mind, we will no longer speak of codons or pairs excluding others, but rather of a set of codons from which all but one can be included in a circular code.
Theorem 4
Let X be a circular code. Then the following statements are true:
- X can include a maximum of 2 out of 3 codons from the set
for any \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1, N_2, N_3 \in \mathcal {B}$$\end{document} . 2. X can include a maximum of 3 out of 4 codons from the set
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\{N_1N_2c(N_2), N_2c(N_2)c(N_1), N_3N_4N_1, c(N_1)N_3N_4\}$$\end{document}for any \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1,N_2,N_3,N_4\in \mathcal {B}$$\end{document} . 3. X can include a maximum of 5 out of 6 codons from the set
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\{N_1N_2c(N_1), N_1c(N_2)c(N_1), c(N_2)N_2N_1, c(N_1)c(N_2)N_2, N_2N_1N_2, c(N_2)c(N_1)c(N_2)\}$$\end{document}for any \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1,N_2\in \mathcal {B}$$\end{document} .
Proof
- Assume that
Let us now consider the concatenation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_3N_2N_1N_2N_1N_2.$$\end{document}It has two decompositions on a circle
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_3N_2N_1|N_2N_1N_2\quad \text{ and }\quad N_2N_1N_2|N_1N_2N_3.$$\end{document}This is a contradiction to the circularity of X. 2. Assume that
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2), N_2c(N_2)c(N_1), N_3N_4N_1, c(N_1)N_3N_4\in X$$\end{document}Let us now consider the concatenation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2c(N_2)c(N_1)N_3N_4N_1.$$\end{document}It has two decompositions on a circle
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2c(N_2)c(N_1)|N_3N_4N_1\quad \text{ and }\quad N_1N_2c(N_2)|c(N_1)N_3N_4.$$\end{document}This is a contradiction to the circularity of X. 3. Assume that
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_1), N_1c(N_2)c(N_1), c(N_2)N_2N_1, c(N_1)c(N_2)N_2, N_2N_1N_2, c(N_2)c(N_1)c(N_2)\in X$$\end{document}Let us now consider the concatenation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_2)c(N_1)c(N_2)c(N_1)c(N_2)N_2N_1N_2c(N_1)c(N_2)N_2.$$\end{document}It has two decompositions on a circle
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_2)c(N_1)|c(N_2)c(N_1)c(N_2)|N_2N_1N_2|c(N_1)c(N_2)N_2\quad \text{ and }$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)c(N_1)c(N_2)|c(N_1)c(N_2)N_2|N_1N_2c(N_1)|c(N_2)N_2N_1.$$\end{document}This is a contradiction to the circularity of X.
These rules apply to any circular code but have particular implications for self-complementary codes. The first rule for example implies that two codon/anticodon pairs of type 2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_1), N_1c(N_2)c(N_1)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_1)N_2N_1, c(N_1)c(N_2)N_1$$\end{document} with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1\ne N_2, N_1\ne c(N_2)$$\end{document} exclude two codon/anticodon pairs of type 5
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2N_1N_2/ c(N_2)c(N_1)c(N_2)\quad \text{ and }\quad N_2c(N_1)N_2/ c(N_2)N_1c(N_2)$$\end{document}(and by symmetry, one pair of type 2 and one of type 5 exclude another type 2 pair).
Applications of the tool
In this section, we investigate some properties of self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} codes using the online tool to verify or contradict certain hypotheses.
About extensibility of self-complementary \documentclass[12pt]{minimal}
\usepackage{amsmath}
\usepackage{wasysym}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage{mathrsfs}
\usepackage{upgreek}
\setlength{\oddsidemargin}{-69pt}
\begin{document}$$C^3$$\end{document}C3-codes to maximum size
Michel et al. in Michel et al. (2016) found that not all self-complementary circular codes can be extended to contain 20 codons. Some codes can be extended to a maximum of 18 codons before excluding all remaining codons. We investigate this question in regard to the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} property, starting with the hypothesis that all self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} codes can be extended to self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} codes of maximum size. This hypothesis can be disproved with a simple example constructed using the tool. The following is a self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code of cardinality 10, which cannot be extended to one of the 216 self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes of maximum size 20:
Example 1
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X=\{TAA, TTA, GCC, GGC, ACT, AGT, CAA, TTG, AGG, CCT\}$$\end{document}This code was constructed in the online tool, by selecting "Type: C3", "Self-complementarity: Obey" and "Maximality: Ignore", we can try selecting and deselecting various combinations of codons until an entire row of codons is excluded.
Michel et al., while investigating this question in relation to circular codes (without the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} property), found (see Michel et al. 2016) that self-complementary 18-trinucleotide circular codes can be maximal, and even 16-trinucleotide circular codes can be dimaximal, meaning no more codon/anticodon pairs can be added without breaking circularity, but a singular codon can be added by itself without breaking circularity (but it does break self-complementarity in the process). We investigated the code tables presented in Michel et al. (2016) (see Tables 1, 2) looking for relationships between the codes and whether or not the codes obey the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} property. The result of this analysis can be found in the tables below.Table 132 maximum self-complementary circular codes of cardinality 18 according to Michel et al. (2016). Bold labels indicate selfcomplementary C3-codes. The numbering is taken from the article Michel et al. (2016)IdSwYrKm \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi _{CG}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi _{AT}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi _{ACTG}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pi _{AGTC}$$\end{document} 132162032891823114194271017529132411267****2363015221225821Table 2The class of 32 maximal self-complementary 18-trinucleotide circular codes. This class of codes is also dimaximal Michel et al. (2016)LabelCodons1AAC, AAG, AAT, ACG, ACT, AGT, ATT, CAG, CCG, CGG, CGT, CTG, CTT, GGA, GTT, TCA, TCC, TGA2AAC, AAG, AAT, ACG, ATT, CAG, CCG, CGG, CGT, CTA, CTG, CTT, GGA, GTT, TAG, TCA, TCC, TGA3AAC, AAG, AAT, ACT, AGC, AGT, ATT, CCA, CTT, GAC, GCC, GCT, GGC, GTC, GTT, TCA, TGA, TGG4AAC, AAG, AAT, AGC, ATT, CCA, CTT, GAC, GCC, GCT, GGC, GTA, GTC, GTT, TAC, TCA, TGA, TGG5AAC, AAT, ACG, ACT, AGA, AGC, AGT, ATT, CCG, CGG, CGT, GCT, GGA, GTT, TCA, TCC, TCT, TGA6AAC, AAT, ACG, ACT, AGA, AGT, ATT, CAG, CCG, CGG, CGT, CTG, GGA, GTT, TCA, TCC, TCT, TGA7AAC, AGG, ATG, CAC, CAG, CAT, CCG, CCT, CGG, CTA, CTG, GAC, GTC, GTG, GTT, TAA, TAG, TTA8AAC, AGG, CAC, CAG, CCG, CCT, CGG, CTA, CTG, GAC, GTC, GTG, GTT, TAA, TAG, TCA, TGA, TTA9AAC, AGG, CAG, CCA, CCG, CCT, CGG, CTA, CTG, GAC, GTC, GTT, TAA, TAG, TCA, TGA, TGG, TTA10AAC, AGG, CCA, CCG, CCT, CGG, CTA, GAC, GCA, GTC, GTT, TAA, TAG, TCA, TGA, TGC, TGG, TTA11AAG, AAT, ACA, ACG, ACT, AGC, AGT, ATT, CCA, CGT, CTT, GCC, GCT, GGC, TCA, TGA, TGG, TGT12AAG, AAT, ACA, ACT, AGC, AGT, ATT, CCA, CTT, GAC, GCC, GCT, GGC, GTC, TCA, TGA, TGG, TGT13AAG, ACC, ATC, CAG, CTC, CTG, CTT, GAC, GAG, GAT, GCC, GGC, GGT, GTA, GTC, TAA, TAC, TTA14AAG, ACC, CAG, CGA, CTG, CTT, GCC, GGA, GGC, GGT, GTA, TAA, TAC, TCA, TCC, TCG, TGA, TTA15AAG, ACC, CAG, CTC, CTG, CTT, GAC, GAG, GCC, GGC, GGT, GTA, GTC, TAA, TAC, TCA, TGA, TTA16AAG, ACC, CAG, CTG, CTT, GAC, GCC, GGA, GGC, GGT, GTA, GTC, TAA, TAC, TCA, TCC, TGA, TTA17AAT, ACC, ACG, ACT, AGT, ATC, ATT, CAA, CAG, CGT, CTG, GAT, GCC, GGA, GGC, GGT, TCC, TTG18AAT, ACC, ACT, AGT, ATC, ATT, CAA, CAG, CTG, GAC, GAT, GCC, GGA, GGC, GGT, GTC, TCC, TTG19AAT, ACT, AGC, AGG, AGT, ATG, ATT, CAT, CCA, CCG, CCT, CGG, GAA, GAC, GCT, GTC, TGG, TTC20AAT, ACT, AGG, AGT, ATG, ATT, CAG, CAT, CCA, CCG, CCT, CGG, CTG, GAA, GAC, GTC, TGG, TTC21AAT, ACT, AGT, ATC, ATT, CAA, CAC, CAG, CTG, GAC, GAT, GCC, GGA, GGC, GTC, GTG, TCC, TTG22AAT, ACT, AGT, ATG, ATT, CAG, CAT, CCA, CCG, CGG, CTC, CTG, GAA, GAC, GAG, GTC, TGG, TTC23AAT, ATC, ATT, CAA, CAC, CAG, CTG, GAC, GAT, GCC, GGA, GGC, GTA, GTC, GTG, TAC, TCC, TTG24AAT, ATG, ATT, CAG, CAT, CCA, CCG, CGG, CTA, CTC, CTG, GAA, GAC, GAG, GTC, TAG, TGG, TTC25ACA, ACC, ACT, AGT, CAG, CCG, CGA, CGG, CTG, GAA, GGT, TAA, TCA, TCG, TGA, TGT, TTA, TTC26ACA, ACC, ACT, AGT, CCG, CGA, CGG, GAA, GCA, GGT, TAA, TCA, TCG, TGA, TGC, TGT, TTA, TTC27ACC, ACT, AGT, ATG, CAA, CAG, CAT, CCG, CGA, CGG, CTG, GAA, GGT, TAA, TCG, TTA, TTC, TTG28ACC, ACT, AGT, CAA, CAG, CCG, CGA, CGG, CTG, GAA, GGT, TAA, TCA, TCG, TGA, TTA, TTC, TTG29ACT, AGA, AGG, AGT, CAA, CCT, CGA, GCA, GCC, GGC, TAA, TCA, TCG, TCT, TGA, TGC, TTA, TTG30ACT, AGA, AGG, AGT, CAA, CCT, GAC, GCA, GCC, GGC, GTC, TAA, TCA, TCT, TGA, TGC, TTA, TTG31ACT, AGG, AGT, ATC, CAA, CCT, GAA, GAC, GAT, GCA, GCC, GGC, GTC, TAA, TGC, TTA, TTC, TTG32ACT, AGG, AGT, CAA, CCT, GAA, GAC, GCA, GCC, GGC, GTC, TAA, TCA, TGA, TGC, TTA, TTC, TTG
Of a total of 32 maximum self-complementary circular codes of cardinality 18, only 8 have the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} property. All these codes belong to the same equivalence class according to the action of the group L (see Fimmel et al. 2015), i.e. all the codes are subject to the permutations of the self-complementarity preserving subgroup L of the symmetric group \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_{\mathcal {B}}$$\end{document} :
Bold labels indicate self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes. The numbering is taken from the article Michel et al. (2016).
The complete list of codes with the corresponding numbers can be found in Table 2 for the convenience of the reader:
The code from the Example 1 can be extended to 4 self-complementary circular codes of size 18, namely the codes labelled 29, 30, 31, 32 from Table 2. One of those codes (29) also has the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} property (see Table 1).
Why are there 216 self-complementary \documentclass[12pt]{minimal}
\usepackage{amsmath}
\usepackage{wasysym}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage{mathrsfs}
\usepackage{upgreek}
\setlength{\oddsidemargin}{-69pt}
\begin{document}$$C^3$$\end{document}C3 codes of maximum size?
In this section, we investigate why there are exactly 216 maximal self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes and how they can be constructed. We do not succeed in a purely theoretical proof and construction principle but are able to give a solid theoretical approach. We start with the following observation that determines how many codon/anticodon pairs of type 3 can be contained in one of the self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes of maximum size.
Lemma 3
Let \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_1, \cdots , x_4$$\end{document} be codons of type 3. Then the set
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X=\{x_1, \cdots , x_4, \overset{\longleftarrow }{c(x_1)}, \cdots , \overset{\longleftarrow }{c(x_4)}\ \}$$\end{document}is not circular. In particular, any self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code of maximum size can contain at most 3 codon/anticodon pairs of type 3.
Proof
Assume that \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_1, \cdots , x_4$$\end{document} are codons of type 3 and assume that X is circular. Hence they are of the form \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_i=N_iM_ic(M_i)$$\end{document} with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_i\not = M_i$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_i \not = c(N_i)$$\end{document} . Thus for any choice of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N \in \mathcal {B}$$\end{document} there can be at most 2 out of the 4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_i$$\end{document} with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_i=N$$\end{document} . Case 1: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_i=c(N_j)$$\end{document} for some \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i \not =j \le 4$$\end{document} . Then we have the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_i=N_iM_ic(M_i)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_j=N_jM_jc(M_j)=c(N_i)M_jc(M_j)$$\end{document} . Consider the concatenation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_ix_j=N_iM_ic(M_i)\mid c(N_i)M_jc(M_j)=N_i \mid M_ic(M_i)c(N_i) \mid M_jc(M_j)$$\end{document}However, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_ic(M_i)c(N_i)= \overset{\longleftarrow }{c(N_iM_ic(M_i))}= \overset{\longleftarrow }{c(x_i)}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$M_jc(M_j)N_i=M_jc(M_j)c(N_j)= \overset{\longleftarrow }{c(N_jM_jc(M_j))}= \overset{\longleftarrow }{c(x_j)}$$\end{document} and therefore \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_ix_j$$\end{document} has two different decompositions contradicting circularity.Case 2: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_i \not =c(N_j)$$\end{document} for all pairs \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i \not =j \le 4$$\end{document} . Then there must be two basis \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1 \not =N_3$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1 \not =c(N_3)$$\end{document} such that \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_1, \cdots , x_4$$\end{document} are of the form
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_3c(N_3), N_1N_4c(N_4), N_3N_1c(N_1), N_3N_2c(N_2)$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_2=c(N_1)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_4=c(N_3)$$\end{document} . For instance AGC, ACG, CAT, CTA could be such a situation. Looking at the anticodons, we also get
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_3c(N_3)N_1, N_4c(N_4)c(N_1), N_1c(N_1)c(N_3), N_2c(N_2)c(N_3)$$\end{document}in X. We now look at the concatenation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_3)N_3\mid N_2c(N_2)c(N_3) \mid N_3N_1c(N_1) \mid N_4c(N_4)c(N_1)$$\end{document}This has a second decomposition, namely
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1 \mid c(N_3)N_3N_2 \mid c(N_2)c(N_3)N_3 \mid N_1c(N_1)N_4 \mid c(N_4)c(N_1)=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2) \mid N_4c(N_4)c(N_1) \mid N_1c(N_3)N_3 \mid N_1c(N_1)c(N_3) \mid N_3N_2$$\end{document}again contradicting circularity.
We also have the following result
Lemma 4
The four codon/anticodon pairs of type 2 together form a non-circular code.
Proof
By definition the four codon/anticodon pairs of type 2 are
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ACT,AGT,TCA,TGA,CAG,CTG,GAC,GTC$$\end{document}Clearly \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$ACT \mid GTC = A \mid CTG \mid TC$$\end{document} has two decompositions contradicting circularity. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\square$$\end{document}
As a corollary we obtain
Corollary 1
Any self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code of maximum size contains at least one and at most 3 codon/anticodon pairs of type 3.
Proof
This follows directly from the Lemmas 3 and 4. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\square$$\end{document}
Hence, in order to calculate the number of self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes of maximum size (and in order to construct them) we follow the strategy to start with either exactly 1, 2 or 3 codon/anticodon pairs of type 3 and to understand what codon/anticodon pairs of type 2, respectively, type 1 can be added to obtain a self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code. Another easy lemma is needed.
Lemma 5
The following holds:
- If a codon x is of type 0 or 1, then its cyclic shifts are again either of type 0 or type 3.
- If a codon x is of type 2 or 3, then its cyclic shifts are again either of type 2 or type 3.
- If a codon x is of type 4 or 5, then its cyclic shifts are again either of type 4 or type 5. Moreover, a choice of three representatives from equivalence classes of type 3 codons completely determines the choice of representatives from equivalence classes of type 1 codons if the union is a self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code.
Proof
Clear by Definition of types and the Theorem 2 points (2) and (5). \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\square$$\end{document}
We can now show that there are exactly 216 maximal self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes.
Theorem 5
There are exactly 216 self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes.
Proof
By the above Corollary 1, we know that any self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code of maximum size must contain 1, 2 or 3 codon/anticodon pairs of type 3. Moreover, note that any self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code of maximum size must contain exactly one codon/anticodon pair of each row in the type table displayed, e.g. in Figure 7 since the rows match the equivalence classes of codons under circular shifts (not under the operation of the group L). For the convenience of the reader, we include the type table again in order to illustrate the proof.
Thus, one has to determine how many possibilities there are to choose exactly one codon/anticodon pair from each row in the type table without obtaining a contradiction to the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -property. In the sequel equivalence class will always mean with respect to cyclic shifts and not under L unless explicitly stated.
- Case 1 - exactly 1 codon/anticodon pair of type 3: Now there are exactly 8 possibilities for the case of exactly one type 3 codon/anticodon pair. All of these must be symmetric since they form one equivalence class under L (compare Lemmas 1 and 2). Thus we choose one type 3 codon/anticodon pair with our codon/anticodon selector tool. Due to the maximum size of the code, this implies that there should be 3 codon/anticodon pairs of type 2 in the code (from the remaining green/purple rows in the type table). It is then easy to see with our tool that the selection of the 3 codon/anticodon pairs of type 2 and one pair of type 3 determines uniquely the selection of only one codon/anticodon pair from each equivalence class of type 1 and from two equivalence classes of types 4 and 5. This leaves a choice of two pairs each from the two remaining cyclic equivalence classes of types 4 (note that a cyclic equivalence class of type codons may also include codons of type 5). Hence 4 codes are therefore possible in total with this choice. This gives \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$4*8=32$$\end{document} such codes.
- Case 2 - exactly 2 codon/anticodon pairs of type 3: For exactly two codon/anticodon pairs of type 3, we have again 8 choices (and not \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$28=\left( {\begin{array}{c}8\\ 2\end{array}}\right)$$\end{document} ): Select the codon/anticodon pair of type 3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)/N_2c(N_2)c(N_1)$$\end{document} . Using our tool, it is easy to see that it can only be combined with the pairs \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_2)N_2/c(N_2) N_2c(N_1)$$\end{document} or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1c(N_1)c(N_2)/N_2 N_1c(N_1)$$\end{document} . Otherwise, 3 codon/anticodon pairs of type 2 are excluded at once, forcing the inclusion of the third codon/anticodon pair of type 3 in the code (and this will be considered in the next case).Depending on which of the two pairs we choose, we get two groups:
- \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\{CTA, TAG, CAT, ATG\}, \{TAC, GTA, ATC, GAT\}, \{AGC, GCT, ACG, CGT\}, \{GCA, TGC, CGA, TCG\}$$\end{document}
- \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\{CTA, TAG, CGA, TCG\}, \{ATC, GAT, AGC, GCT\}, \{TAC, GTA, GCA, TGC\}, \{CAT, ATG, ACG, CGT\}$$\end{document} Every combinations of two pairs of type 3 in a group can be mapped to another combination in the same group (including itself) using the action of the L group (compare Lemmas 1 and 2). It is therefore sufficient to determine the number of possible codes for one combination from each group. Using the codon/anticodon selector every choice leads to 14 codes. This gives \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$14*4+14*4=112$$\end{document} such codes.
- Case 3 - exactly 3 codon/anticodon pairs of type 3: Again, also for exactly three codon/anticodon pairs of type 3 we have exactly 8 choices: Select the codon/anticodon pair of type 3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$N_1N_2c(N_2)/N_2c(N_2)c(N_1)$$\end{document} . With this selection, two further codon/anticodon pairs of type 3 are excluded according to Theorem 2 point (5), namely \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)N_2N_1/c(N_1) c(N_2)N_1$$\end{document} (reversed pair) and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c(N_2)c(N_1)N_1/c(N_1)N_1N_2$$\end{document} .Since a total of 3 codon/anticodon pairs of type 3 must be selected, at least one of them must be selected from one of the two non-complete cyclic equivalence classes \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$[c(N_2)c(N_1)N_1/c(N_1)N_1N_2]$$\end{document} or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$[c(N_2)N_2N_1/c(N_1) c(N_2)N_1]$$\end{document} . By choosing the only possible pair of type 3 from the cyclic equivalence class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$[c(N_2)c(N_1)N_1/c(N_1)N_1N_2]$$\end{document} , the remaining pair of type 3 from the cyclic equivalence class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$[c(N_2)N_2N_1/c(N_1) c(N_2)N_1]$$\end{document} and one pair of type 3 from the complete remaining cyclic equivalence class are excluded.With the choice of the only possible pair of type 3 from the cyclic equivalence class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$[c(N_2)N_2N_1/c(N_1) c(N_2)N_1]$$\end{document} , the remaining pair of type 3 from the cyclic equivalence class \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$[c(N_2)c(N_1)N_1/c(N_1)N_1N_2]$$\end{document} is excluded, while the equivalence class that remained complete still offers 2 choices.We therefore have a total of 8*(1+2)/3=8 choices. To be precise, the combinations in question are: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\{CAT, ATG, AGC, GCT, ACG, CGT\}, \{ATC, GAT, AGC, GCT, ACG, CGT\}, \{CTA, TAG, GCA, TGC, CGA, TCG\}, \{TAC, GTA, GCA, TGC, CGA, TCG\}, \{CTA, TAG, CAT, ATG, ACG, CGT\}, \{CTA, TAG, CAT, ATG, CGA, TCG\}, \{TAC, GTA, ATC, GAT, AGC, GCT\}, \{TAC, GTA, ATC, GAT, GCA, TGC\}$$\end{document} All possible combinations of three pairs of type 3 can be mapped to each other using the action of the L group (compare Lemmas 1 and 2). It is therefore sufficient to determine the number of possible codes for one selection only. Every choice leads to 9 codes. This gives \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$9*8=72$$\end{document} such codes. So in total we get \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$4*8+8*9+8*14=32+72+112=216$$\end{document} maximal self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\square$$\end{document}
Conclusions
In this paper, we analyse three classes of error-detecting codes, comma-free, self-complementary circular and self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes, with respect to the question which codon combinations are excluded in such codes. For this purpose, a computer aid tool was developed to better identify existing patterns. The results were then formally proved mathematically. The results of the analysis were used to explain the number of self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -codes of maximum size (Sect. 5.2). Another question that was answered was whether each self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code can be extended to a self-complementary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$C^3$$\end{document} -code of maximum size (Sect. 5.1).
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Crick F, Griffith JS, and Orgel LE (1957). Codes without commas, Proceedings of the National Academy of Sciences of the United States of America.10.1073/pnas.43.5.416PMC 52846816590032 · doi ↗ · pubmed ↗
- 2Nirenberg MW, and Matthaei JH (1961). The dependence of cell-free protein synthesis in E. coli upon naturally occurring or synthetic polyribonucleotides, Proceedings National Acadamic of Science 47, pp 1588-160210.1073/pnas.47.10.1588 PMC 22317814479932 · doi ↗ · pubmed ↗
- 3Shepherd JCW (1981) Method to determine the reading frame of a protein from the purine/pyrimidine genome sequence and its possible evolutionary justification. Proceeding National Acadamic of Science U.S.A. 78:1596–160010.1073/pnas.78.3.1596 PMC 3191786940175 · doi ↗ · pubmed ↗
