Regions Enriched with Reverse Complement Triplets in Bacterial Genomes
Abstract
1. Introduction
2. Results
2.1. Search for Regions Enriched with RCT in the Bacterial Genome
2.2. Classes of RCT-Contaning Regions in the Bacterial Genomes
2.3. Groups of RCT-Enriched Sequences for the Genomes of 42 Bacteria (Run_Class)
2.4. Intersection of RCT-Enriched Sequences with Genomes, Mobile Elements, and Promoters
3. Discussion
4. Materials and Methods
4.1. Development of a Mathematical Parameter for Searching Sequences Enriched with Reverse Complementary Triplets
4.2. Determination of Mean Values SRk(L,N) and Variance Dk(L,N) for Rk
| Algorithm 1. The algorithm for calculating SRk(L,N) and Dk(L,N) is shown here | |
| Step 1 | Let us introduce array SPk(L,N,J) and set its initial values to zero. In total, I considered 31 intervals for L (from 300 to 1200 bases with a step of 30) and 7 intervals N for Z; J was the ordinal number. |
| Step 2 | First, I chose k = 0, J = 0, and L = 300 bases. Subsequently, I used L values that were multiples of three bases. |
| Step 3 | Sequence S was taken from the genome of bacterium G starting from base a + k. |
| Step 4 | I calculated J = J + 1 and shuffled sequence S while preserving TP in order to maintain the correlations between DNA bases among randomly selected triplets. To do this, I created three sequences, S1, S2, and S3, where bases were selected according to their number in sequence S; these sequences contained bases located at positions 3n + 1, 3n + 2, and 3n + 3 of sequence S, respectively (here, n = 1, 2, 3… as long as 3n + 3 < L). Then, each of the three sequences was randomly shuffled and recombined into a single sequence S. Thus, the formation of RCTs could be attributed only to random factors. |
| Step 5 | Rk was calculated, and interval N corresponding to Z was determined from Table 7. Then, SPk(L,N,J) = Rk. |
| Step 6 | Sequence S was shifted by L bases from the beginning of the genome (a = a + L), and I returned to step 4. However, if J > int(LG/L) (LG is the length of the bacterial genome), then the end of the bacterial genome was reached, and I proceeded to step 7. |
| Step 7 | I added 30 bases to L, set J to 0, and went back to step 3. If L > 1200, I proceeded to step 8. |
| Step 8 | I took k = k + 1 and went back to step 1. If k > 2, I proceeded to step 9. |
| Step 9 | I calculated SRk(L,N) and Dk(L,N), which are the mean and variance, respectively, of Rk for each interval Z (Table 7) and all values of L. |
4.3. Searching the E. coli Genome for Sequences Enriched in RCTs
| Algorithm 2. Here is an algorithm that was used to search for DNA sequences enriched in RCTs | |
| Step 1 | Sequence S with a length of 1200 bases was selected from the beginning of the E. coli genome starting from a. |
| Step 2 | Subsequence Seqk(l1,l2) was selected in sequence S. k was initially equal to 0, coordinate l1 varied from base k + 1 to base 900 + k of sequence S, and coordinate l2 varied from l1 + 300 to 1200 with a step of 30 bases. Mutual information I was calculated for each sequence Seqk(l1,l2) using Formula (2), and Z(l1,l2) was calculated using Formula (3) (Section 4.2). Then, interval number N was determined for Z(l1,l2) in Table 7 and used to calculate Rk according to Formula (1), which allowed determination of V(l1,l2) for sequence Seqk(l1,l2) according to Formula (4). |
| Step 3 | I selected coordinates l1, l2 for which the maximum value of Vk(l1,l2) was achieved; these coordinates were termed l1m, l2m and the maximum . Then, k = k + 1 and all calculations were redone starting from step 2. If k > 2, I proceeded to step 4. |
| Step 4 | As a result, I obtained three values () and selected the largest of them denoted as Vmax(a), whereas the corresponding k was denoted as kmax. |
| Step 5 | I took a = a + 600 and proceeded to step 1. If a was greater than LG − 1200, I proceeded to step 6. |
| Step 6 | As a result of the calculations, I obtained vector Vmax(a) where a varied from 1 to LG-1200. Then, I entered a threshold value for Vmax(a) denoted as V0 and selected all a where Vmax(a) > V0; the number of these values was denoted as Nm. |
| Step 7 | All the calculations in steps 1–6 were repeated with the following changes. In step 2, I randomly shuffled Seqk(l1,l2) as I did above in the calculation of SRk(L,N) and dispersion Dk(L,N) (Section 2.2, step 4). During such shuffling, triplets were changed but TP was preserved. In this case, Z(l1,l2) was influenced only by the correlation of bases and the number of RCTs was related solely to random factors. Here, I also selected all a where Vmax(a) > V0 and denoted the number of such values as N0. |
4.4. Classification of Regions Enriched with RCTs in the Bacterial Genome
| Algorithm 3. An algorithm for classification of regions enriched with RCTs in the bacterial genome is shown here | |
| Step 1. | Let us have Nm regions containing RCTs in the bacterial genome and calculate и for each of them as described in Section 4.1. Since I were classifying the already found sequences, it could be assumed that for them k = 0, i.e., triplets were determined from the first base of the sequence. Then, for each sequence I calculated sum and normalized Xi2 to 100.0 in order to exclude the influence of the sequence length on and . For this, I introduced correction factor sk = (100.0/Xi2)0.5 and then used and for classification. |
| Step 2 | Matrix W(Nm, Nm) was filled without filling in the main diagonal. The elements of the matrix were sums |
| Step 3 | I set threshold W0 = 40.0; for all lesser values, W = 0.0 and l was taken as 1. |
| Step 4 | For each j, I calculated sum T(j) for all k = 1, …, Nm, where T(j) = T(j) + 1 only if W(j,k) ≠ 0.0; here, T(j) shows the number of sequences that are similar to sequence j, provided that W ≥ 40.0. I selected such jm where T(jm) would have the greatest value. The set of all k for which W(jm,k) ≠ 0.0 would form the class of sequences G(l) enriched with RCTs; sequence numbers would be recorded in G(l). Then, I set all rows and columns of matrix W(j,k), whose numbers were included in set G(l), equal to zero. |
| Step 5 | If G(l) ≥ 20, then l = l + 1, and I proceeded to step 4. If G(l) < 20, then I stopped creating classes. As a result, I obtained l classes, numbers jm indicating the number of the sequence around which the class was formed, and numbers of sequences included in the class, which are recorded in set G. |
4.5. Creation of RCT-Enriched Sequence Groups for the Genomes of 42 Bacteria
| Algorithm 4. Here is the algorithm that I used to create of RCT-enriched sequence groups for the genomes of 42 bacteria | |
| Step 1 | Let t = 0. I filled vector Ri(k), where the number of matrices with R(k,l) > Rmax(k,l) (l from 1 to 195) was counted for each matrix k from set BA and denoted as N(k). The numbers of these matrices were recorded in matrix Nom(k,i), i = 1, …, N(k). |
| Step 2 | I selected the value of k for which N(k) was maximal and set t = t + 1; thus, the first group of matrices Gr(t) was created. |
| Step 3 | I took N(k) = 0 and excluded from matrix Nom all matrix numbers listed in Nom(k,i), i = 1, …, N(k). The exclusion was performed according to index k and the numbers contained in Nom(k,i) for all i. |
| Step 4 | If Gr(t) > 10.0, I proceeded to step 1, and if Gr(t) ≤ 10.0, the creation of classes was stopped. For each class, I obtained the number of central matrix A and a set of matrices that belonged to this group. I also recorded the cells in the central matrix with the values ≥ 3.0. The condition Gr(t) ≤ 10.0 was due to the fact that if the cells within matrices Ak(i,j) and Al(i,j) were randomly mixed, the size of the classes Gr(t) did not exceed 6. Therefore, the classification performed can be considered non-random. |
5. Conclusions
Supplementary Materials
Funding
Data Availability Statement
Conflicts of Interest
References
- Ejigu, G.F.; Jung, J. Review on the Computational Genome Annotation of Sequences Obtained by Next-Generation Sequencing. Biology 2020, 9, 295. [Google Scholar] [CrossRef] [PubMed]
- Bielińska-Wąż, D.; Wąż, P.; Błaczkowska, A.; Mandrysz, J.; Lass, A.; Gładysz, P.; Karamon, J. Mathematical Modeling in Bioinformatics: Application of an Alignment-Free Method Combined with Principal Component Analysis. Symmetry 2024, 16, 967. [Google Scholar] [CrossRef]
- Liao, X.; Zhu, W.; Zhou, J.; Li, H.; Xu, X.; Zhang, B.; Gao, X. Repetitive DNA sequence detection and its role in the human genome. Commun. Biol. 2023, 6, 954. [Google Scholar] [CrossRef] [PubMed]
- Snowbarger, J.; Koganti, P.; Spruck, C. Evolution of Repetitive Elements, Their Roles in Homeostasis and Human Disease, and Potential Therapeutic Applications. Biomolecules 2024, 14, 1250. [Google Scholar] [CrossRef]
- Korotkov, E.; Suvorova, Y.; Kostenko, D.; Korotkova, M. Search for Dispersed Repeats in Bacterial Genomes Using an Iterative Procedure. Int. J. Mol. Sci. 2023, 24, 10964. [Google Scholar] [CrossRef]
- Korotkov, E.V. Mirror Complementary Triplet Periodicity of Dispersed Repeats in Bacterial Genomes. Symmetry 2025, 17, 549. [Google Scholar] [CrossRef]
- Wang, L.; Stein, L.D. Localizing triplet periodicity in DNA and cDNA sequences. BMC Bioinform. 2010, 11, 550. [Google Scholar] [CrossRef]
- Suvorova, Y.M.; Korotkov, E.V. Study of triplet periodicity differences inside and between genomes. Stat. Appl. Genet. Mol. Biol. 2015, 14, 113–123. [Google Scholar] [CrossRef]
- Chargaff, E.; Lipshitz, R.; Green, C. Composition of the desoxypentose nucleic acids of four genera of sea-urchin. J. Biol. Chem. 1952, 195, 155–160. [Google Scholar] [CrossRef]
- Chargaff, E.; Zamenhof, S.; Green, C. Human Desoxypentose Nucleic Acid: Composition of Human Desoxypentose Nucleic Acid. Nature 1950, 165, 756–757. [Google Scholar] [CrossRef]
- Shporer, S.; Chor, B.; Rosset, S.; Horn, D. Inversion symmetry of DNA k-mer counts: Validity and deviations. BMC Genom. 2016, 17, 696. [Google Scholar] [CrossRef]
- Kafri, A.; Chor, B.; Horn, D. Inter-chromosomal k-mer distances. BMC Genom. 2021, 22, 644. [Google Scholar] [CrossRef]
- Coons, L.A.; Burkholder, A.B.; Hewitt, S.C.; McDonnell, D.P.; Korach, K.S. Decoding the Inversion Symmetry Underlying Transcription Factor DNA-Binding Specificity and Functionality in the Genome. iScience 2019, 15, 552–591. [Google Scholar] [CrossRef]
- Baisnée, P.F.; Hampson, S.; Baldi, P. Why are complementary DNA strands symmetric? Bioinformatics 2002, 18, 1021–1033. [Google Scholar] [CrossRef]
- Yang, Z.; Li, H.; Jia, Y.; Zheng, Y.; Meng, H.; Bao, T.; Li, X.; Luo, L. Intrinsic laws of k-mer spectra of genome sequences and evolution mechanism of genomes. BMC Evol. Biol. 2020, 20, 157. [Google Scholar] [CrossRef]
- Mitchell, D.; Bridge, R. A test of Chargaff’s second rule. Biochem. Biophys. Res. Commun. 2006, 340, 90–94. [Google Scholar] [CrossRef]
- Nikolaou, C.; Almirantis, Y. Deviations from Chargaff’s second parity rule in organellar DNA Insights into the evolution of organellar genomes. Gene 2006, 381, 34–41. [Google Scholar] [CrossRef] [PubMed]
- Cristadoro, G.; Degli Esposti, M.; Altmann, E.G. The common origin of symmetry and structure in genetic sequences. Sci. Rep. 2018, 8, 15817. [Google Scholar] [CrossRef] [PubMed]
- Albrecht-Buehler, G. Asymptotically increasing compliance of genomes with Chargaff’s second parity rules through inversions and inverted transpositions. Proc. Natl. Acad. Sci. USA 2006, 103, 17828–17833. [Google Scholar] [CrossRef]
- Okamura, K.; Wei, J.; Scherer, S.W. Evolutionary implications of inversions that have caused intra-strand parity in DNA. BMC Genom. 2007, 8, 160. [Google Scholar] [CrossRef] [PubMed]
- Prabhu, V.V. Symmetry observations in long nucleotide sequences. Nucleic Acids Res. 1993, 21, 2797. [Google Scholar] [CrossRef]
- Bell, S.J.; Forsdyke, D.R. Accounting Units in DNA. J. Theor. Biol. 1999, 197, 51–61. [Google Scholar] [CrossRef]
- Jiang, M.; Ning, W.; Wu, S.; Wang, X.; Zhu, K.; Li, A.; Li, Y.; Cheng, S.; Song, B. Three-nucleotide periodicity of nucleotide diversity in a population enables the identification of open reading frames. Brief. Bioinform. 2022, 23, bbac210. [Google Scholar] [CrossRef]
- Sánchez, J. 3-base periodicity in coding DNA is affected by intercodon dinucleotides. Bioinformation 2011, 6, 327–329. [Google Scholar] [CrossRef][Green Version]
- Marçais, G.; Elder, C.S.; Kingsford, C. k-nonical space: Sketching with reverse complements. Bioinformatics 2024, 40, btae629. [Google Scholar] [CrossRef] [PubMed]
- Deorowicz, S.; Debudaj-Grabysz, A.; Grabowski, S. Disk-based k-mer counting on a PC. BMC Bioinform. 2013, 14, 160. [Google Scholar] [CrossRef] [PubMed]
- Moeckel, C.; Mareboina, M.; Konnaris, M.A.; Chan, C.S.Y.; Mouratidis, I.; Montgomery, A.; Chantzi, N.; Pavlopoulos, G.A.; Georgakopoulos-Soares, I. A survey of k-mer methods and applications in bioinformatics. Comput. Struct. Biotechnol. J. 2024, 23, 2289–2303. [Google Scholar] [CrossRef] [PubMed]
- Normal Product Distribution—From Wolfram MathWorld. Available online: https://mathworld.wolfram.com/NormalProductDistribution.html (accessed on 23 December 2025).
- Kullback, S. Statistics and Information Theory; John Wiley & Sons: New York, NY, USA, 1959. [Google Scholar]







