using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp12 { public partial class Form1 : Form { protected static int GenomNum; protected static int A; protected static int G; protected static int C; protected static int T; protected static char x; protected static string DNA; protected static string DNA_2; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string l6 = "Плюс - конец"; label3.Text = l6; string l7 = "Минус - конец"; label4.Text = l7; } private void textBox1_TextChanged(object sender, EventArgs e) { DNA = Box1.Text; } private void Math() { switch (x) { case 'A': A = A + 1; break; case 'G': G = G + 1; break; case 'T': T = T + 1; break; case 'C': C = C + 1; break; case 'a': A = A + 1; break; case 'g': G = G + 1; break; case 't': T = T + 1; break; case 'c': C = C + 1; break; } } private void button1_Click(object sender, EventArgs e) { DNA_2 = null; try { char[] n = new char[DNA.Length]; GenomNum = DNA.Length; for (int i = 0; i < GenomNum; i++) { //Алгоритм создания комплиментароной цепочки ДНК n[i] = DNA[i]; x = n[i]; Complementarity(); } Kompli.Visible = true; } catch { Form3 error = new Form3(); error.ShowDialog(); } Kompli.Text = DNA_2; } private void Complementarity() { string Base; switch (x) { case 'a': Base = "T"; DNA_2 = DNA_2 + Base; break; case 'c': Base = "G"; DNA_2 = DNA_2 + Base; break; case 't': Base = "A"; DNA_2 = DNA_2 + Base; break; case 'g': Base = "C"; DNA_2 = DNA_2 + Base; break; case 'A': Base = "T"; DNA_2 = DNA_2 + Base; break; case 'C': Base = "G"; DNA_2 = DNA_2 + Base; break; case 'T': Base = "A"; DNA_2 = DNA_2 + Base; break; case 'G': Base = "C"; DNA_2 = DNA_2 + Base; break; } } private void button2_Click(object sender, EventArgs e) { if (String.IsNullOrWhiteSpace(DNA)) { label1.Visible = true; A = 0; G = 0; C = 0; T = 0; label4.Text = ($"Значения на минус - конце молекулы: Аденин - {A} Гуанин - {G} Тимин - {T} Цитозин - {C}"); label3.Text = ($"Значения на плюс - конце молекулы: Аденин - {A} Гуанин - {G} Тимин - {T} Цитозин - {C}"); } else { A = 0; G = 0; C = 0; T = 0; label1.Visible = false; char[] n = new char[DNA.Length]; GenomNum = DNA.Length; GenomNum = GenomNum / 2; for (int i = 0; i < GenomNum; i++) { n[i] = DNA[i]; x = n[i]; Math(); } label4.Text = ($"Значения на минус - конце молекулы: Аденин - {A} Гуанин - {G} Тимин - {T} Цитозин - {C}"); A = 0; G = 0; C = 0; T = 0; for (int i = GenomNum; i < DNA.Length; i++) { n[i] = DNA[i]; x = n[i]; Math(); } label3.Text = ($"Значения на плюс - конце молекулы: Аденин - {A} Гуанин - {G} Тимин - {T} Цитозин - {C}"); } } private void RNA_Click(object sender, EventArgs e) { DNA_2 = null; try { char[] count = new char[DNA.Length]; GenomNum = DNA.Length / 2; for (int i = 0; i < GenomNum; i++) { count[i] = DNA[i]; x = count[i]; RNA_Create(); } Kompli.Visible = true; } catch { Form3 error = new Form3(); error.ShowDialog(); } Kompli.Text = DNA_2; } private void RNA_Create() { string Base; switch (x) { case 'a': Base = "U"; DNA_2 = DNA_2 + Base; break; case 'c': Base = "G"; DNA_2 = DNA_2 + Base; break; case 't': Base = "A"; DNA_2 = DNA_2 + Base; break; case 'g': Base = "C"; DNA_2 = DNA_2 + Base; break; case 'A': Base = "U"; DNA_2 = DNA_2 + Base; break; case 'C': Base = "G"; DNA_2 = DNA_2 + Base; break; case 'T': Base = "A"; DNA_2 = DNA_2 + Base; break; case 'G': Base = "C"; DNA_2 = DNA_2 + Base; break; } } private void DNA_1_Click(object sender, EventArgs e) { try { DNA_2 = null; char[] countDNA = new char[DNA.Length]; GenomNum = DNA.Length; for (int i = 0; i < GenomNum; i++) { x = countDNA[i]; DNA_Create(); } Kompli.Visible = true; Kompli.Text = DNA_2; } catch { Form3 error = new Form3(); error.ShowDialog(); } } private void DNA_Create() { string Base; switch (x) { case 'u': Base = "T"; x = Convert.ToChar(Base); break; case 'U': Base = "T"; x = Convert.ToChar(Base); break; } DNA_2 = DNA_2 + Convert.ToString(x); } } }