私は OCaml にまったく慣れていないので、基本に問題があります。私のプログラムでは、二重らせんの残りの半分を見つけるために、ヌクレオチドをその補数 (G -> C、C -> G、A -> T、T -> A) と一致させる必要があります。一般的な考え方は、DNA は 2 つの相補的なヘリックスで構成されており、それぞれがヌクレオチドの配列であるというものです。現在、二重らせんの残りの半分を計算しようとしています。
これまで、列挙型でヌクレオチドを表現し、1 つのヘリックスに対応するヌクレオチド リストで 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
ここに何かが欠けていることは知っていますが、どうすればよいかわかりません。誰かが私を正しい方向に導くことができますか?