我在找序列中终止密码子的位置。
不幸的是,有些地方不对劲。这是我创建的代码:
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‘。不幸的是,我需要返回到我的代码,并找到一种方法来读取开始和结束密码子之间的内容。
我已经添加了起始密码子,但是我仍然不明白。我没有得到正确的数字。
发布于 2015-07-14 13:33:57
我不能100%确定您想要的输出是什么,但是如果您只是想将所有潜在的起始密码子位置和终止密码子位置收集到您的列表x
和w
中(实际上,允许我将它们重命名为startCodonPositions
和stopCodonPositions
),这就足够简单了。
事实上,您的startCodonPositions
代码似乎已经可以完美地工作了。为什么不对stopCodonPositions
做同样的事情,就像这样?
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
https://stackoverflow.com/questions/31379137
复制相似问题