модель молекулы днк
def generate_random_dna(length: int) -> str:
"""Генерирует случайную последовательность ДНК заданной длины"""
dna_bases = ['A', 'G', 'T', 'C']
return ''.join(random.choice(dna_bases) for _ in range(length))
if __name__ == "__main__":
length = int(input("Введите длину последовательности ДНК: "))
if length <= 0:
print("Длина последовательности должна быть положительной.")
else:
random_dna = generate_random_dna(length)
print(f"Случайная последовательность ДНК длиной {length}: {random_dna}")
***
import random
def generate_random_dna_with_repeats(length: int) -> str:
"""Генерирует случайную последовательность ДНК заданной длины с короткими повторяющимися элементами"""
dna_bases = ['A', 'G', 'T', 'C']
random_dna = ''
while length > 0:
# Генерируем случайную длину STR от 2 до 6 нуклеотидов
str_length = random.randint(2, 6)
# Генерируем случайное количество повторов STR от 9 до 15 раз
repeats = random.randint(9, 15)
# Генерируем случайный мотив STR
str_motif = ''.join(random.choice(dna_bases) for _ in range(str_length))
# Добавляем повторяющийся мотив в последовательность ДНК
random_dna += str_motif * repeats
length -= str_length * repeats
return random_dna
if __name__ == "__main__":
length = int(input("Введите длину последовательности ДНК: "))
if length <= 0:
print("Длина последовательности должна быть положительной.")
else:
random_dna = generate_random_dna_with_repeats(length)
print(f"Случайная последовательность ДНК длиной {length} с короткими повторяющимися элементами: {random_dna}")
***
import os
# Определяем сопоставление русских букв с уникальными комбинациями AGTC
encoding_map = {
'а': 'ACG', 'б': 'AGT', 'в': 'TGA', 'г': 'CAG', 'д': 'GTC',
'е': 'ATG', 'ё': 'TCA', 'ж': 'GAT', 'з': 'CTA', 'и': 'TCG',
'й': 'GAC', 'к': 'CTC', 'л': 'AAT', 'м': 'GCA', 'н': 'TAA',
'о': 'CTC', 'п': 'AGC', 'р': 'GAT', 'с': 'TGC', 'т': 'CAG',
'у': 'ATC', 'ф': 'TGA', 'х': 'GTT', 'ц': 'CCG', 'ч': 'AGT',
'ш': 'TCC', 'щ': 'TGT', 'ъ': 'TCA', 'ы': 'CAG', 'ь': 'GCC',
'э': 'ACG', 'ю': 'GCT', 'я': 'TCG'
}
def encode_text(text):
encoded_text = []
for char in text:
if char.lower() in encoding_map:
encoded_text.append(encoding_map[char.lower()])
else:
encoded_text.append(char) # Оставляем символы, которые не закодированы
return ''.join(encoded_text)
def main():
input_file = 'код.txt'
output_file = 'код_текст.txt'
if os.path.exists(input_file):
with open(input_file, 'r', encoding='utf-8') as f:
text = f.read()
encoded_text = encode_text(text)
with open(output_file, 'w', encoding='utf-8') as f:
f.write(encoded_text)
print(f"Текст успешно закодирован и сохранен в '{output_file}'!")
else:
print(f"Файл '{input_file}' не найден.")
if __name__ == "__main__":
main()
код.txt
это простой код который мы должны
получить из нашего текста из слов ии
нам надо понять как обычно возникает
код молекул днк в живых клетках
при кодировании больших данных ии
информации моделей эволюции жизни
ACGCAGCTC AGCGATCTCTGCCAGCTCGAC CTCCTCGTC
CTCCTCCAGCTCGATCAGGAC GCACAG GTCCTCAATGATTAACAG
AGCCTCAATATCAGTTCGCAGGCC TCGCTA TAAACGTCCATGCAGCTC
CAGATGCTCTGCCAGACG TCGCTA TGCAATCTCTGA TCGTCG
TAAACGGCA TAAACGGTCCTC AGCCTCTAATCGCAGGCC CTCACGCTC CTCAGTCAGAGTTAACTC TGACTCCTATAATCGCTCACGATGCAG
CTCCTCGTC GCACTCAATATGCTCATCAAT GTCTAACTC TGA GATTCGTGACAGGTT CTCAATATGCAGCTCACGGTT
AGCGATTCG CTCCTCGTCTCGGATCTCTGAACGTAATCGTCG AGTCTCAATGCCTCCTCGGTT GTCACGTAATAACAGGTT TCGTCG
TCGTAATGACTCGATGCAACGCCGTCGTCG GCACTCGTCATGAATATGGAC
ACGTGACTCAATGCTCCGTCGTCG GATTCGCTATAATCG
ACGCAGCTC AGCGATCTCTGCCAGCTCGAC CTCCTCGTC
CTCCTCCAGCTCGATCAGGAC GCACAG GTCCTCAATGATTAACAG
AGCCTCAATATCAGTTCGCAGGCC TCGCTA TAAACGTCCATGCAGCTC
CAGATGCTCTGCCAGACG TCGCTA TGCAATCTCTGA TCGTCG
TAAACGGCA TAAACGGTCCTC AGCCTCTAATCGCAGGCC CTCACGCTC
CTCAGTCAGAGTTAACTC TGACTCCTATAATCGCTCACGATGCAG
CTCCTCGTC GCACTCAATATGCTCATCAAT GTCTAACTC TGA
GATTCGTGACAGGTT CTCAATATGCAGCTCACGGTT
AGCGATTCG CTCCTCGTCTCGGATCTCTGAACGTAATCGTCG
AGTCTCAATGCCTCCTCGGTT GTCACGTAATAACAGGTT TCGTCG
TCGTGACTCGATGCAACGCCGTCGTCG GCACTCGTCATGAATATGGAC
ACGTGACTCAATGCTCCGTCGTCG GATTCGCTATAATCG
кажется мы получили из нашего текста txt
код похожий на кусок молекулы днк
однако реальный код днк это голограмма
в которой много повторов вроде AGAGAGAAGGGTTTAAT
наша программа это кажется не учитывает
но этот код можно доработать при желании
Свидетельство о публикации №125050201170