美文网首页
将fasta文件分割为多个文件

将fasta文件分割为多个文件

作者: 手握镰刀和锤子的打工人 | 来源:发表于2023-10-21 22:05 被阅读0次
# 读取fasta文件并删除空白行
def read_fasta(file_path):
    with open(file_path, 'r') as f:
        lines = f.readlines()
    
    cleaned_lines = []
    sequence = ""
    for line in lines:
        line = line.strip()  # 去除行末的换行符和空格
        if line:
            if line.startswith('>'):
                cleaned_lines.append(sequence)
                cleaned_lines.append(line)
                sequence = ""
            else:
                sequence += line
    cleaned_lines.append(sequence)

    return cleaned_lines

分割fasta文件成15份

def split_fasta(file_path, num_parts):
    fasta_lines = read_fasta(file_path)
    total_lines = len(fasta_lines)
    lines_per_part = total_lines // num_parts

    for i in range(num_parts):
        start_idx = i * lines_per_part
        end_idx = start_idx + lines_per_part
        part_lines = fasta_lines[start_idx:end_idx]

        # 创建一个新的FASTA部分文件
        with open(f'part_{i + 1}.fasta', 'w') as f:
            f.write('\n'.join(part_lines))
if __name__ == "__main__":
    input_file = '/Users/yaozhaoqun/Desktop/original.fasta'  # 替换为你的fasta文件路径
    num_parts = 15  # 分割成15份

    # 调用split_fasta函数来分割FASTA文件
    split_fasta(input_file, num_parts)

相关文章

网友评论

      本文标题:将fasta文件分割为多个文件

      本文链接:https://www.haomeiwen.com/subject/yafkidtx.html