Форматирование задаётся Markdown: http://daringfireball.net/projects/markdown/basics
Я пишу отчет об интеполяции и добавил формулу в Latex: $$c=\sqrt{a^2-b^2}$$
или :
$ U_{cov}=\sum_{bonds}{ \frac{k_i}{2} ( l_i - l_0)^2} + \sum_{angles}{ \frac{k_i}{2} ( \phi_i - \phi_0)^2} + \sum_{torsions} { \frac{V_n}{2} (1 + cos(n\omega - \gamma))} + $
$ U_{noncov}= \sum_{i=1}^N \sum_{j=i+1}^N \left ( 4 \epsilon_{ij} \left [ \left ( \frac{\sigma_{ij}}{r_{ij}} \right )^{12} - \left ( \frac{\sigma_{ij}}{r_{ij}} \right )^6 \right ] + \frac{q_i q_j}{ 4\pi \epsilon_0 r_{ij}} \right ) $
Для работы с Pymol я импортировал прокси и загрузку картинок:
from xmlrpclib import ServerProxy
from IPython.display import Image
Подключился к Pymol, который предварительно запущен как RPC сервер командой :
pymol -R
killall pymol
и скачал с PDB структур белка 1LMP
cmd = ServerProxy(uri="http://localhost:9123/RPC2")
cmd.fetch('1lmp')
Для контроля за временем надо импортировать модуль time $$ \sqrt{aa} $$
import time
cmd.hide("everything")
И пишу основной скрипт
for i in range (1,50):
cmd.show_as("cartoon",str(i-1)+"+"+str(i)+"+"+str(i+1)+'/CA')
time.sleep(.1)
cmd.show_as("ribbon",str(i-1)+"+"+str(i)+"+"+str(i+1)+'/CA')
cmd.do('''
hide everything
show cartoon
''')
cmd.set("opaque_background", 'off')
cmd.set("ray_trace_mode", '4')
cmd.bg_color('white')
#cmd.show_as("lines")
cmd.zoom('i. 100-103')
#cmd.ray(600,400)
cmd.png('/tmp/mypng.png')
time.sleep(2)
Image(filename='/tmp/mypng.png')
Но я могу также нарисовать график чего-то там. Для этого импортируем модули и строим что-то, подробнее читаем на странице : http://matplotlib.org/gallery.html
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radiuses
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()
А теперь надо все это как-то сохранить, надо сохранять как notebook (см. меню), и можно html:
ipython nbconvert --to html intro.ipynb
в результате имеем intro.html, забавно, что картинки уже встрены в html :)
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize
a = np.loadtxt("bond")
x_o=a[:,0]
y_o=a[:,1]
print "initial data:", y_o
fitfunc = lambda p, x: p[0]*pow(p[1]-x,2) + p[2] # Target function
errfunc = lambda p, x, y: fitfunc(p, x) - y # Error function
p0 = [1,1, -79] # Initial guess for the parameters
p1, success = optimize.leastsq(errfunc, p0[:], args=(x_o, y_o))
print "Optimized params:", p1
#Plot it
plt.plot(x_o, y_o, "ro", x_o,fitfunc(p1,x_o),"r-",c='blue',alpha=0.75)
plt.xlim(1.3,1.8)
plt.show()