January 28, 2016
Introducción
Introducción

Introducción

Bioinformática
- Área de investigación interdisciplinaria entre las ciencias computacionales y las ciencias biológicas
- Computación
- para almacenar, recuperar, manipular y distribuir información biológica relacionada con macromoléculas (i.e. DNA, RNA, proteínas, etc.)
- tareas repetitivas
- tareas matemáticamente complejas
- indispensable para minería de datos en genomas, obtención de datos y generación de conocimiento
Introducción

Introducción

Introducción

Bioinformática es Interdisciplinaria

Bioinformática
- Difiere de la biología computacional
- Bioinformática se limita al análisis secuencial, estructural y funcional de genes y genomas y sus correspondientes productos y también se conoce como biología molecular computacional
- Biología computacional incluye otras áreas (no necesariamente relacionadas con macromoléculas biológicas)
- Modelado matemático de ecosistemas
- Dinámica de poblaciones
- Teoría de juegos para estudios de comportamiento
Bioinformática
- Existen otras deficiniones de bioinformática
- Algunos autores la ven como el desarrollo de aplicaciones computacionales para todo tipo de datos biológicos
- Lo que sí podemos decir es que la bioinformática es un área que evoluciona rápidamente
Bioinformática
- La meta en bioinformática es
- Entender mejor a la célula viva
- Entender cómo funciona la célula a nivel molecular
- Generar conocimiento para proveer una perspectiva global de la célula
- Entender mejor las funciones de la célula al analizar datos secuenciales
- Flujo de información genética <– "dogma central" de la biología
- DNA transcrito a RNA y traducido a proteínas
- Funciones celular realizadas por proteínas
- Capacidades de proteíans limitadas por sus secuencias
Bioinformática
- Dos campos principales en la bioinformática
- Desarrollo de herramientas computacionales y bases de datos
- Aplicación de herramientas y bases de datos para generar conocimiento biológico o entender mejor los sistemas vivientes
- Estos subcampos se complementan
Aplicaciones

Aplicaciones

Aplicaciones

Aplicaciones

Aplicaciones

Definiciones
Algoritmo
- Un conjunto de operaciones auto-contenidas, paso a paso, que serán ejecutados.
- Todavía no son específicas para una computadora
- Son más descriptivas
- Sí llevan la lógica de lo que ejecutará la computadora pero no está en un lenguaje de programación específico
Algoritmo

Diagrama de Flujo
- Diagrama que representa un flujo o conjunto de relaciones de un sistema

Programa
- Conjunto específico y ordenado de operaciones para que las ejecute una computadora.

Lenguaje de Programación
- Un lenguaje formal hecho para comunicar instrucciones a una máquina, en particular a una computadora.
- Tienen una sintaxis ("syntax")
- Las reglas para escribir los comandos
- Diversos tipos de lenguajes
- Scripts
- Orientados a objetos
- Procedurales
- Funcionales
Lenguaje de Programación

Lenguaje de Programación

Lenguaje de Programación

Variables
- Ubicación de almacenamiento que asociamos a un nombre simbólico
- Nos referimos a la variable por su nombre
- El valor de la variable puede cambiar durante la ejecución del programa
- Diferentes tipos de variables
- String - cadenas
- Integer - enteros
- Double - reales
- more…
Variables

Variables

Tipos

Tipos

Programador

Programador

Programador

Programador

Formatos de Datos
Formatos de Datos
- Los datos se pueden leer y escribir en diferentes formatos
- Decimal
- El formato que normalmente utilizamos
- Binario
- Sistema de numeración con base 2
- Solo utilizamos 2 cifras: cero y uno (0 y 1)
- El utilizado en las computadoras, por los 2 niveles de voltaje que usan
Formatos de Datos
- Los datos se pueden leer y escribir en diferentes formatos (continúa…)
- Hexadecimal o Hex
- Sistema de numeración con base 16
- Utiliza los símbolos \(S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}\)
- Vinculado a computación porque las computadoras usan el byte (8 bits) como unidad básica de memoria
- 1 byte representa 2^8 posibles valores
- \(2^8 = 2^4 \times 2^4 = 16 \times 16 = 1 \times 16^2 + 0 \times 16^1 + 0 \times 16^0 = 100_{16}\)
- 2 dígitos hexadecimales corresponden a un byte
- 3E0A16 = 3×163 + E×162 + 0×161 + A×160 = 3×4096 + 14×256 + 0×16 + 10×1 = 15882
Binario

Binario

Binario

Decimal a Binario

Hexadecimal

Hexadecimal

Hexadecimal a Binario

Binario - Hexadecimal - Decimal

Plataformas en Informática
Principales Plataformas
- En general, el hardware epre-diseñado para ejecutar un software
- Tiene sus características y restricciones
- Diferentes niveles de abstracción
- Arquitectura de hardware
- Sistema operativo
Principales Plataformas
- Diferentes niveles de abstracción (continúa…)
- Software
- Librerías en tiempo de ejecución
Principales Plataformas

Principales Plataformas

Computadora

Computadora

Sistema Operativo
- Software para administrar el hardware y recursos de software que proveen los servicios para los programas computacionales
Sistema Operativo

Sistema Operativo

Sistema Operativo

Sistema Operativo

Base de Datos
- Colección organizada de datos
- Esquema, tablas, consultas, reportes, vistas…
- Organización de datos tal que modelan aspectos de larealidad
- Procesos que requieren información
Base de Datos
- Sistemas Manejadores de Bases de Datos (DBMS)
- Sistema que interactúa con el usuario y la base dedatos
- Permite definir, crear, consultar, actualizar y administrar las bases de datos
- PostgreSQL, MYSQL, Oracle, Sybase, Microsoft SQL Server
Base de Datos

Base de Datos

Base de Datos

Base de Datos

Procesos
Proceso
- Un proceso es una instancia de un programa computacional que se está ejecutando
- En unix podemos ver los procesos que se están ejecutando
- Un programa puede estar asociado a varios procesos
- Cada vez que ejecutamos un programa se lanza una nueva instancia o proceso
Proceso
- Proceso interactivo (en línea)
- El proceso permanece en contacto con el programa que lo lanzó
- Proceso batch
- El proceso batch no permanece en contacto con el programa que lo lanzó
- Si el proceso batch fue lanzado por una terminal, no regresa el control a la misma
- El proceso batch deja resultados en algún archivo en la computadora, modifica registros de base de datos, etc.
Proceso
