2014-03-13 7 views
2

pymol을 사용하여 pdb 파일에서 단백질 구조를 그려려고합니다.Pymol이 이미지를 출력하지 않습니다.

그러나 아래 스크립트를 실행하려고하면 pymol 창이 열리지 만 검은 색이됩니다. 또한 기괴하게도 pdb 파일은 쉘로 출력됩니다. 여기

내 코드입니다 :

bioservices_pdb_obj = PDB() 
pdb_file = bioservices_pdb_obj.getFile(results[str(Brick.part_attrib(self,'uniprot_id'))][detail-1],'pdb') 
pdb_name = str(Brick.part_attrib(self,'uniprot_id')) 
pymol.finish_launching()     
pymol.cmd.load(pdb_file, pdb_name) 
pymol.cmd.disable("all") 
pymol.cmd.enable(pdb_name) 
pymol.cmd.png("my_pdb.png") 
pymol.cmd.quit() 

사람이 여기에 무슨 일이 일어나고 있는지 알고 있나요?

.png 파일 'my_pdb'는 작업 디렉토리에 덤프되지만 그저 검은 색입니다.

답변

0

다른 PDB 파일에서도 이와 같은 현상이 발생합니까? 그렇다면 cmd.mpng() 함수를 사용하여 문제를 해결할 수 있습니다. cmd.png() 함수가 작동하지 않는 경우이 함수를 다른 컨텍스트에서도 사용할 수 있습니다. 명령 줄 모드에서 PyMOL을 사용할 때. 결과 PNG 파일이 cmd.mpng() 함수 "my_pdb0001.png"라는 것을

import pymol 
from pymol import cmd 
import os 
pymol.finish_launching()     
cmd.set('ray_trace_frames', 1) # Frames are raytraced before saving an image. 

def pnghack(filepath, width=1024, height=768): 
"""Workaround if cmd.png() doesn't work""" 
    cmd.viewport(width, height) # Set resolution 
    cmd.mpng(filepath, 1, 1) # Use batch png mode with 1 frame only 
    cmd.mplay() # cmd.mpng needs the animation to 'run' 

cmd.load(pdb_file, pdb_name) 
cmd.disable("all") 
cmd.enable(pdb_name) 
pnghack("my_pdb.png") 
cmd.quit() 

참고 항상 framenumber을 추가합니다.

+0

여전히 빈 사진이 나타납니다. –