0
ncbi 서버에서 BLAST를 수행중인 작업 코드가 있고 xml 형식의 시퀀스가 반환됩니다. 그것은 작동하지만 새로운 파일을 만들고 BLAST 결과를 터미널에서 직접 인쇄하는 것을 피하고 싶습니다. 이것을하기위한 좋은 해결책이 있습니까? 내가 작동하는 코드 아래에 붙여 넣지 만 새 파일을 만듭니다. blopy biopython을 사용하여 파일을 만들지 않고
result_handle = NCBIWWW.qblast(
"blastx",
"nr",
sequences,
entrez_query = organism)
save_file = open("BLAST.xml", "w")
save_file.write(result_handle.read())
save_file.close()
result_handle.close()
result = open("BLAST.xml", "r")
records = NCBIXML.parse(result)
for i, record in enumerate(records):
if record.alignments == []:
print ("There is no BLAST result")
else:
for align in record.alignments:
print (align.hit_id)
break
나는 이런 식으로 뭔가하고 싶었던 :
result = result_handle.read()
record = NCBIXML.parse(result)
for i, record in enumerate(record):
을하지만 그것은 작동하지 않습니다.
미리 감사드립니다.
* "작동하지 않음"*은 유효한 문제 설명이 아닙니다. 질문을 편집하고 오류나 역 추적의 ** 전체 텍스트 **를 포함한 정확한 결과를 설명하십시오. 또한 샘플 코드가 누구든지 실행할 수있는 [mcve]이고 'sequences'또는 'organism'과 같이 이전에 정의 된 변수에 의존하지 않는지 확인하십시오. 수입 명세서도 포함해야합니다. – MattDMo