Post on 16-Apr-2015
MODELLER
A.Sali, R.Sánchez & A.Badretdinov
U.Rockefeller
M.Orozco 2002
INTRODUCCION
Que es Modeller
Programa para obtener modelos 3-D a partir de homología.– Optimización de una función de densidad de
probabilidad (pdf).– Emplea métodos de gradiente conjugado y
dinámica molecular restringida.– Trabaja en espacio cartesiano.– El valor de la función de optimización sirve
como primer “scoring function” del modelo.
Etapas básicas en el modelado
Identificaciónhomólogos
Alineamiento
Determinaciónrestricciones
Construcciónmodelo
Refinado
Validación
1. Determinar homólogos:
El primer paso y uno de los más importantes es encontrar un(os) homólogo(s) de estructura conocida de la proteína problema.
Esto implica:– Búsqueda de secuencias homólogas usando BLAST
(PSIBLAST) o técnicas similares.– Cruzar los resultados con PDB para recuperar proteínas con
estructura conocida.– En algunos casos hay que recurrir a programas de threading
(ej. THREADER).– Es posible en algunos casos usar el comando SEQUENCE
SEARCH de Modeller.
SEQUENCE_SEARCH
Busca homólogos en una base de datos de secuencias de estructura conocida muy disimilares (menos de un 30% identidad): Un conjunto representativo del PDB
Es una opción de un cierto riesgo al eliminar la riqueza que nos da tener alineamientos múltiples
2.1. Alineamiento: Inicio
El proceso clave para construir un buen modelo. Las regiones alineadas (posibles templates y problema) MODELLER las considera equivalentes!– Se prepara un alineamiento (múltiple si es posible).– El alineamiento debe considerar aspectos estructurales.
No solo de secuencia– Los alineamientos automáticos siempre han de editarse y
mejorarse!– Muy útil saber que regiones van a estar más conservadas
según los alineamientos– El alineamiento es siempre un proceso ITERATIVO
2.2. Alineamiento: Mejora
Blast proporciona unos primeros alienamientos que pueden mejorarse con la información de CLUSTAL o HOMSTRAD.
MODELLER incluye rutinas de alineamiento como ALIGN, ALIGN2D o MALIGN3D que pueden ayudar en el alineamiento y otras de verificación del alineamiento como CHECK_ALIGNMENT
2.3 Alineamiento: Selección del Template
Los alineamientos finales se analizan para determinar cual será el template final– Se analizan los “candidatos” a template y se
agrupan (clustering) por secuencia:ID_TABLE o COMPARE_SEQUENCES: construyen
matrices de distancias entre secuenciasPRINCIPAL_COMPONENTS o DENDOGRAM
permiten agrupar y decidir cual(es) de todas las secuencias metidas en el alineamiento se usara(n) como TEMPLATES
3. Determinación de las restricciones
Las regiones alineadas del TEMPLATE proporcionan un primer conjunto de restricciones que la secuencia modelo debe de respetar
Se añaden muchas otras restricciones genéricas y otras propias del problema
4. Construcción del modelo
MODELLER construye un modelo utilizando el TEMPLATE como molde. En él intenta: – superponer las regiones alineadas– evitar colisiones estéricas– respetar la estereoquímica del modelo.– Optimizar funciones estadística de situación de
Aa en el interior de las proteínas.
5. Verificación del modelo
MODELLER realiza internamente una evaluación del modelo y señalará errores graves en el mismo.
No obstante, es conveniente verificar el modelo con programas externos como PROSA (M.Sipple) o PROCHECK (J.Thornton).
Modelado automático
Precisa solo de la secuencia problema y de las coordenadas de los posibles TEMPLATES.
Solo recomendable cuando la secuencia tiene más de un 50% de IDENTIDAD.
Permite generar bases de datos masivas de posibles estructuras (MOD DBASE).
En general NO es recomendable.
COMANDOS BASICOS DE MODELLER
Comandos de ejecución
Ejectutar MODELLER: mod tutua (tutua: nombre del script de instrucciones)
Longitud del output: OUTPUT_CONTROL = x y z t (variable = 1 da info 0 no la da)
• X: extensión output gral. Y= files abiertas. Z: warnings. T= errores
Comandos de topología (selección)
READ_TOPOLOGY: lee el fichero topología de CHARMM 22.
READ_PARAMETERS: lee los parámetros del FF.
GENERATE_TOPOLOGY: genera topología del modelo.
PATCH: Genera los ptes disulfuro definidos por el usuario.
PATCH_DISULFIDES: Genera los ptes disulfuro según el TEMPLATE.
MUTATE-MODEL: Substituye un residuo por otro en el modelo.
Comandos de manejo de coordenadas (selección)-1
READ_MODEL(2): lee coordenadas, nombres y tipos de átomos y residuos del modelo 1 o 2
WRITE_MODEL(2): escribe ,... del modelo 1 o 2
BUILD_MODEL: genera coordenadas cartesianas (todas o las no definidas) para un modelo (INITIALIZE_XYZ=on,off)
TRANSFER_XYZ: Copia las coordenadas del TEMPLATE al modelo
PICK_ATOMS: Selecciona átomos (diversos criterios: sphere, segment, all residue or selected residues,...) para manipulación y los coloca en uno de los 3 SETS usados luego por: 1: pick_restraints,
rotate_dihedrals, randomize_xyz y otros
2,3 make_restrains
Comandos de manejo de coordenadas (selección)-2
RANDOMIZE_XYZ: Asigna posiciones aleatorias a los átomos en SET1 del modelo.
REORDER(2)_ATOMS: Reordena átomos (modelo o moldeo 2) dentro del residuo para que sigan el mismo orden que en la librería de topología.
ROTATE_DIHEDRALS: cambia dihedros especificados del conjunto dado SET1 y les asigna valores random o optimizados.
ORIENT_MODEL: centra y orienta un modelo respecto al origen de coordenadas
ROTATE_MODEL: traslada y rota un modelo.
WRITE_DATA: escribe datos del modelo:
– Solvent accesibility
– Lista de vecinos del residuo
– Dihedros
– Asignación de estructura secundaria
– Curvatura de la cadena principal.
Comparación y alineamiento
Formato del fichero de alineamientos (PIR)
>P1;5fd1 identificadorstructureX:5fd1: 1 : : 10 : nombreprot: 1.9:0.12AVFEDSEFGT
>P1;1fdxSequence:1fdx: 1 : : 8 : otronombre: 2.0: -1.0AV--DADFGS
Structurex: estructura cristal. 1, 10 residuos inicial, final, 1.9,0.2 datos cristalSequence: solo se tiene secuencia
Comparación y alineamiento (selección)-1
READ_ALIGNMENT: Lee el fichero de alineamientos.
READ_ALIGNMENT2: Lee un 2o fichero de alineamientos.
CHECK_ALIGNMENT: Chequea el alineamiento de las estructuras de referencia y de estas con el problema.
COLOR_ALN_MODEL: Colorea (4o campo pdb) una estructura en función de lo bien que esta alineada con una secuencia.
SEQUENCE_TO_ALI: Copia una secuencia y estructura en un alineamiento como append (ADD_SEQUENCE=on) o generando file nueva
WRITE_ALIGNMENT: Escribe alineamientos con mucha información adicional.
DESCRIBE: Información sobre proteínas en el alineamiento.
Comparación y alineamiento (selección)-2
ID-TABLE: Calcula matrices de distancias entre los residuos de cada par de secuencias. Da como output el % identidad
SEQUENCE_COMPARISON: Similar a la anterior, pero utiliza scores residuo-residuo.
DENDOGRAM: Clustering de las secuencias en los alineamientos.
PRINCIPAL_COMPONENTS: Similar a DENDOGRAM, pero con PC
ALIGN: Alinea 2 secuencias (bloques) por alineamiento global o local.
ALIGN2D: Alinea una secuencia (bloque) con una estructura (bloque).
MALIGN: Alineamiento múltiple de secuencias.
ALIGN3D: Alinea dos estructuras (estructuralmente) a partir del alineamiento por secuencia.
MALIGN3D: Alineamiento estructural múltiple.
Comparación y alineamiento (selección)-3
SUPERPOSE: Dado un alineamiento superpone MODEL2 sobre MODEL. Se pueden seleccionar átomos, cutoff,..
COMPARE: Versión múltiple del comando anterior.
EXPAND_ALIGNMENT: Añade modelos a un alineamiento ya existente.
SEQUENCE_SEARCH: Búsqueda de secuencias similares a una problema en una base de datos
Restricciones Espaciales
Punto clave en el proceso de modelado por MODELLER. El modelo propuesto por traslado de átomos se debe optimizar introduciendo restricciones en el mismo.
Hay muchos tipos de restricciones unas estandard (ej. distancias de enlace) y otras definidas por el usuario.
Restricciones: Formato
Un formato “USER” de restricciones sería:– R 3 1 1 1 2 2 0 1.5000 0.1000 NH#:1:A CA:2:A– Esto diria: R: restricción – 3: Función de restricción tipo Gaussian– 1: (redundante en este caso) el numero de funciones usadas– 1: Tipo de restricción: en este caso un enlace– 1: “grupo”: definición más específica de la restricción, en este caso es un
enlace “normal” harmónico.– 2: Número de átomos involucrados en la restricción– 2: Número de parámetros que definen la restricción– 0: Parámetro “dummy”– 1.5000 y 0.1000 dicen la distancia óptima y la fuerza del enlace– El resto define que el enlace es entre el N y el Calfa residuo 2 cadena A.
Restricciones: Formato
La definición de restricciones es después del alineamiento el tema más sutil del proceso.
Se pueden introducir muchísimas restricciones empleando diversas funciones de penalización.
Las restricciones siempre tienen que impedir que se llegue a modelos sin sentido químico.
Es posible para el usuario desactivar “restricciones químicas”, pero esto es peligroso.
Restricciones (selección 1)
MAKE_RESTRAINTS: Calcula y selecciona restrains. – RESTRAINT_TYPE: “stero”, enlace, ángulo, torsión,..., LJ,
Coulomb,.., si está en hélice, en hoja, distribuciones concretas , ,...
– Los restrains stereo los coge de la base de datos de CHARMM.
– A parte de los restrains “químicos” y “conformacionales” hay los de homología. Ej, 2 átomos dados están a x distancia en el TEMPLATE, tenderán a esta a la misma en modelo. Por ejemplo, la orientación de las cadenas laterales,...
– En el caso de que no exista correspondencia se utilizan datos estadísticos de la librería interna.
Restricciones (selección)-2
DEFINE_SYMMETRY: Define que dos segmentos sean iguales en el proceso de optimización
PICK_RESTRAINTS: Selecciona uno(s) o todos los restraints cargados por MAKE-RESTRAINTS
CONDENSE_RESTRAINTS: Elimina restraints de memoria.
ADD_RESTRAINT: Añade un restraint a la lista
DELETE_RESTRAINT: Elimina un restraint específico.
READ_RESTRAINTS: Este comando lee restraints de una file. Puede añadirlos a los ya existente, o reemplazar estos.
WRITE_RESTRAINTS: Escribe los restraints
Optimización
Una vez descritas las diferentes restricciones y un primer modelo (ej. transfiriendo coordenadas del TEMPLATE) debemos optimizar el modelo optimizando la función objetivo. Típicamente esto se consigue optimizando con un número creciente de restricciones. MODELLER incluye rutinas de optimización de gradiente y también de MD
Optimización (selección)-1
MAKE_SCHEDULE: Define el proceso de optimización. Se define p.ej el peso (máximo) de las diferentes restricciones.
READ_SCHEDULE: Lee el fichero de Schedule.
WRITE_SCHEDULE: Escribe la schedule en memoria.
ENERGY: Evalúa un modelo en función de las violaciones de las restricciones.
ENERGY_PROFILE: Da las energías (o violaciones) de las restricciones físicas.
OPTIMIZE: Optimiza un modelo dados unos restraints.
SWITCH_TRACE: Abre files para una serie de optimizaciones consecutivas
Keyword: OPTIMIZE
Selección de método optimización:– Conjugate gradient
– MD (simulated annealing) Selección de cutoffs de non-bonded Selección de valores de escalado Extensión de la MD o de la optimización,..
Scripts en MODELLER
MODELLER contiene una serie de Scripts de defecto muy útiles para hacer cálculos tipo para no expertos.
Estos Scripts son relativamente flexibles y permiten adaptar el trabajo a las necesidades del usuario.
Comentaremos “model”
Script: model
Leer alineamiento(típicamente pir)
Generar un 1er modeloGenerar restraints
Optimizar modelo
READ_ALIGNMENTCHECK_ALIGNMENT
Etapa 2a: 1er modelo + restraints
GENERATE_TOPOLOGYPATCH_DISULFIDE
Genera topología (CHARMM)Coloca S-S (homología por defecto)
TRANSFER_XYZTransfiere coordenadas de átomosequivalentes del TEMPLATE
BUILD_MODELCrea las coordenadas de los quefaltan por topología CHARMM
WRITE_MODELEscribe (.ini) modelo inicial
Etapa 2b: 1er modelo + restraints
WRITE_RESTRAINS
MAKE_RESTRAINTSGenera restraints: stereoquímicos,Derivados de homología y espaciales
i.e.
(1)Restricciones de “enlace”(2) de ángulos de torsión según librerías de poblaciones, (3) dedistancias entre residuos (i.e.restricciones homología) (4) contactos de VW, (5) definidas por el usuario (special_restraints).
Etapa 3a: optimización
MAKE_SCHEDULEDefine procedimiento de opt. dela función objetivo
READ_MODELLee modelo inicial
RANDOMIZE_XYZRandomiza modelo añadiendounos desplazamientos al azar
Etapa 3b: optimización
READ_RESTRAINTSLectura de los restraints
PICK-RESTRAINTSSeleccionar restraints sobre átomoscercanos en la secuencia
OPTIMIZEOptimizar por c.g. solo con los restraints seleccionados. Si se deseaRefinar usando también SA
ENERGY + WRITE_MODEL
Calcular energía de restraints noIntroducidos y escribir esto y elModelo final.