문제

Blast XML 출력을 표 형식으로 변환 할 바이오피 톤 모듈을 사용하여 파이썬에서 스크립트를 작성하고 있습니다.다음과 같이 속성 오류가 발생합니다.

Traceback (most recent call last):
File "C:\Python33\myscripts\Working\Convert_Blast_XML_to_Tabular.py", line 4, in 
<module>
from Bio import SearchIO

File "C:\Python33\lib\site-packages\Bio\SearchIO\__init__.py", line 213, in <module>
BiopythonExperimentalWarning)

File "C:\Python33\lib\idlelib\PyShell.py", line 60, in idle_showwarning
file.write(warnings.formatwarning(message, category, filename, lineno, line=line))

AttributeError: 'NoneType' object has no attribute 'write'
.

문제가 발생하는 경우 확실하지는 않지만 내 코드라고 생각하지 않습니다 :

from Bio import SearchIO
import os

blast_out= "some_path"
parsed_out="some_path"

os.chdir(blast_out)
all_files = os.listdir(blast_out)

for single_file in all_files:
    print ("Current file is: " + single_file)

    #define handles
    in_file = single_file
    in_fmt = 'blast-xml'
    out_file = parsed_out + single_file + '.tab'
    out_fmt = 'blast-tab'
    out_kwarg = {'comments': True}

    SearchIO.convert(in_file, in_fmt, out_file, out_fmt, out_kwargs=out_kwarg)

print ("\nFinished Parsing File.\n")
.

도움이 되었습니까?

해결책

이 오류는 Bio.Searchio의 경고에 의해 트리거되는 것 같습니다.그러나 이것이 이유이란 무엇인지 모르겠지만, 스크립트를 실행하기 전에 경고를 비활성화 할 수 있습니다.

python -W ignore Convert_Blast_XML_to_Tabular.py
.

여전히 작동하지 않으면 검색을 가져올 때 코드 자체에서 경고를 억제 해보십시오.

import warnings

with warnings.catch_warnings():
    warnings.simplefilter('ignore')
    from Bio import SearchIO
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top