Олимпиадный тренинг

Задача . Анализ последовательности ДНК


Задача

Темы:

Дана строка ДНК, состоящая из символов A, T, G, C. Длина строки кратна 3. Выполните следующие вычисления:

  1. Длина последовательности.

  2. AT-состав — процентная доля нуклеотидов A и T\(\mathrm{AT\%} = \frac{|A|+|T|}{n}\times 100.\)  Округлить до 2 знаков после запятой.

  3. Транскрипция в РНК. Замените каждый нуклеотид T на U; остальные символы не меняются.

  4. Стоп-кодоны — количество кодонов (трёхбуквенных блоков), являющихся стоп-кодонами: TAA, TAG, TGA.

  5. Наименее частый нуклеотид. При ничьей — первый по алфавиту (\(\texttt{A}<\texttt{C}<\texttt{G}<\texttt{T}\)).

Формат ввода

Одна строка — последовательность ДНК (\(6\le n\le 300\); \(n\) кратно 3).

Формат вывода

Ровно 5 строк:

length: <целое>
at: <вещественное, 2 знака>
rna: <строка>
stop_codons: <целое>
least_frequent: <символ>

Пример ввода:

ATGTAACCGTGAAAG

Пример вывода:

length: 15
at: 60.00
rna: AUGUAACCGUGAAAG
stop_codons: 2
least_frequent: C

Разбор. Кодоны: ATG | TAA | CCG | TGA | AAG. AT-состав: \((6+3)/15=60{,}00\%\). РНК: T\(\to\)U \(\Rightarrow\) AUGUAACCGUGAAAG. Стоп-кодоны: TAA, TGA — итого 2. Частоты: \(A{=}6,\;G{=}4,\;T{=}3,\;C{=}2\) \(\Rightarrow\) наименее частый — C.


time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python2
Комментарий учителя