ENSAMBLAMIENTO DE FRAGMENTOS DE ADN Matías Brunstein Macri Alejandro Pedraza Jimena RinaldiIntroducción a la Biología Computacional Departamento de Computación-FCEN-UBA.

Download Report

Transcript ENSAMBLAMIENTO DE FRAGMENTOS DE ADN Matías Brunstein Macri Alejandro Pedraza Jimena RinaldiIntroducción a la Biología Computacional Departamento de Computación-FCEN-UBA.

ENSAMBLAMIENTO DE
FRAGMENTOS DE ADN
Matías Brunstein Macri
Alejandro Pedraza
Jimena Rinaldi
2004
Introducción a la Biología Computacional
Departamento de Computación-FCEN-UBA.
Primera Parte
Biological Background
Genoma y Genómica
Genoma. Complemento genético entero y haploide de
. organismo. Es decir toda la secuencia de ADN,
un
codificante o no codificante y su posición en los
cromosomas.
Genómica. Disciplina que se ocupa de la
caracterización de los genomas. Se encuentra dividida
en Genómica Estructural y la Genómica Funcional.
Objetivo de la Genómica Estructural es conocer el/los
genoma/s de una especie en particular/diferentes
especies.
Aplicaciones del
estudio de los genomas


Predecir genes, secuencias promotoras y
reguladoras de la transcripción.
Comparar genomas de diferentes
individuos de la misma especie para
detectar variaciones o polimorfismos a
nivel poblacional. Estas variaciones
pueden ser sustituciones,
deleciones/inserciones, o rearreglos
cromosómicos (cambio de posición en el
genoma).
Aplicaciones del
estudio de los genomas
Comparar genomas de diferentes
especies. Esto permite hacer
inferencias acerca de los procesos
evolutivos de remodelación de
genomas.
 Otras.

Genomas eucarióticos
y procarióticos
Genomas animales
y vegetales
Sizes of eukaryotic genomes
Species
Genome size (Mb)
Fungi
Saccharomyces cerevisiae
Aspergillus nidulans
Protozoa
Tetrahymena pyriformis
Invertebrates
Caenorhabditis elegans
Drosophila melanogaster
Bombyx mori (silkworm)
Strongylocentrotus purpuratus (sea urchin)
Locusta migratoria (locust)
Vertebrates
Takifugu rubripes (pufferfish)
Homo sapiens
Mus musculus (mouse)
Plants
Arabidopsis thaliana (vetch)
Oryza sativa (rice)
Zea mays (maize)
Pisum sativum (pea)
Triticum aestivum (wheat)
Fritillaria assyriaca (fritillary)
12.1
25.4
190
97
180
490
845
5000
400
3200
3300
125
430
2500
4800
16000
120000
Paradoja del valor C
Secuencias repetitivas

Distintos tipos de secuencias repetitivas
se encuentran en muchos organismos y
ocupan gran parte de los genomas:




Satélites
Pseudogenes
Transposones y retrotransposones
Pueden estar esparcidas por el genoma o
en tandem y varían mucho en tamaño.
¿Cómo se estudian
los genomas?
Mapeo genético
 Mapeo físico
 Secuenciación exhaustiva

El mapeo genético
El mapeo genético está basado en la
utilización de técnicas genéticas para
construir mapas que muestran la
posición de marcadores genéticos o
de marcadores moleculares. Las
técnicas genéticas incluyen
experimentos de recombinación y
estudio de pedigrees en humanos.
El mapeo físico
El mapeo físico utiliza técnicas de
Biología Molecular para examinar
directamente las moléculas de ADN
para la construcción de mapas que
muestran la posición de fragmentos
de ADN (en general de secuencia
desconocida) en el genoma.
Secuenciación automática
Fragmentos de hasta 700 pb
Bibliotecas genómicas



Como no es posible secuenciar un genoma
en una sola reacción de secuenciación se
lo divide en fragmentos, los cuales se
almacenan en clones bibliotecas
genómicas.
Una biblioteca genómica es un conjunto
de clones, cada uno de los cuales contiene
un fragmento de un genoma de un
organismo dado.
Las bibliotecas genómicas se consiguen
clonando los fragmentos en vectores.
Clonado de fragmentos
Vectores de clonado utilizados
para secuenciación de genomas
Fago λ
YAC
Cósmido
Vectores de Clonado
Problema de los
YACs
Vectores de Clonado

Otros vectores que incluyen insertos
de gran tamaño:
Bacteriógafos P1
 BACs
 PACs
 Fósmidos

