使用多维阵列分析RNA序列

时间:2015-08-10 23:37:52

标签: c++ multidimensional-array dna-sequence

我目前正在学习多维数组,并且负责分析RNA序列的链(从.txt文件中给出)。这是一个链的例子:

  

AUGCUUAUUAACUGAAAACAUAUGGGUAGUCGAUGA

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

解决此问题的最佳方法是什么?根据我的理解,我要创建一个三维数组,让我们说

int aminoAcid[4][4][4]

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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