使用多维数组分析 RNA 序列

Using multidimensional arrays to analyze sequences of RNA

我目前正在学习多维数组,任务是分析 RNA 序列链(来自 .txt 文件)。这是一个链的例子:

AUGCUUAUUAACUGAAAACAUAUGGGUAGUCGAUGA

根据这个字符串,我要弄清楚这条 RNA 链会产生什么蛋白质。为此,我要将每条链分解成密码子(3 组)。因此,对于这个例子,我需要查看 AUG CUU AUU AAC UGA 等。这些密码子中的每一个都代表一种氨基酸。所以 AUG 是甲硫氨酸(用 'M' 表示),CUU 是亮氨酸(用 'L' 表示)等等。因此,我的输出应该是一串新的氨基酸 (M-L-I...)

解决这个问题的最佳方法是什么?据我了解,我要创建一个 3-D 数组,比方说

int aminoAcid[4][4][4]

因为每个碱基 (A,U,G,C) 有 4 种可能的选择。我不完全确定从这里去哪里,因为某些组合会产生相同的氨基酸。

编辑:如果首先将字符串转换为数字表示形式(A=0、U=1、G=2、C=3),我的方向是否正确?从那里我可以更好地使用 3d 阵列,对吗?

您可以使用 3d 数组将氨基酸连接到不同的序列。您应该了解 enum 并弄清楚如何将 enum 与您的数组索引一起使用,以便您可以执行类似

的操作
aminoAcid['A']['U']['G'] = 24

其中 24 也对应蛋氨酸,这意味着您可以在那里使用另一个 enum。只要您想要用数字表示一组有限的已知项目,请使用 enums

听起来这只是一个更大项目的开始,因此您应该从一开始就遵循良好做法,思考如何构建能够代表您的问题的组件。