我想编写一个程序,打开BLASTN输出文件解析出特定信息,并生成将写入STDOUT的格式化输出。 程序必须打开输入文件解析并存储查询序列ID。
Query ID: IREALLYLIKEPYTHON Query Length: 15
仅对前十次点击,仅解析加入(位于第一组管道符号之间,| |),长度和分数。对于这些命中中的每一个,这三个字段应该写入STDOUT。
Alignment #1: Accession = ref|XM_005094338.1| (Length = 2377, Score = 1098)
这是我的尝试,我不知道我做错了什么。当我尝试在shell中使用以下提示运行程序时: $ python script.py blast.file 但什么都没有打印出来。
这是我的代码:
import argparse
import os
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-i', '--input_file', type=str, required=True)
parser.add_argument('-o', '--output_file', type=str, required=True)
args = parser.parse_args()
Query_ID = None
Query_length = None
output_file = open(args.blastp_file, "w")
output_file.write("The file will have parsed information based on your query.")
for line in open(args.input_file, 'r'):
column = line.split("\t")
Query_Id = column[0];
m = re.search("Score =(\d+)", line)
blastn_file = input_file.read()
fout = sys.stdout
output_file.close()
if__name__ == '__main__':
main()
for score