我创建了这段代码:
gene = open("AY365046.1.txt","r")
g=0;
a=0;
c=0;
t=0;
gene.readline()
for line in gene:
line = line.lower()
for char in line:
if char == "g":
g+=1
if char == "a":
a+=1
if char == "c":
c+=1
if char == "t":
t+=1
print "Guanina: " + str(g)
print "Adenina: " + str(a)
print "Citosina: " + str(c)
print "Timina: " + str(t)
gc = (g+c+0.) / (a+t+c+g+0.)
print "Conteúdo GC: " +str(gc)
现在我想让它具有交互性...我的目标是使用input() 函数获取将显示相应数据的“序列号”...
在上面的代码中,它只获取一个序列/文件(AY365046.1.txt)的数据...因此,我需要代码来访问更多文件(例如,sequence1.txt and sequence2.txt)... 然后,得到g, a, c 和 t 在 input() 函数通知的序列/文件上......
例如:
1) 系统要求序列号
2) 用户类型sequence2
3) 系统从sequence2.txt中获取数据
4) 变量g、a、c和t从那个文件中获取数据
5) 如果序列不存在,打印错误...
据我所知,要做到这一切,我只需要声明变量,将 .txt 文件分配给每个变量,然后进行 if/else...
问题是我已经尝试了所有我能找到的,但没有任何效果......
显然我不是要为我编写代码,但是...你们至少可以告诉我我需要从哪里开始吗?我需要做的事情的逻辑是正确的吗?我错过了什么?
请您参考如下方法:
我想你想要这个:
import os
id = raw_input('please enter the file numbers id:')
file='AY{0}1.txt'.format(id)
if not os.path.exists(file):
print "Error the file doesn't exists"
else:
g,a,c,t=0,0,0,0
with open(file,'r') as f:
next(f)
for line in f:
for char in line.lower():
if char == 'g':
g+=1
if char == 'a':
a+=1
if char == 'c':
c+=1
if char == 't':
t+=1
print "Guanina: {0}".format(g)
print "Adenina: {0}".format(a)
print "Citosina: {0}".format(c)
print "Timina: {0}".format(t)
gc = (g+c+0.) / (a+t+c+g+0.)
print "Conteúdo GC: {0}".format(gc)
但我认为您应该解释代码的预期行为,因为它不是很清楚。
