Использование многомерных массивов для анализа последовательностей РНК

В настоящее время я изучаю многомерные массивы, и мне было поручено проанализировать цепи последовательностей РНК (данные из файла .txt). Вот пример цепи:

AUGCUUAUUAACUGAAAACAUAUGGGUAGUCGAUGA

Учитывая эту строку, я должен выяснить, какой белок может создать эта цепь РНК. Для этого я должен разбить каждую нить на кодоны (группы по 3). Поэтому для этого примера мне нужно взглянуть на AUG CUU AUU AAC UGA и т. Д. Каждый из этих кодонов представляет собой аминокислоту. Таким образом, AUG — это метионин (обозначен буквой «M»), CUU — лейцин (обозначен буквой «L»), и так далее, и так далее. Поэтому мой вывод должен быть новой цепочкой аминокислот (M-L-I …)

Как лучше всего подойти к этой проблеме? Насколько я понимаю, я должен создать массив 3-D, скажем,

int aminoAcid[4][4][4]

Так как есть 4 возможных выбора для каждой базы (A, U, G, C). Я не совсем уверен, куда идти отсюда, так как определенные комбинации дают одну и ту же аминокислоту.

РЕДАКТИРОВАТЬ: я иду в правильном направлении, если бы сначала преобразовать строку в числовые представления (A = 0, U = 1, G = 2, C = 3). Оттуда я могу лучше работать с 3D-массивом, верно?

0

Решение

Вы можете использовать массив 3d, чтобы соединить аминокислоты с различными последовательностями. Вы должны узнать о enum и выяснить, как вы можете использовать enum с вашими индексами массива, так что вы можете сделать что-то вроде

aminoAcid['A']['U']['G'] = 24

где 24 также соответствует метионину, что означает, что вы можете использовать другой enum там. использование enums всякий раз, когда у вас есть ограниченная известная группа предметов, которые вы хотите обозначить цифрами.

Похоже, что это только начало более крупного проекта, поэтому вы должны с самого начала следовать передовым методам, думая о том, как вы можете создавать компоненты, которые представляют вашу проблему.

1

Другие решения


По вопросам рекламы [email protected]