我对 OCaml 完全陌生,所以我在基础知识方面遇到了一些麻烦。对于我的程序,我必须将核苷酸与它的补体(G -> C,C -> G,A -> T,T -> A)进行匹配,以便找到双螺旋的另一半。一般的想法是 DNA 由 2 个互补的螺旋组成,每个螺旋都是核苷酸序列。目前,我正在尝试计算双螺旋的另一半。
到目前为止,我已经用枚举表示了核苷酸,并用对应于一个螺旋的核苷酸列表表示了 DNA。
type nucleotide =
| G
| C
| A
| T
type helix = nucleotide list
let rec complementary_helix (x:helix): helix =
| [G] -> [C]
| [C] -> [G]
| [A] -> [T]
| [T] -> [A]
end
我知道这里缺少一些东西,但我不知道该怎么做。有人可以引导我朝着正确的方向前进吗?