首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于按顺序查找停止密码子的Python代码

用于按顺序查找停止密码子的Python代码
EN

Stack Overflow用户
提问于 2015-07-13 16:55:55
回答 1查看 1.9K关注 0票数 0

我在找序列中终止密码子的位置。

不幸的是,有些地方不对劲。这是我创建的代码:

代码语言:javascript
运行
复制
def findStopCodons1(orf):
catch = numpy.arange(0, len(orf), 3)
x = []
w = []
for i in catch:
    codon = orf[i:i+3]
    if codon == 'ATG':
        w.append(i+1)
        catch1 = numpy.arange(i+1, len(orf), 3)
        for i in catch1:
            if codon == 'TAA' or codon == 'TAG' or codon == 'TGA':
                x.append(i+1)
                print i + 1
mergedlist = w + x
print mergedlist 
print NP.ediff1d(mergedlist)
y = NP.ediff1d(mergedlist)
print max(y)

这应该是为了读取第1帧。不幸的是,我想我的数字是错的。我的代码有什么问题吗?

*编辑:我忘了输入起始密码子,是'ATG‘。不幸的是,我需要返回到我的代码,并找到一种方法来读取开始和结束密码子之间的内容。

我已经添加了起始密码子,但是我仍然不明白。我没有得到正确的数字。

EN

回答 1

Stack Overflow用户

发布于 2015-07-14 13:33:57

我不能100%确定您想要的输出是什么,但是如果您只是想将所有潜在的起始密码子位置和终止密码子位置收集到您的列表xw中(实际上,允许我将它们重命名为startCodonPositionsstopCodonPositions),这就足够简单了。

事实上,您的startCodonPositions代码似乎已经可以完美地工作了。为什么不对stopCodonPositions做同样的事情,就像这样?

代码语言:javascript
运行
复制
def findStopCodons1(orf):
    catch = numpy.arange(0, len(orf), 3)
    startCodonPositions = []
    stopCodonPositions = []
    for i in catch:
        codon = orf[i:i + 3]
        if codon == 'ATG':
            startCodonPositions.append(i + 1)
        if codon == 'TAA' or codon == 'TAG' or codon == 'TGA':
            stopCodonPositions.append(i + 1)
    return startCodonPositions, stopCodonPositions
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31379137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档