miércoles, 21 de mayo de 2014

CLUSTAL

Clustal


Clustal es un programa de computadora ampliamente utilizado para realizar alineamientos múltiples de secuencias. La última versión es la 2.0.12 (2009), cuya principal novedad es que fue completamente reescrita en C++.1 Hay dos variantes:
ClustalW: interfaz de línea de comandos
ClustalX: esta versión tiene una interfaz gráfica. Está disponible para Unix/LinuxMac OS y Windows.

Entrada/Salida

Este programa acepta un amplio rango de formatos de entrada. Incluyendo NBRF/PIR, FASTA, EMBL/Swissprot, Clustal, GCC/MSF, GCG9 RSF y GDE.
El formato de salida puede ser alguno de los siguientes: Clustal, NBRF/PIR, GCG/MSF, PHYLIP, GDE, NEXUS.

Alineamiento múltiple de secuencias
 Hay tres etapas importantes:
  • Hacer un alineamiento por pares
  • Crear un árbol filogenético (o usar un árbol definido por el usuario)
  • Usar el árbol filogenético para llevar a cabo el alineamiento múltiple

Esto es hecho automáticamente cuando seleccionas "Do Complete Alignment" ("Hacer el alineamiento completo", en español). Otras opciones son "Do Alignment from guide tree" ("Hacer el alienamiento con el árbol guía) y "Produce guide tree only" ("Sólo producir el árbol guía).

Alineamientos de perfiles

Los alineamientos de parejas son computados con un método todos contra todos y las similitudes son guardadas en una matriz. Esta es luego convertida en una matriz de distancias, donde la longitud de la distancia refleja la distancia evolutiva entre cada par de secuencias.
De esta matriz de distancias, es creado un árbol de guía o filogenético utilizando un algoritmo de clustering neighbour-joining para determinar el orden en que los pares de secuencias serán alineados y combinados con alineamientos previos. Las secuencias son alineadas progresivamente en cada punto de ramificación empezando por los pares de secuencias más cercanos.

ALINEAMIENTO DE TODAS LAS SECUENCIAS



ÁRBOL FILOGENÉTICO


 EN LA LINEA 28 TENEMOS UN ALTO GRADO DE CONSERVACION










gescan

GENSCAN


En bioinformática GENSCAN es un programa para identificar completas de genes estructuras en genómica de ADN.  Es un G HMM programa basado en que se puede utilizar para predecir la ubicación de los genes y su exón - intrón límites en las secuencias genómicas de una variedad de organismos. El servidor Web GENSCAN se puede encontrar en el MIT.


GENSCAN fue desarrollado por Christopher Burge  en el grupo de investigación de Samuel Karlin  Departamento de Matemáticas de la Universidad de Stanford 



Esta es la pagina donde encontraran el programa meten el ADN en el espacio en blanco y le dan ejecutar hay les dira que cantidad de genes que este tiene, tambien podemos tomar la proteina y buscar en un programa llamado BLAST hay les dira que parte del ser viviente es 


PROGRAMACION DINAMICA

Programación dinámica


En informática, la programación dinámica es un método para reducir el tiempo de ejecución de un algoritmo mediante la utilización de subproblemas superpuestos y subestructuras óptimas, como se describe a continuación.

El matemático Richard Bellman inventó la programación dinámica en 1953 que se utiliza para optimizar problemas complejos que pueden ser discretizados y secuencializados.

Introducción

Una subestructura óptima significa que se pueden usar soluciones óptimas de subproblemas para encontrar la solución óptima del problema en su conjunto. Por ejemplo, el camino más corto entre dos vértices de un grafo se puede encontrar calculando primero el camino más corto al objetivo desde todos los vértices adyacentes al de partida, y después usando estas soluciones para elegir el mejor camino de todos ellos. En general, se pueden resolver problemas con subestructuras óptimas siguiendo estos tres pasos:
  • Dividir el problema en subproblemas más pequeños.
  • Resolver estos problemas de manera óptima usando este proceso de tres pasos recursivamente.
  • Usar estas soluciones óptimas para construir una solución óptima al problema original.
  • Los subproblemas se resuelven a su vez dividiéndolos en subproblemas más pequeños hasta que se alcance el caso fácil, donde la solución al problema es trivial.

ALGORITMOS HEURÍSTICOS