Sizes of human genomic libraries prepared in different
types of cloning vector
Type of vector
Insert size (kb)
Number of clones*
P = 95%
P = 99%
l replacement
18
532 500
820 000
Cosmid, fosmid
40
240 000
370 000
P1
125
77 000
118 000
BAC, PAC
300
32 000
50 000
YAC
600
16 000
24 500
1400
6850
10 500
Mega-YAC
*
Calculated from the equation:where N is the number of clones required, P is the probability
that any given segment of the genome is present in the library, a is the average size of the
DNA fragments inserted into the vector, and b is the size of the genome.
Ensamblado:
Shotgun approach
Consiste en
ensamblar
directamente los
fragmentos de ADN
secuenciados por
superposición.
Haemophilus influenzae
1995
1830 kb, biblioteca genómica
18.638 clones,
insertos de 1,6-2 kb.
Resolución de gaps
Los contigs se pueden construir por chromosome
walking
Ensamblado:
Clone Contig Approach
Se clonan fragmentos de hasta 1,5
Mb en YACs o BACs.
 Se construye un contig identificando
los clones que contienen fragmentos
superpuestos, los cuales se
secuencian por el método de
shotgun.

Whole genome shotgun
sequencing


La experiencia con el método de shotgun en
genomas chicos mostró que si el largo total de la
secuencia que se genera es 6,5-8 veces el largo
de la secuencia total del genoma estudiado,
entonces los contigs resultantes ocuparan el
99,8% de la secuencia del genoma, con unos
gaps tales que se pueden resolver facilmente.
70 millones de fragmentos de 500pb resolverían
el genoma humano en 3 anos con 75
secuenciadores, cada uno de los cuales puede
secuenciar 1000 secuencias de esas por días.
Ejemplo de genomas de los cuales se ha publicado la secuencia
en versión completa o borrador
Especie
Tamaño del genoma (Mb)
Nro de genes estimados
Eukarya
Arabidopsis thaliana (plant)
Caenorhabditis elegans (nematode)
125
97
25 500
19 000
Drosophila melanogaster (fruit fly)
180
13 600
Homo sapiens (human)
Saccharomyces cerevisiae (yeast)
3200
12.1
30 000 - 40 000
5800
Eubacteria
Escherichia coli K12
Mycobacterium tuberculosis H37Rv
4.64
4.41
4400
4000
Mycoplasma genitalium
Pseudomonas aeruginosa PA01
0.58
6.26
500
5700
Streptococcus pneumoniae
Vibrio cholerae El Tor N16961
Yersinia pestis CO92
Archeae
Archaeoglobus fulgidus
Methanococcus jannaschii
2.16
4.03
4.65
2300
4000
4100
2.18
1.66
2500
1750
Complicaciones


Instancias reales del problema muy
largas
Errores







Inserciones
Deleciones
sustituciones
Fragmentos quiméricos
Orientación desconocida
Regiones repetidas
Pérdida de cobertura (gaps)
Segunda Parte
Modelos
¿Qué es un modelo?
Es una abstracción de la realidad
que nos facilita el estudio de un
fenómeno o problema.
 Un modelo no es un algoritmo


Como veremos más adelante, para un
mismo modelo pueden plantearse
varios algoritmos.
Modelos para el
ensamblamiento de ADN

Plantearemos tres modelos teóricos.
1.
2.
3.


Shortest Common Superstring
Reconstruction
Multicontig
Cada uno plantea distintas restricción
sobre los fragmentos.
Se asume que las muestras están libres
de contaminación.
Primer Modelo:
Shortest Common Superstring
Tiene principalmente interés teórico
pues no es muy útil en la realidad.
 Plantea muchas restricciones:

Los fragmentos no deben tener errores
 Deben estar orientados correctamente
 La secuencia buscada no debe tener
repeticiones

SCS: Definición
Dado un conjunto de strings F, hallar un string
S de longitud mínima tal que para todo string f
en F, f es substring de S.
Notar que S debe ser un superstring perfecto, por lo que no permites
errores experimentales.
Se debe conocer la orientacíon de cada string f.
SCS: Ejemplo
F = {ACT, CTA, AGT}
S = ACTAGT
A C T
C T A
A G T
S = A C T A G T
SCS: Repeticiones
Supongamos que secuenciamos la
siguiente cadena de nucleótidos
S = ACTTGTAAGGTTGTTAAG
de la cual obtenemos los siguientes
fragmentos
F = {ACTT, TTGTAA, AAGGT,
TTGT, GTT, TTAG}
SCS: Repeticiones (Cont.)
Según este modelo, el resultado de hallar el
SCS de F sería:
A C T T
T T G T A A
A A G T
T T G T
G T T
T T A G
S’ = A C T T G T A A G T T A G
SCS: Resumen
No admite repeticiones
 No admite errores experimentales
 Se debe conocer la orientación de
