首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中读取fasta文件(多条记录)(不允许生物操作)

如何在python中读取fasta文件(多条记录)(不允许生物操作)
EN

Stack Overflow用户
提问于 2015-03-05 19:10:43
回答 1查看 2.2K关注 0票数 1

我刚刚开始用python编程。我完全被困在下面的事情上了。我有一个包含多个蛋白质序列的fasta文件。不同的蛋白质以files '>‘>开头,就像在所有fasta文件中一样.我需要这些蛋白质在一个文件中,exact.So,我不能只分裂文件。但我想过滤掉所有不是蛋白质序列的东西。

因此,如果我有这样一个文件(它是一个大型文件的一部分):

代码语言:javascript
复制
>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文件部分。

我想我可以做个这样的代码

代码语言:javascript
复制
items = []
for line in file:
    if line.startswith('>'):
        read = file.readline()
        items.append(read)

但我注意到在蛋白质序列之间有\n。所以这不管用..。

就像我说的,我刚开始,如果你能用最简单(不一定是最好的)方式回答。因此,在类似的开头python语言:)

EN

回答 1

Stack Overflow用户

发布于 2015-03-05 19:18:48

代码语言:javascript
复制
with open("file.fasta") as infile, open("output.txt", 'w') as outfile:
    for line in infile:
        if line.startswith(">"): continue
        outfile.write(line.strip())
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28885770

复制
相关文章

相似问题

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