380 likes | 604 Views
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).
E N D
MODELLER A.Sali, R.Sánchez & A.Badretdinov U.Rockefeller M.Orozco 2002
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ón homólogos Determinación restricciones Alineamiento Construcción modelo 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 secuencias PRINCIPAL_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 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
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. Comandos de topología (selección) • 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.
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 Comandos de manejo de coordenadas (selección)-1 • 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
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. Comandos de manejo de coordenadas (selección)-2
Comparación y alineamiento Formato del fichero de alineamientos (PIR) >P1;5fd1 identificador structureX:5fd1: 1 : : 10 : nombreprot: 1.9:0.12 AVFEDSEFGT >P1;1fdx Sequence:1fdx: 1 : : 8 : otronombre: 2.0: -1.0 AV--DADFGS Structurex: estructura cristal. 1, 10 residuos inicial, final, 1.9,0.2 datos cristal Sequence: solo se tiene secuencia
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)-1
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)-2
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 Comparación y alineamiento (selección)-3
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 F, Y,... • 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.
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 Restricciones (selección)-2
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
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 Optimización (selección)-1
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”
READ_ALIGNMENT CHECK_ALIGNMENT Generar un 1er modelo Generar restraints Optimizar modelo Script: model Leer alineamiento (típicamente pir)
GENERATE_TOPOLOGY PATCH_DISULFIDE Genera topología (CHARMM) Coloca S-S (homología por defecto) Transfiere coordenadas de átomos equivalentes del TEMPLATE Crea las coordenadas de los que faltan por topología CHARMM Escribe (.ini) modelo inicial TRANSFER_XYZ BUILD_MODEL WRITE_MODEL Etapa 2a: 1er modelo + restraints
MAKE_RESTRAINTS Genera 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) de distancias entre residuos (i.e. restricciones homología) (4) contactos de VW, (5) definidas por el usuario (special_restraints). WRITE_RESTRAINS Etapa 2b: 1er modelo + restraints
MAKE_SCHEDULE Define procedimiento de opt. de la función objetivo Lee modelo inicial Randomiza modelo añadiendo unos desplazamientos al azar READ_MODEL RANDOMIZE_XYZ Etapa 3a: optimización
READ_RESTRAINTS Lectura de los restraints Seleccionar restraints sobre átomos cercanos en la secuencia Optimizar por c.g. solo con los restraints seleccionados. Si se desea Refinar usando también SA Calcular energía de restraints no Introducidos y escribir esto y el Modelo final. PICK-RESTRAINTS OPTIMIZE ENERGY + WRITE_MODEL Etapa 3b: optimización