Download notas

Document related concepts

Gen wikipedia , lookup

Genómica comparativa wikipedia , lookup

Transcript
Búsqueda automática de genes
Manuel Calaza
Departamento de Matemática aplicada
Universidad de Santiago de Compostela
Correo electrónico: [email protected]
Introducción
Ahora que disponemos del genoma secuenciado y ensamblado de varios organismos, el primer paso hacia la comprensión del contenido funcional de los genomas
ha sido la predicción y anotación de genes por métodos computacionales. Vamos
a revisar y describir los métodos más usuales para localizar genes codificantes de
proteı́nas en humanos. La organización génica está determinada por restricciones
funcionales y de evolución. Los métodos de búsqueda están basados en el conocimiento de estas restricciones. Estructuras similares implican funciones similares
y una tendencia a ser conservadas a lo largo de la evolución. De acuerdo con el
dogma central de la Biologı́a, en la siguiente figura se recoge la estructura de un
gen eukariota y su correspondiente transcripción a mRNA maduro:
Hay dos tipos de elementos genéticos respecto a la estructura primaria de las
proteı́nas: las señales que controlan como se expresa el gen, y las regiones codificantes que codifican el producto del gen (la proteı́na).
Como la mayoria de los genes humanos tienen intrones, la clave en la predicción de genes está en detectar las señales de los sitios de splice y localizar las
1
2
Manuel Calaza
regiones codificantes. En los primeros años 80 se desarrollaron programas de predicción de genes detectando regiones codificantes basándose en el uso de codones
o detectando señales de splice. Más tarde, basándose en técnicas estadı́sticas (como el análisis discriminate lineal o cuadrático), linguı́sticas (como los modelos de
Markov ocultos) o de aprendizaje automático (como las redes neuronales) se han
desarrollado algoritmos que combinan varias caracterı́sticas e informaciones de
las secuencias para conseguir predicciones más precisas. A medida que más genomas están disponibles la genómica comparativa puede ofrecer incluso mejores
resultados que la predicción ab initio sobre genes homólogos.
Aunque las herramientas de predicción de genes se han vuelto más y más sofisticadas, la precisión de las predicciones no puede ser considerada todavı́a satisfactoria por lo que las predicciones deben tomarse con cierta cautela. Queda todavı́a
un largo camino por recorrer en la predicción y anotación de genes.
Predicción de genes ab initio.
Predicción de señales
Hay cuatro señales básicas a tener en cuenta en cualquier predicción de exones
codificantes:
El sitio de inicio de traducción (START site),
el 5’ sitio de splice (5’ss o donor site),
el 3’ sitio de splice (3’ss o acceptor site),
el branch site y
el sitio de fin de traducción (STOP site).
La forma más simple de medir la potencialidad de un sitio como posible señal es
recurriendo a secuencias consenso para cada una de ellas. De este modo tenemos
que TAA, TAG y TGA son los sitios de STOP, el sitio ATG y el sitio START están
caracterizados por la secuencia GCCGCCRCCATGG. Los sitios de splice se han
caracterizado por las secuencias CAG|GTRAGT (donor), (Y)nNCAG|G (acceptor) y
CTRAY (branch).
posición
A
C
G
T
-3
1
76
2
21
-2
0
8
0
91
-1
39
15
42
4
0
99
1
0
0
+1
11
45
6
38
Cuadro 1.1: Matriz de frecuencias en sitios Branch
3
Búsqueda automática de genes
posición
A
C
G
T
-3
28
40
17
14
-2
59
14
13
14
-1
8
5
81
6
+1
0
0
100
0
+2
0
0
0
100
+3
54
2
42
2
+4
74
8
11
8
+5
5
6
85
4
+6
16
18
21
45
Cuadro 1.2: Matriz de frecuencias en sitios Donor
p.
A
C
G
T
-14
10
31
14
44
-13
8
36
14
43
-12
6
34
12
48
-11
6
34
8
52
-10
9
37
9
45
-9
9
38
10
44
-8
8
44
9
40
-7
9
41
8
41
-6
6
44
6
45
-5
6
40
6
48
-4
23
28
26
23
-3
2
79
1
18
-2
100
0
0
0
-1
0
0
100
0
+1
28
28
47
11
Cuadro 1.3: Matriz de frecuencias en sitios Acceptor
En realidad, las secuencias consenso son el resultado de considerar unas matrices de frecuencias que reflejan cuantitativamente la potencialidad de las señales.
Los elementos Mij están definidos como la frecuencia de aparición de la base i en
la posición j en el conjunto de secuencias (consideremos 100 secuencias) de entrenamiento convenientemente alineadas.
Si consideramos frecuencias relativas, fij = Mij /100, y fi la frecuencia de la
base i en la secuencia ambiente, el algoritmo log-odd nos proporciona una matriz
de puntuación (WMM, weight matrix model) de componentes Sij = log(fij /fi ), que
nos permite puntuar las señales candidatas como suma de escores a lo largo de las
bases dentro de la señal.
Aunque útil en muchas situaciones, presenta dos problemas:
Asume que las bases en posiciones diferentes son independientes. Hay muchas formas de incorporar dependencia. Una de ellas es suponer que una base está relacionada con sus bases vecinas (dependencia de Markov o WAM,
weight array model). Es equivalente a extender las filas a duplas (AA, AC,
AG,...) o tripletas (AAA, AAC, AAG,...). Pero el aumento de las dependencias
conlleva un incremento de los parámetros a estimar y de los datos de entrenamiento. Otra forma de introducir dependencia consiste en aplicar un
árbol de decisión para dividir los datos de entrenamiento en subconjuntos
de tal forma que las bases de un sitio de splice en cada subconjunto puedan
considerarse independientes y modeladas por distintas WMM.
Ignoran el contenido de GC de la secuencia. Se sabe que hay grandes variaciones del contenido de GC a lo largo de los genomas. Por tanto, la composición de las señales estará fuertemente influenciada por el contexto GC (alto
o bajo). Los programas más recientes han adoptado distintos WMMs según
el contenido de GC sea alto o bajo.
4
Manuel Calaza
Recientemente (2001) se han realizado comparaciones entre varios de los programas existentes (NetGene2, HSPL, NNSplice, Genio, SpliveView y GeneSplicer). El mejor error que se puede conseguir es del orden del 5 % (falsas señales
[fp]+ señales no detectadas [fn]) Aunque puede parecer un buen dato, resulta que
por cada señal no detectada, se estima que se han detectado 100 señales falsas.
Como las señales no son totalmente independientes, se ha llegado a la conclusión de que el reconocimiento de las señales de splice sólo puede hacerse de manera
efectiva si se hace simultáneamente al reconocimiento de exones.
Predicción de exones
La predicción de exones requiere además de la detección de señales, la valoración del contenido proteico que encierran las señales. Para discriminar exones
(CDS) de intrones, la mejor medida de contenido es el score de frecuencias de aparición de hexámeros en un marco de lectura determinado. Hay varias maneras de
construir dicho score, como por ejemplo el Log-Odd score
fE (w, i)
LE (w, i) = log
fI (w)
o el score de preferencia
PE (w, i) =
fE (w, i)
fE (w, i) + fI (w)
siendo fE (w, i) la frecuencia de aparición del hexámero w en el marco i calculado
a partir de exones conocidos de datos de entrenamiento, y fI (w) la frecuencia de w
calculada en las regiones intrónicas que flanquean a los exones conocidos.
Para regiones intrónicas, podemos definir de modo similar scores de hexámeros
de la siguiente manera:
fI (w)
LI (w) = log
fE (w)
o
PI (w) =
= −LE (w)
fI (w)
= 1 − PE (w),
fE (w) + fI (w)
donde fE (w) es la media de fE (w, i) sobre tres marcos de lectura, es decir fE (w) =
(fE (w, 0) + fE (w, 1) + fE (w, 2))/3.
Estas medidas de la potencialidad codificante de los exones son totalmente
inútiles para predecir las regiones no traducidas de un exón (UTRs).
El tamaño del exón es otra variable importante que debe ser considerada. Para
los exones internos codificantes de humanos, la distribución del tamaño está próxima a una log-normal centrada entorno a 125 pb.
Consideremos un conjunto de datos de entrenamiento formados por secuencias
que continen o bien un exón auténtico o bien un pseudo-exón (entendiendo por
Búsqueda automática de genes
5
pseudo-exón cualquier secuencia aleatoria que se ajusta al esquema AG-ORF-GT,
es decir, marcos de lectura abiertos acotados por los extremos conservados de los
acceptor y donor respectivamente). Sobre este conjunto de secuencias consideremos definidas varias variables que reflejan la potencialidad codificante de la secuencia; por ejemplo x = (x1 , x2 , . . . , xn ) siendo x1 la media de LI (w) para todos
los hexámeros a lo largo de la región intrónica que flanquea al extremo 5’, x2 el
score del acceptor, x3 la media de los LE (w, i) sobre todos los hexámeros y luego
maximizado sobre i, x4 el tamaño de exón, etc.
De este modo, cada secuencia de entrenamiento puede ser representada como
un punto en un espacio n-dimensional. Existen varios métodos estadı́sticos y de
aprendizaje automático (machine-learning) que pueden usarse para construir una
función de discriminación óptima (en el sentido de minimización de los falsos positivos y falsos negartivos). Esta función (el predictor de exones) es una “hipersuperficie” de decisión en el espacio n-dimensional que separa los exone auténticos de los pseudo-exones. Los algoritmos más utilizados para esta tarea son LDAalgoritmo de discriminación lineal (HEXON, FGENEH) y QDA-algoritmo de discriminación cuadrática (MZEF).
Ensamblaje de exones
La principal dificultad que se presenta en el ensamblaje de exones es la explosión combinatoria del problema: el número de formas en que se pueden combinar
N candidatos a exones crece exponencialmente con N . La búsqueda de un óptimo sin realizar todas las evaluaciones se aborda desde la programación dinámica.
Concretamente, en FGENEH se utiliza análisis de discriminación lineal (LDA)
para determinar señales de 5’ ss, parte interna y 3’ ss de exones y programación
dinámica para el ensamblaje de los exones).
La otra alternativa de la que disponemos es la utilización de modelos de Markov
ocultos generalizados (HMMs). Los diferentes tipos de componentes estructurales
(como exones e intrones) están caracterizados por un estado y los posibles modelos
de un gen son generados por una máquina de estados: empezando de 5’ a 3’, cada
par de bases está generada por una probabilidad de emisión condicionada al estado actual y la transición entre estados está gobernada por una probabilidad de
transición que tiene en cuenta todas las restricciones relativas a la ordenación de
exones e intrones. Todos los parámetros de las probabilidades de emisión y transición se aprenden de un conjunto de datos de entrenamiento. Como los estados son
desconocidos, nos interesa calcular cuál serı́a el conjunto de estados consecutivos
que hacen máxima la probabilidad de observar la secuencia a examen condicionada a unas probabilidades de emisión y transición fijadas. Para responder a esta
pregunta se puede utilizar el algoritmo de Viterbi (bastante eficiente y similar a
los algoritmos de programación dinámica).
6
Manuel Calaza
Predicción de genes por comparación
La base de los métodos de predicción de genes por comparación o similitud es
que las regiones en la secuencia del genoma que codifican proteı́nas se conservan
a lo largo de la evolución mejor que las regiones no funcionales.
La imagen de la izquierda corresponde a una comparación utilizando TBLASTX
de las secuencia de humano y ratón que codifican el oncogen FOS. Como se puede
apreciar, las regiones de la secuencia que constituyen los exones están totalmente
incluı́das en las regiones de la secuencia donde el alineamiento con TBLASTX refleja una fuerte conservación. La siguiente imagen corresponde a la realización de
un análisis similar con el gen de gallo, una especie más lejana al hombre evolutivamente hablando. Por último tenemos el mismo análisis para una secuencia del pez
fugu, una especie mucho más lejana. Progresivamente se puede apreciar cómo se
pierde mucha más homologı́a en la parte de las secuencias que no son codificantes
que en las que sı́ lo son (Abril et al., 2003).
Esencialmente hay dos tipos de estrategias distintas: la comparación de la secuencia de ADN contra una secuencia de proteı́na o una base de datos de ellas,
y la comparación de una o más secuencias genómicas. En los dos enfoques, las
secuencias podrı́an ser de distintas especies.
Query genómica contra target proteica
Con BLASTX una query genómica es traducida en un conjunto de secuencias de
aminoácidos en los seis marcos de lectura posibles y comparadas contra una base
de datos de secuencias de proteı́nas conocidas. Será más probable que un trozo de
secuencia de la query genómica corresponda a un exón codificante si presenta una
alta similitud con las proteı́nas de la base de datos.
Sin embargo, los programas de comparación de secuencias como BLASTX no
estaban orientados en su diseño a la búsqueda de genes: informan de secuencias
más o menos coincidentes pero no nos dan información sobre codones START y
Búsqueda automática de genes
7
STOP, .... Después de una búsqueda en la base de datos que identifique regiones
potenciales, se necesitan herramientas que concreten las estructuras exónicas.
Una posibilidad para conectar estos dos tipos de informaciones es la de considerar la secuencia de la base de datos que mejor score ha obtenido en la comparación
con nuestra query genómica y obtener un alineamiento “spliced.entre ellas. En un
alineamiento de este tipo se permiten grandes gaps (que deberı́an corresponderse
con los intrones) sólo en uniones de splice permitidos. Los algoritmos de alineamiento spliced requieren de una traducción de la secuencia query, del cómputo del
alineamiento y de un procesamiento posterior que incluye el problema combinatorio de encontrar la mejor estructura exónica para la proteı́na en cuestión para lo
que la mayorı́a de las implementaciones de estos algoritmos emplean programación dinámica. (PROCRUSTES, GENEWISE-ENSEMBL)
Alternativamente, el resultado de una búsqueda en una base de datos puede
ser integrado en el contexto de un programa de predicción ab initio. Este tipo de
programas seleccionan candidatos a exones en la secuencia query para los cuales existen secuencias codificantes similares: el score de un candidato a exón, que
inicialmente viene definido por los scores de las señales que lo delimitan y su potencial codificante, se incrementa en función de la similitud entre el candidato a
exón y secuencias codificantes conocidas. De este moto se potencia la aparición en
la predicción final del gen de candidatos a exones que muestran una similitud importante con las secuencias codificantes conocidas. De este modo, se conseguirán
predicciones tan buenas como con los programas de predicción ab initio cuando no
se disponga de secuencias codificantes conocidas, y mejores cuando si se disponga
de ellas. (GENOMESCAN es una extensión en este sentido de GENSCAN)
Query genómica contra target genómica
Con la disponibilidad de más y más genomas de organismos eukariotas, la comparaciones de secuencias de genomas completos están ganando popularidad como métodos para identificar genes codificantes de proteı́nas. Se asume que las
regiones conservadas en las secuencias corresponden a exones codificantes de genes homólogos. EXOFISH fue uno de los primeros programas que utilizaron esta
técnica para predecir exones humanos basándose en comparaciones (TBLASTX)
con una base de datos de secuencias de Tetraodon nigroviridis
Desde otro punto de vista, se puede reformular el problema como una extensión del problema de alinamiento de secuencias: dadas dos secuencias genómicas
codificantes de genes homólogos, predecir la extructura exónica de cada una de las
secuencias maximizando el score del alineamiento de las dos secuencias. En un
enfoque diferente, en los programas SLAM y DOUBLESCAN se combinan el alineamiento de secuencias basado en la combinación de un modelo de Markov oculto
para el alineamiento de las secuencias con otro modelo de Markov oculto generalizado para la predicción de la estructura génica de forma que ésta no se obtiene
derivada de un alineamiento, sino que las dos cosas, alineamiento y estructura
génica, se obtienen simultáneamente.
8
Manuel Calaza
Otro tipo de programas (ROSETTA, SGP1) separan claramente la predicción de
genes del alineamiento de secuencias, adoptando enfoques más heurı́sticos. Estos
programas comienzan por realizar un alineamiento entre las dos secuencias y luego predecir la estructura de genes de forma que los exones sean compatibles con el
alineamiento.
Aunque los programas de búsqueda de genes por similitud puedan producir
buenos resultados, un problema evidente es la necesidad de dos secuencias homólogas. Y aún teniendo secuencias homólogas, los genes de una que no tengan homólogo en la otra pasarán inadvertidos (en particular, si ha habido reordenaciones de
genes o pérdida de regiones sinténicas en la evolución). Serı́a deseable que, teniendo una sóla secuencia, automáticamente se realizasen búsquedas de secuencias
homólogas en otras especies que sean susceptibles de ser utilizadas en programas
de busca de genes por similitud. Los programas TWINSCAN y SGP2 intentan
superar esta limitación. el enfoque es similar al utilizado en el programa GENOMESCAN para incorporar la similitud a proteinas conocidas al sistema de score
del programa GENSCAN. Esencialmente, la secuencia query es comparada con
una colección de secuencias del genoma informante y el resultado de la comparación es utilizado para modificar los scores de los exones de algún programa de
predicción ab initio (TWINSCAN extiende GENSCAN utilizando BLASTN y SGP2
extiende GENEID utilizando TBLASTX).
Los programas TWINSCAN, SGP2 y SLAM han sido utilizados exitosamente
para la anotación del genoma del ratón y han ayudado en la identificación de algunos genes que previamente no se habı́an confirmado.
Exactitud en la predicción de genes
Medidas de la exactitud
Para evaluar la precisión de un programa de predicción génica en una secuencia
test, se compara la estructura predicha por el programa con la real. La precisión se
evalúa a distintos niveles: de nucleótido, de exón y de gen. En cada nivel hay dos
medidas básicas: la sensitividad y la especifidad. La sensitividad es la proporción
de elementos reales que han sido correctamente predichos; y la especificidad es
la proporción de elementos predichos que son correctos. Más especificamente, si
denotamos por
T P , cantidad total de elementos codificantes correctamente predichos,
T N , cantidad total de elementos no codificantes correctamente predichos,
F P , cantidad total de elementos no codificantes predichos como codificantes,
y
F N , cantidad total de elementos codificantes predichos como no codificantes,
9
Búsqueda automática de genes
la sensitividad (Sen) y la especificidad (Esp) se definen como
Sen =
TP
TP + FN
Esp =
TP
.
TP + FP
Ambas cantidades están entre 0 y 1 (1 serı́a exactitud total). Ninguna de las dos
por separado constituyen buenas medidas globales de la precisión (podrı́amos tener una muy alta y otra muy baja).
A nivel de nucleótido, la medida que más se utiliza es el coeficiente de correlación defindo como
TP · TN − FN · FP
,
(T P + F N )(T N + F P )(T P + F P )(T N + F N )
CC = p
y que varı́a entre −1 y 1, con 1 correspondiendo a una predicción correcta, −1
corresponderı́a a una predicción totalmente incorrecta (codificante por no codificante y viceversa).
A nivel de exón, se consideran correctamente predichos los exones que coinciden totalmente con los reales (incluidos sus extremos 5’ y 3’), un exón predicho
se considera incorrecto si no tiene superposición con ningún exón real, y un exón
real se considera perdido si no tiene superposición con ningún exón predicho. Una
medida efectiva a nivel de exón es simplemente la media entre la especificidad y
la sensitividad.
A nivel de gen, un gen se considera correctamente predicho si todas las regiones
codificantes han sido identificadas, todas las fronteras entre exón e intrón son
correctas, y todos los exones están incluidos en el gen real.
Exactitud de los programas de predicción génica
En 1996, Burset y Guigó, realizaron una comparativa entre varios programas
de predicción de genes. Se evaluaron sobre una colección de 570 secuencias genómicas de vertebrados que contenı́an un único gen, depositadas en GenBank después
de 1993 (para evitar que los programas estuviesen entrenados sobre esas secuencias). A nivel de nucleótidos CC varió entre 0.65 y 0.78, mientras que a nivel de
exones la media entre sensitividad y especificidad varió entre 0.37 y 0.60.
Rogic et al. realizaron en 2001 una comparativa independiente de 7 programas
sobre secuencias seleccionadas de GenBank (con fecha de incorporación posterior
al entrenamiento de los programas) y conteniendo de nuevo un único gen. Los programas probados por Rogic et al. han mostrado mejores marcas que los probados
por Burset y Guigó: A nivel de nucleótidos CC varió entre 0.66 y 0.91 mientras
que a nivel de exones la media entre sensitividad y especificidad varió entre 0.43
y 0.76.
Estos dos estudios (que reflejan las mejoras de precisión habidas en un espacio
de tiempo de 5 años) pueden reflejar una situación mejor de lo que en realidad es.
Fundamentalmente porque las comparativas se realizan sobre secuencias cortas
10
Manuel Calaza
con un sólo gen de estructura simple. Este tipo de secuencias no son representativas del contexto actual: secuencias largas de baja densidad codificante , codificando varios genes y/o genes incompletos, con estructuras génicas complejas. Sobre la
anotación génica disponible para el cromosoma 22 humano, se ha realizado una
nueva comparativa con el resultado que se sospechaba: la precisión desciende considerablemente cuando pasamos de una secuencia de un sólo gen a la secuencia de
un cromosoma completo. Concretamente, el CC de GENSCAN baja desde el 0.91
(en Rogic y al.) al 0.64 para el cromosoma 22. Pero incluso programas más sofisticados que emplean comparación con secuencias como GENEWISE o FGENESH++
están lejos de hacer predicciones perfectas ya que se quedan en CC entorno a 0.75.
De todos modos, aunque el escenario predictivo no parece que sea todo lo bueno
que debiera, hay que tomar todas estas medidas con precaución ya que incluso
algunos falsos positivos han llegado a convertirse en auténticos positivos.
Sistemas de anotación génica
Actualmente hay tres bases de datos públicas de anotaciones de genes humanos: EBI&Sanger Institute ENSEMBL (http://www.ensembl.org), UCSC Genome Browser (http://genome.ucsc.edu) y NCBI LocusLink (http://www.
ncbi.nim.nih.gov/LocusLink/). Sólo se puede acceder a cada una de ellas utilizando la web correspondiente. Todas utilizan el mismo ensamblaje del genoma
humano.
Los genes anotados en ENSEMBL han sido generados automáticamente por
herramientras propias de ENSEMBL. Para un número determinado de cromosomas (6, 13, 14, 20 y 22) también están disponibles las anotaciones manuales del
sistema VEGA (http://vega.sanger.ac.uk/Homo sapiens/). El motor básico de anotación de ENSEMBL es GENEWISE. Hay tres tipos de genes anotados:
aquellos que codifican completamente una proteı́na, aquellos que tienen una gran
homologı́a con proteı́nas de otros organismos y aquellos que GENSCAN ha predicho. Las anotaciones que realiza ENSEMBL se consideran bastante conservadoras
y actualmente están entorno a 24500.
EL UCSC Genome Browser proporciona un acceso rápido y muy informativo
de cualquier parte de los genomas disponibles junto con docenas de fuentes de
información diferenciadas y alineadas (genes conocidos, genes predichos, homologı́as con ratón, ...). Parte de las anotaciones e informaciones son realizadas en
la UCSC a partir de datos públicos y el resto son proporcionadas por colaboradores de todo el mundo. Es más, los usuarios pueden añadir sus informaciones para
propósitos educacionales o investigadores (esto lo ha hecho muy popular). El motor
básico de anotación es BLAT que permite alineamientos muy rápidos (comparado
con BLAST) entre secuencias de proteı́nas de primates y otros vertebrados con el
genoma humano. En sus prediciones de genes humanos se incluyen, además de
los genes de ENSEMBL, 25600 genes de TWINSCAN, 32400 genes de GENEID,
39800 genes de FGENESH++ y 45000 genes de GENSCAN.
Búsqueda automática de genes
11
El NCBI Locus Link localiza los genes utilizando alineamientos de secuencias
de RefSeq y mRNA de GenBank con el genoma humano empleando MegaBLAST.
Si la secuencia referencia de RefSeq o GenBank se alinea a más de un trozo del
genoma, se selecciona el mejor alineamiento y se realiza la anotación en él. Los
genes son anotados si la identidad en el alineamiento es ≥ 95 % y la región alineada
cubre una zona ≥ 50 % de la longitud o al menos 1000 bases. Los genes predichos
por GENOMESCAN son anotados sólo si no se superponen con los predichos por
alineamientos con mRNA. GENOMESCAN ha predicho 38600 genes.
Las anotacones proporcionadas por estos sistemas hay que considerarlas como
altamente hypotéticas dada la precisión de los programas actuales de predicción
de genes. Habrá que recorrer un largo camino antes de que los sistemas automáticos sean capaces de predecir todos los genes dentro de una secuencia genómica.
Una mejora en el conocimiento de lo que es un gen y de los procesos biológicos
involucrados en la especificación génica (sitios de splice y codón de START fundamentalmente) son realmente necesarios en esta tarea.
Bibliografı́a
[1] Burset M. y Guigó R. (1996), Evaluation of gene structure prediction programs.
Genomics Vol. 34 (1996), pp. 353-367.
[2] Davuluri R, Grosse I y Zhang MQ (2001), Computational Identification of Promoters and First Exons in the Human Genome. http://rulai.cshl.edu/reprints/
firstef.pdf
[3] Guigó R y Zhang MQ (2004), Gene predictions and annotations. http://rulai.
cshl.edu/reprints/Chapter17.pdf
[4] Haussler D. (1998), Computational Genefinding. http://www.cse.ucsc.edu/
∼haussler/grpaper.pdf
[5] Rogic S. , Mackworth A.K. y Ouellette F.B. (2001), Evaluation of gene-finding
programs on mammalian sequences. Genome Res. Vol. 11 (2001), pp. 817-832.