编写Python脚本,读取fasta格式的序列文件,保留ID跟序列并输出无回车跟空行的fasta格式文件
时间: 2024-10-11 15:15:55 浏览: 41
在Python中,你可以使用内置的`Bio`库来处理FASTA格式的文件,特别是`SeqIO`模块,它专门用于读写各种生物信息学序列格式,包括FASTA。下面是一个简单的脚本示例,说明如何完成这个任务:
```python
from Bio import SeqIO
# 定义读取和写入函数
def read_and_write_fasta(input_file, output_file):
with open(input_file, "r") as in_fh, open(output_file, "w") as out_fh:
for record in SeqIO.parse(in_fh, "fasta"):
# 仅保留ID和序列
sequence_id = record.id
sequence = str(record.seq)
# 去除回车和空行,并写入新的FASTA记录
line = f">{sequence_id}\n{sequence}"
out_fh.write(line.replace("\n", "").replace("\r", ""))
# 使用函数
read_and_write_fasta("input.fasta", "output.fasta")
```
在这个脚本中,我们首先打开输入文件,然后遍历`SeqIO.parse()`返回的每个序列记录。对于每个记录,我们提取ID(序列名称)和序列,将它们组合成一个新的字符串,同时去除所有回车和空行。最后,我们将清理后的记录写入到指定的输出文件中。
阅读全文