los fragmentos.
 Es un problema NP-Hard.
 No resulta práctico para aplicaciones
reales debido a la gran cantidad de
restricciones y limitaciones.

¿Qué significa NP-Hard?
NP-Completo se refiere a una familia
de problemas de decisión para los
cuales no se conoce una solución
polinomial.
 Los problemas de decisión son
aquellos para los que se espera una
respuesta del tipo “sí” o “no”.

¿Qué significa NP-Hard?
En el caso del TSP, el problema
sería:
¿Existe un camino que pase por
todas las ciudades exactamente una
vez recorriendo una distancia menor
a 500 Km.?
 La respuesta esperada es
simplemente “sí” o “no”.

¿Qué significa NP-Hard?
Un problema HP-Hard es el
problema de optimización asociado a
un problema NP-Completo.
 En nuestro caso:
¿Cuál es el camino más corto que
pasa exactamente una vez por cada
ciudad?

Segundo Modelo:
Reconstruction

Este modelo tiene en cuenta:
Errores.
 Orientación desconocida


Pero no modela:
Repeticiones
 Falta de cubrimiento

Reconstruction:
Definiciones
Para entender como este modelo
considera los errores debemos contar
con algunas definiciones previas.
 Distancia de edición (o edit
distance)
 Distancia de edición de substrings
(o substring edit distance)
 Substring aproximado
Distancia de Edición
Dadas dos cadenas a y b, llamaremos
distancia de edición, y lo notaremos
d(a, b), a la cantidad de inserciones,
deleciones y/o substituciones que
deben realizarse sobre las cadenas
para que valga a = b.
Ejemplo: d(ACTGT, AGGT) = 2
pues ACTGT = ACTGT
Substitución
Inserción
Distancia de Edición de
Substrings
Dadas dos cadenas a y b, llamaremos
distancia de edición de substrings a:
d s (a, b)  min d (a, s)
sS ( b )
donde S(b) es el conjunto de los substrings de b.
Ejemplo: ds(ACT, GATTACA) = 1
Pues d(ACT, ACA) = 1 y ACT  S(b)
Substring Aproximado
Sea  un número real entre 0 y 1. Un string
f es un substring aproximado de S con
error  cuando
ds ( f , S )   f
donde |f| es la longitud del string f.
Por ejemplo: si  = 0.05, permitiremos que f difiera en a lo sumo un
5% con el substring màs cercano en S.
Reconstruction: Definición
Dado un conjunto de strings F y una cota de error 
entre 0 y 1, hallar un string S de longitud mínima tal
que para todo string f en F


min d s ( f , S ), d s ( f , S )   f
donde f es el string reverso y complementario a f.
Reconstruction: Resumen
No admite repeticiones ni espacios
no cubiertos
 Admite errores experimentales
 Modela la orientación desconocida
 Es un problema NP-Hard.
 SCS es un caso particular de este
modelo.

Tercer Modelo:
Multicontig:
Introduce la noción de buen enlace.
 Este modelo tiene en cuenta:

Errores.
 Orientación reconocida
 Falta de cubrimiento
 En algunos casos, repeticiones

Multicontig: Definiciones
Llamaremos layout a un alineamiento
múltiple de un conjunto de secuencias.
El siguiente layout será utilizado como
ejemplo en varias definiciones:
f1: C T T G T A
f2:
T G T A G T T
f3:
C T A T
f4:
T A T T
f5:
G T A G T
Multicontig: Definiciones
(cont.)
Diremos que dos fragmentos f y g se solapan (y lo
llamaremos overlap) si comparten una o más
columnas en el layout. Es decir, si ambos string se
intersecan.
f1: C T T G T A
f2:
T G T A G T T
f3:
C T A T
f4:
T A T T
f5:
G T A G T
Multicontig: Definiciones
(cont.)
Podemos separar los overlaps en dos
categorías:
 Los que producen un enlace. (f3 – f4)
 y los que no lo producen. (f2 – f5)
f1: C T T G T A
f2:
T G T A G T T
f3:
C T A T
f4:
T A T T
f5:
G T A G T
Multicontig: Definiciones
(cont.)
El enlace más débil (weakest link) es
aquél overlap con menor longitud que
produce un enlace.
 Diremos que un layout es un t-contig si el
