首页 > 解决方案 > 改进检查 fasta 文件

问题描述

大家好,我需要更正代码以检查文件是否真的是有效的 fasta 文件。

fasta: 符号 > 到标题后跟一个序列。

> header1  
ADDFFGGVVSS

> header2  
GBHHYYTTRRR

有什么方法可以更好地获得这个愚蠢的功能吗?

def is_header(line):
    """Checks if the line is a header line in fasta file."""
    return line[0] == '>'

def check_fasta(filename):
    """Checks if the file is a valid fasta file."""
    with open(filename, 'r') as fh:
        for line in fh:
            if not line.startswith(">") and sum(g for g,_ in groupby(fh, key=is_header)) == 0:
                return False
    return True

使用:

check_fasta('data/regions.txt')

结果:

False or True 

不是一个好的结果。也许放一个打印语句或返回 False?

谢谢

标签: python-3.x

解决方案


推荐阅读