编写Python脚本,读取fasta格式的序列文件,并输出无回车跟空行的fasta格式文件
时间: 2024-10-11 09:15:52 浏览: 32
在Python中,我们可以使用内置的`open()`函数打开Fasta文件,然后逐行解析内容。下面是一个简单的例子,说明如何编写一个Python脚本来完成这个任务:
```python
def read_fasta(file_path):
with open(file_path, 'r') as f:
seqs = []
current_seq = ''
for line in f:
if line.startswith('>'): # 标题行,表示新的序列开始
if current_seq: # 如果有非空序列,添加到列表中
seqs.append(current_seq)
current_seq = '' # 清空当前序列
header = line[1:].strip() # 提取标题并移除首字符>
else: # 数据行,加入当前序列
current_seq += line.strip() # 移除回车和空格
if current_seq: # 检查最后是否有未处理的序列
seqs.append(current_seq)
return seqs
# 使用函数
output_file = 'output.fasta'
sequences = read_fasta('input.fasta')
with open(output_file, 'w') as f:
for seq in sequences:
f.write(f'>{seq.title}\n{seq}\n')
阅读全文