Есть таблица соответствия триплетов мРНК и аминокислот. Найти можно тут http://ru.wikipedia.org/wiki/Генетический_код
От меня требуется написать программу, которую по этой таблице соответствия из большой и длинной последовательности РНК генерирует последовательность аминокислот. И наоборот. В качестве кодирования я просто использую буквы. попросту U,C,A,G (4 буквенный алфавит). и аналогично для аминокислот (только букв уже 20). По той таблице всё легко и просто.
Итак, первую задачу я сделал - это в принципе несложно. программку написал на C - она работает, всё замечательно. потому что каждой последовательности букв из (UCAG) однозначно соответствует последовательность из 20-ти букв (аминокислот).
А вот наоборот - тут уже тяжелее. Каждой аминокислоте (из 20-ти штук) может соответствовать как одна трёхбуквенная последовательность РНК, так две, три, четыре или шесть(!). последовательности очень длинные. и мне надо их все перебрать. То есть на вход я получаю аминокислоты (очень длинный массив букв), а на выход мне нужно получить ВСЕ ВОЗМОЖНЫЕ массивы аминокислот.
Единственное, что приходит в голову - это ОЧЕНЬ МНОГО вложенных циклов for. Комбинаторный алгоритм. Перебрать все возможные комбинации. Но я это даже не могу использовать - потому что заранее мне даже неизвестен уровень вложенности - он зависит от исходных данных.
Как решить такую задачу? %) Я в ступоре...