| V0 | 3.0 | 3.5 | 4.0 | 4.5 | 5.0 | 5.5 | 6.0 |
| Nm | 3034 | 2617 | 2180 | 1726 | 1348 | 1040 | 772 |
| N0 | 1580 | 676 | 258 | 87 | 35 | 13 | 5 |
| N | Phyla | Species | Nm | N0 | p (%) | Genome Size, 106 bp |
|---|---|---|---|---|---|---|
| 1 | Acidobacteriota | Acidobacterium capsulatum | 1055 | 92 | 8.7 | 4.1 |
| 2 | Actinomycetota | Actinomyces israelii | 308 | 58 | 18.8 | 2.6 |
| 3 | Aquificota | Thermosulfidibacter takaii | 614 | 35 | 5.7 | 1.8 |
| 4 | Armatimonadota | Chthonomonas calidirosea | 302 | 56 | 18.5 | 3.4 |
| 5 | Atribacterota | Candidatus Atribacteria bacterium | 430 | 65 | 15.1 | 2.7 |
| 6 | Bacillota | Bacillus anthracis | 351 | 150 | 42.7 | 5.2 |
| 7 | Bacteroidota | Bacteroides fragilis | 624 | 100 | 16.0 | 3.5 |
| 8 | Balneolota | Balneola sp. | 854 | 86 | 10.0 | 4.0 |
| 9 | Bdellovibrionota | Bdellovibrio bacteriovorus | 1337 | 83 | 6.2 | 3.8 |
| 10 | Caldisericota | Candidatus poribacteria bacterium | 357 | 126 | 35.3 | 4.9 |
| 11 | Calditrichota | Calditrichaeota bacterium | 1509 | 78 | 5.2 | 3.6 |
| 12 | Campylobacterota | Helicobacter pylori | 1042 | 35 | 3.3 | 1.6 |
| 13 | Chlamydiota | Chlamydia muridarum | 316 | 28 | 8.9 | 1.1 |
| 14 | Chlorobiota | Chlorobium chlorochromatii | 1107 | 58 | 5.2 | 2.6 |
| 15 | Chloroflexota | Dehalogenimonas lykanthroporepellens | 606 | 43 | 7.1 | 1.7 |
| 16 | Chrysiogenota | Desulfurispirillum indicum | 1136 | 62 | 5.4 | 3.0 |
| 17 | Coprothermobacterota | Coprothermobacter proteolyticus | 267 | 26 | 9.7 | 1.5 |
| 18 | Deferribacterota | Calditerrivibrio nitroreducen | 463 | 58 | 12.3 | 2.3 |
| 19 | Deinococcota | Truepera radiovictrix | 658 | 64 | 9.7 | 3.3 |
| 20 | Dictyoglomota | Dictyoglomus thermophilum | 725 | 56 | 7.7 | 2.0 |
| 21 | Elusimicrobiota | Elusimicrobium minutum | 1107 | 42 | 3.8 | 1.6 |
| 22 | Fibrobacterota | Fibrobacter succinogenes | 832 | 66 | 7.9 | 3.6 |
| 23 | Fusobacteriota | Fusobacterium necrogenes | 369 | 40 | 10.8 | 2.0 |
| 24 | Gemmatimonadota | Gemmatimonas aurantiaca | 2120 | 98 | 4.6 | 4.7 |
| 25 | Ignavibacteriota | Ignavibacterium album | 1138 | 105 | 9.2 | 3.7 |
| 26 | Kiritimatiellota | Kiritimatiellaceae_bacterium | 207 | 39 | 18.8 | 1.7 |
| 27 | Lentisphaerota | Victivallis vadensis | 2399 | 145 | 6.0 | 5.2 |
| 28 | Mycoplasmatota | Spiroplasma poulsonii | 418 | 72 | 17.2 | 2.3 |
| 29 | Myxococcota | Lentisphaerae bacterium | 1888 | 112 | 5.9 | 4.3 |
| 30 | Nitrososphaerota | Nitrosopumilus_maritimus | 792 | 46 | 5.8 | 1.6 |
| 31 | Nitrospinota | Nitrospina gracilis_ | 1105 | 59 | 5.3 | 3.1 |
| 32 | Nitrospirota | Nitrospira moscoviensis | 1065 | 102 | 9.6 | 4.6 |
| 33 | Planctomycetota | Gemmata obscuriglobus | 1296 | 208 | 16.0 | 9.0 |
| 34 | Pseudomonadota | Salmonella enterica | 2090 | 75 | 3.5 | 5.0 |
| 35 | Rhodothermota | Rhodothermaceae bacterium | 455 | 98 | 21.5 | 4.7 |
| 36 | Spirochaetota | Leptospira interrogans | 2579 | 169 | 6.5 | 5.1 |
| 37 | Synergistota | Anaerobaculum hydrogeniforman | 2570 | 43 | 1.6 | 2.1 |
| 38 | Termoproteota | Crenarchaeota_archaeon | 471 | 72 | 15.2 | 3.5 |
| 39 | Thermodesulfobacteriota | Sulfolobus acidocaldarius | 256 | 45 | 17.5 | 2.3 |
| 40 | Thermomicrobia | Thermomicrobium roseum | 1513 | 62 | 4.1 | 3.0 |
| 41 | Thermotogota | Petrotoga mobilis | 269 | 47 | 17.4 | 1.8 |
| 42 | Verrucomicrobiota | Chlamydia trachomatis | 521 | 72 | 13.8 | 2.4 |
| Class Number | Number of Sequences in the Class | Cells in Matrix A (Section 4.5) That Are Greater than 3.0 (Matrix A Values Shown in Brackets) |
|---|---|---|
| 1 | 1261 | 1/A (6.9), 1/C (10.4), 1/G (29.3), 2/A (41.7), 2/T (43.0), 3/T (5.5), 3/C (31.3), 3/G (10.2) |
| 2 | 116 | 1/A (7.1), 1/G (49.8), 2/A (34.9), 2/T (28.9), 3/T (17.4), 3/C (36.7) |
| 3 | 70 | 1/T (43.2), 1/C (3.3), 2/C (23.9), 2/G (22.6), 3/A (36.0), 3/G (8.2) |
| 4 | 50 | 1/C (12.4), 1/G (9.9), 2/A (21.7), 2/T (10.1), 3/C (6.1) |
| 5 | 31 | 1/C (16.0), 1/G (28.7), 2/A (41.3), 2/T (29.0), 3/T (14.2), 3/C (12.4), 3/G (9.6) |
| 6 | 21 | 1/G (16.1), 2/A (19.7), 2/T (7.9), 3/C (20.4) |
| Group Number | Central Class Number | Number of Classes in the Group | Cells in Matrix A (Section 4.5) Greater than 3.0 (Matrix A Values Shown in Brackets) |
|---|---|---|---|
| 1 | 153 | 77 | 1/A (6.7), 1/G (45.4), 2/A (46.6), 2/T (46.9), 3/T (7.3), 3/C (39.5), 3/G (3.7) |
| 2 | 43 | 36 | 1/T (44.5), 2/C (38.1), 2/G (48.4), 3/A (38.9) |
| 3 | 74 | 29 | 1/A (6.5), 1/G (26.5), 2/C (14.6), 3/T (8.8), 3/C (7.2) |
| 4 | 154 | 15 | 1/T (33.5), 1/C (11.3), 2/C (18.1), 2/G (18.7), 3/A (31.9), 3/G (12.4) |
| 5 | 166 | 11 | 1/C (13.4), 1/G (6.5), 2/A (9.0), 2/T (12.2), 3/G (14.1) |
| 6 | 108 | 10 | 1/A (13.2), 1/G (18.4), 3/T (5.6), 3/C (28.2) |
| L | 300 | 390 | 480 | 570 | 660 | 750 | 840 | 930 | 1020 | 1100 |
| E. coli A + T = 50% | 60.0 | 80.0 | 93.6 | 102.8 | 110.7 | 117.0 | 123.9 | 125.9 | 136.6 | 143.1 |
| Truepera radiovictrix A + T = 32% | 73.2 | 89.7 | 100.6 | 109.2 | 116.1 | 123.1 | 128.2 | 135.5 | 142.3 | 148.3 |
| Spiroplasma poulsonii A + T = 74% | 59.0 | 74.4 | 85.5 | 96.3 | 104.4 | 110.8 | 120.2 | 126.1 | 132.0 | 140.2 |
| L | 300 | 390 | 480 | 570 | 660 | 750 | 840 | 930 | 1020 | 1100 |
| E. coli A + T = 50% | 24.0 | 29.6 | 33.6 | 34.4 | 37.8 | 39.6 | 40.2 | 41.5 | 42.8 | 45.0 |
| T. radiovictrix A + T = 32% | 32.0 | 37.6 | 40.8 | 39.6 | 41.0 | 43.4 | 42.6 | 45.8 | 46.6 | 46.8 |
| S. poulsonii A + T = 74% | 25.0 | 31.8 | 32.6 | 34.6 | 38.0 | 38.7 | 40.2 | 43.0 | 44.0 | 45.2 |
| Interval Number N | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| Z range | −5–2 | 2–4 | 4–6 | 6–10 | 10–14 | 14–20 | 20–100 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Korotkov, E.V. Regions Enriched with Reverse Complement Triplets in Bacterial Genomes. Int. J. Mol. Sci. 2026, 27, 2301. https://doi.org/10.3390/ijms27052301
Korotkov EV. Regions Enriched with Reverse Complement Triplets in Bacterial Genomes. International Journal of Molecular Sciences. 2026; 27(5):2301. https://doi.org/10.3390/ijms27052301
Chicago/Turabian StyleKorotkov, Eugene V. 2026. "Regions Enriched with Reverse Complement Triplets in Bacterial Genomes" International Journal of Molecular Sciences 27, no. 5: 2301. https://doi.org/10.3390/ijms27052301
APA StyleKorotkov, E. V. (2026). Regions Enriched with Reverse Complement Triplets in Bacterial Genomes. International Journal of Molecular Sciences, 27(5), 2301. https://doi.org/10.3390/ijms27052301