enlace más débil que posee tiene longitud
t.
 Si es posible obtener un t-contig de un
conjunto de fragmentos F, diremos que F
admite un t-contig.

Multicontig: Definición I
Libre de Errores
Dado un conjunto de strings F y un entero t,
particionar F en el mínimo número de
subconjuntos Ci, 1 ≤ i ≤ k, tal que cada Ci
admita un t-contig.
Multicontig: Ejemplos
Dado F = {GTAC, TAAG, TGTAA}
Si t = 3
T
G
T
A
A
T
A
A
A
T
G
T
G
T
A
A
T
A
A
T
G
G
T
A
C
G
T
A
C
Si t = 2
T
A
T
A
T
G
A
Si t = 1
T
G
G
T
A
C
Multicontig: Contemplando
errores
 Si
se admiten errores en el
acoplamiento, se debe obtener una
cadena por consenso que será el
resultado del ensamblamiento.
 Diremos que S es una cadena
-consensuada de F si, para cada
cadena f en F, la distancia de edición
entre f y su imagen en S es ≤ | f |.
Multicontig: Contemplando
errores
Por ejemplo: S es una cadena 0.20 –
consensuada con respecto a F.
f1: C T T C T A
f2:
T G T T G T T
f5:
G T A G T
S C T T G T A G T T
Multicontig: Definición II
Admitiendo de Errores
Dado un conjunto de strings F, un entero t ≥ 0 y
una tolerancia de error  entre 0 y 1,
particionar F en el mínimo número de
subconjuntos Ci, 1 ≤ i ≤ k, tal que cada Ci
admita un t-contig con un consenso .
Multicoting: Resumen
Admite repeticiones en algunos
casos.
 Admite errores experimentales
 Modela la orientación desconocida
 Es un problema NP-Hard.

Tercera Parte
Algoritmos
Repaso de Grafos

Los grafos son artefactos
matemáticos que permiten
expresar de una forma
visualmente sencilla y efectiva
las relaciones que se dan entre
elementos de muy diversa índole.
Repaso de Grafos

Un grafo simple está formado
por dos conjuntos:



Un conjunto V de puntos
llamados vértices o nodos.
Un conjunto E de pares de
vértices que se llaman aristas o
arcos y que indican qué nodos
están relacionados.
Notación: G(V,E)
x
x
y
Repaso de Grafos



A los ejes se les puede asignar
un peso. Notación: w(x,y)
Si hay más de un arco
hablamos de un multigrafo
Si los arcos se recorren en una
en una dirección concreta pero
no en la contraria lo llamamos
grafo dirigido o dígrafo y los
arcos son aristas
x
8
y
x
y
x
y
x
y
Repaso de Grafos




Un Camino es una secuencia de
vértices V1, V2, V3, ... , Vn, tal que
cada para uno de estos V1->V2, V2>V3, V1->V3
Un Camino Simple es cuando todos
sus vértices, excepto tal vez el
primero y el último son distintos.
Un Ciclo Simple es un camino
simple de longitud por lo menos de
uno que empieza y termina en el
mismo vértice.
Se dice que un grafo es aciclíco
cuando no contiene ciclos.
v1
v1
v2
v2
v3
v3
v4
v4
v1
v1
v2
v2
v3
v3
Representado el problema
como un grafo

Se representa con un grafo ya que
resulta mas amigable para verlo
visualmente, y se le esta aportando
al problema, todo un conjunto de
herramientas matemáticas para
resolverlo.
Representado el problema
como un grafo

Datos del problema:
Un conjunto de fragmentos F
F = {ACTT, TTGTAA, AAGGT,
TTGT, GTT, TTAG}
 Un string S
S = ACTTGTAAGGTTGTTAAG
 El overlap de los fragmentos
ACTT
TTGTAA

Representado el problema
como un grafo

Datos del problema:
El orden en que se hace el overlap
ACTT
TTGTAA
TTGTAA
ACTT
 La cantidad de nucleotidos que están
en el overlap
ACTT
TTGTAA
2 nucleótidos

Representado el problema
como un grafo





Fragmentos son representados por los
nodos o vértices.
Los overlap’s son representados por los
ejes que unen a los nodos.
El orden del overlap de dos fragmentos,
esta dado por la dirección del eje o arista.
La cantidad de nucleótidos que estan en
el overlap de dos fragmentos, esta
representado por el peso de los ejes.
El string s se representa como un camino
en el grafo.
Representado el problema
como un grafo

Ejemplo:

F={TACGA, ACCC, CTAAAG, GACA}
a
b
c
d
1
a
0
b
0
2
0
0 1
1
0
c
1
0
d
0
Representado el problema
como un grafo

