import csv # 打开fasta文件 with open('E:\泛基因组分析\ORF\ORF_HMMER_extrct\ORF_FAS\ORF3.fasta', 'r') as f: # 读取所有行 lines = f.readlines() # 初始化变量 output = [['id'] + list(range(1, len(lines[1].strip()) + 1))] current_id = '' current_seq = [] # 循环遍历所有行 for line in lines: # 如果是一个新的序列的id行 if line.startswith('>'): # 如果之前已经读取了一个序列的id和序列 if current_id != '': # 将当前的id和序列添加到输出列表中 output.append([current_id] + current_seq) # 重置当前id和序列 current_id = '' current_seq = [] # 获取新的序列的id current_id = line.strip()[1:] # 如果是一个序列行 else: # 将碱基添加到当前序列中 nucleotides = list(line.strip()) nucleotides_with_spacer = ', '.join(nucleotides) current_seq.append(nucleotides_with_spacer) # 将最后一个序列添加到输出列表中 output.append([current_id] + current_seq) # 将输出列表写入到csv文件中 with open('E:\泛基因组分析\ORF\ORF_HMMER_extrct\ORF_FAS\output.csv', 'w', newline='') as f: writer = csv.writer(f, delimiter='\t', quoting=csv.QUOTE_NONE) writer.writerows(output)
时间: 2024-04-01 08:35:04 浏览: 93
基因组工程和分析软件_Python_JavaScript_下载.zip
这段代码是用 Python 读取一个 fasta 格式的文件,然后将每个序列的 id 和序列的碱基序列提取出来,并将它们写入一个 csv 文件中。每个序列的碱基序列会以逗号和空格的形式分隔开来,并且写入到 csv 文件的每一行中。这个 csv 文件的第一列是 id,后面的列是序列的碱基序列。值得注意的是,这个 csv 文件使用制表符作为分隔符。
阅读全文