编写Python脚本,读取fasta格式的序列文件,并输出无回车跟空行并只保留ID和序列的fasta格式文件
时间: 2024-10-11 08:17:29 浏览: 30
Remove-duplicate-fasta:Python脚本删除重复的Fasta序列
在Python中,你可以使用内置的`open()`函数以及`fasta_reader`库(如果有的话,如果没有可以自己编写简单解析逻辑)来读取FASTA格式的序列文件。下面是一个简单的示例,它将遍历文件、去除空行和回车,并仅保留ID和序列:
```python
def process_fasta(file_path):
with open(file_path, 'r') as f:
lines = [line.strip() for line in f if not line.startswith('>')] # 去除以'> '开头的注释行
output_lines = ['{}{}'.format(line[1:].split()[0], line[1:]) for line in lines] # 提取ID和序列
# 写入新文件,这里假设新文件名为原文件名加上".processed"
processed_file_path = file_path.split('.')[0] + '_processed.fasta'
with open(processed_file_path, 'w') as out:
for line in output_lines:
out.write(line + '\n')
# 使用函数处理你的fasta文件
process_fasta('input.fasta')
```
这个脚本会创建一个新的名为`input.fasta_processed.fasta`的文件,其中包含原始文件中每个序列ID及其对应的序列,不包含额外的空白。
阅读全文