有一串dna序列存储为一个文件,名为dna.txt。写一个python程序,打印出所

有一串dna序列存储为一个文件,名为dna.txt。写一个python程序,打印出所有“ATG”的序列位置。... 有一串dna序列存储为一个文件,名为dna.txt。写一个python程序,打印出所有“ATG”的序列位置。 展开
 我来答
死命拉扯zzz
2016-06-21 · TA获得超过153个赞
知道答主
回答量:250
采纳率:0%
帮助的人:56.5万
展开全部
破译的过程其实挺简单 现在我们知道,DNA的信息储存是由3连密码子储存的,总共四种核苷酸,在DNA里是A T C G 在RNA里是A U C G 在转录的时候T和U是对等的,所以我们可以把它也看成是一种核苷酸.它们每三个一组,通过不同的排列组合方式,表达一种氨基酸,所以基因链可以通过读取三连密码子,来进行破译.在最初破译三连密码子的时候,有一个确定的方向,就是肯定一定数量的核苷酸的排列组合,对应的一个氨基酸信息,方向确定之后,接下来的工作就是确定密码子的数量,也就是说,几个碱基对应一个氨基酸,现已知道构成蛋白质的氨基酸共20种,那么四种碱基不可能一一对应,如果是2种碱基排列,则有16种组合,也不够,那么接下来就是3种碱基的排列,总共有64种组合,可以完全覆盖20种氨基酸,如果是4种碱基,则有256种组合,虽然也完全覆盖了20种氨基酸,但是数量太过悬殊,从一切节约的生命原则来看,未免信息量过大,会造成信息储存的传递的负担.所以当初的科学家暂定是3种碱基的组合为一个密码子.说实话,这有些运气的成分.当然,这种运气是被后来的事实验证了的.接下来就是确定各种碱基组合分别对应的是哪种氨基酸,这是个繁琐的工作,其实原理很简单,就是人工合成一段DNA,然后用来表达,看这段DNA序列最后合成的是哪种氨基酸.比如 首先要确定的是密码子“AAA”的信息 那么我们就合成一段序列“AAA AAA AAA AAA AAA AAA AAA”将其翻译成蛋白之后,发现这一段序列由7个赖氨酸组成,那么就可以相信,赖氨酸是由三个A编码的.当然,用64个密码子表示20种氨基酸,肯定会有重复,这就是密码子的简并性,就是会有多个密码子表示一个氨基酸,具体就不细说了.
从空去听8
2017-12-31 · TA获得超过7439个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5536万
展开全部

给个思路

上一次用Python的2种方法遍历文件,这次参考了一下Python Promgramming  3rd 里面的代码,用os.path.walk来遍历文件,并且搜索文件里面的内容

search_content.py
import os, syslistonly = Falseskipexts = ['.gif', '.exe', '.pyc', '.o', '.a','.dll','.lib','.pdb','.mdb']        # ignore binary files     def visitfile(fname, searchKey):                       # for each non-dir file    global fcount, vcount                                    try:        if not listonly:            if os.path.splitext(fname)[1] in skipexts:                pass            elif open(fname).read().find(searchKey) != -1:                print'%s has %s' % (fname, searchKey)                fcount += 1    except: pass    vcount += 1     def visitor(args, directoryName,filesInDirectory):     # called for each dir     for fname in filesInDirectory:                           fpath = os.path.join(directoryName, fname)            if not os.path.isdir(fpath):                               visitfile(fpath,args)     def searcher(startdir, searchkey):    global fcount, vcount    fcount = vcount = 0    os.path.walk(startdir, visitor, searchkey)     if __name__ == '__main__':    root=raw_input("type root directory:")    key=raw_input("type key:")    searcher(root,key)    print 'Found in %d files, visited %d' % (fcount, vcount)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式