我想为一个研讨会做一个演示文稿,我想交互式地展示一个蛋白质结构(3D旋转,甚至可能改变它显示的模型,如卡通,线框,球&棒,...)如何在ipython笔记本中运行交互式jmol或jsmol对象
我想这是行内,而不是在单独的窗口或文件。
我能想到的两种可能的解决方案。
其中之一就是调用一个内嵌输出到笔记本的软件,假设我通过bash使用输入文件运行Jmol,然后从笔记本上操作整个东西(请注意,我使用的是ipython笔记本,但我愿意安装jupyter或任何其他的东西,如果这需要解决方案)。如果我可以将其与任何其他软件一起使用,这将是一个非常令人厌恶的过程,但我不认为这很容易,甚至不可能。
另一种方法是链接到一个已经运行的Jmol或jsmol对象在同一浏览器,不同的标签,并显示在笔记本内嵌同样的事情,并从那里转动它,因为我至今。 我想这是更可能是可能的,因为它们都是在同一个浏览器中运行,并都知道HTML和JavaScript这样有共同语言。 (我不知道太多关于HTML,JavaScript或PHP的,但我认为这是可能做到这一点)如果打开此链接
:
http://www.rcsb.org/pdb/explore/jmol.do?structureId=1A0K&bionumber=1
你会看到转动对象。如果我运行Firebug来检查这个对象,它会给我:
canvas id =“jmolApplet0_canvas2d”style =“width:100%; height:100%; z-index:9002; cursor:default;” WIDTH =“600” HEIGHT =“600”
,但这是没多大用我的,因为我不明白。它看起来像XML代码,喜欢一个函数或类的输入,但我不知道如何在笔记本演示文稿中运行它。
我也试图保存对象,然后使用python解析它,但是这只会给我3D对象的点,并且不会给对象着色或给表面,或者至少我不会知道如何。 (我说的是VRML)
对于IPython的笔记本上运行内嵌的东西,我发现:
%matplotlib nbagg
是工作,但没有别的。
任何帮助表示赞赏。
我使用的是python3,ipython3 notebook,ubuntu 16.04,firefox,但是我可以安装任何可以解决我的问题的东西,甚至可以在virtualbox中使用windows。