簡體   English   中英

如何在 Jupyter 筆記本中顯示蛋白質數據庫 PDB?

[英]How to display a Protein Data Bank PDB in a Jupyter notebook?

我正在嘗試關注這篇文章,但它無法在 Jupyter 筆記本中顯示 PDB:

import MDAnalysis as mda
import nglview as nv
from nglview.datafiles import PDB, XTC

u = mda.Universe(PDB, XTC)

protein = u.select_atoms('protein')

當我嘗試做:

w = nv.show_mdanalysis(protein)
w

我得到:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-499e28f0ffd3> in <module>()
----> 1 w = nv.show_mdanalysis(protein)
      2 w

~/anaconda3/lib/python3.6/site-packages/nglview-0.4-py3.5.egg/nglview/__init__.py in show_mdanalysis(atomgroup, **kwargs)
    118     '''
    119     structure_trajectory = MDAnalysisTrajectory(atomgroup)
--> 120     return NGLWidget(structure_trajectory, **kwargs)
    121 
    122 

~/anaconda3/lib/python3.6/site-packages/nglview-0.4-py3.5.egg/nglview/__init__.py in __init__(self, structure, trajectory, representations, parameters, **kwargs)
    347         if parameters:
    348             self.parameters = parameters
--> 349         self.set_structure(structure)
    350         if trajectory:
    351             self.trajectory = trajectory

~/anaconda3/lib/python3.6/site-packages/nglview-0.4-py3.5.egg/nglview/__init__.py in set_structure(self, structure)
    372     def set_structure(self, structure):
    373         self.structure = {
--> 374             "data": structure.get_structure_string(),
    375             "ext": structure.ext,
    376             "params": structure.params

~/anaconda3/lib/python3.6/site-packages/nglview-0.4-py3.5.egg/nglview/__init__.py in get_structure_string(self)
    313                 "'MDAnalysisTrajectory' requires the 'MDAnalysis' package"
    314             )
--> 315         import cStringIO
    316         u = self.atomgroup.universe
    317         u.trajectory[0]

ModuleNotFoundError: No module named 'cStringIO'

2020 年 2 月編輯:如果您使用的庫將其代碼正確更新為 python3,我相信這不再是問題: python 3.x ImportError: No module named 'cStringIO' ,現在應該沒問題,因為 python2 已棄用.

我會試圖獲得通過清潔nglview安裝康達(和蟒蛇分布):

嘗試卸載 nglview

conda remove nglview

以防萬一有舊版本。 如果這個 conda-remove 失敗,那么這個包可能是pipeasy_installed 嘗試pip remove nglview 如果這仍然沒有幫助,您必須查找已安裝的 nglview 包並使用rm手動刪除它,但我不想在此處放置復制和粘貼說明,因為這需要仔細查看文件。

一旦nglview的所有痕跡已被刪除,安裝最新版本的從康達鍛通道nglviewconda

conda install -c conda-forge nglview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM