关于n对碱基的DNA种类数问题

UPDATE

2020-2-29

经过一些同学的疑问后,我对此条目也发生了一些怀疑。

这种算法是基于,“ 两条链只是互相反向,但是不能区分 ” 这个观点来算的。

但是实际情况往往有很多可以区分的方法,比如有义链,着丝点等等,所以近似 4n ,与高中生物无太大差别。但是也不乏各种特殊情况, DNA 的奥秘还没有一个定论。

所以此文仅当作理论化的特殊情况看就好了x。

此外,正文中开篇提出的题没有给出正确答案。

在此给出 “理论” 上的解:

首先考虑一条链的所有情况,一共有

4×2×4×2+4×2×2×2=96

明显这条链只有四个。

我们有 ATCG 每个碱基 2 个可以选。

第一个位置有四种性质,但是第二个时,如果选和第一个位置一类的碱基(比如都选了 AT ,之后就只有 2种情况;反之有四种。这就是+号的意义

我们知道除了一种类似 ‘回文’ 一样的串只计了一次,我们要先找这种链的个数,等同于找长度为 2 个碱基的链的个数,是 4×4=16

最后在除二之前将这部分再多加一份就行了:

ans=96+162=56

(最后修正了些笔误

正文

某天在册子上做到了这么个问题:

  • 如果有 2AT 碱基对和 2CG 碱基对,那么可能有多少种可能的 DNA 片段?

我最初想是 C42×24÷2 ,和选项不符,也没多想就过了。


上面那个式子的解释:

  • 考虑 4 个碱基对的有重复排列,是 4!2!×2! ,再考虑每个碱基有正反两种放法(如 ATTA ),所以每个乘 2 。最后注意到 DNA 的反向对称使得其翻转过来是一样的,会有中心对称的情况,所以再除以 2

然后之后又做了关于 “ n 对碱基的 DNA 可能有多少种可能 ” 这样的题,答案竟然给了个 4n !


DNA 的种类其实是和上面的解释一样的:

  • n 个碱基对的排列有 2n ,然后每个碱基对两种情况再乘 2n ,最后(理应)除 2

然而还有另外一种理解,可能对下面的思考更有用:

  • 考虑一条链,4 种碱基的排列有 4n 种 ,另一条靠碱基互补配对确定,最后再除 2

刚好有几位同学也有此疑问,于是我们开始思考其原因。

首先,有一个理论,由于 DNA 是有方向的,两端并不一样,一端的磷酸连的是脱氧核糖上的 5 号碳,所以将其命名为 5 端,另一端的羟基连的是 3 号碳,所以称为 3 端。这个理论可能会造成两种可能间的微小的不同。

之后,我们思考了下其多算的原因:

  • 第一种,由于碱基互补:

    |ATCG||GCTA|

  • 第二种,简单的对称:

    |ATCG||CGAT|

然后,枚举了 n=2 的所有情况

|35ATAT53||35TATA53|(1)|35GCGC53||35CGCG53|(2)|35AGCT53||35GCTA53|(3)|35CGAT53||35TAGC53|(4)|35GCAT53||35TACG53|(5)|35ATGC53||35CGTA53|(6)|35GCCG53|(7)|35CGGC53|(8)|35TAAT53|(9)|35ATTA53|(10)

可以发现,除了最后四种,都重复了两次,这是由于碱基配对的重复。而最后四种乍一看有重复,但是 35 是反的。

那么我们的重点就是如何找到只算一次的项。

可以发现,只要是按碱基配对变换后再倒过来和原来一样的链,都只会计一次。

例如:

|35ATTAGCCGATTA53|

而如何一样呢,只需要对半分开,然后计算一半长链的排列,另一半按配对填上就行了。即为 4n2 。而只有偶数长度会有这种情况,奇数是不行的。

最后我们只要在除之前将这部分再加一份,求可以不多除了!

Ans(n)={4n2n=2k+112×(4n+4n2)n=2k

这就是结论的式子啦!

经过打表检验正确。

至于 4n 的来源,我们可以这么想,一般 DNA 分子是凭依在蛋白质载体上,所以按具体情况有办法区分两条排列一样的链,所以所谓对称就不存在了,但是若是单独讨论 DNA 答案即为而上述结论。

声明与感谢

感谢两位朋友 yyyzyl 的指点。(@opethrax @BeyondLimits


-EOF-
posted @   T_horn  阅读(1455)  评论(3编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示