Sunteți pe pagina 1din 22

Capı́tulo 18

Análisis de modos normales


Raúl Méndez Giráldez

18.1. Introducción al análisis de modos normales

El análisis de modos normales es en realidad, el estudio de una superficie de energı́a potencial (que se
presupone armónica) de manera analı́tica. En el contexto de las macromoléculas se usa para identificar
y caracterizar los movimientos colectivos de frecuencias más bajas, es decir, aquéllos de mayor amplitud
ya que son justamente los más relevantes desde el punto de vista de su función. Este análisis asume que,
dentro del rango de temperaturas fisiológicas, la superficie de energı́a potencial multidimensional que
describe el equilibrio conformacional puede ser aproximada como una parábola centrada en un único
mı́nimo energético (esto puede no ser cierto incluso a temperaturas fisiológicas).
El análisis de modos normales no es más que la generalización en múltiples dimensiones del oscilador
armónico simple cuyos fundamentos pasan a ser descritos a continuación.

18.1.1. El oscilador armónico simple

Supongamos que tenemos un objeto de masa m unido a un objeto estático a través de un muelle de
masa despreciable, que se desliza sobre una superficie como la de la Figura 18.1. Como primera apro-
ximación vamos a considerar también que el movimiento deslizante es sin rozamiento. De acuerdo con
la ley de Hooke, toda masa m que se mueva una distancia x de su punto de equilibrio, experimen-
tará inmediatamente una fuerza restauradora en sentido contrario al desplazamiento (hacia la posición
de equilibrio) proporcional a dicho desplazamiento de acuerdo con la Ecuación 18.1, donde k > 0 es la
constante de fuerza de dicho muelle.

F~ = −k~x (18.1)

Es necesario decir que esta ley sólo se cumple para pequeñas perturbaciones del punto de equilibrio.
En este contexto, si aplicáramos la segunda ley de Newton para describir la dinámica del sistema,
tendrı́amos la siguiente ecuación diferencial de segundo orden lineal (Ecuación 18.2):

d2 ~x
 
m~a = m = −k~x (18.2)
dt2

443
Figura 18.1: Modelo de Oscilador armónico en 1 dimensión.

Se puede demostrar que la solución a la ecuación anterior es [12]:

x = A cos(ωt + θ) (18.3)

La Ecuación 18.3 proporciona la posición de la masa en cualquier instante. Como puede verse depende
de varios parámetros: la frecuencia (angular) ω que mide la velocidad con la que la masa m está pasa
por el punto de equilibrio después de un ciclo completo; la amplitud A es la separación máxima del
punto de equilibrio; y θ es el ángulo de fase, de tal manera que en el instante t = 0 la masa esté en el
punto de equilibrio x = 0. Substituyendo la Ecuación 18.3 en la Ecuación 18.2 se llega a la expresión
para el cálculo de la frecuencia:

r
k
ω= (18.4)
m
Los dos parámetros independientes A y θ pueden calcularse de las condiciones iniciales, de la posición
(x0 ) y velocidad (v0 ) iniciales:

d
x0 = A cos(θ) v0 = dt [A cos (ωt + θ)]t=0 = ωA sin(θ)

v 2
1/2 (18.5)
A = x20 + ω02 tan(θ) = − xv00ω

Evidentemente el modelo del oscilador armónico descrito por la Ecuación 18.2 puede ser más realista
y tener en cuenta una fuerza de fricción, que dependerı́a linealmente con la velocidad (coeficiente b)
tal como se muestra en la Ecuación 18.6 (se utiliza la forma escalar por simplicidad). En este caso las
oscilaciones armónicas están progresivamente amortiguadas en el tiempo, hasta llegar a una amplitud
cero:

d2 x dx
m 2
+b + kx = 0 (18.6)
dt dt

El oscilador armónico amortiguado puede ser aún generalizado al caso de que exista una fuerza externa
aplicada a la misma masa. Hay muchos casos en Fı́sica en los que la fuerza que se considera es periódica
en el tiempo. En este caso la ecuación final para el oscilador armónico forzado amortiguado se muestra
en la Ecuación 18.7. La solución a dicha ecuación constarı́a de dos términos, uno temporal cuya amplitud
decaerı́a con el tiempo como en el caso del oscilador amortiguado, y un segundo término estacionario.

d2 x dx
m 2
+b + kx = F (t) (18.7)
dt dt

Se pueden encontrar más detalles sobre las soluciones matemáticas para ambos modelos de oscilador
armónico, el amortiguado y el forzado amortiguado, en el libro de texto “Mechanics” 3rd Edition, de
Symon [12]. Para todo lo que vamos a discutir referido a macromoléculas vamos a requerir tan sólo el
oscilador armónico simple. El caso más complejo del oscilador forzado amortiguado es la base de lo que
se conoce con el nombre de Dinámica de Langevin [11], la cual queda fuera del alcance de esta sección
y del libro.

18.1.2. Modos normales en espacio cartesiano

El Principio de Superposición establece que, para un sistema dinámico descrito por un modelo de
oscilaciones armónicas, cualquier movimiento puede ser descompuesto como la suma de N oscilaciones
armónicas independientes, donde N es el número de grados de libertad del sistema. Cada una de esas
oscilaciones armónicas independientes recibe el nombre de “Modo Normal” y se caracteriza por una
frecuencia y amplitud particulares.
Supongamos que tenemos la molécula de una proteı́na formada por N átomos, cuyas interacciones están
caracterizadas por una función de energı́a potencial. Si desarrollamos dicha función de energı́a potencial
genérica en serie de Taylor en el punto de mı́nima energı́a, pero no respecto a las coordenadas cartesianas

tal cual, sino con respecto a las coordenadas cartesianas pesadas por las masas qi = mj ∆xj ; qi+1 =
√ √
mj ∆yj ; qi+2 = mj ∆zj quedarı́a:


3N
1 X ∂ 2 V
V = qi qj = ... (18.8)
2 ∂qi ∂qj
i=1 2
O en notación matricial más compacta:

1
V ≈ qtF q (18.9)
2

Los términos lineales en la expansión de la Ecuación 18.8 son cero por definición, ya que las prime-
ras derivadas son nulas en el mı́nimo de energı́a, ası́ como también por convenio la energı́a en este
punto. Estas condiciones son las que expresan la aproximación armónica, y por tanto los términos de
orden superior a 2 se desprecian. F denota la matriz de derivadas segundas de la energı́a potencial
con respecto las posiciones o también llamada matriz Hessiana (en analogı́a con el modelo de Hook,
corresponderı́a a la matriz de constantes de fuerza). En ausencia de fuerzas externas, la dinámica del
sistema vendrá caracterizada por la ecuación:

