Let \({\mathfrak {R}}= {\mathbb {Z}}_4[u,v]/\langle u^2-2,uv-2,v^2,2u,2v\rangle\) be a ring, where \({\mathbb {Z}}_{4}\) is a ring of integers modulo 4. This ring \({\mathfrak {R}}\) is a local non-chain ring of characteristic 4. The main objective of this article is to construct reversible cyclic codes of odd length n over the ring \({\mathfrak {R}}.\) Employing these reversible cyclic codes, we obtain reversible cyclic DNA codes of length n, based on the deletion distance over the ring \({\mathfrak {R}}.\) We also construct a bijection \(\Gamma\) between the elements of the ring \({\mathfrak {R}}\) and \(S_{D_{16}}.\) As an application of \(\Gamma ,\) the reversibility problem which occurs in DNA k-bases has been solved. Moreover, we introduce a Gray map \(\Psi _{\hom }:{\mathfrak {R}}^{n}\rightarrow {\mathbb {F}}_{2}^{8n}\) with respect to homogeneous weight \(w_{\hom }\) over the ring \({\mathfrak {R}}\). Further, we discuss the GC-content of DNA cyclic codes and their deletion distance. Moreover, we provide some examples of reversible DNA cyclic codes.
Notes
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
1 Introduction
Due to the rise of social networking, an increasing amount of digital data has been produced in recent years. It is estimated that almost 491 exabytes (EB) of data per day will be accumulated around the globe by 2025. Due to this quick increase of data, it is crucial to store this enormous amount of data in a more effective and efficient manner. Therefore, it is important to find a new medium with high storage capacity and lower energy consumption. Notice that one gram of DNA contains \(2.1\times 10^{9}\) DNA bases. We know that there are four DNA bases and every DNA bases can encode two bits. Hence, one gram of DNA is able to store around \(4.2\times 10^{21}\) bits. On the other hand, conventional storage techniques can store maximum \(10^{9}\) bits. Hence, synthetic DNA is an ideal medium to store a huge amount of data.
In 1994, Adleman [5] solved a combinatorial problem using the structure of DNA, where he used DNA molecules to solve a seven node instance of the famous directed salesman problem. The approach of the above solution was based on the Watson-Crick complement (WCC) property of a DNA strand. Adleman et al. [6] invented a molecular program for breaking the Data Encryption Standard (DES) algorithm. Moreover, in [24] it is shown that DNA molecules can be used as a storage medium. These developments require several theories for the construction of DNA sequences satisfying various constraints. Algebraic coding theory plays an important role in constructing DNA codes with constraints (see [21] for DNA codes over various rings). DNA codes based on error-correcting codes have been successful in DNA-based computation and storage. For example, Milenkovic and Kashyap [23] described the design of codes for DNA computing such that they are avoiding the formation of secondary structure in single-stranded DNA molecules and non-selective cross-hybridization. In the theory of error-correcting codes, cyclic codes form an important class of codes due to their rich algebraic structure and play a significant role in algebraic coding theory. The study of codes over finite rings proliferated after the emergence of Gray maps. In this field, revolution came in 1994 when Hammons et al. [18] obtained some excellent classes of nonlinear binary codes as the images of linear codes over \(\mathbb Z_4.\) This brings the study of cyclic codes over finite rings under immense consideration. The study of cyclic codes over finite rings has been discussed in a series of papers (see [1‐3, 19, 34] and references therein). Some known methods for designing DNA codes that satisfy certain conditions include the study of reversible codes, which constitute an integral part of DNA codes. The study of reversible cyclic codes over finite fields was initiated by Massey [25] in 1964. Later on, Tzeng and Hartmann [33] obtained the bounds for the minimum distance of certain reversible cyclic codes. Guenda and Gullivor [16] discussed reversible cyclic codes over the ring \({\mathbb {F}}_{2}+u{\mathbb {F}}_{2}\) and provided some DNA codes. Moreover, Srinivasulu and Bhaintwal [32] constructed reversible cyclic codes over \(\mathbb F_4+u\mathbb F_4\), \(u^2=0,\) and obtained certain DNA codes. For the intensive study of reversible codes over different rings, we refer the readers to [4, 12, 26, 28‐30, 36].
Advertisement
Although codes over many different rings have been considered, codes over \({\mathbb {Z}}_{4}\) have special place in coding theory due to their connection to lattice designs and DNA codes (Note that \({\mathbb {Z}}_{4}\) being an alphabet of size four, it is an ideal candidate for DNA coding). DNA cyclic codes which are based on \({\mathbb {Z}}_{4}\) have been discussed in a series of papers (see [3, 11, 20] and references therein). Furthermore, D’Yachkov et al. [9, 10] studied the deletion similarity distance between any two codewords. Siap et al. [31] obtained cyclic DNA codes over the ring \({\mathbb {F}}_{2}[u]/\langle u^{2}-1\rangle\) based on the deletion distance. Similarly, Dinh et al. [11] constructed cyclic DNA codes over the ring \({\mathbb {Z}}_4[u]/\langle u^2-1\rangle\) based on the deletion distance. Recently, Martinez-Moro and Szabo [22] classified the structure of local Frobenius non-chain rings of order 16. Later on, Dougherty et al. [13] obtained the structure of cyclic codes over local Frobenius non-chain rings of order 16.
Reversible codes have versatile applications in the design of DNA codes as well as data storage and retrieval systems. If the bandwidth of a communication system increases, we have the ability to transmit a larger amount of data in a single instance. In DNA data storage, the digital data is translated into DNA strings (constituted by four symbols A, G, T and C). For example, two binary bits are mapped into a single nucleotide. That is, \(00\rightarrow A,\)\(01\rightarrow C,\)\(10\rightarrow G\) and \(11\rightarrow T.\) Thus, DNA k-bases can be used instead of DNA single base to carry more data on a wide bandwidth. Constructing a bijection between the elements of the algebraic structure (fields, rings etc.) and DNA k-bases is an important problem. Employing DNA k-bases \((k\ge 2)\) for an algebraic structure uncovers the reversibility problem. For example, if we construct a correspondence between an algebraic structure having only four elements and DNA nucleotides i.e., \(\{A,G,T,C\},\) then a reversible code over this algebraic structure provides a reversible DNA code. However, if an algebraic structure contains \(4^{k}\) elements, where \(k>1,\) then the reversibility problem occurs. This reversibility problem has been addressed by several authors over different algebraic structures. For example, Gursoy et al. [17] solved the reversibility problem using skew cyclic codes over a finite non-chain ring. Furthermore, Oztas et al. [27] identified DNA k-bases with elements in the ring \(\mathbb F_2[u]/\langle u^{2k}-1\rangle ,\) and solved the reversibility problem by using a form of coterm polynomials.
Inspired by these studies, we construct reversible cyclic codes of odd lengths over the ring \({\mathfrak {R}}= {\mathbb {Z}}_4[u,v]/\langle u^2-2,uv-2,v^2,2u,2v\rangle .\) As an application of these reversible codes, we solve the reversibility problem that occurred in DNA k-bases by constructing a bijection \(\Gamma\) (see Table 1) between the elements of the ring \({\mathfrak {R}}\) and \(S_{D_{16}},\) where \(S_{D_{16}}=\{x_{1}x_{2}:x_{1},x_{2}\in {\textbf {X}}\},\) and \({\textbf {X}}\) is the set \(\{A,G,T,C\}.\) Furthermore, we obtain reversible DNA codes over the ring \({\mathfrak {R}}\) based on the deletion distance. Also, we obtain the generating set of dual of cyclic codes over the ring \({\mathfrak {R}}\) and discuss reversibility for these codes. Dougherty et al. [13] constructed binary cyclic codes as the images of Gray map with respect to the Lee weight. In this article, we introduce the homogeneous weight \(w_{\hom },\) and study cyclic codes with respect to \(w_{\hom }\). Meanwhile, we discuss the GC-content of cyclic DNA codes and investigate their deletion distance.
The present article is organized as follows: Sect. 2 is devoted to familiarize the readers with basic terminology. In Sect. 3, we introduce the homogeneous weight over the ring \({\mathfrak {R}}\) and obtain a distance preserving map \(\Psi _{\hom }:{\mathfrak {R}}^{n}\rightarrow {\mathbb {F}}^{8n}_{2}.\) The structure of cyclic codes is conferred in Sect. 4. In Sect. 5, we provide some necessary and sufficient conditions for: (i) a given cyclic code of odd length over the ring \({\mathfrak {R}}\) to be a reversible code, (ii) the dual code of a cyclic code of odd length to be a reversible code over the ring \({\mathfrak {R}},\) and (iii) a given cyclic code of odd length over the ring \({\mathfrak {R}}\) to be reversible complement. The study of GC-content of cyclic DNA codes of odd length and their deletion distance is included in Sect. 6. Section 7 consists examples of reversible DNA codes. The Gray images of some reversible cyclic codes have the same parameters as their corresponding optimal linear codes, which can be found in the online data available in [14].
Advertisement
2 Preliminaries
In [22], the authors provided a complete classification of local Frobenius rings of order 16. Let us recall some basic facts of the ring \({\mathfrak {R}}= {\mathbb {Z}}_4[u,v]/\langle u^2-2,uv-2,v^2,2u,2v\rangle .\) The ring \({\mathfrak {R}}\) is a finite commutative ring, which is an extension of \({\mathbb {Z}}_{4}.\) The ring \({\mathfrak {R}}\) is a vector space over \({\mathbb {F}}_{2}\) with basis \(\{1,u,v,2\}.\) Hence, any element \(x\in {\mathfrak {R}}\) can be uniquely expressed as \(x=\alpha _{1}+\alpha _{2}u+\alpha _{3}v+\alpha _{4}2,\) where \(\alpha _{i}\in {\mathbb {F}}_{2}.\) Moreover, cardinalty of \({\mathfrak {R}}\) is 16 and characteristic of \({\mathfrak {R}}\) is 4. All the elements of the ring \({\mathfrak {R}}\) are as follows:
The ideal lattice of the ring \({\mathfrak {R}}\) is shown in Fig. 1. Notice that the ideals of \({\mathfrak {R}}\) do not form a chain under the set theoretical inclusion relation. Hence \({\mathfrak {R}}\) is a non-chain ring. Moreover, the ideal \(\langle u,v\rangle\) is the unique maximal ideal of \({\mathfrak {R}}.\) Thus, \({\mathfrak {R}}\) is a local Frobenius non-chain ring of order 16.
Recall that a linear code \({\mathfrak {C}}\) of length n over \({\mathfrak {R}}\) is an \({\mathfrak {R}}\)-submodule of \({\mathfrak {R}}^{n}\) and members of \({\mathfrak {C}}\) are known as codewords. A linear code \({\mathfrak {C}}\) of length n over \({\mathfrak {R}}\) is called cyclic if for each codeword \(x=(x_0,x_1,\ldots ,x_{n-1})\in {\mathfrak {C}},\) the n-tuple \((x_{n-1},x_0,\ldots ,x_{n-2})\) obtained by the cyclic shift of coordinates i to \(i+1\mod ~n,\) is also in \({\mathfrak {C}}\). The inner-product of two n-tuples \(a=(a_0,a_1,\ldots ,a_{n-1})\), \(b=(b_0,b_1,\ldots ,b_{n-1})\) is defined as \(a\cdot b=\sum \nolimits _{i=0}^{n-1}a_ib_i.\) The codewords a and b are said to be orthogonal if \(a\cdot b=0.\)
×
The dual code \({\mathfrak {C}}^\perp\) of a linear code \({\mathfrak {C}}\) over \({\mathfrak {R}}\) of length n is defined as follows:
$$\begin{aligned} {\mathfrak {C}}^\perp =\{a\in {\mathfrak {R}}^{n}~|~ a\cdot b=0~~\text{ for } \text{ all }~b\in {\mathfrak {C}}\}. \end{aligned}$$
It is easy to check that \({\mathfrak {C}}^\perp\) is also a linear code of same length n over \({\mathfrak {R}}\). Moreover, a linear code \({\mathfrak {C}}\) is self-orthogonal if \({\mathfrak {C}}\subseteq {\mathfrak {C}}^\perp\) and \({\mathfrak {C}}\) is self-dual if \({\mathfrak {C}}={\mathfrak {C}}^\perp\). For a given polynomial \(g(x)=a_{0}+a_{1}x+\cdots +a_{n-1}x^{n-1}\in {\mathfrak {R}}[x]\), we define the reciprocal of g(x) as \(g^*(x)=x^{\deg (g(x))}g(\frac{1}{x}) =a_{n-1}+a_{n-2}x+\cdots +a_{0}x^{n-1}\). Note that for a given polynomial g(x), \(\deg (g(x))\ge \deg (g^*(x))\) and if \(a_{0}\ne 0\), then \(\deg (g(x))=\deg (g^*(x)).\) Moreover, the polynomial g(x) is called self-reciprocal if \(g^{*}(x)=\alpha g(x),\) where \(\alpha\) is an unit element of \({\mathfrak {R}}.\) Throughout this article, we denote by \({\mathfrak {R}}_{n}\) the quotient ring \({\mathfrak {R}}[x]/\langle x^n-1\rangle .\)
The following lemma is useful to find the reciprocal of sum and product of the polynomials.
Lemma 2.1
[3] Let f(x) and g(x) be any two polynomials in \({\mathfrak {R}}[x]\) with \(\deg (f(x))\ge \deg (g(x)).\) Then the following statements hold:
(1)
\((f(x) \cdot g(x) )^*=f^*(x)\cdot g^*(x),\)
(1)
\((f(x)+g(x))^*=f^*(x)+x^{i}g^*(x),\) where \(i=\deg (f(x))-\deg (g(x)).\)
Deoxyribonucleic acid abbreviated as DNA is an organic chemical of complex molecular structure that is found in all prokaryotic and eukaryotic cells and in many viruses. DNA codes carry the genetic information of living organisms. Any DNA structure containing nucleotide bases Cytosine (C), Thymine (T) and Adenine (A), Guanine (G) attached to a backbone of alternating phosphate and deoxyribose sugar. Two sugar phosphate chains are paired through hydrogen bonds between G and C and between A and T thus making the twin stranded double helix of the DNA molecules and are joined by the Watson-Crick complement (WCC) rule. According to this rule a DNA sequence combined with its complement (reversible) and forms a helix. Complement of T is A (and vice versa) and complement of G is C (and vice versa). We use \({C}^{c}=G\), \({G}^{c}=C\), \({A}^{c}=T\), \({T}^{c}=A\), where \({C}^{c}\), \({G}^{c}\), \({A}^{c}\), \({T}^{c}\) are the complements of C, G, A, T respectively. For example, the Watson-Crick complement of \(3^{'}-CCATTGA-5^{'}\) is given by \(5^{'}-GGTAACT-3^{'}.\)
We call a given sequence \(x=x_{1}x_{2}\cdots x_{n}\) a quaternary n-sequence or a DNA sequence of length n if \(x_{i}\in {\textbf {X}},\) where \(1\le i\le n.\) Let U and V be any two DNA sequences of length n. The hybridization energy E(U, V) between the two DNA sequences is measured by the longest common sub sequence (not necessarily contiguous) of either strand or the reverse complement of the other strand. We have the deletion similarity as the length of the longest common subsequence for U and V and is denoted by S(U, V). If U and V are any strands of length n, then we have \(S(U,U)=n\) and \(S(U,V)=S(V,U).\) Moreover, the deletion similarity S(U, V) can be identified by the number of base pair bonds between U and \(V^{rc}\) i.e.,
where \(V^{rc}=x^{c}_{n}x^{c}_{n-1}\cdots x^{c}_{1}\) is the reverse complement of \(V=x_{1}x_{2}\cdots x_{n}.\) For example, if \(U=TACAGG\) and \(V=TCAGTT,\) then the deletion similarity \(S(U,V)=3\) as TAG is the longest common subsequence for both U and V. Moreover, TAG is not unique since TCG is another common subsequence of length 3.
Definition 2.2
[9, 10] Let \({\mathfrak {C}}\) be a non empty set of DNA sequences of length n. Then \({\mathfrak {C}}\) is called a DNA code of distance D based on the deletion similarity or briefly, an (n, D)-code if the following holds:
(i)
\(U^{rc}\in {\mathfrak {C}}\) for all \(U\in {\mathfrak {C}};\)
(ii)
there exists smallest positive integer D such that \(S(U,V)\le n-D-1\) for all \(U,V\in {\mathfrak {C}},\)\(U\ne V.\)
By using Definition 2.2, and Condition 2.1, the hybridization energy is given by \(E(U,V^{rc})\le n-D-1\) for all \(U,V\in {\mathfrak {C}},\)\(U\ne V.\) Therefore, in every (n, D)-code any strand U and the reverse complement of the other strand V always form such base pair bonds in hybridization assay which are less than\(n-D.\) From now on, we call D the deletion distance of a code \({\mathfrak {C}}.\)
Example 2.3
Suppose that M is a set of DNA sequences of length 4 given by, \(M=\{ACAT,ATGT,ATAC,GTAT\}.\) We have \((ACAT)^{rc}=ATGT,\)\((ATAC)^{rc}=GTAT,\)\((ATGT)^{rc}=ACAT\) and \((GTAT)^{rc}=ATAC.\) Therefore, we can conclude \(V^{rc}\in M\) for all \(V\in M.\) Moreover, AT is the longest common subsequence between any codeword of M, therefore \(S(U,V)= 2\) for all \(U,V\in {\mathfrak {C}},\)\(U\ne V.\) We obtain \(n-D-1\ge 2\), and \(D\le 1,\) which further yields that \(D=1.\) Hence, we can conclude that M is a (4, 1)-DNA code.
Moreover, a cyclic DNA code \({\mathfrak {C}}\) always satisfies the Hamming distance constraint, but it may satisfy the other constraints which are as follows:
(1)
The Hamming distance constraint:\(H(a,b)\ge d,\) where \(a,b\in {\mathfrak {C}}\) and \(a\ne b\) for some Hamming distance d.
(2)
The Reverse constraint:\(H(a,b^{r})\ge d,\) where \(a,b\in {\mathfrak {C}}\) and \(b^{r}=(x_{n},x_{n-1},\ldots ,x_{1})\) is the reverse of \(b=(x_{1},x_{2},\ldots ,x_{n}).\)
(3)
The Reverse complement constraint:\(H(a,b^{rc})\ge d,\) where \(a,b\in {\mathfrak {C}}\) and \(b^{rc}=(x^{c}_{n},x^{c}_{n-1},\ldots ,x^{c}_{1})\) is the reverse complement of \(b=(x_{1},x_{2},\ldots ,x_{n}).\)
(4)
The FixedGC-content constraint: Each codeword \(x\in {\mathfrak {C}}\) has the same GC-content i.e., the number of positions in which the codeword has component C or G are same.
The first three constraints are designed to prevent the unwanted hybridization. The constant GC-content constraint ensures that the thermodynamic properties of each codeword are same.
3 Homogeneous weight of cyclic codes over \({\mathfrak {R}}\)
Constantinescu and Heise [8] introduced the idea of homogeneous weight over the residue class rings of integers. Later on, Greferath and Schmidt [15] generalized this notion to arbitrary finite rings and they have provided the existence of such a weight function on arbitrary finite rings. Dougherty et al. [13] studied cyclic codes over the ring \({\mathfrak {R}}\) via Gray images with respect to the Lee weight. In this article, we study the cyclic codes over the ring \({\mathfrak {R}}\) using the homogeneous weight on \({\mathfrak {R}}.\)
Definition 3.1
Let R be a finite ring. A real valued function w on R is called a homogeneous (left) weight, if \(w(0)=0\) and the following are true:
(i)
If \(Rx=Ry\) then \(w(x)=w(y)\) for all \(x,y \in R.\)
(ii)
There exists a real number \(\alpha \ge 0\) such that
Yildiz and Karadeniz [34] studied cyclic codes over the non-chain ring \(R={\mathbb {F}}_2+u{\mathbb {F}}_2+v{\mathbb {F}}_2+uv{\mathbb {F}}_2,\) where \(u^{2}=0, v^{2}=0\) and \(uv=vu\) with respect to the homogeneous weight. Later on, Yildiz and Kelebek [35] studied homogeneous weight for an infinite family of rings \(R_{k}={\mathbb {F}}_2[u_{1},u_{2},\cdots ,u_{k}]/\langle u^{2}_{i},u_{i}u_{j}-u_{j}u_{i}\rangle .\) Motivated by these studies, in this article we introduce homogeneous weight over the ring \({\mathfrak {R}}\) as follows:
Let \(x\in {\mathfrak {R}}\) be any element. Then we define,
Now, in order to define a distance preserving Gray map \(\varphi\) from \({\mathfrak {R}}\) to \({\mathbb {F}}_{2}^{8}\) we let \(\varphi (0)=(0,0,0,0,0,0,0,0),\)\(\varphi (1)=(1,0,1,0,1,0,1,0),\)\(\varphi (u)=(1,1,1,1,0,0,0,0),\)\(\varphi (v)=(1,1,0,0,1,1,0,0)\) and \(\varphi (2)=(1,1,1,1,1,1,1,1).\) We extend this map to the whole ring \({\mathfrak {R}}\) in the following manner. Notice that any \(x\in {\mathfrak {R}}\) can be expressed uniquely as \(x=\alpha _{1}+\alpha _{2}u+\alpha _{3}v+\alpha _{4}2,\) where \(\alpha _{i}\in {\mathbb {F}}_{2}.\) Then, we define
We can verify that the map \(\varphi :{\mathfrak {R}}\rightarrow {\mathbb {F}}_{2}^{8}\) defined above is a distance preserving map (Gray map). Notice that \(\varphi (1+3)\ne \varphi (1)+\varphi (3),\) therefore we can conclude that the Gray map \(\varphi\) is not linear. Moreover, \(\varphi\) can be extended to the map \(\Psi _{\hom }:{\mathfrak {R}}^{n}\rightarrow {\mathbb {F}}_{2}^{8n}\) such that
where \((\beta _{0},\beta _{1},\beta _{2},\ldots ,\beta _{n-1})\in {\mathfrak {R}}^{n}.\) Recall that a cyclic shift on \({\mathfrak {R}}^{n}\) is the permutation \(\tau\) given by
A code \({\mathfrak {C}}\) is said to be an \(\ell\)-quasi-cyclic code if it is invariant under \(\tau ^{\ell }\) and we call \(\ell\) the index of the quasi-cyclic code.
Lemma 3.2
Let \(\tau\) be the cyclic shift. Then \(\Psi _{\hom }\circ \tau =\tau ^{8}\circ \Psi _{\hom }.\)
Proof
Suppose an element \(c\in {\mathfrak {R}}^{n},\) then
Also, we can write \(\Psi _{\hom }(c_{0},c_{1},\ldots ,c_{n-1})=(\varphi (c_{0}),\varphi (c_{1}),\varphi (c_{2}),\ldots ,\varphi (c_{n-1})),\) where each \(\varphi (c_{i})\) is of length 8. Therefore, if we apply the cyclic shift eight times then we must have
Hence, by using (3.1) and (3.2) we get the desired result. \(\square\)
Based on the above lemma, we have the following result.
Theorem 3.3
Let \({\mathfrak {C}}\) be a cyclic code over the ring \({\mathfrak {R}}\) of length n and minimum homogeneous weight d. Then \(\Psi _{\hom }({\mathfrak {C}})\) is an 8-quasi-cyclic binary code of length 8n and minimum Hamming distance d.
Proof
Given that \({\mathfrak {C}}\) is a cyclic code of length n over the ring \({\mathfrak {R}}.\) Then, we have \(\tau ({\mathfrak {C}})={\mathfrak {C}},\) where \(\tau\) is the cyclic shift. Now, apply \(\Psi _{\hom }\) to both sides we obtain
This implies that \(\Psi _{\hom }({\mathfrak {C}})\) is invariant under \(\tau ^{8}.\) Therefore, \(\Psi _{\hom }({\mathfrak {C}})\) is an 8-quasi-cyclic binary code. \(\square\)
4 Structure of cyclic codes over \({\mathfrak {R}}\)
The study of cyclic codes of any odd length over a local Frobenius non-chain ring of order 16 has been developed in [13]. In this article, the aforementioned ring \({\mathfrak {R}}\) is also a local Frobenius non-chain ring of order 16, and hence we obtain the structure of cyclic code over \({\mathfrak {R}}\) using results given in [13]. Throughout this article, we use a symbol M, where M is the maximal ideal of the ring \({\mathfrak {R}}\) given by \(M=\langle u,v\rangle ,\) and \(Mg(x)=\langle ug(x),vg(x)\rangle ,\) where \(g(x)\in {\mathfrak {R}}_{n}.\)
The following theorem provides the structure of cyclic codes of odd lengths over the ring \({\mathfrak {R}}.\)
Theorem 4.1
[13] Let \({\mathfrak {C}}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}.\) Then \({\mathfrak {C}}\) is generated by the following polynomials \(\{{\widehat{G_{1}}}(x), M{\widehat{G_{2}}}(x),u{\widehat{G_{3}}}(x),v{\widehat{G_{4}}}(x),(u+v){\widehat{G_{5}}}(x),2{\widehat{G_{6}}}(x)\},\) where \(x^n-1=G_{0}(x)G_{1}(x)G_{2}(x)G_{3}(x)G_{4}(x)G_{5}(x)G_{6}(x)\); \(G_{i}(x)\) are coprime monic polynomials and \({\widehat{G_{i}}}(x)=\dfrac{x^n-1}{G_{i}(x)},\)\(0\le i\le 6.\) Moreover, \({\mathfrak {C}}\) is of the type
Notice that in the above theorem, there is no relation between the generating polynomials of cyclic codes. Using the above structure of cyclic codes over the ring \({\mathfrak {R}},\) we obtain the following equivalent structure of cyclic codes in which generating polynomials are dividing some other generating polynomials.
Theorem 4.2
Let \({\mathfrak {C}}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}.\) Then \({\mathfrak {C}}\) is given by
where \(x^n-1=G_{0}(x)G_{1}(x)G_{2}(x)G_{3}(x)G_{4}(x)G_{5}(x)G_{6}(x)\); \(G_{i}(x)\) are coprime monic polynomials and \({\widehat{G_{i}}}(x)=\dfrac{x^n-1}{G_{i}(x)},\)\(0\le i\le 6.\) Now construct the polynomials \(\ell _{j}(x),\) where \(0\le j\le 5\) with the help of the polynomials \(G_{i}(x)\) as follows:
Let \({\mathfrak {C}}^{'}=\langle \ell _{0}(x),M\ell _{1}(x),u\ell _{2}(x),v\ell _{3}(x),(u+v)\ell _{4}(x),2\ell _{5}(x)\rangle ,\) where \(\ell _{j}(x)\) are polynomials as defined above. Our claim is that \({\mathfrak {C}}^{'}\)=\({\mathfrak {C}}.\) First we prove that \({\mathfrak {C}}\subseteq {\mathfrak {C}}^{'}.\) To do so, notice that \({\widehat{G_{1}}}(x)=\ell _{0}(x)\in {\mathfrak {C}}^{'}.\) Next we prove that the polynomial \(M{\widehat{G_{2}}}(x)\in {\mathfrak {C}}.\) Now consider
Therefore, \(M{\widehat{G_{2}}}(x)\)\(\in\)\({\mathfrak {C}}^{'}.\) Similarly, the polynomials \(u{\widehat{G_{3}}}(x)\)=\(u\ell _{2}(x)G_{1}(x)G_{2}(x)\in {\mathfrak {C}}^{'},\)\(v{\widehat{G_{4}}}(x)\)=\(v\ell _{3}(x)G_{1}(x)G_{2}(x)\in {\mathfrak {C}}^{'}\) and \((u+v){\widehat{G_{5}}}(x)\)=\((u+v)\ell _{4}(x)G_{1}(x)G_{2}(x)\in {\mathfrak {C}}^{'}.\) Also, the polynomial \(2{\widehat{G_{6}}}(x)\)=\(2\ell _{5}(x)G_{1}(x)G_{2}(x)G_{3}(x)G_{4}(x)G_{5}(x)\in {\mathfrak {C}}^{'}.\) Hence, we obtain that \({\mathfrak {C}}\subseteq {\mathfrak {C}}^{'}.\) To prove \({\mathfrak {C}}^{'}\subseteq {\mathfrak {C}},\) we proceed as follows. Notice that \(\ell _{0}(x)={\widehat{G_{1}}}(x)\), then \(\ell _{0}(x)\in {\mathfrak {C}}.\) First, we check if \(M\ell _{1}(x)\in {\mathfrak {C}}.\) Since \(G_{1}(x)\) and \(G_{2}(x)\) are coprime polynomials, there exist polynomials \(p_{1}(x), p_{2}(x)\in {\mathfrak {R}}[x]\) such that
and \(M\ell _{1}(x)=Mp_{1}(x){\widehat{G_{2}}}(x)+Mp_{2}(x)\ell _{0}(x)\in {\mathfrak {C}}.\) Next, we check if \(u\ell _{2}(x)\in {\mathfrak {C}}.\) Since the polynomials \(G_{1}(x)G_{2}(x)\) and \(G_{3}(x)\) are coprime, there exist polynomials \(q_{1}(x), q_{2}(x)\in {\mathfrak {R}}[x]\) such that
This implies that \(u\ell _{2}(x)\in {\mathfrak {C}}.\) Similarly, we can also verify that the polynomials \(v\ell _{3}(x),(u+v)\ell _{4}(x)\) and \(2\ell _{5}(x)\in {\mathfrak {C}}\). Therefore, we can conclude that \({\mathfrak {C}}^{'}\subseteq {\mathfrak {C}}\) and hence \({\mathfrak {C}}^{'}={\mathfrak {C}}.\)\(\square\)
Now, by using the structure of cyclic codes given in Theorem 4.2, we focus on the following specific cases of cyclic codes over the ring \({\mathfrak {R}}.\)
Definition 4.3
Let n be an odd integer, \(\xi _{1}=u,\)\(\xi _{2}=v\) and \(\xi _{3}=u+v.\) Also suppose that \(i\in \{1,2,3\}.\) Then we define cyclic code \({\mathfrak {C}}_{i}\) over the ring \({\mathfrak {R}}\) as
It is easy to check that \(A({\mathcal {I}})\) is an ideal of \({\mathfrak {R}}_{n}\) and hence a cyclic code over \({\mathfrak {R}}\). Moreover, if \({\mathcal {I}}\) generates a cyclic code \({\mathfrak {C}}\) of length n over \({\mathfrak {R}}\), then the ideals which generate \({\mathfrak {C}}^{\perp }\) are given by \(A^{*}({\mathcal {I}})=\{h^{*}(x)~|~h(x)\in A({\mathcal {I}})\},\) where \(h^{*}(x)\) is the reciprocal polynomial of h(x).
By using the next result one can obtain the structure of annihilator of cyclic codes \({\mathfrak {C}}_{i}\) over the ring \({\mathfrak {R}},\) where \(i\in \{1,2,3\}.\)
Theorem 4.4
Let \({\mathfrak {C}}_{i}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}.\) Then the annihilator \(A({\mathfrak {C}}_{i})\) of \({\mathfrak {C}}_{i}\) is given by
where \({\mathfrak {C}}_{i}=\langle \ell _{0}(x),M \ell _{1}(x),\xi _{i}\ell _{2}(x),2\ell _{3}(x)\rangle\) such that \(\ell _{3}(x)|\ell _{2}(x)|\ell _{1}(x)|\ell _{0}(x),\)\(\xi _{1}=u,\)\(\xi _{2}=v\) and \(\xi _{3}=u+v.\)
Proof
Suppose that \(K^{'}=\bigg \langle \bigg (\dfrac{x^n-1}{\ell _{3}(x)}\bigg ),M\bigg (\dfrac{x^n-1}{\ell _{2}(x)}\bigg ), \xi _{i}\bigg (\dfrac{x^n-1}{\ell _{1}(x)}\bigg ),2\bigg (\dfrac{x^n-1}{\ell _{0}(x)}\bigg )\bigg \rangle .\) By using the definition of annihilator, \(A({\mathfrak {C}}_{i})\) becomes a cyclic code over the ring \({\mathfrak {R}}.\) Let
$$\begin{aligned} A ({\mathfrak {C}}_{i})=\langle p_{1}(x),Mp_{2}(x),\xi _{i}^{'}p_{3}(x),2p_{4}(x)\rangle , \end{aligned}$$
where \(p_{4}(x)|p_{3}(x)|p_{2}(x)|p_{1}(x)\). As \(\ell _{3}(x)\in {\mathfrak {C}}_{i}\) and \(p_{1}(x)\in A({\mathfrak {C}}_{i}),\) we get
We have \(p_{1}(x)=\frac{x^{n}-1}{\ell _{3}(x)}\alpha (x)\) for some \(\alpha (x)\in {\mathfrak {R}}[x]\) and therefore we can conclude that \(p_{1}(x)\in \langle \frac{x^{n}-1}{\ell _{3}(x)}\rangle .\) Similarly, we also have \(p_{2}(x)\in \langle \frac{x^{n}-1}{\ell _{2}(x)}\rangle ,\)\(p_{3}(x)\in \langle \frac{x^{n}-1}{\ell _{1}(x)}\rangle\) and \(p_{4}(x)\in \langle \frac{x^{n}-1}{\ell _{0}(x)}\rangle .\) Therefore, \(A({\mathfrak {C}}_{i})\subseteq K^{'}.\) Similarly, we must have \(K^{'}\subseteq A({\mathfrak {C}}_{i}).\) Thus,
The next theorem provides the structure of the dual of a cyclic code \({\mathfrak {C}}_{i}\) over the ring \({\mathfrak {R}},\) where \(i\in \{1,2,3\}.\)
Theorem 4.5
Let \({\mathfrak {C}}_{i}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}\) given by
where \(\ell _{3}(x)|\ell _{2}(x)|\ell _{1}(x)|\ell _{0}(x),\)\(\xi _{1}=u,\)\(\xi _{2}=v\) and \(\xi _{3}=u+v.\) Then the dual of the cyclic code \({\mathfrak {C}}_{i}\) is given by \({\mathfrak {C}}_{i}^\perp =\bigg \langle \bigg (\dfrac{x^n-1}{\ell _{3}(x)}\bigg )^*,M\bigg (\dfrac{x^n-1}{\ell _{2}(x)}\bigg )^*,\xi _{i} \bigg (\dfrac{x^n-1}{\ell _{1}(x)}\bigg )^*,2\bigg (\dfrac{x^n-1}{\ell _{0}(x)}\bigg )^*\bigg \rangle .\)
Proof
The above result directly follows from the Theorem 4.4. \(\square\)
5 Reversible DNA cyclic codes over \({\mathfrak {R}}\)
In this section, we present our main results of this article. We provide necessary and sufficient conditions for cyclic codes and their duals to be reversible. Also, we discuss under what conditions a given cyclic code is reversible complement, and construct a bijection \(\Gamma\) between the elements of the ring \({\mathfrak {R}}\) and \(S_{D_{16}}\) in such a manner that the reversibility problem is solved.
Definition 5.1
A cyclic code \({\mathfrak {C}}\) of length n over the ring \({\mathfrak {R}}\) is called reversible if \(\alpha ^{r}\in {\mathfrak {C}}\) whenever \(\alpha \in {\mathfrak {C}}\), where reverse of a codeword \(\alpha =(\alpha _{0},\alpha _{1},\ldots ,\alpha _{n-1})\) is given by \(\alpha ^{r} =(\alpha _{n-1},\alpha _{n-2},\ldots ,\alpha _{0})\).
The next theorem provides the necessary and sufficient conditions for a given cyclic code \({\mathfrak {C}}\) over the ring \({\mathfrak {R}}\) to be reversible.
Theorem 5.2
Let \({\mathfrak {C}}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}\) given by
where \(x^n-1=G_{0}(x)G_{1}(x)G_{2}(x)G_{3}(x)G_{4}(x)G_{5}(x)G_{6}(x)\); \(G_{i}(x)\) are coprime monic polynomials and \({\widehat{G_{i}}}(x)=\dfrac{x^n-1}{G_{i}(x)},\)\(0\le i\le 6.\) Then \({\mathfrak {C}}\) is a reversible cyclic code if and only if each \({\widehat{G_{i}}}(x)\) for \(1\le i\le 6,\) is a self-reciprocal polynomial.
Proof
Suppose that \({\mathfrak {C}}\) is a reversible cyclic code of odd length n over the ring \({\mathfrak {R}}.\) We have to show that each \({\widehat{G_{i}}}(x)\) is a self-reciprocal polynomial. To do so, suppose to the contrary that \({\widehat{G_{i}}}(x)\) is not a self-reciprocal polynomial i.e., \({\widehat{G_{i}}}(x)\ne {\widehat{G_{i}}}^*(x),\) where \({\widehat{G_{i}}}^*(x)\) is the reciprocal polynomial of \({\widehat{G_{i}}}(x)\), \(i=\{1,2,3,4,5,6\}.\) Now, consider a polynomial G(x) given by \(G(x)=\gcd ({\widehat{G_{i}}}(x),{\widehat{G_{i}}}^*(x)).\) Then there exist \(\alpha _{1}(x)\) and \(\alpha _{2}(x)\) such that
Since \({\mathfrak {C}}\) is a reversible cyclic code, \(sG(x)\in {\mathfrak {C}}\) for all \(s\in S.\) Notice that \(\deg (sG(x))< \deg (s{\widehat{G_{i}}}(x)),\) this contradicts the fact that \({\widehat{G_{i}}}(x)\) is the minimal degree polynomial such that \(s{\widehat{G_{i}}}(x)\in {\mathfrak {C}}\). Hence, each \({\widehat{G_{i}}}(x)\) is self-reciprocal. For the converse part assume that each \({\widehat{G_{i}}}(x)\) is a self-reciprocal polynomial over the ring \({\mathfrak {R}}.\) Let \(c(x)\in {\mathfrak {C}}\) be an arbitrary polynomial. Then there exist \(\lambda _{i}(x)\in {\mathfrak {R}}[x],\) where \(1\le i\le 6\) such that
Since each \({\widehat{G_{i}}}(x)\) is a self-reciprocal polynomial i.e., \({\widehat{G_{i}}}(x)={\widehat{G_{i}}}^*(x)\) for \(1\le i\le 6,\) we obtain
This implies that \(c^*(x)\in {\mathfrak {C}}\) for \(\lambda _{i}^*(x)\in {\mathfrak {R}}[x].\) Hence, \({\mathfrak {C}}\) is a reversible cyclic code over the ring \({\mathfrak {R}}.\)\(\square\)
The following result provides the reversibility conditions for cyclic codes \({\mathfrak {C}}_{i},\) where \(i\in \{1,2,3\}.\)
Theorem 5.3
Let \({\mathfrak {C}}_{i}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}\) given by
where \(\ell _{3}(x)|\ell _{2}(x)|\ell _{1}(x)|\ell _{0}(x),\)\(\xi _{1}=u,\)\(\xi _{2}=v\) and \(\xi _{3}=u+v.\) Then \({\mathfrak {C}}_{i}\) is a reversible cyclic code over the ring \({\mathfrak {R}}\) if and only if \(\ell _{0}(x),\ell _{1}(x),\ell _{2}(x)\) and \(\ell _{3}(x)\) are self-reciprocal polynomials.
where \(\ell _{3}(x)|\ell _{2}(x)|\ell _{1}(x)|\ell _{0}(x),\)\(\xi _{1}=u,\)\(\xi _{2}=v\) and \(\xi _{3}=u+v.\) Then \({\mathfrak {C}}_{i}^\perp\) is also a reversible cyclic code over the ring \({\mathfrak {R}}\).
Proof
By making use of Corollary 5.3, we must have that \(\ell _{0}(x),\ell _{1}(x),\ell _{2}(x)\) and \(\ell _{3}(x)\) are self-reciprocal polynomials. Suppose that \(\dfrac{x^n-1}{\ell _{3}(x)}=t_{1}(x),\)\(\dfrac{x^n-1}{\ell _{2}(x)}=t_{2}(x),\)\(\dfrac{x^n-1}{\ell _{1}(x)}=t_{3}(x)\) and \(\dfrac{x^n-1}{\ell _{0}(x)}=t_{4}(x).\) Notice that \(\bigg (\dfrac{x^n-1}{\ell _{3}(x)}\bigg )^*=t_{1}^*(x),\) which further yields \(-\dfrac{(x^n-1)}{\ell _{3}^*(x)}=t_{1}^*(x).\) Since \(\ell _{3}(x)\) is self-reciprocal polynomial, we obtain \(-\dfrac{(x^n-1)}{\ell _{3}(x)}=t_{1}^*(x)\) and \(-t_{1}(x)= t_{1}^*(x).\) Similarly, \(-t_{2}(x)= t_{2}^*(x),\)\(-t_{3}(x)= t_{3}^*(x)\) and \(-t_{4}(x)= t_{4}^*(x).\) Let \(\bar{c}(x)\in {\mathfrak {C}}_{i}^\perp\) be an arbitrary code word. By making use of Theorem 4.5, there exist polynomials \(L_{1}(x), L_{2}(x), L_{3}(x)\) and \(L_{4}(x)\) in \({\mathfrak {R}}[x]\) such that
where \(q_{1}(x)=-L_{1}^*(x),\)\(q_{2}(x)=-x^{\alpha _{1}}L_{2}^*(x),\)\(q_{3}(x)=-x^{\alpha _{2}}L_{3}^*(x),\) and \(q_{4}(x)=-x^{\alpha _{3}}L_{4}(x).\) Hence, \(\bar{c}^*(x)\in {\mathfrak {C}}_{i}^\perp\) and which implies that \({\mathfrak {C}}_{i}^\perp\) is also a reversible cyclic code over the ring \({\mathfrak {R}}.\)\(\square\)
Next, we discuss the reversible complement cyclic codes of odd length and provide a necessary and sufficient condition for a given cyclic code to be a reversible complement cyclic code over the ring \({\mathfrak {R}}.\) To do so, we need the following basic notions of complement. We denote the complement of an element \(a\in {\mathfrak {R}}\) by \(\bar{a}\) and define as: \(\bar{a}=a+2\). For example, the complement of \(a=3+u+v\) is \(\bar{a}=3+u+v+2=1+u+v.\) Recall that the Watson-Crick complement for a given DNA sequence \(X=d_{1}d_{2}\cdots d_{n}\) is given by \({X}^{c}=d^{c}_{1} d^{c}_{2}\cdots d^{c}_{n}\). From Table 1, we notice that if \(d_{1}d_{2}\) is the DNA sequence corresponding to an element \(x\in {\mathfrak {R}},\) then \(d^{c}_{1} d^{c}_{2}\) corresponds to the element \(x+2,\) where \(d^{c}_{1} d^{c}_{2}\) is the Watson-Crick complement of \(d_{1}d_{2}.\) Similarly, for an element \(g(x)\in {\mathfrak {R}}[x],\) where \(g(x)=\alpha _{0}x+\alpha _{1}x+\alpha _{2}x^{2}+\cdots +\alpha _{n-1}x^{n-1}\), the complement of g(x) is given by
where \(\bar{\alpha }_{i}\) is the complement of \(\alpha _{i}\) for \(\alpha _{i}\in {\mathfrak {R}}\), \(0\le i\le n-1\). The reverse complement of \(g(x)\in {\mathfrak {R}}[x]\) is denoted by \(g^{rc}(x),\) and is defined as
In Table 1, we have constructed a bijection \(\Gamma\) between the elements of the ring \({\mathfrak {R}}\) and \(S_{D_{16}}\) in such a manner that the reversibility problem is solved. We state the reversibility problem as follows:
Reversibility Problem: Let \({\mathcal {R}}\) be a ring with cardinality \(4^{k},\) where \(k\ge 2.\) Suppose that there exists a bijection \(\vartheta\) between the elements of the ring \({\mathcal {R}}\) and DNA k-bases. If \({\mathcal {C}}\) is a reversible cyclic code over the ring \({\mathcal {R}}\), then \(\vartheta ({\mathcal {C}})\) is not necessarily a reversible DNA cyclic code.
In order to clarify the above problem, we present an example. Let \(\lambda =(\lambda _{1},\lambda _{2},\lambda _{3},\lambda _{4})\) be any codeword over the ring \({\mathfrak {R}},\) where \(\lambda _{i}\in {\mathfrak {R}}.\) Also, suppose that ATCGGATG is the DNA sequence corresponding to the codeword \(\lambda =(\lambda _{1},\lambda _{2},\lambda _{3},\lambda _{4})\) such that \(\lambda _{1}\) corresponds to AT, \(\lambda _{2}\) corresponds to CG, \(\lambda _{3}\) corresponds to GA and \(\lambda _{4}\) corresponds to TG. Now, the reverse of \(\lambda\) is given by \(\lambda ^{r}=(\lambda _{4},\lambda _{3},\lambda _{2},\lambda _{1})\) and corresponding DNA sequence is TGGACGAT. Notice that TGGACGAT is not the reverse of the DNA sequence ATCGGATG, the reverse of ATCGGATG is GTAGGCTA. We solved this reversibility problem by making use of the correspondence given in the Table 1. Hence, we present the following lemma which plays a key role in solving the reversibility problem.
Lemma 5.5
Let \(x=(x_{1},x_{2},\ldots ,x_{n})\) be any codeword over the ring \({\mathfrak {R}}.\) Also, suppose that \(X=d_{1}d_{2}\cdots d_{2n-1}d_{2n}\) is the DNA sequence corresponding to the codeword x. Then the DNA sequence corresponding to the codeword \((3+v)x^{r}\) is the reverse of X i.e., \(d_{2n}d_{2n-1}\cdots d_{2}d_{1}.\)
Proof
The above result can easily be verified by using Table 1. Here we present an example. Let \(\lambda =(3+u,v+2,1+v,3+u+v)\) be a codeword of length 4 over the ring \({\mathfrak {R}}.\) Then DNA sequence corresponding to \(\lambda\) is AGCCTGGA. Now consider the codeword \((3+v)\lambda ^{r}=(3+u,3,2+v,3+u+v).\) By using the Table 1, corresponding DNA sequence to the codeword \((3+u,3,2+v,3+u+v)\) is AGGTCCGA. We can verify that AGGTCCGA is the reverse of AGCCTGGA. \(\square\)
Lemma 5.6
If \(x,y\in {\mathfrak {R}}\), then the \(\overline{x+y}=\bar{x}+\bar{y}+2.\)
Proof
This lemma can easily be verified by observing Table 1. \(\square\)
Definition 5.7
A cyclic code \({\mathfrak {C}}\) of length n over the ring \({\mathfrak {R}}\) is called reversible complement if \(\alpha ^{rc}\in {\mathfrak {C}}\) for all \(\alpha \in {\mathfrak {C}}\), where reverse complement of a codeword \(\alpha =(\alpha _{0},\alpha _{1},\ldots ,\alpha _{n-1})\) is given by \(\alpha ^{rc} =(\bar{\alpha }_{n-1},\bar{\alpha }_{n-2},\ldots ,\bar{\alpha }_{0}),\)\(\bar{\alpha _{i}}\) is the complement of \(\alpha _{i}\) for \(\alpha _{i}\in {\mathfrak {R}}\), \(0\le i\le n-1\).
Now, we provide a necessary and sufficient condition under which a given cyclic code \({\mathfrak {C}}_{i},\) where \(i\in \{1,2,3\}\) over the ring \({\mathfrak {R}}\) of any odd length is a reversible complement cyclic code.
Theorem 5.8
Let \({\mathfrak {C}}_{i}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}\) given by
where \(\ell _{3}(x)|\ell _{2}(x)|\ell _{1}(x)|\ell _{0}(x),\)\(\xi _{1}=u,\)\(\xi _{2}=v\) and \(\xi _{3}=u+v.\) Then \({\mathfrak {C}}_{i}\) is a reversible complement cyclic code if and only if
(i)
\({\mathfrak {C}}_{i}\) is a reversible code;
(ii)
the element \(\dfrac{2(x^n-1)}{x-1}\in {\mathfrak {C}}_{i}.\)
Proof
Let \({\mathfrak {C}}_{i}\) be a reversible complement cyclic code over \({\mathfrak {R}}\). First, we prove the second condition. We denote \({\textbf {0}}=(0,0,0,\ldots ,0,0)\in {\mathfrak {C}}_{i},\) as \({\mathfrak {C}}_{i}\) is reversible complement it means \({\textbf {0}}^{rc}\in {\mathfrak {C}}_{i}.\) Now,
Since \({\mathfrak {C}}_{i}\) is a reversible complement cyclic code and condition (ii) also holds, using (5.3) we must have \(\ell ^{*}_{0}(x)\in {\mathfrak {C}}_{i}\). Now, using the same argument we must have \(\ell ^{*}_{1}(x), \ell ^{*}_{2}(x)\) and \(\ell ^{*}_{3}(x)\in {\mathfrak {C}}_{i},\) and hence from (5.1), we get \(c^{*}(x)\in {\mathfrak {C}}_{i}\) for \(\beta ^{*}_{j}(x)\in {\mathfrak {R}}[x]\). Therefore, \({\mathfrak {C}}_{i}\) is a reversible cyclic code.
Conversely, assume that conditions \((i)~~ \& ~~(ii)\) are satisfied. Then we have to show that \({\mathfrak {C}}_{i}\) is a reversible complement cyclic code. Since \({\mathfrak {C}}_{i}\) is a reversible cyclic code, \(A^{*}(x)\in {\mathfrak {C}}_{i}\) for all \(A(x)\in {\mathfrak {C}}_{i}\). Let
By making use of condition \((i)~~ \& ~~(ii),\) (5.4) yields \(A^{rc}(x)\in {\mathfrak {C}}_{i},\) and hence \({\mathfrak {C}}_{i}\) is a reversible complement cyclic code over \({\mathfrak {R}}.\)\(\square\)
Table 1
\(\Gamma\) correspondence
Elements of the ring \({\mathfrak {R}}\)
\(d_{1}d_{2}\in S_{D_{16}}\)
0
AA
\(2+u\)
AT
3
GT
\(1+u+v\)
CT
v
GG
\(2+u+v\)
GC
\(3+v\)
AC
\(3+u\)
AG
2
TT
u
TA
1
CA
\(3+u+v\)
GA
\(2+v\)
CC
\(u+v\)
CG
\(1+v\)
TG
\(1+u\)
TC
6 The GC-content and the deletion distance D
Let \(x=x_{1}x_{2}\cdots x_{n}\) be any DNA sequence of length n. Then the GC-content of x is defined to be the number of indices i such that \(x_{i}\in \{G,C\}.\) The DNA is a long chain of nucleotides. Each base binds with another complementary base via hydrogen bonds. For example, A forms two hydrogen bonds with T, (similarly T forms two hydrogen bonds with A) and G forms three hydrogen bonds with C, (similarly C forms three hydrogen bonds with G). Moreover, in DNA codes the same GC-content in every codeword ensures that the codewords have similar hybridization energy and melting temperature. This motivates considering such DNA codes in which all codewords have the same GC-content. In this section, we study the GC-content of a DNA cyclic code over the ring \({\mathfrak {R}}\) and deletion distance D of such DNA codes.
Definition 6.1
Let \({\mathfrak {C}}\) be a cyclic code over the ring \({\mathfrak {R}}.\) Then, the Hamming weight enumerator of \({\mathfrak {C}}\) is denoted by \(W_{{\mathfrak {C}}}(x),\) and is defined as follows:
where \(B_{k}=|\{c:w(c)=k\}|\) i.e., the number of codewords in \({\mathfrak {C}}\) whose Hamming weights equal to k. By making use of the Hamming weight enumerator, we can identify the minimum Hamming distance of the code as the smallest non-zero exponent of x with a non-zero coefficient in \(W_{{\mathfrak {C}}}(x).\)
Let \({\mathfrak {C}}_{i}=\langle \ell _{0}(x),M\ell _{1}(x),\xi _{i}\ell _{2}(x),2\ell _{3}(x)\rangle\) be a cyclic code of odd length n over the ring \({\mathfrak {R}},\) where \(i\in \{1,2,3\}.\) Then we define a subcode \({\mathfrak {C}}^{(2)}_{i}\) of \({\mathfrak {C}}_{i}\) such that \({\mathfrak {C}}^{(2)}_{i}\) consists of all codewords of \({\mathfrak {C}}_{i}\) which are multiples of 2.
The next result provides the structure of \({\mathfrak {C}}^{(2)}_{i},\) where \(i\in \{1,2,3\},\) which will be further useful in obtaining the spectra of GC-content of cyclic codes \({\mathfrak {C}}_{i}\) in Theorem 6.3.
Theorem 6.2
Let \({\mathfrak {C}}_{i}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}\) given by
where \(\ell _{3}(x)|\ell _{2}(x)|\ell _{1}(x)|\ell _{0}(x),\)\(\xi _{1}=u,\)\(\xi _{2}=v\) and \(\xi _{3}=u+v.\) Then \({\mathfrak {C}}^{(2)}_{i}=\langle 2\ell _{3}(x)\rangle .\)
Proof
Notice that \(\langle 2\ell _{3}(x)\rangle \subseteq {\mathfrak {C}}^{(2)}_{i}\) For the reverse inclusion, \({\mathfrak {C}}^{(2)}_{i}\subseteq \langle 2\ell _{3}(x)\rangle ,\) we proceed as follows. Let \(c(x)\in {\mathfrak {C}}_{i}\) be any codeword. Then there exist polynomials \(r_{i}(x),t_{i}(x)\in {\mathfrak {R}}[x]\) such that
If c(x) is a multiple of 2, then we must have \(x^n-1|\ell _{0}(x)r_{1}(x)\), \(x^n-1|M \ell _{1}(x)r_{2}(x)\) and \(x^n-1|\xi _{i}\ell _{2}(x)r_{3}(x),\) and hence we obtain
Since \(\ell _{3}(x)|\ell _{2}(x)|\ell _{1}(x)|\ell _{0}(x),\)\(c(x)\in \langle 2\ell _{3}(x)\rangle .\) Therefore, we can conclude \({\mathfrak {C}}^{(2)}_{i}\subseteq \langle 2\ell _{3}(x)\rangle ,\) and hence \({\mathfrak {C}}^{(2)}_{i}=\langle 2\ell _{3}(x)\rangle .\)\(\square\)
We have the following result which provides the spectra of the GC-content of \({\mathfrak {C}}_{i}\) over the ring \({\mathfrak {R}},\) where \(i\in \{1,2,3\}.\)
Theorem 6.3
Let \({\mathfrak {C}}_{i}\) be a cyclic code of odd length n over the ring \({\mathfrak {R}}\) given by
where \(\ell _{3}(x)|\ell _{2}(x)|\ell _{1}(x)|\ell _{0}(x),\)\(\xi _{1}=u,\)\(\xi _{2}=v\) and \(\xi _{3}=u+v.\) Let \(c\in {\mathfrak {C}}_{i}\) be any codeword such that \(w(c)=W_{H}(\bar{c})\), \(\bar{c}\in {\mathbb {Z}}_{4}[x].\) Then all possible spectra of the GC-content of \({\mathfrak {C}}_{i}\) are determined by the Hamming weight enumerator of the code generated by \(\ell _{3}(x).\)
Proof
Notice that GC-contents of \({\mathfrak {C}}_{i}\) can be obtained by multiplying the elements of \({\mathfrak {C}}_{i}\) by 2. By using the structure of \({\mathfrak {C}}^{(2)}_{i},\) we can conclude that the Hamming weight enumerator generated by the polynomial \(\ell _{3}(x)\) provides the spectra of the GC-content. \(\square\)
The next theorem provides the deletion distance of the subcode \({\mathfrak {C}}^{(2)}_{i},\) where \(i\in \{1,2,3\}.\)
Theorem 6.4
Let \({\mathfrak {C}}_{i}=\langle \ell _{0}(x),M \ell _{1}(x),\xi _{i}\ell _{2}(x),2\ell _{3}(x)\rangle\) be an (n, D) cyclic code over the ring \({\mathfrak {R}},\) where n is any odd integer and \(D_{2}\) be the deletion distance of the code \({\mathfrak {C}}^{(2)}_{i}.\) Then \(D=D_{2}.\)
Proof
Notice that \({\mathfrak {C}}^{(2)}_{i}\subseteq {\mathfrak {C}}_{i},\) then for any \(U,V\in {\mathfrak {C}}_{i}\) we obtain \(S(U,V)\le n-D-1,\) and hence \(D_{2}\ge D.\) Let \(U_{1},U_{2}\in {\mathfrak {C}}_{i}\) be two codewords such that \(S(U_{1},U_{2})> n-D_{2}-1\). By making use of Theorem 6.1, we obtain \(2U_{1}\) and \(2U_{2}\) are two codewords in \({\mathfrak {C}}^{(2)}_{i}.\) Therefore, we can conclude that \(S(2U_{1},2U_{2})>S(U_{1},U_{2})>n-D_{2}-1,\) a contradiction. Thus, we must have \(D=D_{2}.\)\(\square\)
7 Examples
In this section, we present some examples of reversible cyclic codes over the ring \({\mathfrak {R}},\) and their \(\Gamma\) images are reversible DNA codes, which are based on the deletion distance. In Table 2, we provide some examples of reversible cyclic codes and their Gray images.
Table 2
Gray images of reversible cyclic codes
n
Generator(s) of cyclic code \({\mathfrak {C}}\)
Gray Images \(\Psi _{\hom }({\mathfrak {C}})\)
3
\(\langle x^2 + x + 1\rangle\)
\((24,2^4,12)^{*}_{2}\)
5
\(\langle x^4+x^3+x^2+x+1\rangle\)
\((40, 2^4,20)^{*}_{2}\)
15
\(\langle 2(x^2 + x + 1)( x^4+x^3+x^2+x+1)\rangle\)
Notice that the polynomial \(h_{2}(x)\) is self-reciprocal. Let \({\mathfrak {C}}\) be a cyclic code of length 3 over the ring \({\mathfrak {R}}\) given by \({\mathfrak {C}}=\langle h_{2}(x)\rangle .\) Since \({\mathfrak {C}}\) satisfies all conditions of Theorem 5.3, \({\mathfrak {C}}\) is a reversible cyclic code of length 3 over the ring \({\mathfrak {R}}\). Since \(\dfrac{2(x^3-1)}{x-1}=2h_{2}(x)\in {\mathfrak {C}},\)\({\mathfrak {C}}\) is a reversible complement code over the ring \({\mathfrak {R}}.\) It is evident from Table 3, \(U^{rc}\in {\mathfrak {C}}\) for all \(U\in {\mathfrak {C}}.\) Clearly, we have \(S(U,V)\in \{0,3\}\) for all \(U,V\in {\mathfrak {C}}\) and \(U\ne V.\) Moreover, \(\Gamma ({\mathfrak {C}})\) is a DNA code of length 6 and \(S(U,V)\le 3\) and we obtain \(D=2.\)
Table 3
DNA code of length 6
GAGAGA
GGGGGG
GTGTGT
GCGCGC
CACACA
CGCGCG
CTCTCT
CCCCCC
AAAAAA
AGAGAG
TGTGTG
TCTCTC
ATATAT
TTTTTT
ACACAC
TATATA
Example 7.2
Consider the factorization of the polynomial \(x^{5}-1\) over the ring \({\mathbb {Z}}_{4}\) as follows:
Let \({\mathfrak {C}}\) be a cyclic code of length 11 over the ring \({\mathfrak {R}}\) given by \({\mathfrak {C}}=\langle \ell _{0}(x)\rangle ,\) where \(\ell _{0}(x)=x^4+x^3+x^2+x+1.\) Notice that \(\ell _{0}(x)\) is a self-reciprocal polynomial. Hence, \({\mathfrak {C}}\) is a reversible cyclic code of length 5 over the ring \({\mathfrak {R}}\). Since \(\dfrac{2(x^{5}-1)}{x-1}=2\ell _{0}(x)\in {\mathfrak {C}},\)\({\mathfrak {C}}\) is a reversible complement code over the ring \({\mathfrak {R}}.\) Observe that in Table 4, we have \(U^{rc}\in {\mathfrak {C}}\) for all \(U\in {\mathfrak {C}},\) and \(S(U,V)\in \{0,5\}\) for all \(U,V\in {\mathfrak {C}}\) and \(U\ne V.\) Moreover, \(\Gamma ({\mathfrak {C}})\) is a DNA code of length 10 and \(S(U,V)\le 5\) and we obtain \(D=4.\) Hence, \(\Gamma ({\mathfrak {C}})\) is a (10, 4) DNA cyclic code.
Table 4
DNA code of length 10
ACACACACAC
TATATATATA
TGTGTGTGTG
CGCGCGCGCG
ATATATATAT
AGAGAGAGAG
CTCTCTCTCT
CCCCCCCCCC
AAAAAAAAAA
TTTTTTTTTT
GAGAGAGAGA
GGGGGGGGGG
GTGTGTGTGT
GCGCGCGCGC
CACACACACA
TCTCTCTCTC
Example 7.3
Consider the factorization of the polynomial \(x^{11}-1\) over the ring \({\mathbb {Z}}_{4}\) as follows:
Let \({\mathfrak {C}}\) be a cyclic code of length 11 over the ring \({\mathfrak {R}}\) given by \({\mathfrak {C}}=\langle \ell _{0}(x)\rangle ,\) where \(\ell _{0}(x)=\sum \nolimits _{i=0}^{10}x^{i}.\) Notice that \(\ell _{0}(x)\) is a self-reciprocal polynomial. Hence, \({\mathfrak {C}}\) is a reversible cyclic code of length 11 over the ring \({\mathfrak {R}}\). Since \(\dfrac{2(x^{11}-1)}{x-1}=2\ell _{0}(x)\in {\mathfrak {C}},\)\({\mathfrak {C}}\) is a reversible complement code over the ring \({\mathfrak {R}}.\) Observe that in Table 5, we have \(U^{rc}\in {\mathfrak {C}}\) for all \(U\in {\mathfrak {C}}.\)\(S(U,V)\in \{0,11\}\) for all \(U,V\in {\mathfrak {C}}\) and \(U\ne V.\) Moreover, \(\Gamma ({\mathfrak {C}})\) is a DNA code of length 22 and \(S(U,V)\le 11\) and we obtain \(D=10.\) Hence, \(\Gamma ({\mathfrak {C}})\) is a (22, 10) DNA cyclic code.
Table 5
DNA code of length 22
ATATATATATATATATATATAT
AGAGAGAGAGAGAGAGAGAGAG
ACACACACACACACACACACAC
TATATATATATATATATATATA
CTCTCTCTCTCTCTCTCTCTCT
CCCCCCCCCCCCCCCCCCCCCC
AAAAAAAAAAAAAAAAAAAAAA
TTTTTTTTTTTTTTTTTTTTTT
GAGAGAGAGAGAGAGAGAGAGA
GGGGGGGGGGGGGGGGGGGGGG
TGTGTGTGTGTGTGTGTGTGTG
CGCGCGCGCGCGCGCGCGCGCG
GTGTGTGTGTGTGTGTGTGTGT
GCGCGCGCGCGCGCGCGCGCGC
CACACACACACACACACACACA
TCTCTCTCTCTCTCTCTCTCTC
Example 7.4
Consider the factorization of the polynomial \(x^{27}-1\) over the ring \({\mathbb {Z}}_{4}\) as follows:
Let \(\ell _{0}(x)=h_{2}(x)h_{3}(x)h_{4}(x).\) Since \(h_{2}(x),h_{3}(x)\)and \(h_{4}(x)\) are self-reciprocal polynomials, \(\ell _{0}(x)\) is a self-reciprocal polynomial. Let \({\mathfrak {C}}\) be a cyclic code of length 27 over the ring \({\mathfrak {R}}\) given by \({\mathfrak {C}}=\langle \ell _{0}(x)\rangle .\) Since cyclic code \({\mathfrak {C}}\) satisfies all the conditions of Theorem 5.3, \({\mathfrak {C}}\) is a reversible cyclic code of length 27 over the ring \({\mathfrak {R}}\). Since \(\dfrac{2(x^{27}-1)}{x-1}=2\ell _{0}(x)\in {\mathfrak {C}},\)\({\mathfrak {C}}\) is a reversible complement code over the ring \({\mathfrak {R}}.\) Notice that \(S(U,V)\in \{0,27\}\) for all \(U,V\in {\mathfrak {C}}\) and \(U\ne V.\) Moreover, \(\Gamma ({\mathfrak {C}})\) is a DNA code of length 54 and \(S(U,V)\le 27\) and we obtain \(D=26.\) Thus, \(\Gamma ({\mathfrak {C}})\) is a (54, 26) DNA cyclic code.
Example 7.5
Suppose the length \(n=33,\) we obtain the factorization of \(x^{33}-1\) over \({\mathbb {Z}}_{4}\) as follows:
Consider a cyclic code \({\mathfrak {C}}=\langle \ell _{0}(x)\rangle\) of length 33, where \(\ell _{0}(x)=f_{2}(x)f_{3}(x)f_{4}(x)f_{5}(x).\) Each \(f_{i}(x)\) is self-reciprocal, therefore by using Theorem 5.3, \({\mathfrak {C}}\) becomes a reversible cyclic code over the ring \({\mathfrak {R}}.\) Moreover \(\dfrac{2(x^{33}-1)}{x-1}=2\ell _{0}(x)\in {\mathfrak {C}},\) and hence \({\mathfrak {C}}\) is a reversible complement cyclic code over the ring \({\mathfrak {R}}.\) Notice that \(S(U,V)\in \{0,33\}\) for all \(U,V\in {\mathfrak {C}}\) and \(U\ne V.\) Moreover, \(\Gamma ({\mathfrak {C}})\) is a DNA code of length 66 and \(S(U,V)\le 33\) and we obtain \(D=32.\) Thus, \(\Gamma ({\mathfrak {C}})\) is a (66, 32) DNA cyclic code.
8 Conclusion
We have studied reversible cyclic codes of odd lengths over the ring \({\mathfrak {R}}.\) As an application of these reversible cyclic codes, DNA cyclic codes of odd length over the ring \({\mathfrak {R}}\) based on the deletion distance have been obtained. Moreover, we have constructed DNA codes which satisfy the Hamming constraint, the reverse and the reversible complement constraint. The GC-content and their deletion distance of these codes are also discussed. We have also established a relation between the GC-content of a given cyclic code \({\mathfrak {C}}_{i}\) and its subcode \({\mathfrak {C}}^{(2)}_{i}.\) Also, we have introduced a Gray map \(\Psi _{\hom }\) from (\({\mathfrak {R}}^{n}\), Homogeneous weight) to (\({\mathbb {F}}^{8n}_{2}\), Hamming weight). Meanwhile, we have constructed a bijection \(\Gamma\) in such a way that we have solved the reversibility problem. In the end, we have provided examples of DNA cyclic codes with their deletion distances. Furthermore, we have provided some examples of reversible cyclic codes and their Gray images have same parameters as their corresponding optimal linear codes. For future work, it would also be fascinating to construct reversible cyclic codes of even lengths over the ring \({\mathfrak {R}}.\)
Remark All codes in the above examples are calculated using Magma software [7], and * delineates that the corresponding binary linear code is optimal with respect to the online database of linear code [14].
Acknowledgements
The authors sincerely thank the reviewers and the editor for their helpful comments and valuable suggestions, which have greatly improved the presentation of this paper.
Declarations
Conflict of interest
The authors have no Conflict of interest to declare that are relevant to the content of this article.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.