关于n对碱基的DNA种类数问题
UPDATE
2020-2-29
经过一些同学的疑问后,我对此条目也发生了一些怀疑。
这种算法是基于,“ 两条链只是互相反向,但是不能区分 ” 这个观点来算的。
但是实际情况往往有很多可以区分的方法,比如有义链,着丝点等等,所以近似 \(4^n\) ,与高中生物无太大差别。但是也不乏各种特殊情况, \(DNA\) 的奥秘还没有一个定论。
所以此文仅当作理论化的特殊情况看就好了x。
此外,正文中开篇提出的题没有给出正确答案。
在此给出 “理论” 上的解:
首先考虑一条链的所有情况,一共有
明显这条链只有四个。
我们有 \(ATCG\) 每个碱基 \(2\) 个可以选。
第一个位置有四种性质,但是第二个时,如果选和第一个位置一类的碱基(比如都选了 \(A\) 或 \(T\) ,之后就只有 2种情况;反之有四种。这就是+号的意义
我们知道除了一种类似 ‘回文’ 一样的串只计了一次,我们要先找这种链的个数,等同于找长度为 \(2\) 个碱基的链的个数,是 \(4\times 4=16\) 。
最后在除二之前将这部分再多加一份就行了:
(最后修正了些笔误
正文
某天在册子上做到了这么个问题:
- 如果有 \(2\) 个 \(A-T\) 碱基对和 \(2\) 个 \(C-G\) 碱基对,那么可能有多少种可能的 \(DNA\) 片段?
我最初想是 \(C^{2}_{4}\times 2^4\div 2\) ,和选项不符,也没多想就过了。
上面那个式子的解释:
- 考虑 \(4\) 个碱基对的有重复排列,是 \(\frac{4!}{2!\times 2!}\) ,再考虑每个碱基有正反两种放法(如 \(A-T\) 和 \(T-A\) ),所以每个乘 \(2\) 。最后注意到 \(DNA\) 的反向对称使得其翻转过来是一样的,会有中心对称的情况,所以再除以 \(2\) 。
然后之后又做了关于 “ \(n\) 对碱基的 \(DNA\) 可能有多少种可能 ” 这样的题,答案竟然给了个 \(4^n\) !
\(DNA\) 的种类其实是和上面的解释一样的:
- \(n\) 个碱基对的排列有 \(2^n\) ,然后每个碱基对两种情况再乘 \(2^n\) ,最后(理应)除 \(2\) 。
然而还有另外一种理解,可能对下面的思考更有用:
- 考虑一条链,\(4\) 种碱基的排列有 \(4^n\) 种 ,另一条靠碱基互补配对确定,最后再除 \(2\) 。
刚好有几位同学也有此疑问,于是我们开始思考其原因。
首先,有一个理论,由于 \(DNA\) 是有方向的,两端并不一样,一端的磷酸连的是脱氧核糖上的 \(5\) 号碳,所以将其命名为 \(5`\) 端,另一端的羟基连的是 \(3\) 号碳,所以称为 \(3`\) 端。这个理论可能会造成两种可能间的微小的不同。
之后,我们思考了下其多算的原因:
-
第一种,由于碱基互补:
\[\begin{vmatrix} A & T\\ C & G \end{vmatrix} \;\equiv\; \begin{vmatrix} G & C\\ T & A \end{vmatrix} \] -
第二种,简单的对称:
\[\begin{vmatrix} A & T\\ C & G \end{vmatrix} \;\equiv\; \begin{vmatrix} C & G\\ A & T \end{vmatrix} \]
然后,枚举了 \(n=2\) 的所有情况
可以发现,除了最后四种,都重复了两次,这是由于碱基配对的重复。而最后四种乍一看有重复,但是 \(3`\) 和 \(5`\) 是反的。
那么我们的重点就是如何找到只算一次的项。
可以发现,只要是按碱基配对变换后再倒过来和原来一样的链,都只会计一次。
例如:
而如何一样呢,只需要对半分开,然后计算一半长链的排列,另一半按配对填上就行了。即为 \(4^{n\over2}\) 。而只有偶数长度会有这种情况,奇数是不行的。
最后我们只要在除之前将这部分再加一份,求可以不多除了!
这就是结论的式子啦!
经过打表检验正确。
至于 \(4^n\) 的来源,我们可以这么想,一般 \(DNA\) 分子是凭依在蛋白质载体上,所以按具体情况有办法区分两条排列一样的链,所以所谓对称就不存在了,但是若是单独讨论 \(DNA\) 答案即为而上述结论。
声明与感谢
感谢两位朋友 \(yyy\) 和 \(zyl\) 的指点。(@opethrax @BeyondLimits