【发布时间】:2013-01-22 17:24:12
【问题描述】:
我已经写了这段代码
import sys
file = open(sys.argv[1], 'r')
string = ''
for line in file:
if line.startswith(">"):
pass
else:
string = string + line.strip()
#print (list(string))
w = input("Please enter window size:")
test = [string[i:i+w] for i in range (0,len(string),w)]
seq = input("Please enter the number of sequences you wish to read:")
#print (test[0:seq])
它会生成一个看起来像这样的列表-
['TAAAACACCC', 'TCAATTCAAG', 'GGTTTTTGAG', 'CGAGCTTTTT', 'ACTCAAAGAA', 'TCCAAGATAG', 'CGTTTAAAAA', 'TTTAGGGGTG', 'TTAGGCTCAG', 'CATAGAGTTT']
现在下一步是读取列表中每个元素中字母GC(或者可以是CG)的出现次数。有没有办法以输出文件看起来像这样的方式遍历列表:
Segment 1- The %GC is <the calculated number>
Segment 2- The %GC is <the calculated number>
Segment 3- The %GC is <the calculated number>
由于文件太大而且我将获得的段数(列表中的每个单独元素,如'TAAGATATA')会很大,我不知道如何获得数字(1,2,3. ..) 输出文件中的段。另外,由于我是 python(和编程)新手,我不太擅长使用函数。
【问题讨论】:
-
向我们展示你目前编写的代码,兄弟
-
我不明白这个问题——你能举一个更明确的例子吗,在这种情况下什么是细分?
-
@TheodrosZelleke- 它是一个生物程序。将需要很多时间来解释并且是不必要的。我想要的只是遍历文件,以便我可以获得段(列表的每个元素 = 段)编号及其相应的 GC%(我可以处理)
-
更新了问题,'兄弟'@RashanGandi
标签: python fasta dna-sequence