q̈ = F q + 0 (18.10)

La Ecuación 18.10 en realidad es la forma matricial para un sistema de 3N ecuaciones diferenciales de


segundo orden lineales no independientes, análogos a la Ecuación 18.2 excepto que ahora los 3N (donde
N es el número de átomos) osciladores están acoplados. Dado que la matriz Hessiana es simétrica y
definida positiva, se puede demostrar que existe la siguiente transformación llamada diagonalización,
análoga a un cambio de base, tal que:

W t F W = Ω ; donde Ωij = 0 ⇔ i 6= j (18.11)

Los elementos Ωii de la matriz diagonal, son los valores propios, mientras que las columnas de la matriz
W son los vectores propios correspondientes. La transformación de diagonalización definida por la
Ecuación 18.11 nos permite definir un nuevo sistema de coordenadas:

3N
X
Q = W t q ≡ Qi = Wki qk (18.12)
k=1

Transformando el sistema de ecuaciones diferenciales lineales de segundo orden acopladas expresado en


la Ecuación 18.10 según el sistema de coordenadas definido por la Ecuación 18.12, tenemos de nuevo
un 3N ecuaciones diferenciales de segundo orden, pero ahora desacopladas:

Q̈ + ΩQ = 0 (18.13)

Cada solución independiente Qi es una variable colectiva llamada coordenada de “Modo Normal” (o
simplemente Modo Normal), que representa un oscilador armónico con una frecuencia ωi , amplitud y
fase θi caracterı́sticas (tal y como habı́amos visto para el oscilador armónico simple).

3N
X −6
Qi = Ai cos(ωi t + θi ) ⇒ qk = Wki Ai cos(ωi t + θi ) (18.14)
i=1

La suma en la Ecuación 18.14 se extiende sobre todos los modos normales, excepto los primeros 6, de
frecuencia nula, que corresponden a movimientos de cuerpo rı́gido. La amplitud y fase caracterı́sticas
de cada modo normal se podrı́an determinar a partir de las condiciones iniciales (velocidad y posición)
medidas experimentalmente. Sin embargo para la mayorı́a de aplicaciones, sólo nos fijaremos en los
modos normales dados por las columnas de la matriz W de los vectores propios y sus frecuencias,
dadas por la raı́z cuadrada de los valores propios. Las amplitudes de cada modo normal se consideran
en cierta manera factores multiplicativos, o dicho de otro modo, cuánto tenemos que elongar dicho
modo normal para llegar a cierta conformación alejada de la de partida. Estas amplitudes o factores
multiplicativos, no siempre se pueden calcular de manera directa.
En el equilibrio térmico, el teorema de la equipartición nos dice que la energı́a debe repartirse igualmente
entre todos los grados de libertad. Por lo tanto, utilizando el formalismo de los modos normales se puede
calcular las fluctuaciones cuadráticas media por átomo como:

3N −6  2
X Wik
hqi i = kB T (18.15)
ωk
k=1

Donde kB es la constante de Boltzmann y T la temperatura absoluta. Sumando la anterior expresión


para todas las coordenadas de una macromolécula tendrı́amos:

3N −6 3N −6 3N −6
X X X 1
h qi2 i = hqi i = kB T (18.16)
i=1 i=1
ωk2
k=1

La Ecuación 18.16 muestra que las fluctuaciones de menor frecuencia son aquellas que más contribuyen
a las fluctuaciones totales de las macromoléculas. Este es un resultado muy importante, que es inherente
al análisis de modos normales independiente del modelo utilizado para calcular dichos modos.
Además, podrı́amos considerar las correlaciones cruzadas o las covarianzas entre las coordenadas Car-
tesianas tal y como se indica en la Ecuación 2.17.

3N −6
X 1
hqi qj i = kB T Wik Wjk ≡ U = hqq 0 i = kB T W Ω−1 W t (18.17)
ωk2
k=1

Esta ecuación es importante porque indica que la inversa de una matriz Hessiana (lado derecho de la
Ecuación 18.17, después del factor kB T ) se corresponde con una matriz de covarianzas, o a la inversa.
Dicho de otra manera, si somos capaces de calcular una matriz de covarianzas de las coordenadas
Cartesianas, por ejemplo, tras una simulación de Dinámica Molecular (tal y como se ha explicado
en la sección anterior) o como un conjunto de conformaciones de la misma macromolécula, podemos
obtener también los modos normales después de diagonalizar dicha matriz. En el caso de una simulación
de Dinámica Molecular, lo anteriormente formulado representa la equivalencia entre el Análisis de
Componentes Principales de una trayectoria de Dinámica Molecular y el 1 hay que tener en cuenta que
los modos normales resultantes son cuasi-armónicos, con frecuencias efectivas que tienen en cuenta los
efectos del solvente ası́ como otros efectos anarmónicos.: los vectores propios de la matriz de covarianza
son a su vez los componentes principales y los modos normales, mientras que los valores propios
asociados a cada componente principal de dicha representan la varianza del componente principal al
cual está asociado o al inverso de la frecuencia al cuadrado de dicho modo normal.
1. Minimización de los gradientes de energı́a potencial, para que cumplamos la condición de mı́nimo
de energı́a requerida para hacer válida la aproximación armónica expresada en la Ecuación 18.9.
1
En el caso del análisis de componentes principales (Principal Component Analysis o PCA) de una trayectoria de
Dinámica Molecular
2. Cálculo de la matriz Hessiana (en particular en las coordenadas Cartesianas pesadas por las
masas), o de las segundas derivadas de la energı́a potencial con respecto de las posiciones.
3. Diagonalización de la matriz Hessiana para obtener los vectores propios (modos normales) y
valores propios asociados (los cuadrados de las frecuencias).
El segundo y tercer paso son los computacionalmente más intensivos.

18.1.3. Modos mormales en espacio diedro

Las macromoléculas se encuentran fluctuando en equilibrio térmico a temperaturas fisiológicas. Se sabe


