我刚刚开始用python编程。我完全被困在下面的事情上了。我有一个包含多个蛋白质序列的fasta文件。不同的蛋白质以files '>‘>开头,就像在所有fasta文件中一样.我需要这些蛋白质在一个文件中,exact.So,我不能只分裂文件。但我想过滤掉所有不是蛋白质序列的东西。
因此,如果我有这样一个文件(它是一个大型文件的一部分):
>gi|636665534|ref|YP_009028572.1| Asp [Human immunodeficiency virus 1]
MPQTVSCNRCCCASIALSKLFCC
CTIPDNNCLACTVSVIEAAPI
>gi|28872817|ref|NP_057852.2| Vpr [Human immunodeficiency virus 1]
MEQAPEDQGPQ
REPHNEWTLELLEELKNEAVR
HFPRIWLHG我只想把这些序列像这样粘贴起来:
我只能过滤掉第一个而不是其他的。或者我只能读到第一个序列。我需要为学校阅读这些fasta文件,并使用matplotlib制作图表。只是我一直在读fasta文件部分。
我想我可以做个这样的代码
items = []
for line in file:
if line.startswith('>'):
read = file.readline()
items.append(read)但我注意到在蛋白质序列之间有\n。所以这不管用..。
就像我说的,我刚开始,如果你能用最简单(不一定是最好的)方式回答。因此,在类似的开头python语言:)
发布于 2015-03-05 19:18:48
with open("file.fasta") as infile, open("output.txt", 'w') as outfile:
for line in infile:
if line.startswith(">"): continue
outfile.write(line.strip())https://stackoverflow.com/questions/28885770
复制相似问题