Ejemplo:

F={TACGA, ACCC, CTAAAG, GACA}
a
b
c
d
1
b
a
2
1
1
c
1
d
Representado el problema
como un grafo

Ejemplo:

F={TACGA, ACCC, CTAAAG, GACA}
a
b
c
d
1
1
b
a
b
a
2
2
1
1
1
c
1
1
d
c
S1= TACGACCCCTAAAGACA
S2= TACGACACCCTAAAG
1
d
Representado el problema
como un grafo

Problema:
Encontrar el superstring mas corto.
Esto es equivalente a encontrar un
camino hamiltoniano máximo dentro
del grafo. Este problema es NPCompleto
Algoritmos

Greedy
Aplica al modelo SCS y Reconstruction

Subgrafo Acíclico
Aplica al modelo Multiconting
Algoritmo Greedy

En cada paso intenta maximizar la
solución del subproblema analizad.
No retrocede una vez tomada cada
decisión.
Algoritmo Greedy

Construimos un grafo dirigido a
partir del multigrafo formado por los
fragmentos de F, dejando entre cada
par de nodos únicamente las aristas
mas pesadas, ya que estamos
buscando el camino mas pesado
Algoritmo Greedy
Entrada: Grafo orientado con n vértices.

Salida: Camino hamiltoniano en el grafo de entrada
//Inicio
Para i<-1 hasta n
in[i] <-0 //cuantos ejes entran en i
out[i] <-0 // cuantos ejes salen de i
MakeSet(i)
//Proceso
Ordenar los ejes de acuerdo a a su peso, con el mas pesado primero
Para cada eje (f,g) en ese orden
Si in[g] = 0 y out[f] = 0 y FindSet(f) =/= FindSet(g)
seleccionamos el eje (f,g)
in[g] <- 1
out[f] <- 1
Union(FindSet(f), FindSet(g))
Si queda una sola componente
terminar
Retornar los ejes seleccionados

Algoritmo Greedy
La solución encontrada es a lo sumo
2,75 veces peor que la optima, y se
conjetura que lo es 2 veces.
 Este algoritmo, no siempre
encuentra una solución.

2
2
TGCAT
3
ATGC
GCC
Algoritmo Subgrafo Acíclico


Este algoritmo restringe la hipótesis,
asumiendo que los fragmentos están
libres de errores, que se conoce la
orientación y que fueron obtenidos de un
buen secuenciamiento.
Se entiende por buen secuenciamiento,
básicamente, a que los fragmentos
cubren a la molécula en su totalidad y
que se garantiza el overlap.
Algoritmo Subgrafo Acíclico



Dado un multigrafo con los fragmentos en los
nodos, obtenemos un grafo dirigido,
quedándonos con las aristas de mayor peso
entre los nodos, ya que queremos encontrar el
camino mas pesado.
Luego quitamos todas las aristas que tengan un
peso menor al t-contig deseado. De forma tal
que quede un subgrafo acíclico
Luego se busca un camino hamiltoniano máximo
en el subgrafo acíclico. Esto es polinomial y se
puede resolver con un algoritmo greedy.
Algoritmo Subgrafo Acíclico

Ejemplo:
Consideremos que queremos llegar al string S y tenemos
los fragmentos w, z, u, x e y
S = AGTATTGGCAATCGATGCAAACCTTTTGGCAATCACT
w = AGTATTGGCAATC
z = AATCGATG
u = ATGCAAACCT
x = CCTTTTGG
y = TTGGCAATCACT
Y se pide un t-contig de 3
Algoritmo Subgrafo Aciclico

El subgrafo acíclico de de los
overlap’s quedaría de la siguiente
forma:
9
4
3
3
4
Heurística

Buscar overlap



Ordenar los fragmentos





Para cada par de fragmentos, calcular el match prefijosufijo.
Usar el algoritmo de programación dinámica de
alineamiento semiglobal sin penalidad.
Construir el camino con un algoritmo greedy o
heurística
Cada camino tiene su correspondiente camino
complementario
No es necesario incluir fragmentos incluidos en otros
Los ciclo y cubrimientos abundantes pueden indicar
repeticiones.
Alineamiento y consenso
Bibliografía





Brown, T. A., Genomes, 2002, 2nd.
Edition, BIOS Scienfic Publishers, Ltd.
Griffiths A., Miller J., Suzuki D. & Lewontin
R, An Introduction to Genetic Analysis,
2000, 7th ed. Freeman & Company
Meidanes
Prevner
Baxevanis