En el campo de la optimización, hay cierta ambigüedad en la definición de lo que es un  algoritmo heurístico y no es raro ver utilizar esta palabra con significados ligeramente distintos.
En su sentido más amplio, un algoritmo heurístico será un algoritmo para un problema de optimización basado en una estrategia (idea) transparente (habitualmente sencilla) para buscar dentro del conjunto de soluciones factibles y que no presenta ninguna garantía de encontrar el óptimo.
En un sentido un poco más específico, un heurístico es un algoritmo para el que no hay ningún resultado matemático que garantice que lleva a soluciones razonablemente buenas en un tiempo razonable, pero cuya idea parece asegurar un buen comportamiento para la mayoría de los ejemplos del problema en cuestión.
Una propiedad general de los algoritmos heurísticos es que son muy robustos, en el sentido que esa estrategia transparente de búsqueda puede trasladarse fácilmente de unos problemas a otros; siendo esta una de las razones por la que los heurísticos se han vuelto tan populares en la práctica: son habitualmente fáciles de implementar y “portables” de unos problemas a otros.
Usos o ejemplos

Hay algoritmos heurísticos de optimización de muchos tipos, entre los que se encuentran:
  • Algoritmos de búsqueda local, que van saltando localmente de solución en solución intentando mejorar las condiciones de optimalidad.
  • Algoritmos bioinspirados, que intentan imitar patrones de comportamiento que han sido exitosos en la naturaleza y usarlos para atacar problemas de optimización. Aquí destacan los algoritmos genéticos, algoritmos de colonias de hormigas, de colmenas de abejas.
  • Algoritmos de recocido simulado. Son algoritmos de optimización que tienen su base en el proceso de templado de los metales de cara a llegar a una configuración más resistente de los mismos. Está muy relacionado con el llamado algoritmo de Metropolis-Hastings.



BLAST

BLAST

BLAST (Basic Local Alignment Search Tool) es un programa  informático de alineamientos de secuencias de tipo local, ya sea de ADN, ARN o de Proteinas. El programa es capaz de comparar una secuencia problema (también denominada en la literatura secuencia query) contra una gran cantidad de secuencias que se encuentren en una base de datos. El algoritmo encuentra las secuencias de la base de datos que tienen mayor parecido a la secuencia problema. Es importante mencionar que BLAST usa un algoritmo heurístico por lo que no nos puede garantizar que ha encontrado la solución correcta. Sin embargo, BLAST es capaz de calcular la significación de sus resultados, por lo que nos provee de un parámetro para juzgar los resultados que se obtienen.
Normalmente el BLAST es usado para encontrar probables genes homólogos. Por lo general, cuando una nueva secuencia es obtenida, se usa el BLAST para compararla con otras secuencias que han sido previamente caracterizadas, para así poder inferir su función. El BLAST es la herramienta más usada para la anotación y predicción funcional de genes o secuencias proteicas. Muchas variantes han sido creadas para resolver algunos problemas específicos de búsqueda.

Algoritmo del BLAST
BLAST usa una matriz de sustitución  de aminoácidos o nucleótidos para calificar sus alineamientos. Dicha matriz contiene la puntuación (también llamada score) que se le da al alinear un nucleótido o un aminoácido X de la secuencia A con otro aminoácido Y de la secuencia B.
Esta es la página de BLAST donde podrás buscar por nucleótidos o por proteínas.




Primera etapa: ensemillado o seeding

En esta etapa se buscan "palabras" pequeñas en las secuencias de la base de datos, que corresponden a fragmentos de la secuencia problema. BLAST asume que los alineamientos significativos deben contener estas palabras.

Segunda etapa: extensión

Una vez obtenidas las palabras que cumplen con los criterios dados, se pasa a la etapa de extensión. En esta etapa el alineamiento se va extendiendo a ambos lados de las palabras. La extensión realizada en este punto se realiza haciendo uso del algoritmo de Smith-Waterman.

Tercera etapa: evaluación

Una vez terminada la extensión de todas las palabras, cada uno de los alineamientos realizados es evaluado para determinar su significación estadística. Para ello, el programa elimina los alineamientos inconsistentes (alineamientos que junten la misma parte de la secuencia problema con distintas partes de una secuencia en la base de datos).

opinion
A pesar de que BLAST es un programa muy poderoso y casi siempre podemos confiar en sus resultados, se debe recordar que el programa es heurístico y por lo tanto puede que no encuentre la solución óptima. En la actualidad, el abuso y la pobre interpretación de los resultados de BLAST ha llevado a múltiples errores de anotación. Una cosa a tener en cuenta al usar BLAST es que cuanta más evidencia externa se pueda obtener para corroborar un alineamiento (fisiológica, filogenética, genética, etc.) es mejor.