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