Bioinformática práctica

:
procesamiento de cadenas y secuencias biológicas
Eugenio Jacobo Hernández Valdelamar
Fundación Arturo Rosenblueth. Insurgentes Sur 6!"#.
$olonia del Valle. $% !#&!!. '()ico* +.F.* '()ico
,ac-.mail.rosenblueth.m)
,ac-/h0.1ahoo.com
Resumen. En este artículo se aborda el tema del procesamiento de información biológica con
técnicas para el procesamiento de cadenas de caracteres. El objetivo es tratar el tema desde una
perspectiva de computación e informática para mostrar que hay cosas en el área que pueden aplicarse
en proyectos interdisciplinarios.
Palabras clave: biocomputación, bioinformática, procesamiento de cadenas de caracteres,
procesamiento de información biológica.
1. Introducción
Actualmente* aun2ue t(rminos como bioin3ormática o biotecnolog4a son mu1 sonados* 5ocas 5ersonas
conocen su alcance. 'ás a6n* la comunidad de tecnolog4as de la in3ormación 78I9 a6n no cuenta con
in3ormación com5leta sobre todo lo 2ue 5odr4a a5licar en el área de la biolog4a.
El ob,eti0o de este articulo es introducir a la comunidad de 8I al mundo de la bioin3ormática 5ero desde
una 5ers5ecti0a 2ue le sea 3amiliar* es decir* en lugar de iniciar hablando de genomas 1 A+:* el 5unto de
inicio de este traba,o son los algoritmos 1 el 5rocesamiento de datos e in3ormación.
;na de las tareas básicas de todo desarrollador de so3t<are es crear 5rogramas 5ara 5rocesar datos. :o
im5orta el ti5o de a5licación* siem5re habrá 2ue hacer con0ersiones entre ti5os de datos* 5rocesar archi0os
de te)to o binarios* o integrar* com5arar o analizar cadenas de caracteres.
Esta 6ltima acti0idad tiene mucho 2ue 0er con la bioin3ormática* 5ues todos los datos 2ue se obtienen de
los laboratorios deben analizarse* no solo 5ara encontrar algo es5ec43ico* sino 5ara encontrar relaciones de
las 2ue no se tiene conocimiento o re3erencia.
A2uellos dedicados al desarrollo de so3t<are* 5or lo general lidian con datos 2ue 0an desde el nombre de
una 5ersona* su dirección* 3echa de nacimiento* etc. * hasta in3ormación más com5le,a 2ue 5uede ser una
e)5resión regular o datos codi3icados. En el caso de la bioin3ormática la in3ormación tiene 2ue 0er con la
construcción 1 mantenimiento de un organismo 7genoti5o9* con sus caracter4sticas 34sicas 73enoti5o9 o su
com5ortamiento.
En ambos casos es un hecho el tener 2ue en3rentar el 5rocesamiento de grandes 0ol6menes de
in3ormación. =a di3erencia se da en el ti5o de 5rocesamiento 2ue ha1 2ue a5licarle a los datos o a la
in3ormación.
2. Procesamiento de cadenas de caracteres
=as com5utadoras traba,an con datos digitales 7! 1 &9* 2ue son la base del sistema de numeración binario.
=as com5utadoras usan este sistema de numeración 5ara denotar los datos en 3orma de bits. ;na serie de >
bits es un b1te. =a com5utadora 5uede re5resentar los datos en 3orma num(rica o en 3orma de caracteres
al3anum(ricos.
$uando están en 3orma num(rica* se re3iere a los datos 2ue son ci3ras 1 serán usados en o5eraciones
aritm(ticas. ? si están en 3orma de caracteres* 2uiere decir 2ue son letras* n6meros o s4mbolos 2ue no se
usarán en dichas o5eraciones. %or lo general* los datos al3anum(ricos o de caracteres se re5resentan
mediante el código AS$II 7American Standard $ode 3or In3ormation Interchange9.
=os caracteres son los blo2ues de construcción 3undamentales 5ara el intercambio de datos 1
5rocesamiento de los mismos. En el caso del 5rocesamiento* los 5rogramas 3uente se com5onen de una
secuencia de caracteres 2ue* agru5ados de manera signi3icati0a* son inter5retados 5or la com5utadora como
una serie de instrucciones 2ue sir0en 5ara lle0ar a cabo una tarea. En el caso de intercambio de datos* los
caracteres 5ueden agru5arse 5ara re5resentar identi3icadores* cla0es* 0alores o 3ormar te)tos 2ue el usuario
re2uiera.
;na cadena de caracteres es una secuencia de cero o más caracteres re5resentables 5or la com5utadora*
2ue se almacenan en un área contigua de memoria. ;na cadena 5uede incluir letras* d4gitos 1 di0ersos
caracteres es5eciales* como @* "* A* B* C 1 otros.
El almacenamiento de los caracteres 5uede realizarse en la memoria 5rinci5al o en dis5ositi0os de
almacenamiento secundario. En ambos casos es necesario el uso de estructuras de datos* 2ue son un
con,unto de 0ariables de un determinado ti5o agru5adas 1 organizadas de alguna manera 5ara re5resentar
un com5ortamiento. =o 2ue se 5retende con las estructuras de datos es 3acilitar un es2uema lógico 5ara
mani5ular los datos en 3unción del 5roblema 2ue ha1a 2ue tratar 1 el algoritmo 5ara resol0erlo.
Seg6n su com5ortamiento durante la e,ecución del 5rograma se distinguen estructuras de datos DEF
" EstáticasF su tamaGo en memoria es 3i,o. E,em5loF arreglos.
" +inámicasF su tamaGo en memoria es 0ariable. E,em5loF listas ligadas con a5untadores* archi0os*
etc.
En los lengua,es de 5rogramación las cadenas de caracteres se abstraen 5or lo general mediante arreglos*
2ue son estructura de datos 2ue constan de un n6mero 3i,o de elementos del mismo ti5o* en este caso
caracteres.
Algunas o5eraciones t45icas 2ue se realizan 5ara mani5ular las cadenas de caracteres sonF
• +eterminar la longitud de una cadena 7contar cuantos caracteres contiene9
• Encontrar determinado carácter o secuencia de caracteres dentro de una cadena
• Hbtener una subcadena de la cadena original
• $om5arar I cadenas
• ;nir I o más cadenas
• $on0ertir una cadena en otro ti5o de dato es5ec43ico
+e este 5unto en adelante el 5rocesamiento 5uede ser más so3isticado* 5or e,em5loF
• +eterminar si una cadena es 5al4ndromo
• $odi3icar los caracteres de la cadena en otro ti5o de in3ormación
• %rocesar subcadenas se5aradas 5or delimitadores
• %rocesar un 0ector de caracteres como si 3uese una matriz
• Inter5retar un comando contenido en la cadena
A continuación se e)5lora más a 3ondo el 5roceso de com5aración de cadenas de caracteres.
3. Comparación de cadenas de caracteres
=a com5aración entre cadenas consiste en a5licar o5eraciones de igualdad a cada uno de los elementos de
cada una de las cadenas* 1 determinar si la corres5ondencia en uno a uno. %or lo general cuando se
com5aran cadenas de caracteres el resultado es binarioJ es o no es igual. ;n caso un 5oco más so3isticado
es la 3unción strcm579 del lengua,e $ 2ue com5ara el 5rimer argumento con el segundo* carácter 5or
carácter. =a 3unción de0uel0e ! si las cadenas son iguales* un 0alor negati0o si la 5rimera cadena es menor
2ue la segunda 1 un 0alor 5ositi0o si la 5rimera cadena es ma1or 2ue la segunda.
Sin embargo ha1 casos donde la similitud 5arcial 5uede arro,ar resultados rele0antes 75.e,. b6s2ueda en la
Keb* un corrector ortográ3ico* etc.9. Si lo 2ue se re2uiere es com5arar la similitud entre cadenas* ha1
0arias 3ormas de abordar el 5roblemaF
Fig. &. 8i5os de com5araciones 5arciales de cadenas de caracteres.
• Comparación posicional. +adas I cadenas $& 1 $I* se alinean 1 se 5rocede a com5arar sus elementos
7listado &9J a2uellas ocurrencias de elementos 2ue se encuentren en la misma 5osición se suman 1
des5u(s se calcula el 5romedio 5ara obtener un 5orcenta,e de similitud 73ig. & caso &9. Este mismo
5roceso 5uede ser 0isualizado en una matriz 1 marcar en las celdas las ocurrencias 5ositi0as 73ig. &
caso #9.
public int comparacionPosicional (String sec1, String sec2) {
int sl=sec1.length(), hits=0;
Character a,b;

for (int i=0; isl; i!!){
a=ne" Character(sec1.char#t(i)); b=ne" Character(sec2.char#t(i));
if (a.compare$o(b)==0)
hits!!;
%
return hits;
%
istado &. '(todo en Ja0a 5ara com5arar I cadenas 5or la 5osiciones de sus elementos.
• Comparación de elementos contenidos. +adas I cadenas $& 1 $I* se alinean 1 se 5rocede a
com5arar sus elementosJ en este caso lo 2ue se 2uiere saber es cuantos elementos de $& se encuentran
en $I* sin im5ortar su 5osición 7listado I9. Se cuentan como similitudes las ocurrencias de los
elementos de $& en $I sin contar las re5eticiones 73ig. & caso I9.
public int comparacion&lementos (String sec1, String sec2) {
int sl=sec1.length(),hits=0;
'nteger tmp;
boolean flag=false;
Character a,b; ((elementos )e las ca)enas
*ap mapc= ne" $ree*ap(); ((estructura sin repeticiones

for (int i=0;isl;i!!)
mapc.put(ne" Character(sec1.char#t(i)),ne" 'nteger(0));
for ('terator it=mapc.entr+Set().iterator(); it.has,e-t(); ) {
*ap.&ntr+ e = (*ap.&ntr+) it.ne-t();
for (int i=0;isl;i!!){
if (e.get.e+().e/uals(ne" Character(sec2.char#t(i)))){
tmp= ('nteger) e.get0alue();
int t= tmp.int0alue();
e.set0alue(ne" 'nteger(t!!));
flag=true;
%
%
if (flag) {
hits!!; flag=false;
%
%
return hits;
%
istado I. '(todo en Ja0a 5ara com5arar I cadenas 5or los elementos 2ue contienen.
• Comparación por patrones. +adas I cadenas $& 1 $I* se alinean 1 se determina uno o 0arios
subcon,untos de $& 1 se 5rocede a buscar sus ocurrencias en $I. =as similitudes 5ueden ser absolutas*
si el subcon,unto e)acto de $& esta en $I o relati0as si un subcon,unto de $& se encuentra
5arcialmente en $I 73ig. & caso L9.
$abe mencionar 2ue e)isten otros m(todos de com5aración se basan en m(tricas DLE* como la distancia de
=e0enstein* la distancia de :eedleman"Kunch o la distancia de Smith"Katerman.
Ha1 2ue tomar en cuenta 2ue los casos 5resentados tienen la 5eculiaridad de o5erar sobre cadenas del
mismo tamaGo* 5ero M2u( 5asa si sus longitudes son di3erentesN
Fig. I. $om5aración 5osicional de I cadenas de di3erente longitud.
En este caso 73ig. I9 el grado de similitud 0aria si com5aramos $& 0s. $I o $I 0s. $&. ? esto no es todo*
5ues M2u( 5asa si se 2uieren com5arar más de I cadenasN
Fig. #. $om5aración 5osicional de # cadenas.
Al aumentar el numero de con,untos a com5arar las similitudes 0ar4an* 1 5ueden tenerse resultados 5or
5ares o un 5romedio global 73ig. #9 . En el e,em5lo solo # elementos de las # cadenas coinciden en la
com5aración 5osicional.
Hasta el momento se ha asumido 2ue los elementos de las cadenas están en un orden adecuado 5ara las
com5araciones* 5ero M2u( 5asa si los elementos de las cadenas no están en una 5osición adecuada 5ara
com5ararlosN
Fig. L. $om5aración 5osicional de I cadenas alineadas 1 no alineadas.
En un caso as4 5uede 2ue el resultado de la com5aración no sea mu1 6til. Su5óngase 2ue la cadena $I se
rota hacia la derecha # 5osiciones 73ig. L9. =o 2ue en un 5rinci5io 5roduc4a un grado de similitud de más del
!O* ahora ser4a igual a cero. Esto lo 2ue im5lica es 2ue deberán a5licarse trans3ormaciones 5osicionales
5ara alinear las cadenas 5ara aumentar el grado de similitud de la com5aración* 1a sea rotando la cadena a
la iz2uierda o a la derecha 73ig. P9* o e)5andi(ndola* es decir* agregando es5acios de manera 2ue los
contenidos coincidan.
Fig. P. Rotación 5ara la com5aración 5osicional de I cadenas no alineadas.
En el listado # se muestra la codi3icación de un m(todo 5ara rotar cadenas de caracteres* n 5osiciones hacia
la iz2uierda o hacia la derecha. Este m(todo en con,unto con el 5resentado en el listado & 2ue realiza la
com5aración 5osicional de I cadenas 5ueden combinarse 5ara buscar la me,or alineación de I cadenas
tratando con todas las 5osibles combinaciones.
(11 2otar str, n posiciones hacia la )erecha (0) o a la i3/.(1) 1 1(
public String rotar(String str, int n, int )ir) {
int isl= str.length();
if ()ir == 0)
return str.substring(isl4n,isl)!str.substring(0,isl4n);
else
return str.substring(n,isl)!str.substring(0,n);
%
(11 encontrar la me5or similitu) rotan)o una )e las secuencias 1(
public int alinea2otacion(String s1, String s2) {
int isl= s1.length();
Comparacion comp=ne" Comparacion();
for (int i=0; iisl; i!!){
S+stem.out.println(s1!646!s2!6476!comp.comparacionPosicional(s1,s2));
s2=this.rotar(s2,1,0);
%
return 0;
%
...
alin.alinea2otacion(6abc)ecchi6,6cghiabc)e6);
...
(( Sali)a )el m8to)o )e alineaci9n por rotaci9n
abc)ecchi4cghiabc)e471
abc)ecchi4ecghiabc)470
abc)ecchi4)ecghiabc471
abc)ecchi4c)ecghiab470
abc)ecchi4bc)ecghia470
abcdecchi-abcdecghi->8
abc)ecchi4iabc)ecgh471
abc)ecchi4hiabc)ecg470
abc)ecchi4ghiabc)ec471
istado #. '(todos en Ja0a 5ara rotar I cadenas 1 encontrar la me,or alineación 5or rotación.
$omo 5uede a5reciarse la com5aración de similitud entre cadenas de caracteres es un 5roblema
interesante 1 com5le,o. =a 5regunta inmediata es M 1 cómo se a5lica esto en la bioin3ormáticaN
!. Procesamiento de información biológica
%uesto 2ue no ha1 una de3inición 3ormal de lo 2ue es la in3ormación biológica* se 5ro5one 2ue 5uesto 2ue
la información es un con,unto de datos o hechos 2ue sir0en 5ara solucionar un 5roblema o res5onder una
5regunta 7datos @ signi3icado9* 5or tantoF
o la información biológica es un con,unto de datos o hechos 2ue sir0en 5ara solucionar 5roblemas o
res5onder 5reguntas en el área de la biolog4a. Está in3ormación 5ro0iene de los seres 0i0os.
=a in3ormación biológica 5uede ser de dos ti5os DQEF
• FenotipoF es la in3ormación de las caracter4sticas 34sicas del organismoJ cual2uier cosa obser0able
de la estructura* 3uncionamiento o com5ortamiento de un organismo 0i0o.
• GenotipoF es la in3ormación necesaria 5ara construir 1 mantener a los organismos 0i0osJ se
encuentra 5or lo general en las c(lulas 1 se 5asa de una generación a otra. Estas instrucciones
controlan los as5ectos de la 0ida de una c(lula o un organismo.
=a bioin3ormática se ocu5a de la a5licación de la com5utación a la in3ormación biológica* tales como
A+: o 5rote4nas D&!E. =os ti5os de datos del genoti5o inclu1en secuencias de nucleótidos 1 aminoácidos*
dominios de 5rote4nas 1 estructura de 5rote4nas.
Fig. 6. Rioin3ormáticaF in3ormación biológica 1 5rocesamiento.
En este conte)to 73ig. 69 es donde el 5rocesamiento de cadenas de caracteres cobra sentido* 5ues los
laboratorios 2ue generan las bases de datos con in3ormación de genomas o 5roteomas* de,an a dis5osición
una gran cantidad de datos 5ara 5rocesar.
Fig. . Sreas de traba,o en Rioin3ormática.
E)iste un área de traba,o en la bioin3ormática análisis e interpretación de secuencias biológicas dedicada
al desarrollo e im5lementación de herramientas 2ue 5ermitan el acceso* uso 1 mane,o de 0arios ti5os de
in3ormación. Esto im5lica el desarrollo de nue0os algoritmos con los cuales se 5ueda relacionar 5artes de
un con,unto enorme de datos* como 5or e,em5lo m(todos 5ara localizar un gen dentro de una secuencia*
5redecir estructura o 3unción de 5rote4nas 1 5oder agru5ar secuencias de 5rote4nas en 3amilias relacionadas.
En es5ec43ico el análisis de secuencias biológicas consiste en com5arar las secuencias 1 hacer
alineamientos con las mismas.
En el caso de los sistemas de e)5lotación* muchas tareas comunes en el traba,o con secuencias de A+: 1
5rote4nas* 5or e,em5lo su lectura* alineamiento* mane,o de bases de datos* etc.* son realizadas 5or medio de
5rogramas comerciales* 5or e,em5lo R=AS8* FAS8A* T$TJ a 3in de cuentas son soluciones 5ara com5arar
cadenas de caracteres* realizar alineamientos 1 0isualizar las similitudes entre secuencias biológicas.
". Comparación de secuencias biológicas
;na secuencia es una cadena lineal* 3inita 1 ordenada de s4mbolos 5ertenecientes a un al3abeto. El n6mero
de s4mbolos de la cadena re5resenta su longitud.
;n alfabeto 7A9 es un con,unto de s4mbolos di3erentes usados 5ara re5resentar las secuencias.
• A+: A U V a*c*g*tWu X
• %rote4nas A U V a*c*d*e*3*g*h*i*-*l*m*n*5*2*r*s*t*0*<*1 X
E)isten di0ersos al3abetos 7carácter 2u4mico* 3uncional* estructural* etc.9 en 3unción de lo 2ue se desea
e)5resar 1 mecanismos de traducción entre al3abetos.
El ob,eti0o 7inicial 1 algor4tmico9 de com5arar dos secuencias es encontrar la 5osición relati0a de ambas
en las 2ue se 5roduzca ma1or n6mero de coincidencias entre sus com5onentes.
=a comparación de secuencias consiste en buscar todas las zonas de similitud signi3icati0a entre dos o más
secuencias 5ara localizar caracter4sticas de inter(s comunes o di3erenciales entre 0arias secuencias.
$om5arar e)hausti0amente dos secuencias im5lica com5robar cada 5osición de una de ellas contra cada
5osición de la otra. =a in3ormación deri0ada 5uede relacionarse con las 3unciones* la estructura o
e0olución de c(lulas u organismos. =as relaciones entre secuencias 5ueden ser D&EF
• HomologasF secuencias similares en I organismos di3erentes deri0adas de una secuencia ancestro
com6n.
• OrtólogasF secuencias similares en I organismos di3erentes 2ue a5arecen a causa de un e0ento 2ue
mar2ue la a5arición de una nue0a es5ecie 7mutación9. =a 3uncionalidad se conser0a.
• ParálogasF secuencias similares en un mismo organismo 2ue a5arecen a causa de un e0ento de
du5licación de genes.
• XenólogasF secuencias similares 2ue a5arecen a causa de e0entos de trans3erencia horizontal
7simbiosis* 0irus* etc.9
Este 5roceso 5roduce una matriz de com5aración 2ue 5uede ser ins5eccionada 5ara detectar regiones de
similitud rele0ante. Ha1 dos m(todos básicos 5ara construir matrices de com5araciónF
• Comparación con ventana/astringencia. El m(todo de 0entanaBastringencia busca un n6mero
m4nimo de coincidencias o una 5untuación m4nima 7astringencia9 en una región cual2uiera de un
tamaGo m4nimo dado 70entana9 de las secuencias. Es más lento* 5ero no 3racasa en similitudes
am5lias con di3erencias di3usas o en coincidencias e)actas demasiado cortas 7a no ser 2ue se
5onga la astringencia mu1 alta9. %or tanto este m(todo 5uede no detectar estructuras mu1 5e2ueGas
como 5romotores. %ero si las regiones de similitud están d(bilmente relacionadas* el m(todo de
0entanaBastringencia 3uncionará me,or 2ue el de 5alabras.
• Comparación de palabras. $uando se usan 5alabras* la com5aración considera blo2ues del tamaGo
indicado* es decir* el tamaGo m4nimo de una coincidencia es el de una 5alabra. Este m(todo 5uede
ir unas mil 0eces más de5risa 2ue el de 0entanaBastringencia* 5ero tiene un costo en sensibilidadF si
una región de similitud 5osee un 5arecido alto 75.e,. PO9 5ero está mezclada mu1 uni3ormemente
con di3erencias 75.e, 2ue uno de cada cuatro residuos 3alla9* usando un tamaGo de 5alabra
inadecuado 75.e,. L9 5uede 5erderse 5or com5leto.
Fig. >. $om5aración de secuencias 5or 5alabras.
%uesto 2ue considerar todas las combinaciones 5osibles 5uede lle0ar 5otencialmente demasiado tiem5o* es
recomendable inicial las com5araciones usando el m(todo de 5alabras* 1 luego* si resulta ser 5oco e3ecti0o*
5asar al de 0entanaBastringencia.
#. $lineamiento de secuencias biológicas
A menudo* la similitud entre secuencias es bastante sencilla* 1 una 0ez 2ue se han identi3icado las zonas de
similitud 5uede desearse mirarlas de cerca* lo 2ue resulta más sencillo colocando las secuencias una al lado
de la otra 1 alineando los residuos comunes. Es decir* una ins5ección detallada de la similitud de secuencias
re2uiere alinear las regiones comunes de ambas secuencias.
Hb0iamente* esto tiene un costoF al alinear las secuencias colocándolas una ,unto a otra* solo se 5uede
alinear un segmento de una secuencia con un segmento de la otra 1 deben mantenerse en el orden en 2ue
a5arecen.
Alinear secuencias consiste en ,uiciosamente introducirles es5acios 5ara destacar su 5arecido. Si se
alinean I secuencias se llama alineamiento apareado 75air<ise9. Si se alinean más de I se llama
alineamiento múltiple. %ara determinar el 5arecido 5ueden a5licarse los m(todos basados en m(tricas DLE.
=os alineamientos sir0en 5ara DPEF
• Encontrar 5atrones de conser0ación.
• +escubrir homólogos.
• $onstruir ta)onom4as.
• In3erir los e0entos del 5roceso e0oluti0o.
Algunos m(todos 5ara alineamiento de I secuencias son DIED#EF
• Visuales. Si el carácter de la columna 1 el renglón coinciden se llena la celda. Se considera a las
diagonales como regiones de similaridad 73ig. Q9.
o Trá3icas de 5untos 7dot 5lots9
• Fuera bruta. +eterminar todas las 5osibles subsecuencias 5ara Y 1 ? 7similar a algunas t(cnicas
de desencri5ción usadas 5or los hac-ers9.
• Programación dinámica. =a idea de la 5rogramación dinámica es 5lantear la solución de un
5roblema en t(rminos de un caso más sencillo* 1 este en t(rminos de otro más sencillo* 1 as4
sucesi0amente 7en3o2ue recursi0o9. En el caso de un alineamiento* 5roblema 5ara dos secuencias
se 5uede 5lantear recursi0amente en t(rminos de subsecuencias de cada 0ez menor tamaGo. El
5roblema se resuel0e en : ) ' cálculos. =a 5rogramación dinámica e0ita e0aluar todas las
tra1ectorias. Se usa cuando ha1 muchas soluciones 5osibles* 1 se necesita encontrar una solución
ó5tima.
o Alineamiento global 7:eedleman"Kunsch9
o Alineamiento local 7Smith"Katerman9
o 'atrices %A' o +a1ho33
o 'atrices R=HS;'
• !lgoritmos "eur#sticos. ;na heur4stica es un 5rocedimiento 2ue 5ermite hallar una solución
a5ro)imada a un determinado 5roblema* sin asegurar 2ue el resultado es ó5timo* 5ero o3reciendo a
cambio ma1or 0elocidad de cálculo 71 en ocasiones* la 6nica 5osibilidad de hallar una solución9
DPE.
o Rasados en 5alabras 7- tu5la9
 R=AS8
El más sencillo es el m(todo 0isual e2ui0alente a la com5aración 5osicional de cadenas en 3orma de
matriz 73ig. & caso #9.
Fig. Q. E,em5lo de una grá3ica de 5untos 1 regiones de similaridad.
Alinear 5uede ser 0isto como un 5roceso de o5timización* 1a 2ue se ma)imiza el 5arecido entre las
secuencias. %or lo tanto el 5arecido debe 2ue tener un 0alor cuantitati0o* el cual está de3inido en el criterio
de e0aluación* el cual tiene al menos dos 5artes DPEF
• cómo 0alorar una sustitución 7id(ntica o no9*
• 1 cómo e0aluar un hueco 7ga59.
%. Conclusiones
El área de análisis e inter5retación de secuencias biológicas está 5lanteando el uso 1 desarrollo de m(todos
5ara la com5aración 1 alineamiento de cadenas de caracteres. Aun2ue en su conte)to las secuencias
biológicas a5ortan in3ormación sobre las caracter4sticas de los seres 0i0os* 5lantean en el área de
com5utación el desarrollo de algoritmos 1 herramientas 2ue 5ermitan a los biólogos mani5ular los datos de
las bases de in3ormación biológica.
Algo 2ue 0ale la 5ena comentar es la di3erencia entre com5arar 1 alinear en el conte)to de la
bioin3ormática. =a com5aración im5lica 2ue las secuencias se encuentren en una 5osición dada* mientras
2ue la alineación im5lica encontrar la 5osición o5tima 5ara conseguir un me,or resultado en la
com5aración.
%ara 5rogramar com5araciones o alineamientos es 5osible usar cual2uier lengua,e de 5rogramación* 1 si
tiene 3uncionesBm(todos de mani5ulación de cadenas de caracteres* mucho me,or. Estas a5licaciones
5ueden tender a un análisis manual de los resultados o a la automatización de dicho análisis.
+ebe notarse 2ue los 5roblemas 5lanteados 5or la bioin3ormática en relación al 5rocesamiento de
secuencias* son 5roblemas 2ue 1a e)ist4an en el área de com5utación* sim5lemente el conte)to de
a5licación 0ar4a.
Sin embargo* el 3actor 0elocidad es im5ortante a causa del 0olumen de datos. El crecimiento de los datos
re3eridos a las secuencias biológicas es es5ectacular. As4* la 5rimera 5rote4na secuenciada 7la insulina
humana9* re2uirió* con la tecnolog4a dis5onible en los aGos P! alrededor de &! aGos* en los 6! este traba,o
5odr4a haber re2uerido # aGos* en los ! sólo & aGo 1 en los >! una semana DPE. %or ello* contar con
com5utadoras 5otentes no es su3iciente si no se cuenta con algoritmos e3icientes.
$iertamente los diseGadores 1 5rogramadores no se 0ol0erán e)5ertos en biolog4a* 5ero con su traba,o
contribuirán al desarrollo de la bioin3ormática* biolog4a 1 medicina.
&eferencias
D&E $E$S 6QL"!I Introduction to bion3ormatics. =ecture notes. Eric $. Rouch-a. ;ni0ersit1 o3 =ouis0ille. I!!#.
htt5FBB-brin.-<ing.louis0ille.eduBZrouch-aB$E$S6QLB
DIE Algorithms 3or Se2uence Alignments. =ecture notes. .A. Rr[ngger* =abhead Rioin3ormatics :o0artis %harma AT.
I!!#. adrian.bruengger.5harma.no0artis.com
D#E %rotein se2uence alignments. ;ni0ersit1 o3 K1oming. 'H=RP6P!. S5ring I!!I
DLE Record =in-age 8utorialF +istance 'etrics 3or 8e)t. Killiam K. $ohen. $A=+. I!!#.
DPE $once5tos básicos de alineamiento de secuencias 1 de b6s2uedas 5or homolog4a en las bases de secuencias.
Ale,andro Tarciarrubio 1 Enri2ue 'erino. I!!#.
D6E Algorithms 3or 5air<ise alignment o3 biological se2uences. %eter Sesto3t. sesto3t.dina.-0l.d-. +e5artment o3
'athematics and %h1sics* \V=. I!!!"!L"!P
DE Estructuras de datos htt5FBBold.algoritmia.netBedB
D>E $om5utational 'olecular Riolog1F An Introduction. %eter $lote and Rol3 Rac-o3en* John Kile1 ] Sons* Inc. &QQ>.
htt5FBB<<<.cs.bc.eduBZcloteBcom5utationalRiolog18ableH3$ontents.html
DQE Riological in3ormation. %ro3essor John Rlamire . I!!!. htt5FBB<<<.broo-l1n.cun1.eduBbcBah5BRioIn3oB
D&!E Rioin3ormáticaF una nue0a área de o5ortunidad. Eugenio Jacobo Hernández Valdelamar. $:$II$ A:IEI I!!I.
D&&E Se2uence Anal1sis Kith +istributed Resources htt5FBBbibiser0.tech3a-.uni"biele3eld.deBsadrBinde)I.html