我想爲一個研討會做一個演示文稿,我想交互式地展示一個蛋白質結構(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。