a partir de datos experimentales a dichas temperaturas, las longitudes y los ángulos de enlace varı́an
muy poco, es decir que pueden considerarse como fijas en sus valores de equilibrio. La mayor parte
de la flexibilidad proviene de la rotación de los enlaces rotables (alifáticos). En las proteı́nas estos
enlaces son los ángulos φ, ϕ del esqueleto, y los ángulos χ de las cadenas laterales, ya que el ángulo
ω del enlace peptı́dico permanece prácticamente rı́gido, normalmente en la conformación trans a 180º
(aunque también se observan conformaciones cis a 90º), como se muestra en la Figura 18.2.
Dado que, hay menos grados de rotación que cartesianos (en el caso de las proteı́nas en una relación
de 1:8), realizar el cálculo de modos normales en espacio diedro resultarı́a en una reducción de los
grados de libertad, es decir, una reducción de la dimensión de la matriz Hessiana que tiene que ser
calculada y diagonalizada. Sin embargo, desde el punto de vista matemático, la formulación resulta
más complicada. A continuación se resumirán las caracterı́sticas más importantes del cálculo de modos
normales en espacio diedro.
Lo que complica las expresiones matemáticas para el cálculo de modos normales en ángulos diedros es
el hecho de que el término de energı́a cinética no puede expresarse como función simple de los ángulos
diedros, tal y como ocurre en el caso de las coordenadas cartesianas pesadas por las masas. Además
dicho cálculo de modos normales torsionales, deben de ser llevado a cabo en un sistema de referencia
que garantice que un cambio en los ángulos diedros no resulte en ningún movimiento ni de rotación
ni de translación de toda la molécula. Esto se consigue imponiendo las condiciones de Eckart [6] al
cálculo de la matriz Jacobiana para la transformación del espacio cartesiano al de ángulos diedro.

∂qi
Jij = (18.18)
∂φj

A partir del cálculo de la matriz Jacobiana se puede calcular el tensor de masas H, y consecuentemente
podemos calcular la matriz de la energı́a cinética T .

H = J tJ (18.19)

1
T = φt Hφ (18.20)
2

Donde φ es el vector columna cuyos elementos son las derivadas con respecto del tiempo de los ángulos
diedros. El cálculo de los modos normales en espacio diedro, serı́a análogo al de coordenadas cartesianas,
excepto que en este caso se debe resolver un problema de valor propio generalizado, donde la matriz de
vectores propios diagonaliza simultáneamente el tensor de masas H a la matriz identidad y la Hessiana
a la matriz de valores propios.
Figura 18.2: Ángulos diedros del esqueleto de las proteı́nas φ, ϕ y ω.

18.2. Modelos de redes elásticas

El formalismo presentado hasta aquı́ es exacto, en el sentido que usa una descripción atomı́stica com-
pleta de las macromoléculas, pero sufre las mismas limitaciones que los campos de fuerza que se utilizan
para calcular la energı́a potencial del sistema. En términos de eficiencia computacional, el análisis de
modos normales puede ser muy costoso para macromoléculas de gran tamaño, especialmente en cuanto
a la cantidad de memoria necesaria para diagonalizar matrices Hessianas de gran tamaño 3N x3N (don-
de N es el número de átomos). Además, la minimización de energı́a necesaria, previa al cálculo de la
matriz Hessiana, puede distorsionar la estructura de la macromolécula significativamente, produciendo
artefactos.

Alternativamente Tirion [13] demostró que un modelo simple, de un solo parámetro puede proporcionar
resultados muy similares al de los cálculos atomı́sticos completos. El modelo de Tirion asume que la
estructura de la macromolécula, en particular de las proteı́nas, tal como se determina a partir de los
datos de cristalografı́a de Rayos X, se encuentra por definición en el mı́nimo absoluto de energı́a, por
lo tanto no requiere ninguna minimización previa de la energı́a. Además el modelo utiliza un potencial
armónico simple de pares de átomos con la misma constante de fuerza para todos los pares de átomos,
si y sólo si, el par de átomos en consideración se encuentran a una distancia por debajo de un valor
umbral determinad, o cero en caso contrario.

El modelo de Tirion inspiró varios otros que son incluso más simples en el sentido que consideran
las proteı́nas como redes hechas de eslabones (los átomos Cα en las proteı́nas p. ej.), conectadas por
muelles a otros átomos si y sólo si se encuentra a una distancia menor que la distancia umbral dada.
Estos modelos se conocen genéricamente con el nombre de Modelos de redes elásticas.
Figura 18.3: El modelo de red elástica del GNM. Los nodos (átomos Cα) se consideran conectados
por muelles si se encuentran más cercanos que una distancia umbral (tı́picamente 7Å). Las posiciones
de equilibrio de los nodos se etiquetan con el superı́ndice 0, las fluctuaciones instantáneas se identifican
con el sı́mbolo ∆, y las diferencias entre las posiciones con los subı́ndices ij.

18.2.1. El modelo de red Gaussiana o GNM

El modelo de red Gaussiana (ver Figura 2.3) es un caso particular del modelo de Tirion, y fue propuesto
por Bahar y colaboradores [2]. Este modelo, pensado sobretodo para proteı́nas, considera éstas como
si estuvieran hechas de eslabones (situadas cada átomo de Cα). Cada par de átomos i, j se considera
que interaccionan (con valor simbólico de interacción de −1) si se encuentran más próximos que una
distancia umbral determinada. La interacción de cada átomo consigo mismo es su conectividad. Una
matriz de esta manera es en realidad un matriz de Kirkchoff de contactos (Ecuación 18.21)


−1 ⇔ sij ≤ rC
Γij =
0 ⇔ sij > rC
(18.21)
PN
Γii = k,k6=i Γik

De esta manera, matriz de Kirkchoff hace el papel de la matriz Hessiana, describiendo la energı́a
potencial (El modelo de red Gaussiana o GNM) ası́ como la dinámica del sistema (El modelo de red
Gaussiana o GNM).

V = (γ/2)∆Rt Γ∆R (18.22)

(donde γ representa la constante de rigidez)

(γ R̈) − Γ∆R = 0 (18.23)

Análogamente al análisis de modos normales utilizando una descripción atomı́stica completa, la diago-
nalización de la matriz de Kirkchoff proporciona los modos normales (es decir, los vectores propios, o
lo que es lo mismo, los vectores columna de la matriz U en la El modelo de red Gaussiana o GNM) y
sus frecuencias asociadas (es decir, los valores propios, o la matriz Λ diagonal):

U t ΓU = Λ (18.24)

Los modos normales del GNM no proporcionan información tridimensional sobre direcciones de fluc-
tuación absolutas; en cambio, nos permiten calcular las amplitudes promedio de para residuos (de una
proteı́na) individuales).

X
h(∆Ri )2 i = (3kB T /γ) Γ−1 ii

(18.25)
k

Aquı́ Γ−1 ii denota el elemento diagonal ii del inverso de la matriz de Kirkchoff, cuyo determinante
 

es nulo, y por tanto no puede ser invertida, por lo que se calcula con los valores propios no nulos y
sus vectores propios asociados. El GNM sólo es invariante respecto a las traslaciones de la molécula
entera, por tanto sólo tiene 1 valor propio nulo, o lo que es lo mismo N –1 grados de libertad (donde
N es el número de residuos de la proteı́na considerada). La constante de rigidez γ puede ser estimada
mediante regresión lineal de los valores experimentales de los factores B de las estructuras cristalinas
de las proteı́nas (determinadas por difracción de Rayos X), vs. los valores predichos (que se calculan
según la El modelo de red Gaussiana o GNM)


Bi = h(∆Ri )2 i (18.26)
3

18.2.2. El modelo de red Anisotrópica o ANM

El modelo de red anisotrópica es una generalización del GNM, en el sentido que permite fluctuaciones
diferentes en cada una de las direcciones cartesianas. Este modelo fue desarrollado por Bahar y colabo-
radores [1]. A continuación desarrollaremos las expresiones para calcular la matriz Hessiana de acuerdo
con este modelo. Dado que el ANM tiene en cuenta las diferentes direcciones en las fluctuaciones, sus
ecuaciones son un poco más complicadas que las del GNM.
La función de potencial que describe la interacción entre los residuos i, j en términos de sus coordenadas
0 ) y sus distancias tras una perturbación (R ):
x, y, z y sus distancias de equilibrio (Rij ij

1 0 2 1  1/2 2
Vij = γ(Rij − Rij ) = γ (xj − xi )2 + (yj − yi )2 + (zj − zi )2 0
− Rij (18.27)
2 2
Y las segundas derivadas con respecto a las coordenadas x, y, z queda:
!
0
Rij
∂Vij ∂Vij
= −γ(xj − xi ) 1 − =− (18.28)
∂xi Rij ∂xj
!
0 (x − x )2 0
∂ 2 Vij Rij j i Rij ∂ 2 Vij
=γ 1+ − = (18.29)
∂x2i 3
Rij Rij ∂x2j

Las expresiones para las derivadas con respecto a yi e zi son análogas, substituyendo dichas coordenadas
en xi en la Ecuación 18.28 y Ecuación 18.29.
Figura 18.4: La red elástica del ANM. Los pares de átomos que interaccionan aparecen conectados.

0 , entonces
En el equilibrio Rij = Rij

∂Vij
=0 (18.30)
∂xi

∂ 2 Vij (xj − xi )2
= γ (18.31)
∂x2i 2
Rij

Ası́ mismo las segundas derivadas cruzadas serı́an:

∂ 2 Vij γ(xj − xi )(yj − yi ) ∂ 2 Vij


=− 2 = (18.32)
∂xi ∂xj Rij ∂xi ∂yj

Sin embargo las ecuaciones para las segundas derivadas sólo servirı́an para interacciones de pares simple,
es decir un residuo interaccionando con otro a una distancia menor que el valor umbral. Si queremos
tener en cuenta la conectividad de los residuos tenemos que sumar sobre todos los posibles vecinos para
un residuo dado i (esa suma está dada por el valor Γii ):

Γ
∂2V ii
X (xj − xi )2
= γ (18.33)
∂x2i j
2
Rij

Γ
∂2V ii
X (xj − xi )(yj − yi )
=γ 3 (18.34)
∂xi ∂yi Rij
j
La matriz Hessiana para un caso de una proteı́na de N residuos conectados con M interacciones es una
matriz 3N × 3N que puede ser considerada como hecha de N × N super-elementos de tamaño 3 × 3:

 
H1,1 H1,2 ··· H1,N
 H2,1 H2,2 ··· H2,N 
H= . (18.35)
 
.. .. .. 
 .. . . . 
HN,1 HN,2 · · · HN,N

Donde los elementos Hij para i 6= j son:

 
∂2V ∂2V ∂2V
∂xi ∂xj ∂xi ∂yj ∂xi ∂zj
 ∂2V ∂2V ∂2V 

Hij = 
 ∂yi2∂xj ∂yi ∂yj ∂yi ∂zj  (18.36)
∂ V ∂2V ∂2V
∂zi ∂xj ∂zi ∂yj ∂zi ∂zj

Los elementos de H se calculan según la Ecuación 18.33 para los elementos de la diagonal (Hij , i = j),
y Ecuación 18.34 para el resto (Hij , i 6= j).
De nuevo los modos normales se calculan después de diagonalizar la matriz H, al igual que se hacı́a con
la matriz Γ en la Ecuación 18.24. Esto proporciona 3N –6 modos normales de frecuencia no nulas (hay
3 movimientos de cuerpo rı́gido de rotación y 3 de rotación de la proteı́na entera que tienen frecuencia
cero).
Al igual que el GNM, el ANM permite además la estimación de las fluctuaciones cuadráticas medias
por residuos, y compararlas con los valores experimentales a partir de los factores B de las estructuras
cristalinas, de tal manera que podamos estimar la constante de rigidez a partir de la regresión lineal de
los primeros valores con respecto a los últimos. Respecto a las distancias umbral se estima que tienen
que ser superiores para el ANM con respecto al GNM, para proporcionar fuerzas de muelles similares,
es decir dichos umbrales tienen que estar en el rango de 12–15 Å.

18.3. La molécula triatómica lineal

Cálculo analı́tico de modos normales para la molécula triatómica lineal


El siguiente ejemplo ha sido extraı́do del libro de texto “Classical Mechanics. 3rd Edition” escrito por
Goldstein [7]. Imaginemos que tenemos una molécula triatómica lineal tal como la molécula de CO2
(O=C=O). Vamos a llevar a cabo un cálculo de modos normales para descomponer las vibraciones de
esta molécula en movimientos armónicos independientes con frecuencias caracterı́sticas. En términos
de la aproximación armónica podemos imaginar la molécula hecha de dos masas iguales (los átomos de
Oxı́geno) situadas en los extremos unidas a una diferente en el centro (el átomo de Carbono), por dos
muelles de igual constante de fuerza cada uno k. Los tres átomos se encuentran alineados, con unas
distancias de equilibrio iguales a y b (Figura 18.5).
Por razones de simplicidad, consideraremos solamente las vibraciones que tienen lugar en el eje que une
los tres átomos, y que dichas vibraciones (de ambos enlaces) no están acopladas. En esas condiciones,
la energı́a potencial del sistema de nuestro sistema vendrá descrita por:

k k
V = (x2 − x1 − b)2 + (x3 − x2 − b)2 (18.37)
2 2
Figura 18.5: Molécula triatómica lineal vista como un conjunto de osciladores armónicos.

Podemos simplificar las ecuaciones si introducimos un nuevo conjunto de coordenadas que correspondan
a los desplazamientos internos:

ηi = xi − xi0 (18.38)

Con la restricción que las diferencias entre las posiciones de equilibrio sean ambas el parámetro b:

x02 − x01 = b = x03 − x02 (18.39)

Substituyendo la Ecuación 18.38 y la Ecuación 18.39 dentro de la Ecuación 18.37 obtenemos una nueva
expresión para la energı́a potencial (Ecuación 18.40):

k 2
V = (η + 2η22 + η32 − 2η1 η2 − 2η2 η3 ) (18.40)
2 1

O en forma matricial:

  
k −k 0 η1
1 1
V = (η1 η2 η3 ) −k 2k −k  η2  ≡ η t V η (18.41)
2 2
0 −k k η3

Análogamente, la matriz de energı́a cinética nos quedarı́a como:

   2
m 0 0 η̇1
m 2 M 1 1
T = (η̇1 + η̇32 ) + (η̇22 ) = (η̇12 η̇22 η̇32 )  0 M 0  η̇22  ≡ η̇ t T η̇ (18.42)
2 2 2 2
0 0 m η̇32

Dado que no estamos trabajando con coordenadas Cartesianas pesadas por las masas (lo podrı́amos
hacer y el resultado obviamente no cambiarı́a), tenemos que resolver un problema de valor propio
generalizado, donde la matriz W de los vectores propios diagonaliza simultáneamente la matriz de
energı́a potencial a la matriz diagonal V de valores propios y la matriz de la energı́a cinética T a la
matriz identidad (Ecuación 18.43):

(V − ω 2 T )W = 0 (18.43)

Si hubiéramos utilizado coordenadas Cartesianas pesadas por las masas, la matriz T de energı́a cinética
se convertirı́a en la matriz identidad por lo que en realidad la Ecuación 18.43 se reducirı́a a una ecuación
de valor propio ordinario. La matriz ω 2 representa la matriz diagonal de valores propios, cuyos elementos
son los cuadrados de las frecuencias de vibración. Para que la Ecuación 18.43 no tenga una solución
trivial, debe cumplir que el determinante secular sea igual a cero:

k − ω 2 m

−k 0
2
−k = ω 2 (k − ω 2 m)[k(M + 2m) − ω 2 M m] = 0 (18.44)

|V − ω T | = 0 = −k
2k − ω 2 M
0 −k k − ω 2 m

El polinomio de la Ecuación 18.44 es cúbico en ω 2 y tiene las siguientes 3 raı́ces:

r s  
k k 2m
ω1 = 0; ω2 = ; ω3 = 1+ (18.45)
m m M

A fin de obtener los componentes de los vectores propios (los modos normales en sı́) hay substituir cada
una de las frecuencias obtenidas en la Ecuación 18.45 dentro de la Ecuación 18.43, y como se trata de
un sistema de ecuaciones lineales homogéneo, de tal manera que por cada modo normal tenemos un
sistema de 3 ecuaciones lineales homogéneas de la siguiente forma:

(k − ωj2 m)w1j −kw2j =0


−kw1j (2k − ωj2 M )w2j −kw3j =0 (18.46)
−kw2j (k − ωj2 m)w3j =0

El subı́ndice j denota el ı́ndice para el modo normal (y va de 1 a 3). Como se puede ver, para resolver
este sistema de ecuaciones (que son linealmente dependientes) hay que añadir una ecuación extra, la
condición de normalización de cada uno de los modos normales (Ecuación 18.47). Estos modos normales
obtenidos deben de ser ortogonales con respecto a la matriz de energı́a cinética.

2 2 2
m(w1j + w3j ) + M w2j =1 (18.47)

Resolviendo el sistema formado por la Ecuación 18.47 y la Ecuación 18.48 para cada modo normal, de
frecuencia asociada calculada en la Ecuación 2.44, obtenemos los 3 modos normales:

1
ω1 = 0 Primer Modo Normal: √
2m+M
(1 1 1)
q
k √1 (1 0 − 1)
ω2 = m Segundo Modo Normal: 2m (18.48)
q
k 2m 1
(1 −2m

ω3 = m 1+ M Tercer Modo Normal: q
M 1)
2m(1+ 2m
M )

Figura 18.6: Representación esquemática de los movimientos de vibración para cada uno de los modos
normales.
Mirando la Figura 18.6 se puede apreciar que el modo normal de más baja frecuencia corresponde
a un movimiento de traslación de toda la molécula. Este modo aparece porque hemos considerado 3
movimientos internos, pero en realidad hay sólo 2. El movimiento de cuerpo rı́gido puede ser evitado
imponiendo la invariancia del centro de masas en las ecuaciones iniciales:

m(x1 + x3 ) + M x2 = 0 (18.49)

En aplicaciones ordinarias de cálculo de modos normales para macromoléculas, tales como las proteı́nas,
aún incluso en el contexto de las redes elásticas, donde las matrices Hessianas tı́picamente tienen miles
de elementos, el problema de valores propios se resuelve directamente utilizando algoritmos optimizados
implementados en programas informáticos, tal y como se verá en los ejemplos que siguen, sin necesidad
de calcular el determinante secular que puede ser muy ineficiente.

18.4. Ejemplos prácticos del cálculo de modos normales

A continuación vamos a mostrar algunos ejemplos de cálculo de modos normales en el contexto del
ANM, utilizando el paquete informático ProDy.

18.4.1. Introducción a ProDy

ProDy [4] es un conjunto de programas y librerı́as desarrollados en el lenguaje de programación Pyt-


hon que permiten el análisis de flexibilidad en biomoléculas: análisis de modos normales, análisis de
componentes principales de una trayectoria de Dinámica Molecular o de un conjunto de estructuras
de proteı́na, representación gráfica de resultados ası́ como comparación de los diferentes métodos pa-
ra calcular modos normales,.. etc. Existen versiones para la mayorı́a de sistemas operativos que se
distribuyen totalmente gratis2 .

18.4.2. Cálculo de modos normales para el transportador de leucina

Una vez instalado ProDy vamos a mostrar cómo hacer un cálculo sencillo de modos normales, utilizando
el modo interactivo, dentro de la shell que genera python propiamente. En Linux, simplemente ejecutar
‘python’3 en una consola (Sección 4.3) escribiendo:
$ python

Que generará la siguiente respuesta por pantalla:


Python 2.7.3 (default, May 29 2012, 14:54:22)
[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Una vez dentro de la shell interactiva de Python, vamos a cargar todas las librerı́as y programas de
Prody (el signo ‘*’ hace referencia a todas las librerı́as):
>>> from prody import *

2
ProDy Project. http://www.csb.pitt.edu/prody
3
Para que ProDy funcione correctamente, tal y como se indica en la web oficial, hay que utilizar Python 2.6 o 2.8.
Si ProDy se ha instalado correctamente no debe de producirse ningún mensaje de error. A continuación
leemos el fichero PDB que contiene los datos de la estructura del transportador de Leucina LeuT, en su
forma monomérica y sin ningún ligando (fichero 1usg.pdb). Para ello utilizaremos la función ParsePDB
que además es capaz de bajarse el fichero PDB correspondiente del repositorio Worldwide Protein Data
Bank4 (wwPDB).
>>> leuT = parsePDB('1usg')

El resultado de la función ParsePDB es un objeto que en este caso llamamos ‘leuT’. Siempre podemos
comprobar si un objeto determinado se ha creado correctamente simplemente ejecutando su nombre
como si de un comando se tratase:
>>> leuT
<AtomGroup: 1usg (2775 atoms)>

Una vez tenemos el objeto ‘leuT’ con los datos de dicha estructura de proteı́na, procedemos a calcular
la matriz Hessiana según el modelo de red elástica. Pero antes, tal y como habı́amos visto en la sección
Subsección 18.2.2 vamos a hacer una selección de sólo los carbonos alfa. Existen dos formas para hacerlo:
>>> catoms = leuT.select('protein and name CA')
>>> catoms
<Selection: 'protein and name CA' from 1usg (345 atoms)>
>>> catoms2 = leuT.select('calpha')
>>> catoms2
<Selection: 'calpha' from 1usg (345 atoms)>

En la primera forma se hace uso del subconjunto pre-definido ‘protein’ que contiene todos los átomos,
y su intersección con el subconjunto átomos llamados ‘ca’ o carbonos alfa. En el segundo caso se hace
directamente referencia al subconjunto ‘calpha’. Para comprobar que ambas selecciones son iguales:
>>> catoms == catoms2
True
>>>

Antes de proceder al cálculo de la matriz Hessiana del ANM, utilizando sólo los carbonos alfa, debe-
mos crear una instancia (un objeto) ‘ANM’ que contiene los métodos para realizar todos los cálculos
pertinentes
>>> anm = ANM('LeuT ANM analysis')
anm.buildHessian(catoms)
>>>

La cadena de caracteres que le pasamos como argumento es simplemente un nombre. Podemos ver los
tres primeros y los tres últimos elementos de dicha matriz (si queremos redondeando a 3 decimales los
valores mostrados) con el siguiente comando:
>>> print(anm.getHessian().round(3))
[[ 10.259 -2.537 3.526 ... 0. 0. 0. ]
[ -2.537 6.903 -0.418 ... 0. 0. 0. ]
[ 3.526 -0.418 8.839 ... 0. 0. 0. ]
...
[ 0. 0. 0. ... 13.908 1.178 -0.78 ]
[ 0. 0. 0. ... 1.178 14.792 2.665]
[ 0. 0. 0. ... -0.79 2.655 14.3 ]]
>>

A la hora de calcular la Matriz Hessiana no se le ha pasado ningún parámetro, pero se le podı́an


especificar por ejemplo el valor umbral para considerar que dos residuos interaccionan (por defecto es
14 Å) y/o el valor de la constante de “dureza” gamma (por defecto 1):
4
Worldwide Protein Data Bank. http://www.wwpdb.org
>>> anm.buildHessian(catoms,cutoff=15.0,gamma=1.0)

Ahora ya se puede realizar la diagonalización de la matriz Hessiana, que es el cálculo de los modos
normales propiamente dichos. En el ejemplo que mostramos a continuación por simplicidad se van a
calcular sólo los 20 primeros modos de más baja frecuencia.
>>> anm.calcModes(n_modes=20,zeros=False,turbo=True)

En lo anterior se podrı́a también haber llamado al método ‘calcModes’ sin pasarle ningún argumento,
con los paréntesis vacı́os ‘()’ como en el caso de ‘buildHessian’. Haciéndolo de esta manera se
pueden cambiar varios de los parámetros más importantes, cuyos valores por defecto son los que se han
indicado (cálculo de los 20 modos de más baja frecuencia, no mostrar los modos normales de frecuencia
nula que corresponden a movimientos de cuerpo rı́gido, y utilizar aceleración de cálculo que utiliza
mayor memoria pero es más rápida). Al igual que anteriormente podemos inspeccionar el contenido
resumido de los valores (frecuencias de oscilación al cuadrado) y vectores propios (los modos normales
propiamente dichos) mediante el comando:
>>> print( anm.getEigvals().round(3) )
[ 0.087 0.121 0.321 0.747 0.966 1.018 1.678 2.028 2.251 2.637
2.694 2.819 2.859 2.961 3.141 3.452 3.59 3.805 3.964 4.033]
>>> print( anm.getEigvecs().round(3) )
[[ 0.002 0.061 0.007 ... -0.011 0.059 0.092]
[-0.028 0.006 0.085 ... -0.096 0.054 0.103]
[-0.009 -0.057 0.01 ... -0.011 -0.048 -0.099]
...
[ 0.029 -0.039 0.006 ... -0.022 0.004 0.005]
[ 0.027 -0.005 -0.041 ... 0.019 0.014 -0. ]
[-0.046 0.036 0.011 ... -0.001 0.005 0.017]]
>>>

18.4.3. Cálculo de los factores B

Cálculo de los factores B y otras propiedades derivadas de los modos normales


Como se mencionó en la Subsección 18.2.2 el ANM permite calcular los factores B a partir de las
fluctuaciones cuadráticas medias. Utilizando el ejemplo anterior, vamos a mostrar el perfil de los factores
B calculados a partir de los modos normales del ANM y compararlos con los correspondientes valores
experimentales de la estructura determinada por difracción de Rayos X.
Primeramente calcularemos los factores B de los carbonos alfa del mismo transportador de Leucina a
partir de la Ecuación 18.15 donde ahora los vectores propios corresponden a los modos normales según
el ANM:
>>> bfact_calc=calcTempFactors(anm[0:19],catoms)

En este caso utilizamos solo los 20 primeros modos (del 0 al 19) ya que son los que hemos calculados
anteriormente, pero se podrı́an utilizar todos sin ningún problema. Después se extraen los correspon-
dientes factores B de los carbonos alfa (la selección de átomos que llamamos catoms) anotados en el
fichero PDB (‘1usg.pdb’) que habı́amos cargado en memoria.
>>> bfact_exp=catoms.getBetas()

Además utilizando las librerı́as numéricas de Python queremos calcular el coeficiente de correlación
entre los factores B calculados según el ANM y los experimentales.
>>> import numpy as np
>>> r=np.corrcoef(bfactor_calc,bfactor_exp)[0,1]
>>> r
0.52508223958167421

Como se puede ver el valor de correlación es estadı́sticamente significativo, per no es demasiado alto.
¿Por qué crees que pasa esto? Para una discusión al respecto se puede consultar la referencia [3].
Además vamos a representar gráficamente el perfil de los factores B calculados y experimentales. Para
ello, debemos de generar una serie de valores que sean las “x” comunes para los factores B calculados
y experimentales, que corresponden al número de residuo para cada carbono alfa.
>>> res_num=catoms.Resnums()

Para hacer la representación gráfica necesitamos importar las librerı́as gráficas para Python ‘matplot’
(en particular las ‘pyplot’) tal y como sigue
>>> import matplot.pyplot as plt

Representamos el perfil de los factores B calculados versus el número de residuo en rojo con lı́nea lisa
(’r-’) y el perfil de los factores B experimentales en azul con lı́nea lisa (’b-’) en el mismo gráfico.
>>> plt.plot(res_num,bfact_calc,'r-')
[<matplotlib.lines.Line2D object at 0x41607d0>]
>>> plt.plot(res_num,bfact_exp,'b-')
[<matplotlib.lines.Line2D object at 0x3d9ef50>]
>>> plt.legend(('Calc','Exp'),loc='upper left')
<matplotlib.legend.Legend object at 0x4160b10>
>>> plt.xlabel('Residue Number')
<matplotlib.text.Text object at 0x413cbd0>
>>> plt.ylabel('B-factors')
<matplotlib.text.Text object at 0x415f350>
>>> plt.text(185,73,'r='+(" %.2f" % c))
<matplotlib.text.Text object at 0x4160310>
>>> plt.show()

El comando ‘plt.show()’ muestra la figura en pantalla, y desde ese mismo terminal se puede guardar
como fichero ‘.png’ quedando tal y como se muestra en la Figura 18.7.

Figura 18.7: Perfiles de factores B calculados y experimentales para los carbonos alfa del transportador
de Leucina LeuT.
Una de las aplicaciones más corrientes de los modos normales es el estudio de los cambios de conforma-
ción que experimentan las biomoléculas, en particular las proteı́nas, tras unirse con otras biomoléculas
y/o pequeños ligandos. En el caso que nos ocupa, el transportador de Leucina LeuT, sufre un cambio
de conformación tras la unión a LeuT, que se puede interpretar bien como “inducido” por la unión
del aminoácido Leucina, es lo que se conoce como la hipótesis de ajuste inducido o induced fit [8], o
alternativamente como que la unión del aminoácido Leucina estabiliza una conformación más “cerrada”
(en azul en la Figura 18.8), distinta de la conformación libre (en rojo), que se conoce como la hipótesis
de selección conformacional o conformational selection [9, 10]5 . En este ejemplo, los dominios N y C
terminal experimentan un movimiento de tipo bisagra hacia la cavidad de unión a la leucina. Ambas
conformaciones tal y como aparecen superpuestas en la Figura 18.8 (superponiendo como cuerpo rı́gido
el dominio mayor, C-terminal y aplicando la rotación-traslación a toda la molécula en la conformación
que une leucina) se encuentran a un RMSD de 14.84 Å. Podemos utilizar la proyección del cambio
conformacional en el espacio de los modos normales para ver cuánto contribuye cada modo normal a
dicho cambio.

Figura 18.8: Superposición de las estructuras tridimensionales para LeuT en su conformación libre
(rojo) y en su conformación con Leucina unida (azul oscuro). El aminoácido Leucina libre se muestra
en la representación de bastones. Esta figura se ha hecho con la representación ‘cartoons’ del programa
Pymol[5].

En principio esperarı́amos que para este tipo de movimientos “bisagra” de gran amplitud, los modos
de más baja frecuencia sean los que más contribuyan (dado que como habı́amos visto en la Subsec-
ción 18.1.2, éstos contribuyen más a las fluctuaciones térmicas). La contribución de cada modo al
cambio de conformación se calcula a través del cuadrado de la proyección del vector que separa ambas
conformaciones (tras superponer la conformación ligada a la libre como cuerpo rı́gido, sin restringir
ningún dominio, al contrario que en la Figura 18.8) sobre el vector del modo normal correspondiente,
o lo que es lo mismo al coseno al cuadrado entre ambos vectores (Ecuación 18.50).

(∆robs v α )2
c2α = (18.50)
(∆robs )2
5
Lo que realmente determina que un cambio de conformación sea induced fit o conformational selection es si la barrera
energética del cambio de conformación es más elevada que la de unión a ligando a la conformación libre. Esto se puede
determinar mediante experimentos de cinética de NMR y citometrı́a de flujo, ambas técnicas fuera del alcance de este
libro.
Para llevar a cabo los cálculos correspondientes con las herramientas ProDy, necesitamos efectuar
ciertas operaciones previas. Primeramente se lee el fichero PDB que contiene las coordenadas para la
conformación unida a leucina, y se crea una selección que contenga todos los átomos para la cadena
A (existen 4 monómeros en la subunidad asimétrica para ‘1usk’), a excepción del ligando Leucina
(residuo 1347), para que ambas selecciones tengan el mismo número de átomos
>>> leuT_b=parsePDB('1usk')
>>> leuT_b=leuT_b.select('protein and chain A and not resnum 1347')

Ahora llevamos a acabo la superposición de cuerpo rı́gido de la cadena A para la conformación unida
sobre la cadena A de la conformación libre (análoga a la mostrada en la Figura 18.8):
>>> leuT_b, t=superpose(leuT_b,leuT)

En este caso la función superpose devuelve el conjunto de átomos de la conformación ligada (‘leuT b’)
una vez se le ha aplicado la matriz de rotación-traslación superponerla óptimamente a la conformación
libre (‘leuT’), y dicha matriz de rotación traslación t. Dado que en el modelo ANM sólo tenemos
componentes para los carbonos alfa, una vez transformada la estructura de la conformación ligada,
creamos sendas selecciones de carbonos alfa para ambas conformaciones. A partir de estas selecciones
calculamos el vector ∆robs :
>>> catoms2=leuT_b.select('protein and name CA')
>>> catoms=leuT.select('protein and name CA')
>>> delta_r=calcDeformVector(catoms,catoms2)

Ahora utilizando las potentes librerı́as matemáticas de Python (‘numpy’ o ‘np’ en nuestro ejemplo)
podemos proyectar el vector ∆robs en los 20 primeros modos normales, que genera el vector de proyec-
ciones ‘proj’:
>>> proj=(np.array(delta_r)*np.array(list(anm[:20])))
>>> proj/=float(abs(delta_r))
>>> proj=(proj*proj)

Además generamos: el vector de proyecciones ordenado en orden decreciente, otro vector que supone la
suma cumulativa de los elementos del primero, y un tercer vector con los ı́ndices de los modos normales:
>>> proj_sorted=sorted(proj,reverse=True)
>>> proj_sorted_accum=np.add.accumulate(proj_sorted)
>>> index=range(1,21)

Finalmente representamos gráficamente la contribución cumulativa al cambio conformacional (de ma-


nera que se suma de mayor a menor las contribuciones a dicho cambio independientemente del ı́ndice del
modo) de los 20 primeros modos normales de más baja frecuencia, en lı́nea sólida de color azul, mientras
que por cada modo se muestra en forma de barra azul su contribución a dicho cambio conformacional
(Figura 18.9).
>>> plt.plot(index,proj_sorted_accum, 'b-')
>>> plt.bar(index,proj,color='b')
>>> plt.legend(('Cum Overlap', 'Overlap'),loc='center right')
>>> plt.xlim(1,20)
>>> plt.minorticks_on()
>>> plt.xlabel('Mode index')
>>> plt.ylabel('Overlap')
>>> plt.show()

Tal y como se aprecia, el segundo modo normal explica el 86 % del cambio conformacional. Aparte de
este modo los otros 3 que más contribuyen son por orden el modo 3 (2.8 %), el modo 5 (2.3 %) y el
modo 6 (0.9 %), contribuyendo en total los 4 a explicar un 92 % del cambio de conformación. Aunque
en este caso el modo de más baja frecuencia no sea el que contribuya más y sea el segundo, podemos
Figura 18.9: Contribución al cambio conformacional de LeuT, conformación ligada a Leu con respecto
a la conformación libre, de los 20 primeros modos normales según el modelo ANM.

concluir que el resultado está dentro de lo esperado para un movimiento de bisagra: pocos modos de
baja frecuencia contribuyendo muy significativamente a dicho movimiento.

18.4.4. Cálculo de una estructura deformada

Cálculo de una estructura deformada según uno o varios modos normales


Dado que cada modo normal representa un movimiento oscilatorio según una dirección determinada,
con una frecuencia caractéristica, podemos generar una nueva estructura de proteı́na según un modo
normal, dada una amplitud arbitraria. ProDy también permite hacer este cálculo para generar una
estructura como resultado de deformar un modo (o combinación de modos) hasta una determinada
separación de la estructura del equilibrio que se indica como RMSD. La manera como hacerlo serı́a:
>>> catoms_copy=catoms.copy()
>>> deformAtoms(catoms_copy,anm[0],rmsd = 2.0)
>>> writePDB('1leuT_deformed.pdb',catoms_copy)

En primer lugar se hace una copia del subconjunto de átomos carbono alfa creado anteriormente. Sobre
este nuevo conjunto se guardan las coordenadas resultantes de deformar el primer modo normal (de
ı́ndice 0) hasta producir una separación de 2.0 Ångstrom respecto a la estructura del transportador
de Leucina en equilibrio. El resultado de dicha deformación se escribe en un fichero con formato PDB
llamado ‘1leuT deformed.pdb’ que podemos visualizar con el programa Pymol [5] tal y como se
muestra en la Figura 18.10.
De igual modo se podrı́a haber generado una estructura de proteı́na utilizando una combinación de
modos normales, p. ej. el primero y el segundo pesados por las fluctuaciones cuadráticas de cada modo:
>>> deformAtoms(catoms_copy,anm[0] * anm[0].getVariance()**0.5 +
anm[1] * anm[1].getVariance()**0.5,rmsd = 2.0)
Figura 18.10: La estructura del transportador de Leucina en la posición de equilibrio se muestra en
verde y la misma estructura perturbada según el primer modo normal hasta una una separación de
2.0 Å (estrcutura en rojo). Ambas estructuras sólo contienen carbonos alfa, que están contenidas en el
subconjunto de átomos ‘calpha copy’.
18.5. Bibliografı́a
[1] A. R. Atilgan, S. R. Durell, R. L. Jernigan, M. C. Demirel, O. Keskin, and I. Bahar. Anisotropy of fluctuation
dynamics of proteins with an elastic network model. Biophys J, 80(1):505–15, 2001.
[2] I. Bahar, A. R. Atilgan, and B. Erman. Direct evaluation of thermal fluctuations in proteins using a single-parameter
harmonic potential. Fold Des, 2(3):173–81, 1997.
[3] I. Bahar, T. R. Lezon, L. W. Yang, and E. Eyal. Global dynamics of proteins: bridging between structure and
function. Annu Rev Biophys, 39:23–42, 2010.
[4] A. Bakan, L. M. Meireles, and I. Bahar. Prody: protein dynamics inferred from theory and experiments. Bioinfor-
matics, 27(11):1575–7, 2011.
[5] W. DeLano. The pymol molecuar graphics system, 2002.
[6] C. Eckart. Some studies concerning rotating axes and polyatomic molecules. Physical Review, 47:552–558, 1935.
[7] H. Goldstein, C. P. Poole, and J. L. Safko. Classical Mechanics. Addison Wesley, 3rd edition, 2001.
[8] D. E. Koshland. Application of a theory of enzyme specificity to protein synthesis. Proc Natl Acad Sci U S A,
44(2):98–104, 1958.
[9] J. Monod, J. Wyman, and J. P. Changeux. On the nature of allosteric transitions: a plausible model. J Mol Biol,
12:88–118, 1965.
[10] M. M. Rubin and J. P. Changeux. On the nature of allosteric transitions: implications of non-exclusive ligand binding.
J Mol Biol, 21(2):265–74, 1966.
[11] T. Schlick. Molecular Simulations. An interdisciplinary guide. Interdisciplinary Mathematics. Mathematical Biology.
Springer-Verlag New York Inc., New York, 1 edition edition, 2002.
[12] K. R. Symon. Motion of a Particle in One dimension, chapter 2, pages 21–71. Addison-Wesley series on Physics.
Addison-Wesley, 3rd edition, 1971.
[13] M. M. Tirion. Large amplitude elastic motions in proteins from a single-parameter, atomic analysis. Physical Review
Letters, 77(9):1905–1908, 1996.

S-ar putea să vă placă și