<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0188-9532</journal-id>
<journal-title><![CDATA[Revista mexicana de ingeniería biomédica]]></journal-title>
<abbrev-journal-title><![CDATA[Rev. mex. ing. bioméd]]></abbrev-journal-title>
<issn>0188-9532</issn>
<publisher>
<publisher-name><![CDATA[Sociedad Mexicana de Ingeniería Biomédica]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0188-95322015000300010</article-id>
<article-id pub-id-type="doi">10.17488/RMIB.36.3.6</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[De la Secuenciación a la Aceleración Hardware de los Programas de Alineación de ADN, una Revisión Integral]]></article-title>
<article-title xml:lang="en"><![CDATA[From sequencing to hardware acceleration of DNA alignment software: A integral review]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pacheco Bautista]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[González Pérez]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Algredo Badillo]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Popular Autónoma del Estado de Puebla  ]]></institution>
<addr-line><![CDATA[Puebla ]]></addr-line>
<country>México</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Politécnica de Tlaxcala  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2015</year>
</pub-date>
<volume>36</volume>
<numero>3</numero>
<fpage>259</fpage>
<lpage>277</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_arttext&amp;pid=S0188-95322015000300010&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_abstract&amp;pid=S0188-95322015000300010&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_pdf&amp;pid=S0188-95322015000300010&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[En los últimos años ha ocurrido un avance impresionante en las máquinas de secuenciación paralela masiva, también llamadas de secuenciación de siguiente generación (NGS), por ejemplo, máquinas recientes como Illumina Hiseq son capaces de generar millones de lecturas en una sola corrida. No obstante, estas tecnologías están limitadas a secuenciar solo fragmentos pequeños de material genético (entre 35 y 1100 nucleótidos), por lo que para secuenciar un genoma completo es necesario dividir la cadena, secuenciar y posteriormente ensamblar las lecturas cortas obtenidas. En este trabajo se revisan y comparan las tecnologías de secuenciación recientes, se estudia el proceso de ensamble de genomas completos y se establece formalmente el problema de la alineación. También se incluye un resumen de los principales programas de alineación y sus algoritmos que lo soportan. Finalmente, después de concluir que las tecnologías de secuenciación han superado en velocidad por un factor mayor a 10x a los programas de alineación, se revisa la aceleración Hardware como alternativa para acelerar tales programas. Este trabajo al ser una revisión integral pretende contribuir al desarrollo de investigación en el área de bioinformática en el país.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[In recent years, impressive progress has occurred in the machines of massively parallel sequencing, also called of next-generation sequencing (NGS), for example, recent machines like Illumina HiSeq are capable of generating millions of reads in a single run. However, these technologies are limited to sequence only small fragments of genetic material (35 to 1100 nucleotides), so that for complete-genome sequencing, it is necessary to divide the chain, to sequence the fragments, and, subsequently, to assemble the obtained short readings. In this paper, the recent NGS sequencing technologies are reviewed and compared, analyzing the problem of sequence assembly, and formally establishing the problem of alignment. Also, it is examined the main alignment programs and the algorithms that support them. Finally, after concluding that sequencing technologies have speed that exceeds 10 times to the speed of the alignment programs, the hardware acceleration is reviewed as an alternative to accelerate these programs. This work, which is a comprehensive analysis and review, aims to contribute to the development of the research in the area of bioinformatics in the country.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[secuenciación NGS]]></kwd>
<kwd lng="es"><![CDATA[mapeo]]></kwd>
<kwd lng="es"><![CDATA[bioinformática]]></kwd>
<kwd lng="es"><![CDATA[aceleración hardware]]></kwd>
<kwd lng="en"><![CDATA[NGS sequencing]]></kwd>
<kwd lng="en"><![CDATA[mapping]]></kwd>
<kwd lng="en"><![CDATA[bioinformatics]]></kwd>
<kwd lng="en"><![CDATA[hardware acceleration]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  	    <p align="justify"><font face="verdana" size="4">Art&iacute;culo de revisi&oacute;n</font></p>      <p>&nbsp;</p>  	    <p align="center"><font face="verdana" size="4"><b>De la Secuenciaci&oacute;n a la Aceleraci&oacute;n Hardware de los Programas de Alineaci&oacute;n de ADN, una Revisi&oacute;n Integral</b></font></p>  	    <p>&nbsp;</p>  	    <p align="center"><font face="verdana" size="3"><b>From sequencing to hardware acceleration of DNA alignment software: A integral review</b></font></p>  	    <p>&nbsp;</p>  	    <p align="center"><font face="verdana" size="2"><b>D. Pacheco Bautista<sup>1</sup>, M. Gonz&aacute;lez P&eacute;rez<sup>1</sup>, I. Algredo Badillo<sup>2</sup></b></font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><i>Universidad Popular Aut&oacute;noma del Estado de Puebla.<sup>1</sup></i></font></p>  	    ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2"><i>Universidad Polit&eacute;cnica de Tlaxcala.<sup>2</sup></i></font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>Correspondencia:    <br></b>Daniel Pacheco Bautista    <br> 	<i>Ciudad Universitaria S/N Barrio Sta. Cruz Tagolaba, C.P. 70760, Tehuantepec, Oaxaca.</i>    <br> 	Correo electr&oacute;nico: <a href="mailto:dpachecob@bianni.unistmo.edu.mx">dpachecob@bianni.unistmo.edu.mx</a></font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2">Fecha de recepci&oacute;n: 8 de julio de 2015.    <br> 	Fecha de aceptaci&oacute;n: 3 de septiembre de 2015.</font></p>  	    <p>&nbsp;</p>  	    ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2"><b>RESUMEN</b></font></p>      <p align="justify"><font face="verdana" size="2">En los &uacute;ltimos a&ntilde;os ha ocurrido un avance impresionante en las m&aacute;quinas de secuenciaci&oacute;n paralela masiva, tambi&eacute;n llamadas de secuenciaci&oacute;n de siguiente generaci&oacute;n (NGS), por ejemplo, m&aacute;quinas recientes como Illumina Hiseq son capaces de generar millones de lecturas en una sola corrida. No obstante, estas tecnolog&iacute;as est&aacute;n limitadas a secuenciar solo fragmentos peque&ntilde;os de material gen&eacute;tico (entre 35 y 1100 nucle&oacute;tidos), por lo que para secuenciar un genoma completo es necesario dividir la cadena, secuenciar y posteriormente ensamblar las lecturas cortas obtenidas. En este trabajo se revisan y comparan las tecnolog&iacute;as de secuenciaci&oacute;n recientes, se estudia el proceso de ensamble de genomas completos y se establece formalmente el problema de la alineaci&oacute;n. Tambi&eacute;n se incluye un resumen de los principales programas de alineaci&oacute;n y sus algoritmos que lo soportan. Finalmente, despu&eacute;s de concluir que las tecnolog&iacute;as de secuenciaci&oacute;n han superado en velocidad por un factor mayor a 10x a los programas de alineaci&oacute;n, se revisa la aceleraci&oacute;n Hardware como alternativa para acelerar tales programas. Este trabajo al ser una revisi&oacute;n integral pretende contribuir al desarrollo de investigaci&oacute;n en el &aacute;rea de bioinform&aacute;tica en el pa&iacute;s.</font></p>  	    <p align="justify"><font face="verdana" size="2"><b>Palabras clave:</b> secuenciaci&oacute;n NGS, mapeo, bioinform&aacute;tica, aceleraci&oacute;n hardware.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>ABSTRACT</b></font></p>      <p align="justify"><font face="verdana" size="2">In recent years, impressive progress has occurred in the machines of massively parallel sequencing, also called of next&#45;generation sequencing (NGS), for example, recent machines like Illumina HiSeq are capable of generating millions of reads in a single run. However, these technologies are limited to sequence only small fragments of genetic material (35 to 1100 nucleotides), so that for complete&#45;genome sequencing, it is necessary to divide the chain, to sequence the fragments, and, subsequently, to assemble the obtained short readings. In this paper, the recent NGS sequencing technologies are reviewed and compared, analyzing the problem of sequence assembly, and formally establishing the problem of alignment. Also, it is examined the main alignment programs and the algorithms that support them. Finally, after concluding that sequencing technologies have speed that exceeds 10 times to the speed of the alignment programs, the hardware acceleration is reviewed as an alternative to accelerate these programs. This work, which is a comprehensive analysis and review, aims to contribute to the development of the research in the area of bioinformatics in the country.</font></p>  	    <p align="justify"><font face="verdana" size="2"><b>Keywords:</b> NGS sequencing, mapping, bioinformatics, hardware acceleration.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>INTRODUCCI&Oacute;N</b></font></p>  	    <p align="justify"><font face="verdana" size="2">La secuenciaci&oacute;n de ADN, es el proceso mediante el cual se determina el orden de las bases nucleicas (Adenina, Guanina, Citosina y Timina) dentro de una cadena de ADN, siendo una tarea clave en biolog&iacute;a molecular, gen&oacute;mica y medicina (1). En los &uacute;ltimos a&ntilde;os, los avances tecnol&oacute;gicos han hecho posible secuenciar en forma m&aacute;s econ&oacute;mica y r&aacute;pida enormes cantidades de material gen&eacute;tico abriendo oportunidades sin precedentes para la investigaci&oacute;n y el diagnostico. La secuenciaci&oacute;n de ADN tiene una lista larga y vers&aacute;til de aplicaciones, siendo una tecnolog&iacute;a clave en la investigaci&oacute;n de algunos tipos de c&aacute;ncer, as&iacute; como del VIH, ayuda tambi&eacute;n a incrementar el conocimiento b&aacute;sico de organismos y c&eacute;lulas, diagnostico de pacientes, investigaci&oacute;n a la resistencia de drogas, o predisposici&oacute;n a enfermedades. Adicionalmente el precio de secuenciar un genoma humano pronto caer&aacute; por debajo de 1000 d&oacute;lares, este precio ha sido considerado por mucho tiempo el punto clave para la generalizaci&oacute;n de la medicina personalizada. La idea es que una vez que el precio caiga por debajo de esa cantidad, finalmente sea suficientemente efectivo en costo para permitir a los m&eacute;dicos, entregar tratamientos basados en la gen&eacute;tica del paciente. En lugar de administrar tratamientos basados en ex&aacute;menes y s&iacute;ntomas, el m&eacute;dico ser&aacute; capaz de revisar el genoma del paciente para diagnosticar y perfeccionar tratamientos desde la diabetes hasta el alzh&eacute;imer. Lamentablemente, las m&aacute;quinas de secuenciaci&oacute;n actuales est&aacute;n limitadas a secuenciar segmentos cortos de ADN, por lo que para secuenciar un genoma completo es necesario dividirlo en segmentos, secuenciarlos y posteriormente ensamblar los c&oacute;digos obtenidos mediante software sofisticado con elevada complejidad temporal y espacial. Estos programas aun cuando tiene soporte para ejecuci&oacute;n en m&uacute;ltiples n&uacute;cleos y/o m&uacute;ltiples procesadores, no pueden competir con la velocidad de las m&aacute;quinas de secuenciaci&oacute;n modernas, representando el cuello de botella del proceso de an&aacute;lisis. En este art&iacute;culo se presenta un panorama global de la secuenciaci&oacute;n enfatizando en el problema de la alineaci&oacute;n, con un estudio de los programas m&aacute;s utilizados y los algoritmos que los soportan, as&iacute; como una descripci&oacute;n de las posibles alternativas para su aceleraci&oacute;n mediante hardware especializado.</font></p>  	    ]]></body>
<body><![CDATA[<p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>SECUENCIACI&Oacute;N Y TECNOLOG&Iacute;AS NGS</b></font></p>  	    <p align="justify"><font face="verdana" size="2">La secuenciaci&oacute;n de ADN tiene sus inicios en 1977, cuando Frederick Sanger y equipo desarrollaron el m&eacute;todo de secuenciaci&oacute;n enzim&aacute;tica, tambi&eacute;n conocida como secuenciaci&oacute;n Sanger, didesoxi o de finalizaci&oacute;n de cadena (2), y Maxam y Gilbert desarrollaron el m&eacute;todo de secuenciaci&oacute;n qu&iacute;mica (3). Debido a su alta eficiencia y baja radioactividad, la secuenciaci&oacute;n Sanger fue adoptada como la tecnolog&iacute;a primaria en la "primer generaci&oacute;n" de aplicaciones de secuenciaci&oacute;n comerciales y de laboratorio. En sus inicios, la secuenciaci&oacute;n Sanger era laboriosa y requer&iacute;a de materiales radioactivos, despu&eacute;s de a&ntilde;os de mejora Applied Biosystems introdujo la primera m&aacute;quina de secuenciaci&oacute;n autom&aacute;tica (nombrada ABI370) en 1987, adoptando electroforesis capilar (EC), la cual hizo el proceso m&aacute;s r&aacute;pido y exacto. AB370 pod&iacute;a detectar 96 nucle&oacute;tidos simult&aacute;neamente, 500K nucle&oacute;tidos al d&iacute;a, y las longitudes de lectura alcanzaban los 600 nucle&oacute;tidos. Los instrumentos de secuenciaci&oacute;n autom&aacute;tica basados en EC y secuenciaci&oacute;n Sanger, as&iacute; como el software asociado, llegaron a ser las herramientas principales para la culminaci&oacute;n del proyecto del genoma humano en el 2003 (4). Este proyecto estimul&oacute; fuertemente el desarrollo de nuevos instrumentos de secuenciaci&oacute;n para incrementar la velocidad y exactitud reduciendo simult&aacute;neamente los costos y la mano de obra, surgiendo, en el 2005, las tecnolog&iacute;as de secuenciaci&oacute;n nombradas de siguiente generaci&oacute;n o tecnolog&iacute;as NGS, las cuales difieren del m&eacute;todo de Sanger fundamentalmente en el uso exhaustivo de tecnolog&iacute;a paralela. En el 2005, 454 Life Sciences lanza al mercado el secuenciador 454, un a&ntilde;o despu&eacute;s Solexa hace lo propio con el secuenciador Genome Analyzer (Que recientemente evolucion&oacute; a Hiseq), seguido por el lanzamiento de SOLID de la empresa Agencourt, CGA de complete Genomics y PacBio RS de Pacific Biosciences, los cuales son sistemas representativos de secuenciaci&oacute;n paralela masiva o tecnolog&iacute;a NGS. Algunas de estas compa&ntilde;&iacute;as fundadoras fueron compradas posteriormente por otras compa&ntilde;&iacute;as: En el 2006 Agencourt fue comprada por Applied Biosystem, y en el 2007, 454 fue comprada por Roche, mientras que Solexa fue comprada por Ilumina. Despu&eacute;s de a&ntilde;os de evoluci&oacute;n los sistemas NGS exhiben cada vez mejor desarrollo y ventajas propias de la tecnolog&iacute;a espec&iacute;fica, como se muestra en la <a href="/img/revistas/rmib/v36n3/a10t1.jpg" target="_blank">Tabla 1.</a> En general algunas tecnolog&iacute;as ya superan el Terabyte de lecturas producidas por corrida, mientras que otras alcanzan exactitudes comparables con la lograda por el m&eacute;todo de Sanger. No obstante la longitud de lecturas limitada a valores iguales o inferiores a 1100 nucle&oacute;tidos sigue siendo su principal limitante. Actualmente los secuenciadores NGS son comercializados por un n&uacute;mero importante de empresas, cada una desarrollando y aplicando diferentes m&eacute;todos y tecnolog&iacute;as (<a href="/img/revistas/rmib/v36n3/a10t2.jpg" target="_blank">Tabla 2</a>), sin embargo a pesar del dinamismo tecnol&oacute;gico hay principios generales utilizados en la construcci&oacute;n de tales dispositivos.</font></p>  	    <p align="justify"><font face="verdana" size="2">Las plataformas NGS comparten tres pasos fundamentales: Preparaci&oacute;n de la muestra, inmovilizaci&oacute;n y detecci&oacute;n (<a href="/img/revistas/rmib/v36n3/a10f1.jpg" target="_blank">Figura 1</a>) (5) (6) (7). Generalmente la preparaci&oacute;n de la muestra, involucra la adici&oacute;n de secuencias de ADN comunes o universales, conocidas como "adaptadores", a los extremos de hebras de ADN fragmentado aleatoriamente, la preparaci&oacute;n resultante es nombrada "librer&iacute;a de secuenciaci&oacute;n". En la etapa de inmovilizaci&oacute;n, los adaptadores se utilizan para sujetar los fragmentos de ADN a una superficie s&oacute;lida, de esta manera definiendo el sitio en el cual la reacci&oacute;n de secuenciaci&oacute;n comenzar&aacute;, adicionalmente, de secuenciaci&oacute;n se amplifica para formar a excepci&oacute;n de PacBio RS, la librer&iacute;a caracter&iacute;sticas de secuenciaci&oacute;n detectables y distinguidas espacialmente. El paso final del proceso es la detecci&oacute;n. Las plataformas de secuenciaci&oacute;n NGS integran una variedad de tecnolog&iacute;as &oacute;pticas y de fluidos, para desarrollar y monitorear las reacciones de secuenciaci&oacute;n molecular, las cuales pueden ser mediante s&iacute;ntesis de la polimerasa de ADN o ligaci&oacute;n de oligonucle&oacute;tidos fluorescentes. Cada ciclo de detecci&oacute;n consiste en la incorporaci&oacute;n de un sustrato de &aacute;cido nucleico detectable al templado inmovilizado, lavado y captura de im&aacute;genes o se&ntilde;ales del evento molecular mediante sistemas &oacute;pticos de alta velocidad. El ciclo de incorporaci&oacute;n, lavado y captura se repite hasta obtener la lectura de la secuencia completa de ADN.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>SECUENCIACI&Oacute;N DE CADENAS LARGAS DE ADN</b></font></p>  	    <p align="justify"><font face="verdana" size="2">Las lecturas obtenidas de los instrumentos de secuenciaci&oacute;n de cualquier generaci&oacute;n son demasiado cortas como para cubrir regiones de inter&eacute;s en investigaci&oacute;n gen&oacute;mica, por lo que fue necesario el desarrollo de m&eacute;todos que permitieran secuenciar segmentos m&aacute;s largos de ADN e incluso de genomas completos (WGS, del ingl&eacute;s Whole Genome Sequencing). La estrategia m&aacute;s utilizada se conoce con el nombre de secuenciaci&oacute;n Shotgun (8), y se ilustra de manera simplificada en la <a href="/img/revistas/rmib/v36n3/a10f2.jpg" target="_blank">Figura 2</a>. En esta t&eacute;cnica la cadena de ADN a secuenciar se clona a trav&eacute;s del uso de PCR o mediante una bacteria anfitri&oacute;n, el n&uacute;mero de copias que se obtienen se conoce como cobertura. Posteriormente la muestra resultante se divide aleatoriamente en peque&ntilde;os fragmentos y se secuenc&iacute;a en forma desordenada mediante alguna de las tecnolog&iacute;as revisadas previamente, la divisi&oacute;n aleatoria crea fragmentos de diferente tama&ntilde;o por lo que en este paso es necesario elegir &uacute;nicamente las que se encuentran en un rango apropiado para la tecnolog&iacute;a de secuenciaci&oacute;n a utilizar. Una vez obtenidas las lecturas, los traslapes entre estas se utilizan para reconstruir mediante t&eacute;cnicas computacionales sofisticadas la secuencia original, a este &uacute;ltimo paso se le conoce como ensamble de fragmentos.</font></p>  	    <p align="justify"><font face="verdana" size="2">El ensamble de fragmentos es una tarea ardua, realizada mediante t&eacute;cnicas computacionales de elevadas prestaciones. El objetivo es reconstruir la cadena que representa el c&oacute;digo gen&eacute;tico de la mol&eacute;cula original a partir de los millones de lecturas obtenidas mediante las m&aacute;quinas NGS. Lo anterior puede llevarse a cabo mediante dos formas, en la primera la reconstrucci&oacute;n se realiza utilizando como referencia un genoma secuenciado previamente, tal mecanismo recibe el nombre de alineaci&oacute;n o mapeo. La segunda reconstruye la cadena a partir exclusivamente de las lecturas secuenciadas, y es conocida como ensamble De Novo o simplemente Ensamble. El resto de este art&iacute;culo est&aacute; dedicado a la alineaci&oacute;n o mapeo, referimos al lector interesado en ensamble De Novo a consultar las referencias (10) y (11) para un estudio m&aacute;s profundo.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>ALINEACI&Oacute;N DE LECTURAS CORTAS</b></font></p>  	    ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2">La alineaci&oacute;n de lecturas cortas se utiliza en proyectos de re&#45;secuenciaci&oacute;n, donde se obtiene el c&oacute;digo gen&eacute;tico de miembros de una especie que ha sido secuenciado previamente mediante un m&eacute;todo De Novo. El ejemplo m&aacute;s cl&aacute;sico es el del ser humano, en tales proyectos se persigue encontrar variaciones gen&oacute;micas que caractericen en forma particular a un individuo mediante comparaci&oacute;n con los resultados obtenidos del proyecto del genoma humano, intentando explicar t&oacute;picos como susceptibilidad a enfermedades, rasgos fisiol&oacute;gicos caracter&iacute;sticos, resistencia a drogas, etc. En tales aplicaciones, la elevada cantidad de datos generadas por las tecnolog&iacute;as NGS as&iacute; como la limitada longitud de las lecturas producidas evita el uso de programas de alineaci&oacute;n tradicionales como BLAST (12). Adicionalmente, a diferencia de las aplicaciones de alineaci&oacute;n t&iacute;picas, el inter&eacute;s ahora est&aacute; centrado en localizar variaciones m&iacute;nimas entre las lecturas <i>y</i> la referencia, es decir se procesan genomas que se espera tengan elevada similitud con el genoma de referencia. Para dimensionar el problema, en el ejemplo del genoma humano, el n&uacute;mero de lecturas <i>m</i> es usualmente 10<sup>7</sup> &#45; 10<sup>8</sup>, la longitud de u na lectura <i>l</i> es de 35&#45;1100 nucle&oacute;tidos, la longitud del genoma |R| es 3 x 10<sup>9</sup> nucle&oacute;tidos y las variaciones entre un humano y otro son apenas alrededor del 0.1% (13). Lo anterior ha incubado el desarrollo de nuevos programas de alineaci&oacute;n de baja sensibilidad y alta velocidad denominados alineadores de lecturas cortas, cuyos principios de funcionamiento ser&aacute;n tratados en esta y en la siguiente secci&oacute;n.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>Definici&oacute;n del problema de la alineaci&oacute;n</b></font></p>  	    <p align="justify"><font face="verdana" size="2">A partir de la discusi&oacute;n previa y de la teor&iacute;a de secunciaci&oacute;n NGS, pueden determinarse algunas caracter&iacute;sticas importantes del problema de la alineaci&oacute;n de lecturas cortas de ADN:</font></p>  	    <blockquote> 		    <p align="justify"><font face="verdana" size="2">&bull; El alfabeto est&aacute; constituido por 4 letras &#931;= {<i>A, C, G, T</i>} cada un a representando a un nucle&oacute;tido, sin embargo cuando no se sabe el tipo de base en una secuencia es com&uacute;n usar el s&iacute;mbolo <i>N</i> en su lugar.</font></p>  		    <p align="justify"><font face="verdana" size="2">&bull; El genoma de referencia es fijo y conocido previamente, su tama&ntilde;o es del orden de unas decenas a miles de millones de nucle&oacute;tidos. Lo que sugiere que pueda indexarse una sola vez y reutilizarse en cada proyecto de re&#45;secuenciaci&oacute;n de esa misma especie.</font></p>  		    <p align="justify"><font face="verdana" size="2">&bull; Las lecturas tienen una longitud fija entre 35&#45;1100 nucle&oacute;tidos para las tecnolog&iacute;as de secuenciaci&oacute;n actuales. La cantidad de lecturas suele ser muy grande del orden de millones por cada pasada de las m&aacute;quinas NGS.</font></p>  		    <p align="justify"><font face="verdana" size="2">&bull; La similitud entre el genoma de referencia y el genoma re&#45;secuenciado es aproximadamente del 99.9 %.</font></p> 	</blockquote>  	    <p align="justify"><font face="verdana" size="2">Ante este panorama el problema del mapeo puede establecerse en forma general de la siguiente manera:</font></p>      	    ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2"><i>Entradas:</i></font></p>  	    <blockquote>         <p align="justify"><font face="verdana" size="2">&bull; Un conjunto de lecturas cortas de ADN <i>f<sub>1</sub>,..., f<sub>m</sub>,</i> cada una de longitud <i>l</i>.</font></p>  		    <p align="justify"><font face="verdana" size="2">&bull; Una secuencia de referencia <i>R</i> de tama&ntilde;o <i>&#124;R</i>&#124;</font></p>  		    <p align="justify"><font face="verdana" size="2">&bull; Un grupo de restricciones del proceso</font></p>          		    <p align="justify"><font face="verdana" size="2"><i>Salida:</i></font></p>  		    <p align="justify"><font face="verdana" size="2">&bull; Posiciones en <i>R</i> en donde cada lectura se mapea exacta o aproximadamente.</font></p> 	</blockquote>  	    <p align="justify"><font face="verdana" size="2">El grupo de restricciones puede variar dependiendo de la plataforma espec&iacute;fica de secuenciaci&oacute;n NGS utilizada, as&iacute; como del tipo de datos procesados, es decir, si los datos generados son lecturas sencillas o por pares, pero tambi&eacute;n de restricciones impuestas por el usuario. Es importante notar como la definici&oacute;n de mapeo establecida debe permitir alineaciones aproximadas, debido fundamentalmente a ciertas particularidades que ocurren en el genoma y en la secuenciaci&oacute;n, las cuales ser&aacute;n revisadas a continuaci&oacute;n.</font></p>  	    <p align="justify"><font face="verdana" size="2"><b>Diferencias biol&oacute;gicas:</b> Son diferencias locales peque&ntilde;as del genoma siendo considerado con respecto al genoma de referencia conocido para su especie, ocurren con una frecuencia de aproximadamente 1/1000 en el caso del genoma humano (13). Un ejemplo de estos son los polimorfismos de nucle&oacute;tido simple (SNP), los cuales b&aacute;sicamente representan la sustituci&oacute;n de un solo nucle&oacute;tido de la cadena de referencia (<a href="#f3">Figura 3a</a>), los SNPs ocurren principalmente por la diversidad encontrada dentro de una misma especie, por ejemplo en el caso de los humanos un SNP podr&iacute;a ser responsable del color del cabello o la susceptibilidad a una enfermedad en particular. Otras variaciones biol&oacute;gicas que ocurren en secuencias gen&oacute;micas son las inserciones y las supresiones (indels), en la cual un segmento de la lectura difiere de la referencia debido a la inserci&oacute;n o supresi&oacute;n de una o m&aacute;s bases. Los indels causan un desplazamiento de las bases con respecto al genoma de referencia, tal como se muestra en los incisos b y c de la <a href="#f3">Figura 3</a>.</font></p>  	    <p align="center"><font face="verdana" size="2"><a name="f3"></a></font></p>  	    ]]></body>
<body><![CDATA[<p align="center"><font face="verdana" size="2"><img src="/img/revistas/rmib/v36n3/a10f3.jpg"></font></p>  	    <p align="justify"><font face="verdana" size="2"><b>Errores de secuenciaci&oacute;n:</b> Un error de secuenciaci&oacute;n ocurre cuando la m&aacute;quina de secuenciaci&oacute;n etiqueta incorrectamente una base. Por ejemplo en la <a href="#f4">Figura 4</a>, se reporta un nucle&oacute;tido de guanina (G) en el genoma, en donde un nucle&oacute;tido de Adenina (A) ocurre realmente. Es posible diferenciarlo de un SNP debido a que un error m&aacute;quina generalmente ocurre en una &uacute;nica fila de las lecturas, mientras que un SNP ocurre en todas las lecturas que cubren esa regi&oacute;n. De esta forma la cobertura o profundidad de las lecturas cortas puede utilizarse para detectar y corregir el error. La frecuencia de ocurrencia de los errores de secuenciaci&oacute;n es muy baja, alrededor del 1% en las lecturas de la mayor&iacute;a de las tecnolog&iacute;as NGS (5).</font></p>  	    <p align="center"><font face="verdana" size="2"><a name="f4"></a></font></p>  	    <p align="center"><font face="verdana" size="2"><img src="/img/revistas/rmib/v36n3/a10f4.jpg"></font></p>  	    <p align="justify"><font face="verdana" size="2"><b>Repeticiones:&nbsp;</b>Normalmente los genomas contienen gran cantidad de regiones repetidas, las cuales crean problemas de alineaci&oacute;n fundamentalmente por las limitadas longitudes de las lecturas generadas por las m&aacute;quinas NGS, en esencia entre m&aacute;s cortas sean tales lecturas, mayor es la probabilidad de que se concuerden err&oacute;neamente en localidades del genoma que se repiten. Este punto se trata en varias formas, dependiendo del programa usado, muchos programas utilizan la primer concordancia para la alineaci&oacute;n, mientras que otros descartan &aacute;reas repetitivas completamente, lamentablemente ninguno de los m&eacute;todos resuelve el problema, recurriendo a soluciones m&aacute;s sofisticadas como el uso de lecturas por pares.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>PROGRAMAS DE ALINEACI&Oacute;N</b></font></p>  	    <p align="justify"><font face="verdana" size="2">El desarrollo acelerado de las tecnolog&iacute;as NGS ha provocado, en los &uacute;ltimos a&ntilde;os, el surgimiento de gran cantidad de software para la alineaci&oacute;n de lecturas cortas. Al respecto existen diferentes trabajos que han revisado y comparado desde diversos puntos de vista tales aplicaciones, el m&aacute;s completo es el de Fonseca y equipo (14) quienes presentan un an&aacute;lisis comparativo de 60 programas de este tipo. Otros trabajos como los de las referencias (15), (16) y (17), limitan el estudio a un peque&ntilde;o subconjunto de tales programas (los m&aacute;s utilizados y referenciados al momento de escribir cada art&iacute;culo), pero analiz&aacute;ndolos en forma m&aacute;s profunda. En realidad, es dif&iacute;cil poder aseverar que un programa sea mejor que otro, cada uno muestra caracter&iacute;sticas particulares que lo hace apropiado a determinada plataforma de secuenciaci&oacute;n (illumina, Roche 454, etc.), o a un tipo de dato espec&iacute;fico (ADN, bisulfito, miARN, ARN, etc.). Tambi&eacute;n difieren en la forma en que reportan los resultados de la alineaci&oacute;n, el n&uacute;mero de desapareos, inserciones y supresiones (indels) permitidas, la habilidad de permitir indels consecutivos, la capacidad de alinear lecturas apareadas (PE), el uso de informaci&oacute;n de calidad (QA), entre otras variantes. La <a href="/img/revistas/rmib/v36n3/a10t3.jpg" target="_blank">Tabla 3</a> resume las caracter&iacute;sticas de los programas de alineaci&oacute;n m&aacute;s representativos en la actualidad.</font></p>  	    <p align="justify"><font face="verdana" size="2">Por otra parte, algor&iacute;tmicamente la mayor&iacute;a de los programas de alineaci&oacute;n de lecturas cortas utilizan solo dos estrategias: Tablas Hash y Transformada de Burrows&#45;Wheeler (TBW), esta &uacute;ltima siendo el resultado de la evoluci&oacute;n de los &aacute;rboles y arreglos de sufijos. Ambas estrategias ser&aacute;n discutidas en los apartados siguientes.</font></p>  	    <p>&nbsp;</p>  	    ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2"><b>Algoritmos basados en Tablas Hash</b></font></p>  	    <p align="justify"><font face="verdana" size="2">Para lograr eficiencia, todos los m&eacute;todos deben basarse en un tipo de pre&#45;computo. Tablas Hash utiliza la idea de compilar una lista de todas las palabras de longitud <i>l</i> y determinar una sola vez sus posiciones en el genoma de referencia. Posteriormente puede utilizarse un algoritmo de hasheo, para transformar una lectura corta en una clave que permita una b&uacute;squeda r&aacute;pida. Aunque esta idea es te&oacute;ricamente concebible, falla en la pr&aacute;ctica por el uso excesivo de memoria en la computadora, adem&aacute;s de que, el esquema b&aacute;sico a&uacute;n no considera alineaciones inexactas. Una posible soluci&oacute;n a este problema es el uso de <i>k &#45; mers</i> (subcadenas de longitud k, con <i>k &lt;</i> l), eligiendo un valor de <i>k</i> mucho menor a <i>l</i> se pueden almacenar todos los <i>k&#45; mers</i> traslapados, que aparezcan en la referencia en una lista, tal como se observa en la parte a de la <a href="#f5">Figura 5</a>. Posteriormente cada lectura puede dividirse en semillas de longitud <i>k</i> y buscarse sobre la lista (ver <a href="#f5">Figura 5</a>, parte b).</font></p>  	    <p align="center"><font face="verdana" size="2"><a name="f5"></a></font></p>  	    <p align="center"><font face="verdana" size="2"><img src="/img/revistas/rmib/v36n3/a10f5.jpg"></font></p>  	    <p align="justify"><font face="verdana" size="2">Si las semillas de una lectura se encuentran en la lista, en el orden correcto y adjuntas una a otra, la lectura existe en el genoma (parte c y d de la <a href="#f5">Figura 5</a>). En t&eacute;rminos del espacio utilizado, ahora el problema es m&aacute;s tratable ya que hay a lo mucho 4<sup>k</sup> diferentes <i>k&#45; mers</i> en el genoma. A&uacute;n as&iacute; este algoritmo no permite alineaci&oacute;n inexacta.</font></p>  	    <p align="justify"><font face="verdana" size="2">El algoritmo previo puede modificarse para alinear lecturas permitiendo errores (desapareos e indels). Suponga que se permiten dos errores durante la alineaci&oacute;n, en tal caso se puede asegurar que a lo mucho dos de los <i>k&#45; mers</i> en que se ha dividido la lectura contendr&aacute;n errores y el resto de estos no los contendr&aacute;n, aline&aacute;ndose en forma exacta al genoma (ver <a href="#f6">Figura 6</a>), lo anterior se conoce como el principio de las cajas o del palomar. Los <i>k &#45; mers</i> que se alinean perfectamente al genoma constituyen una "semilla", y al aplicar un algoritmo m&aacute;s preciso como los basados en programaci&oacute;n din&aacute;mica en la vecindad de esta semilla, es posible alinear la lectura conteniendo errores. Esta estrategia de dos pasos llamada "siembra y extiende" se implementa en muchas herramientas tales como MAQ (18), PASS (19), SSAHA2 (20), SOAP (21), RMAP (22) y SeqMap (23).</font></p>  	    <p align="center"><font face="verdana" size="2"><a name="f6"></a></font></p>  	    <p align="center"><font face="verdana" size="2"><img src="/img/revistas/rmib/v36n3/a10f6.jpg"></font></p>  	    <p align="justify"><font face="verdana" size="2">El problema fundamental del algoritmo siembra y extiende es que las lecturas necesitan dividirse en subcadenas cada vez m&aacute;s peque&ntilde;as cuando el n&uacute;mero de errores permitidos se incrementa. Estas subcadenas tan peque&ntilde;as suelen producir errores en la fase de sembrado, puesto que tienen mayor probabilidad de alinearse equivocadamente en m&uacute;ltiples regiones del genoma (falsos positivos), es por esta raz&oacute;n que no es com&uacute;n el uso de semillas de menos de 10 nucle&oacute;tidos. Para sobrellevar el problema, algunos programas como ZOOM (24), GASSST (25), BFAST (26) y SHRiMP2 (27) han recurrido al uso de semillas espaciadas, es decir semillas conteniendo posiciones "no importa", en las cuales el algoritmo no checa el tipo de nucle&oacute;tido presente. Por ejemplo, indicando a x como la posici&oacute;n no importa, la semilla AGTCxGA es capaz de alinearse a AGTCAGA, AGTCCGA, etc. Es evidente que utilizar un conjunto de semillas espaciadas en lugar de una semilla regular incrementa la sensibilidad del m&eacute;todo, aunque tiene el efecto lateral de incrementar el tiempo de c&oacute;mputo.</font></p>  	    <p align="justify"><font face="verdana" size="2">Las herramientas basadas en el algoritmo siembra y extiende gastan la mayor parte del tiempo en la etapa de extensi&oacute;n, implementada usualmente mediante alg&uacute;n algoritmo de programaci&oacute;n din&aacute;mica, como el Smith&#45;Waterman (28) o el Needleman&#45;Wush (29), los cuales permiten en forma natural alineaciones locales con indels y desapareos. Para superar la complejidad temporal de esta etapa, los programas utilizan optimizaciones comunes de los algoritmos de programaci&oacute;n din&aacute;mica y en algunos casos, como en SHRiMP2, comandos especiales del CPU para paralelizar el trabajo. Otros m&eacute;todos agregan un paso intermedio entre la siembra y la extensi&oacute;n, tal es el caso de GASSST, el cual cada vez que encuentra una semilla, compara r&aacute;pidamente la regi&oacute;n vecina con el resto de la lectura, usando un algoritmo mucho m&aacute;s r&aacute;pido que los de programaci&oacute;n din&aacute;mica. La etapa agregada denominada filtro, consiste en calcular la distancia de Euler, la cual halla el n&uacute;mero de letras de cada tipo en las regiones comparadas, si por ejemplo se trata de alinear una regi&oacute;n conteniendo tres As, con una regi&oacute;n que contiene cinco As, es evidente la existencia de al menos dos errores en la alineaci&oacute;n, de esta forma las regiones que no cumplan con este filtro pueden ser descartadas disminuyendo notablemente la carga de la etapa de alineaci&oacute;n. Esta variante del algoritmo se llama apropiadamente siembra, filtra y extiende.</font></p>  	    ]]></body>
<body><![CDATA[<p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>Algoritmos basados en TBW</b></font></p>  	    <p align="justify"><font face="verdana" size="2">La transformada de Burrows&#45;Wheeler (TBW), presentada originalmente en (30), es un algoritmo que transforma una cadena de caracteres en otra mucho m&aacute;s f&aacute;cil de comprimir. El re&#45;ordenamiento se hace en tal modo que la cadena resultante agrupa los caracteres similares en la cadena original, de esta forma puede comprimirse f&aacute;cilmente usando codificaci&oacute;n <i>move&#45;to&#45;front y</i> codificaci&oacute;n <i>run&#45;length.</i> No obstante, recientemente la TBW encontr&oacute; una aplicaci&oacute;n diferente a la compresi&oacute;n de datos, luego de que Ferragina <i>y</i> Manzini (31), mostraron como la TBW hereda todas las propiedades y potencia comput acional de los arreglo s de sufijos, pero requiriendo mucho menos espacio en memoria que estos. De esta forma numerosos programas de alineaci&oacute;n recientes como SOAP2 (32), Bowtie (33) y BWA (34), utilizan la TBW como estructura de datos principal.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>Transformada de Burrows&#45;Wheeler</b></font></p>  	    <p align="justify"><font face="verdana" size="2">M&aacute;s que establecer una definici&oacute;n rigurosa de la TBW, en lo que sigue se presenta el algoritmo mediante el ejemplo simple mostrado en la <a href="#f7">Figura 7</a>. Sea <i>R</i> = <i>TAGACAGA</i> la cadena de entrada a transformar, &#931; = {<i>A, C, G, T</i>&#125;, el alfabeto sobre el cual es construida la cadena, y &#36; un car&aacute;cter especial lexicogr&aacute;ficamente menor que todos los otros caracteres en <i>&#931;.</i> El algoritmo comienza agregando el car&aacute;cter especial &#36; a la cadena de entrada R4, de esta forma obteniendo la secuencia <i>R' = TAGACAGA&#36;,</i> el car&aacute;cter especial es necesario para poder revertir la transformaci&oacute;n y mantener la compatibilidad con el arreglo de sufijos equivalente. Posteriormente se generan todas las rotaciones de <i>R' y</i> se colocan en un arreglo conceptual como se muestra en la <a href="#f7">Figura 7a</a>, Observe como en tal arreglo pueden identificarse todos los sufijos posibles de la cadena <i>R.</i> Finalmente las rotaciones se ordenan lexicogr&aacute;ficamente como se muestra en la <a href="#f7">Figura 7b</a>. La &uacute;ltima columna del arreglo es la transformada buscada, en el ejemplo: <i>L</i>(<i>i</i>)<i> = AGGCTAAA&#36;.</i> En los arreglos de la <a href="#f7">Figura 7</a> las variables <i>i</i> y S(i) representan el &iacute;ndice de los arreglos, y el arreglo de sufijos correspondientes, ambas colocadas solamente por claridad.</font></p>  	    <p align="center"><font face="verdana" size="2"><a name="f7"></a></font></p>  	    <p align="center"><font face="verdana" size="2"><img src="/img/revistas/rmib/v36n3/a10f7.jpg"></font></p>  	    <p align="justify"><font face="verdana" size="2">A pesar de que el uso asint&oacute;tico de memoria es <i>0</i>(|R|), la cantidad de almacenamiento que se requiere para guardar la TBW es significantemente m&aacute;s peque&ntilde;o que el necesario para un arreglo de sufijos. Almacenar la TBW requiere el mismo espacio que el texto original, ya que esta es solo una permutaci&oacute;n de dicho texto. Adicionalmente, en el caso tratado, el alfabeto consiste de solo cuatro letras, de tal forma que cada una de estas puede representarse mediante dos bits, as&iacute; para almacenar la TBW del genoma humano se requiere ~ 2 * 3 * 10<sup>9</sup> bits, en lugar de los ~ 32 * 3 * 10<sup>9</sup> bits del arreglo de sufijos del mismo, suponiendo que cada entero utiliza 32 bits, como en la mayor&iacute;a de las aplicaciones</font></p>  	    <p>&nbsp;</p>  	    ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2"><b>Los &iacute;ndices de FM</b></font></p>  	    <p align="justify"><font face="verdana" size="2">En el 2000, Paolo Ferragina y Geovanni Manzini publicaron un art&iacute;culo (31) en el que se describ&iacute;a como la TBW junto con algunas estructuras de datos auxiliares, podr&iacute;an usarse como un &iacute;ndice de R eficiente en espacio, a lo que llamaron &iacute;ndices de FM. La clave es el principio denominado &Uacute;ltimo&#45;Primero enunciado a continuaci&oacute;n:</font></p>  	    <p align="justify"><font face="verdana" size="2"><b>Lema:</b> (<i>Propiedad de mapeo &Uacute;ltimo&#45;Primero</i>) <i>La j&#45;&eacute;sima ocurrencia de una letra en particular X en la &uacute;ltima columna (L) de la matriz TBW, es la misma letra como la j&#45;&eacute;sima ocurrencia de X en la primera columna (F).</i></font></p>  	    <p align="justify"><font face="verdana" size="2">Suponga que se desea buscar las ocurrencias del patr&oacute;n <i>P = AGA</i> en la cadena de referencia <i>R</i> del ejemplo anterior Puesto que al igual que el arreglo de sufijos, la matriz <i>TBW</i> est&aacute; ordenada lexicogr&aacute;ficamente, las filas conteniendo a <i>P</i> como un prefijo se encontrar&aacute;n de manera consecutiva El procedimiento de b&uacute;squeda se basa en el &iacute;ndice formado por <i>F</i>, <i>L</i> y un vector que contiene en cada posici&oacute;n i el n&uacute;mero de veces que el car&aacute;cter <i>L&#91;i&#93;</i> ha aparecido desde el inicio hasta esa fila e incluida esta, denominado vector de rango (<a href="/img/revistas/rmib/v36n3/a10f8.jpg" target="_blank">Figura 8</a>) La b&uacute;squeda inicia, encontrando las filas que comienzan con el sufijo m&aacute;s corto de <i>P, A</i> en este caso, lo anterior es trivial puesto que la primera columna es parte del &iacute;ndice, estas filas son aquellas en el intervalo &#91;1,4&#93; (<a href="/img/revistas/rmib/v36n3/a10f8.jpg" target="_blank">Figura 8a</a>). A continuaci&oacute;n puede agregarse el siguiente car&aacute;cter a la b&uacute;squeda formando el segundo sufijo m&aacute;s corto del patr&oacute;n: <i>GA.</i> El espacio de b&uacute;squeda ahora est&aacute; limitado al intervalo &#91;1,4&#93; hallado previamente. Observando la columna <i>L</i> en ese rango puede notarse que existen dos filas en las cuales <i>G</i> precede a A (filas 1 y 2), y de acuerdo al vector de rango, estas corresponden a la primera y segunda aparici&oacute;n de <i>G</i> en <i>L.</i> Finalmente, por el mapeo LF puede determinarse que esos mismos caracteres se localizan en las filas 6 y 7 de <i>F</i> (primera y segunda aparici&oacute;n de <i>G</i> en <i>F),</i> en otras palabras, se ha obtenido un nuevo intervalo de b&uacute;squeda: &#91;6,7&#93;, como se muestra en la <a href="/img/revistas/rmib/v36n3/a10f8.jpg" target="_blank">Figura 8b</a>. Posteriormente se agrega el &uacute;ltimo car&aacute;cter del patr&oacute;n buscado, formando el sufijo AGA. Nuevamente revisando <i>L</i> en el intervalo encontrado, puede observarse que existen dos filas en las cuales A precede al prefijo GA (filas 6 y 7), y al aplicar el mapeo LF se halla que esos mismos caracteres en <i>L</i> se encuentran en las posiciones 3 y 4 respectivamente, el cual efectivamente es el intervalo en el que aparece el prefijo buscado (<a href="/img/revistas/rmib/v36n3/a10f8.jpg" target="_blank">Figura 8c</a>).</font></p>  	    <p align="justify"><font face="verdana" size="2">Observe como en la <a href="/img/revistas/rmib/v36n3/a10f8.jpg" target="_blank">Figura 8</a>, se incluy&oacute; la matriz TBW completa solo por claridad, interviniendo en este ejemplo inicial solo la primera y la &uacute;ltima columna de la misma. Este procedimiento es llamado b&uacute;squeda hacia atr&aacute;s. En resumen, consiste en aplicar el mapeo LF repetidamente para encontrar el rango de filas prefijadas por sufijos de <i>P</i> alargados progresivamente, hasta que el rango llegue a estar vac&iacute;o, lo cual ocurre si <i>P</i> no existe en <i>R,</i> o hasta que se termine con los sufijos, en cuyo caso el tama&ntilde;o del rango es el n&uacute;mero de veces que <i>P</i> ocurre en <i>R.</i></font></p>  	    <p align="justify"><font face="verdana" size="2">La complejidad temporal del mismo puede mejorarse si en lugar de almacenar un vector de rangos se almacena la matriz de ocurrencia O, en cada fila de tal matriz se guarda un entero para cada car&aacute;cter del alfabeto igual al n&uacute;mero de veces que el car&aacute;cter ha aparecido en L, hasta ese n&uacute;mero de fila e incluida esta, lo anterior puede observarse en la <a href="#f9">Figura 9</a>. Ahora en lugar de escanear la &uacute;ltima columna, simplemente se busca el car&aacute;cter apropiado en los extremos izquierdo y derecho del rango actual, si no hay diferencias entre las dos b&uacute;squedas, el car&aacute;cter no ocurre. Si hay una o m&aacute;s ocurrencias del car&aacute;cter, la b&uacute;squeda dar&aacute; los rangos de esas ocurrencias.</font></p>  	    <p align="center"><font face="verdana" size="2"><a name="f9"></a></font></p>  	    <p align="center"><font face="verdana" size="2"><img src="/img/revistas/rmib/v36n3/a10f9.jpg"></font></p>  	    <p align="justify"><font face="verdana" size="2">El algoritmo de b&uacute;squeda formalizado, adaptado de la referencia (31), se presenta en la <a href="#f10">Figura 10</a>. En este interviene la matriz de ocurrencias <i>O</i> previamente definida y el arreglo unidimensional <i>C</i> de longitud <i>&#124;&#931;&#124;</i> en donde <i>C&#91;'x'&#93;</i> representa el n&uacute;mero de caracteres en <i>R</i> que son lexicogr&aacute;ficamente m&aacute;s peque&ntilde;os que <i>'x'</i> sin considerar el car&aacute;cter especial $. En el ejemplo particular que se ha seguido este corresponde a:</font></p>  	    <p align="center"><font face="verdana" size="2"><img src="/img/revistas/rmib/v36n3/a10e1.jpg"></font></p>  	    ]]></body>
<body><![CDATA[<p align="center"><font face="verdana" size="2"><a name="f10"></a></font></p>  	    <p align="center"><font face="verdana" size="2"><img src="/img/revistas/rmib/v36n3/a10f10.jpg"></font></p>  	    <p align="justify"><font face="verdana" size="2">Las variables <i>k</i> y <i>l</i> representan los extremos actuales del intervalo inferior y superior respectivamente, <i>P</i> el patr&oacute;n buscado, i un apuntador y &#963; una variable que contiene el car&aacute;cter del patr&oacute;n procesado actualmente. Las l&iacute;neas 2 a 4 inicializan el proceso colocando el &iacute;ndice i apuntando al car&aacute;cter m&aacute;s a la derecha del patr&oacute;n y los indices <i>k</i> y <i>l</i> indican el intervalo m&aacute;s grande posible de b&uacute;squeda (0 y &#124;R&#124;&#45;1, respectivamente).</font></p>  	    <p align="justify"><font face="verdana" size="2">Las l&iacute;neas 5 a la 10 forman el n&uacute;cleo del proceso, b&aacute;sicamente el bucle toma uno a uno los car&aacute;cteres del patr&oacute;n de derecha a izquierda, aplicando el mapeo &uacute;ltimo a primero en las l&iacute;neas 7 y 8 para definir el nuevo intervalo de b&uacute;squeda, tal como se explic&oacute; previamente. Observe como el t&eacute;rmino C&#91;&#963;&#93; + 1, en realidad se&ntilde;ala la primer posici&oacute;n de aparici&oacute;n del car&aacute;cter <i>a</i> en la primera fila y es adicionada al temrino <i>O &#91;&#963;, k</i> &#45; 1&#93;, que representa el n&uacute;mero de ocurrencias del mismo car&aacute;cter hasta la fila <i>k</i> &#45;1, para obtener el mepeo deseado. Finalmente el algoritmo retorna el intervalo &#91;k,j&#93; si k &#8804; <i>l o</i> un intervalo vac&iacute;o en caso contrario (l&iacute;neas 10 a 15).</font></p>  	    <p align="justify"><font face="verdana" size="2">La complejidad temporal del algoritmo es O(|P|), el hecho de que la complejidad en tiempo no dependa del tama&ntilde;o de la cadena de referencia es sumamente ventajoso para este tipo de aplicaciones, en donde secuencias cortas se alinean a cadenas extremadamente largas tales como el genoma humano.</font></p>  	    <p align="justify"><font face="verdana" size="2">Por otra parte, el esquema que acaba de presentarse no toma en cuenta b&uacute;squedas aproximadas. No obstante es posible adaptar el algoritmo para conseguirlo, habitualmente esto se logra mediante uno de los siguientes m&eacute;todos:</font></p>  	    <blockquote> 		    <p align="justify"><font face="verdana" size="2">&bull; Expresando la b&uacute;squeda aproximada en t&eacute;rminos de muchas b&uacute;squedas exactas. La idea b&aacute;sica es crear la vecindad de palabras del patr&oacute;n <i>P,</i> que se encuentren a una distancia de edici&oacute;n <i>k</i> (siendo <i>k</i> el n&uacute;mero de diferencias permitidas en la b&uacute;squeda). Una vez generada la vecindad simplemente se busca cada palabra sobre el &iacute;ndice y se guarda cada acierto como una concordancia aproximada en esa ubicaci&oacute;n dentro del texto. Lo anterior puede sonar muy simple sin embargo, el tama&ntilde;o de la vecindad crece abruptamente al incrementar el n&uacute;mero de diferencias permitidas. El tama&ntilde;o de la vecindad de una palabra est&aacute; limitado a O(|P|<sup>k</sup>|&#931;|<sup>k</sup>), as&iacute; si se intenta crear la vecindad de una lectura corta de ADN con 32 bases nucleicas de longitud y permitiendo 3 diferencias, el n&uacute;mero de palabras ser&iacute;a de 2,985,984. Debido a la explosi&oacute;n combinatoria, el m&eacute;todo solo es pr&aacute;ctico para valores peque&ntilde;os de <i>k.</i></font></p>  		    <p align="justify"><font face="verdana" size="2">&bull; Adoptando la estrategia siembra y extiende. La t&eacute;cnica es id&eacute;ntica a la presentada en la secci&oacute;n dedicada a tablas hash. De acuerdo a los par&aacute;metros de la b&uacute;squeda algunas sub&#45;cadenas del patr&oacute;n se localizan en forma exacta en el &iacute;ndice y se suman a una lista de concordancias candidatas, las cuales son posteriormente examinadas alrededor de sus posiciones mediante un algoritmo m&aacute;s preciso, validando o no la concordancia del patr&oacute;n completo.</font></p> 	</blockquote>  	    <p align="justify"><font face="verdana" size="2">El lector interesado puede encontrar en (35), una descripci&oacute;n m&aacute;s detallada acerca de posibles modos de hallar concordancias aproximadas. Debe notarse que, distinto a lo que pasa con tablas Hash, en tal esquema de b&uacute;squeda no se modifica el &iacute;ndice al permitir diferencias, la extensi&oacute;n es siempre realizada algor&iacute;tmicamente, pero desarrollando una b&uacute;squeda m&aacute;s compleja.</font></p>  	    ]]></body>
<body><![CDATA[<p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>ACELERACI&Oacute;N HARDWARE</b></font></p>  	    <p align="justify"><font face="verdana" size="2">Los datos NGS consisten de miles de millones de lecturas cortas, por lo que la mayor&iacute;a de los programas de alineaci&oacute;n, tienen soporte para ejecuci&oacute;n paralela en sistemas con memoria distribuida (cl&uacute;steres compuestos por m&uacute;ltiples computadoras) y/o usando memoria compartida (equipos de c&oacute;mputo con m&uacute;ltiples n&uacute;cleos). A&uacute;n as&iacute;, los tiempos para terminar la tarea, siguen siendo muy elevados (14) (36). Por ejemplo, en (14), los autores comparan emp&iacute;ricamente la velocidad computacional y requisitos de memoria de algunos alineadores representativos, utilizando como referencia el genoma humano (<i>Homo Sapiens, assembly GRCh37</i>). Al alinear un mill&oacute;n de lecturas cortas de 100 nucle&oacute;tidos de longitud a tal genoma, los resultados muestran que los alineadores BWA, Bowtie y SOAP2 (m&aacute;s eficientes en la comparaci&oacute;n), utilizan en promedio 97, 169 y 176 minutos, mientras requieren 7.6, 5 y 5.3 Gb de memoria RAM respectivamente. En contraste la producci&oacute;n de esta misma cantidad de lecturas mediante un secuenciador NGS, por ejemplo Hiseq, es de aproximadamente 5 minutos (Ver <a href="/img/revistas/rmib/v36n3/a10t2.jpg" target="_blank">tabla 2</a>). Esta diferencia entre tiempos de generaci&oacute;n y alineaci&oacute;n, ha creado la necesidad de nuevas formas de acelerar los programas de alineaci&oacute;n, abriendo una nueva &aacute;rea de aplicaci&oacute;n a la aceleraci&oacute;n hardware.</font></p>  	    <p align="justify"><font face="verdana" size="2">En c&oacute;mputo, la aceleraci&oacute;n hardware es el uso de circuitos especializados para desarrollar alguna funci&oacute;n m&aacute;s r&aacute;pida que la lograda mediante la ejecuci&oacute;n del algoritmo sobre un procesador de prop&oacute;sito general. En la actualidad las alternativas m&aacute;s generalizadas para implementarla son: los circuitos integrados de aplicaci&oacute;n espec&iacute;fica (ASIC), las unidades de aceleraci&oacute;n gr&aacute;fica (GPUs), y los dispositivos l&oacute;gicos programables en el campo (FPGAs), todas estas pueden permitir que miles de unidades trabajen simult&aacute;neamente logrando el procesamiento paralelo masivo de los datos. Esta t&eacute;cnica aunque pueda parecer universalmente efectiva, solo toma ventaja cuando las funciones incluyen c&aacute;lculos repetitivos e independientes, tal es el caso del proceso de alineaci&oacute;n de ADN en donde millones de lecturas se alinean al genoma de referencia de forma independiente unas de otras.</font></p>  	    <p align="justify"><font face="verdana" size="2">Los ASIC tienen un desempe&ntilde;o superior al de sus contrincantes, permitiendo el m&iacute;nimo consumo de potencia y la m&aacute;s alta velocidad de procesamiento, sin embargo a diferencia de los GPUs y los FPGAs no pueden reprogramarse, este factor limitante resulta en un incremento en el tiempo de desarrollo y en los costos de ingenier&iacute;a no recurrente (NRE). Por su parte, las GPUs son coprocesadores paralelos muy econ&oacute;micos con una enorme penetraci&oacute;n en el mercado, dedicados al procesamiento de gr&aacute;ficos u operaciones de coma flotante, para aligerar la carga de trabajo del procesador central en aplicaciones como los videojuegos o aplicaciones 3D interactivas, tienen una memoria con gran ancho de banda y un n&uacute;mero elevado de n&uacute;cleos programables, con miles de hilos hardware ejecutando programas en un modo Programa &Uacute;nico M&uacute;ltiples Datos (SPMD), son flexibles y f&aacute;ciles de programar usando lenguajes de alto nivel y APIs las cuales abstraen la mayor&iacute;a de los detalles del hardware. Comparado a la arquitectura hardware fija del GPU, los FPGAs son esencialmente arreglos densos de bloques l&oacute;gicos programables, prefabricados y que el desarrollador puede (re)configurar m&oacute;dulo a m&oacute;dulo para darle la funcionalidad deseada. De esta forma se tiene el control de los compromisos entre recursos, desarrollo y nivel de paralelismo, obteniendo dise&ntilde;os superiores en desempe&ntilde;o a los basados en GPUs y cercanos en eficiencia a un ASIC (37). Lamentablemente aunque algunos vendedores proveen n&uacute;cleos con propiedad intelectual (IP) que ofrecen la mayor&iacute;a de las funciones de procesamiento m&aacute;s comunes, la configuraci&oacute;n de un FPGA requiere el uso de lenguajes de descripci&oacute;n de hardware los cuales son m&aacute;s complejos de utilizar que los lenguajes comunes de alto nivel.</font></p>  	    <p align="justify"><font face="verdana" size="2">Existen en la literatura varios trabajos que se han enfocado en acelerar los algoritmos de alineaci&oacute;n de lecturas mediante hardware especializado. SOAP3 presentado en (38) es una presentaci&oacute;n GPU habilitada por CUDA del popular software de alineaci&oacute;n SOAP. Sus creadores reportan aceleraciones de 7.5X comparado a BWA, no obstante, su dise&ntilde;o no soporta alineaci&oacute;n con espacios. CUSHAW presentado en (39) es tambi&eacute;n una implementaci&oacute;n basada en CUDA de los &iacute;ndices de FM, no permite alineaciones con espacios y reporta una aceleraci&oacute;n de 6X comparado a la versi&oacute;n multihilos de BWA. En (40) los autores presentan SHEPARD una implementaci&oacute;n FPGA de un algoritmo basado en tablas Hash sobre la plataforma de alto desarrollo Convey HC1. Reportan velocidades extremadamente altas comparadas con herramientas software como BWA, Bowtie y MAQ. No obstante, su arquitectura soporta &uacute;nicamente alineaci&oacute;n exacta y es capaz de alinear solo un bajo porcentaje de las lecturas entrantes, adem&aacute;s de utilizar una elevada cantidad de memoria. En (41) se presenta la primer implementaci&oacute;n de alineaci&oacute;n exacta mediante los &iacute;ndices de FM. Al comparar sus resultados con el software de alineaci&oacute;n BOWTIE, obtienen aceleraciones mayores a 100X, sin embargo al almacenar la tabla de ocurrencia y el vector de frecuencia en m&oacute;dulos BRAM, su aplicaci&oacute;n se limita a cadenas de ADN relativamente cortas. Una mejora importante al trabajo de Fern&aacute;ndez se reporta en (42), su m&eacute;todo consiste de dos componentes claves, un alineador de lecturas exacto para el grueso del proceso de alineaci&oacute;n y un alineador aproximado para los casos restantes. La arquitectura se implementa mediante configuraci&oacute;n din&aacute;mica en el FPGA, maximizando el uso de recursos del mismo. Muestran que una implementaci&oacute;n particular de su m&eacute;todo utilizando un solo FPGA puede ser 293 veces m&aacute;s r&aacute;pido que BWA sobre un procesador Intel X5650, y 134 veces m&aacute;s r&aacute;pido que SOAP3 en una tarjeta NVIDIA GTX 580 GPU. En (43), se presenta un acelerador hardware del software BWA, los autores reportan una aceleraci&oacute;n de 10X. El dise&ntilde;o &uacute;nicamente est&aacute; probado en una referencia de pocos miles de nucle&oacute;tidos, resultando en una velocidad de procesamiento menor que la utilizada usando referencias m&aacute;s grandes. A excepci&oacute;n de SOAP3 y CUSHAW, el resto de los dise&ntilde;os son versiones preliminares y los resultados comparativos con alineadores software son estimaciones a partir de la raz&oacute;n de procesamiento.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>DISCUSI&Oacute;N Y CONCLUSIONES</b></font></p>  	    <p align="justify"><font face="verdana" size="2">La secuenciaci&oacute;n de ADN es un &aacute;rea activa de investigaci&oacute;n a nivel mundial. Por una parte, los fabricantes de m&aacute;quinas NGS se han enfocado en el uso altamente masivo de dispositivos de fluidos &oacute;pticos y electr&oacute;nicos, todos a escala microsc&oacute;pica, logrando la producci&oacute;n de enormes cantidades de lecturas por corrida, no obstante est&aacute;n limitadas a secuenciar solo fragmentos cortos de ADN, por lo que el reto es incrementar la longitud de tales fragmentos a miles o millones de nucle&oacute;tidos, y en un futuro no muy lejano de genomas completos sin necesidad de segmentar el mismo. Por otra parte los desarrolladores de software buscan continuamente algoritmos m&aacute;s eficientes en tiempo y espacio para llevar a cabo el ensamble de fragmentos, utilizando instrucciones especiales para ejecuci&oacute;n paralela en m&uacute;ltiples n&uacute;cleos y/o procesadores. Un tercer grupo de investigadores incursiona en acelerar los algoritmos de ensamble mediante alternativas diferentes a la ejecuci&oacute;n sobre procesadores de prop&oacute;sito general, en este sentido existen dos opciones fundamentales, las GPUs y los FPGAs, ambas ofrecen miles de n&uacute;cleos hardware trabajando en paralelo. Los primeros son una opci&oacute;n muy econ&oacute;mica y son relativamente f&aacute;ciles de programar mientras que los segundos ofrecen una mayor efectividad y flexibilidad a costa de mayor complejidad en su configuraci&oacute;n y precio elevado. A pesar de estos esfuerzos existe a&uacute;n la diferencia entre el tiempo de producci&oacute;n y de ensamble de fragmentos en un orden superior a 10x, convirti&eacute;ndose esta &uacute;ltima etapa en el cuello de botella del proceso de an&aacute;lisis de ADN.</font></p>  	    <p>&nbsp;</p>  	    ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2"><b>RECONOCIMIENTOS</b></font></p>  	    <p align="justify"><font face="verdana" size="2">Este proyecto fue apoyado por el programa para el mejoramiento del profesorado (PROMEP) y la Universidad del Istmo (UNISTMO) a trav&eacute;s de la beca con folio UNISTMO&#45;003.</font></p>  	    <p>&nbsp;</p>  	    <p align="justify"><font face="verdana" size="2"><b>REFERENCIAS</b></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">1. Frese, K.S., Katus, H.A. and Meder, B. "Next&#45;Generation Sequencing: From understanding biology to personalized medicine". <i>Biology,</i> Vol. 2, pp. 378&#45;398, 2013.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519328&pid=S0188-9532201500030001000001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">2. Sanger, F., Nicklen, S. and Coulson, A.R. "DNA sequencing with chain&#45;terminating inhibitors". <i>PNAS,</i> Vol. 74, No. 12, pp. 5463&#45;5467, 1977.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519330&pid=S0188-9532201500030001000002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">3. Maxam, A. and Gilbert, A. "A new method for sequencing DNA". <i>PNAS,</i> Vol. 74, No. 2, pp. 560&#45;564, 1977.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519332&pid=S0188-9532201500030001000003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">4. Venter, C., et al. "The sequence of the human genome". <i>Science,</i> Vol. 291, pp. 1304&#45;1351, 2001.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519334&pid=S0188-9532201500030001000004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">5. Liu, L., et al. "Comparison of Next generation sequencing systems". <i>Journal of Biomedicine and Biotechnology,</i> pp. 1&#45;11, 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519336&pid=S0188-9532201500030001000005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">6. Myllykangas, S., Buenrostro, J. and Ji, H.P. "Overview of sequencing technology platforms". &#91;book auth.&#93; Naiara Rodr&iacute;guez Ezpeleta, Michael Hackenberg and Ana M. Aransay. <i>Bioinformatics for high throughput sequencing.</i> s.l. : Springer, 2012, pp. 11&#45;25.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519338&pid=S0188-9532201500030001000006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">7. Quail, M.A., et al. "A tale of three next generation sequencing platforms: comparison of Ion Torrent, Pacific Biosciences and Illumina MiSeq sequencers". <i>BMC Genomics,</i> Vol. 13. No. 341, 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519340&pid=S0188-9532201500030001000007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">8. Pop, M. "Shotgun sequence assembly". <i>Advances in Computers,</i> Vol. 60, pp. 193&#45;248, 2004.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519342&pid=S0188-9532201500030001000008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">9. Kim, R.Y., et al. "The future of personalized care in colorectal cancer". <i>Personalized Medicine,</i> Vol. 8, No. 3, pp. 331&#45;345, 2011.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519344&pid=S0188-9532201500030001000009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">10. Li, Z., et al. "Comparison of the two major classes of assembly algorithms". <i>Briefings in Functional Genomics,</i> Vol. 11, No. 1, pp. 25&#45;37, 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519346&pid=S0188-9532201500030001000010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">11. Miller, J.R., Koren, S. and Sutton, G. "Assembly algorithms for next&#45;generation sequencing data". <i>Genomics,</i> vol. 95, no. 6, pp. 315&#45;327, 2010.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519348&pid=S0188-9532201500030001000011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">12. Altschul, S et al. "Basic local alignment search tool". <i>Journal of Molecular Biology,</i> Vol. 215, No. 3, pp. 403&#45;410, 1990.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519350&pid=S0188-9532201500030001000012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">13. Muse, S. Genomics and bioinformatics. &#91;book auth.&#93; John D. Enderle, Susan M. Blanchard and Joseph D. Bronzino. <i>Introduction to Biomedical Engineering.</i> 2. s.l. : Elsevier, 2005, pp. 799&#45;831.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519352&pid=S0188-9532201500030001000013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">14. Fonseca, N.A, et al. "Tools for mapping high&#45;throughput sequencing data". <i>Bioinformatics,</i> Vol. 28, No. 24, pp. 3169&#45;3177, 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519354&pid=S0188-9532201500030001000014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">15. Shang, J., et al. "Evaluation and comparison of multiple aligners for next&#45;generation sequencing data analysis". <i>BioMed Research International,</i> Vol. 2014.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519356&pid=S0188-9532201500030001000015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">16. Ruffalo, M., LaFramboise, T. and Koyut&uuml;rk, M. "Comparative analysis of algorithms for next&#45;generation sequencing read alignment". <i>Bioinformatics,</i> Vol. 27, No. 20, pp. 2790&#45;2796, 2011.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519358&pid=S0188-9532201500030001000016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">17. Li, H. and Homer, N. "A survey of sequence alignment algorithms for next&#45;generation sequencing". <i>Briefings in Biointormatics,</i> Vol. 2, No. 5, pp. 473&#45;483, 2010.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519360&pid=S0188-9532201500030001000017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">18. Li, H., Ruan, J. and Durbin, R. "Mapping short DNA sequencing reads and calling variants using mapping quality scores". <i>Genome Research,</i> Vol. 18, pp. 1851&#45;1858, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519362&pid=S0188-9532201500030001000018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">19. Campagna, D., et al. "PASS: a program to align short sequences". <i>Bioinformatics,</i> Vol. 25, No. 7, pp. 967&#45;968, 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519364&pid=S0188-9532201500030001000019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">20. Ning, Z., Cox, A. and Mullikin, J. "SSAHA: A fast search method for large DNA databases". <i>Genome Research,</i> Vol. 11, No. 10, pp. 1725&#45;1729, 2001.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519366&pid=S0188-9532201500030001000020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">21. Li, R., et al. "SOAP: short oligonucleotide alignment program". <i>Bioinformatics,</i> Vol. 24, No. 5, pp. 713&#45;714, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519368&pid=S0188-9532201500030001000021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">22. Smith, A.D., Xuan, Z. and Zhang, M.Q. "Using quality scores and longer reads improves accuracy af Solexa read mapping". BMC Bioinformatics, Vol. 9, No. 128, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519370&pid=S0188-9532201500030001000022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">23. Jiang, H. and Wong, W. "SeqMap: mapping massive amount of oligonucleotides to the genome". <i>Bioinformatics,</i> Vol. 24, No. 20, p. 2395, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519372&pid=S0188-9532201500030001000023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">24. Lin, H., et al. "Zoom! Zillions of oligos mapped". <i>Bioinformatics,</i> Vol. 24, No. 21, pp. 2431&#45;2437, 2008.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519374&pid=S0188-9532201500030001000024&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">25. Rizk, G. and Lavenier, D. "GASSST: Global alignment short sequence search tool". <i>Bioinformatics,</i> Vol. 26, No. 20, pp. 2534&#45;2540, 2010.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519376&pid=S0188-9532201500030001000025&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">26. Homer, N., Merriman, B. and Nelson, S. "BFAST: an alignment tool for large scale genome resequencing". <i>PLoS ONE,</i> Vol. 4, 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519378&pid=S0188-9532201500030001000026&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">27. David, M., et al. "SHRiMP2", <i>Bioinformatics,</i> Vol. 27, No. 7, pp. 1011&#45;1012, 2011.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519380&pid=S0188-9532201500030001000027&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">28. Smith, T.F. and Waterman, M. S. "Identification of common molecular subsequences". <i>Journal of Molecular Biology,</i> Vol. 147, No. 1, pp. 195&#45;197, 1981.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519382&pid=S0188-9532201500030001000028&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">29. Needleman, S.B. and Wunsch, C.D. "A general method applicable to the search for similarities in the aminoacid sequence of two proteins". <i>Journal of Molecular Biology,</i> Vol. 48, No. 3, pp. 443&#45;453, 1970.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519384&pid=S0188-9532201500030001000029&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">30. Burrows, M. and Wheeler, D.J. "A block sorting lossless data compression algorithm". <i>Systems Research Center, Digital Equipment Corporation.</i> Palo Alto, California : s.n., 1994. Reporte T&eacute;cnico. 124.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519386&pid=S0188-9532201500030001000030&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">31. Ferragina, P. and Manzini, G. "Opportunistic data structures with applications". Redondo Beach, CA: IEEE, 2000. Foundations of computer science. pp. 390&#45;398.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519388&pid=S0188-9532201500030001000031&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">32. Li, R., et al., et al. "SOAP2: an improved ultrafast tool for short read alignment". <i>Bioinformatics,</i> Vol. 25, No. 15, pp. 1966&#45;1967, 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519390&pid=S0188-9532201500030001000032&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">33. Langmead, B., et al. "Ultrafast and memory&#45;efficient alignment of short DNA sequences to the human genome". Genome Biology, Vol. 10, No. 3, 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519392&pid=S0188-9532201500030001000033&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">34. Li, H. and Durbin, R. "Fast and accurate short read alignment with Burrows&#45;Wheeler transform". <i>Bioinformatics,</i> Vol. 25, No. 14, pp. 1754&#45;1760, 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519394&pid=S0188-9532201500030001000034&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">35. Navarro, G., et al. "Indexing methods for aproximate string matching". <i>IEEE Data Engineering Bulleting,</i> Vol. 24, No. 4, pp. 19&#45;27, 2001.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519396&pid=S0188-9532201500030001000035&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">36. Schbath, S., et al. "Mapping reads on a genomic sequence: an practical comparative analysis". Statistics for systems biology group. Paris, Francia : s.n., 2011. Reporte t&eacute;cnico. 34.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519398&pid=S0188-9532201500030001000036&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">37. Che, S., et al. "Accelerating compute&#45;intensive applications with GPUs and FPGAs". Anahem, CA : IEEE, 2008. Application specific processors, SASP2008. pp. 101&#45;107.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519400&pid=S0188-9532201500030001000037&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">38. Liu, C.M., et al. "SOAP3: Ultra&#45;fast GPU&#45;based parallel alignment tool for short reads". <i>Bioinformatics Advance Access Published,</i> Vol. 28, No. 6, pp. 878&#45;879, 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519402&pid=S0188-9532201500030001000038&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">39. Liu, Y., Schmidt, B. and Maskell, D.L. "Cushaw: a cuda compatible short read aligner to large genomes based on the burrows&#45;wheeler transform". <i>BMC Research Notes,</i> Vol. 5, No. 1, p. 27, 2012.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519404&pid=S0188-9532201500030001000039&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">40. Nelson, C., et al. "Shepard: A fast exact match short read aligner". Formal integral 277 Methods and Models for Codesign (MEMOCODE), 2012 10th IEEE/ACM International Conference on. pp. 91&#45;94.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519406&pid=S0188-9532201500030001000040&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">41. Fernandez, E., Najjar, W. and Lonardi, S. "String matching in hardware using the FM&#45;Index". Salt, Lake City, UT: IEEE, 2011. IEEE International Symposium on Field&#45;Programmable Custom Computing Machines. pp. 218&#45;225.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519408&pid=S0188-9532201500030001000041&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">42. Arram, J., et al. "Reconfigurable acceleration of short read mapping". Seattle, WA : IEEE, 2013. 21st Annual International IEEE Symposium on Field&#45;Programmable Custom Computing Machines. pp. 210&#45;217.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519410&pid=S0188-9532201500030001000042&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>  	    <!-- ref --><p align="justify"><font face="verdana" size="2">43. Waidyasooriya, H.M., Hariyama, M. and Kameyama, M. "Implementation of a custom harwdware&#45;accelerator for short&#45;read mapping using Burrows&#45;Wheeler Alignment". Osaka, Japan: IEEE, 2013. 35th Annual International Conference of the IEEE EMBS. pp. 651&#45;654.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=8519412&pid=S0188-9532201500030001000043&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     ]]></body>
<body><![CDATA[ ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Frese]]></surname>
<given-names><![CDATA[K.S.]]></given-names>
</name>
<name>
<surname><![CDATA[Katus]]></surname>
<given-names><![CDATA[H.A.]]></given-names>
</name>
<name>
<surname><![CDATA[Meder]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Next-Generation Sequencing: From understanding biology to personalized medicine]]></article-title>
<source><![CDATA[Biology]]></source>
<year>2013</year>
<volume>2</volume>
<page-range>378-398</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sanger]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Nicklen]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Coulson]]></surname>
<given-names><![CDATA[A.R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[DNA sequencing with chain-terminating inhibitors]]></article-title>
<source><![CDATA[PNAS]]></source>
<year>1977</year>
<volume>74</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>5463-5467</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Maxam]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Gilbert]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A new method for sequencing DNA]]></article-title>
<source><![CDATA[PNAS]]></source>
<year>1977</year>
<volume>74</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>560-564</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Venter]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The sequence of the human genome]]></article-title>
<source><![CDATA[Science]]></source>
<year>2001</year>
<volume>291</volume>
<page-range>1304-1351</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Liu]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Comparison of Next generation sequencing systems]]></article-title>
<source><![CDATA[Journal of Biomedicine and Biotechnology]]></source>
<year>2012</year>
<page-range>1-11</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Myllykangas]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Buenrostro]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Ji]]></surname>
<given-names><![CDATA[H.P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Overview of sequencing technology platforms]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Rodríguez Ezpeleta]]></surname>
<given-names><![CDATA[Naiara]]></given-names>
</name>
<name>
<surname><![CDATA[Hackenberg]]></surname>
<given-names><![CDATA[Michael]]></given-names>
</name>
<name>
<surname><![CDATA[Aransay]]></surname>
<given-names><![CDATA[Ana M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Bioinformatics for high throughput sequencing]]></source>
<year>2012</year>
<page-range>11-25</page-range><publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Quail]]></surname>
<given-names><![CDATA[M.A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A tale of three next generation sequencing platforms: comparison of Ion Torrent, Pacific Biosciences and Illumina MiSeq sequencers]]></article-title>
<source><![CDATA[BMC Genomics]]></source>
<year>2012</year>
<volume>13</volume>
<numero>341</numero>
<issue>341</issue>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Pop]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Shotgun sequence assembly]]></article-title>
<source><![CDATA[Advances in Computers]]></source>
<year>2004</year>
<volume>60</volume>
<page-range>193-248</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kim]]></surname>
<given-names><![CDATA[R.Y.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The future of personalized care in colorectal cancer]]></article-title>
<source><![CDATA[Personalized Medicine]]></source>
<year>2011</year>
<volume>8</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>331-345</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Comparison of the two major classes of assembly algorithms]]></article-title>
<source><![CDATA[Briefings in Functional Genomics]]></source>
<year>2012</year>
<volume>11</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>25-37</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Miller]]></surname>
<given-names><![CDATA[J.R.]]></given-names>
</name>
<name>
<surname><![CDATA[Koren]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Sutton]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Assembly algorithms for next-generation sequencing data]]></article-title>
<source><![CDATA[Genomics]]></source>
<year>2010</year>
<volume>95</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>315-327</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Altschul]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Basic local alignment search tool]]></article-title>
<source><![CDATA[Journal of Molecular Biology]]></source>
<year>1990</year>
<volume>215</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>403-410</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Muse]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Genomics and bioinformatics]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Enderle]]></surname>
<given-names><![CDATA[John D.]]></given-names>
</name>
<name>
<surname><![CDATA[Blanchard]]></surname>
<given-names><![CDATA[Susan M.]]></given-names>
</name>
<name>
<surname><![CDATA[Bronzino]]></surname>
<given-names><![CDATA[Joseph D.]]></given-names>
</name>
</person-group>
<source><![CDATA[Introduction to Biomedical Engineering]]></source>
<year>2005</year>
<volume>2</volume>
<page-range>799-831</page-range><publisher-name><![CDATA[Elsevier]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fonseca]]></surname>
<given-names><![CDATA[N.A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Tools for mapping high-throughput sequencing data]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2012</year>
<volume>28</volume>
<numero>24</numero>
<issue>24</issue>
<page-range>3169-3177</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Shang]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Evaluation and comparison of multiple aligners for next-generation sequencing data analysis]]></article-title>
<source><![CDATA[BioMed Research International]]></source>
<year></year>
<volume>2014</volume>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ruffalo]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[LaFramboise]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Koyutürk]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Comparative analysis of algorithms for next-generation sequencing read alignment]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2011</year>
<volume>27</volume>
<numero>20</numero>
<issue>20</issue>
<page-range>2790-2796</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Homer]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A survey of sequence alignment algorithms for next-generation sequencing]]></article-title>
<source><![CDATA[Briefings in Biointormatics]]></source>
<year>2010</year>
<volume>2</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>473-483</page-range></nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Ruan]]></surname>
</name>
<name>
<surname><![CDATA[Durbin]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Mapping short DNA sequencing reads and calling variants using mapping quality scores]]></article-title>
<source><![CDATA[Genome Research]]></source>
<year>2008</year>
<volume>18</volume>
<page-range>1851-1858</page-range></nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Campagna]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[PASS: a program to align short sequences]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2009</year>
<volume>25</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>967-968</page-range></nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ning]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Cox]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Mullikin]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[SSAHA: A fast search method for large DNA databases]]></article-title>
<source><![CDATA[Genome Research]]></source>
<year>2001</year>
<volume>11</volume>
<numero>10</numero>
<issue>10</issue>
<page-range>1725-1729</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[SOAP: short oligonucleotide alignment program]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2008</year>
<volume>24</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>713-714</page-range></nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Smith]]></surname>
<given-names><![CDATA[A.D.]]></given-names>
</name>
<name>
<surname><![CDATA[Xuan]]></surname>
<given-names><![CDATA[Z.]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[M.Q.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Using quality scores and longer reads improves accuracy af Solexa read mapping]]></article-title>
<source><![CDATA[BMC Bioinformatics]]></source>
<year>2008</year>
<volume>9</volume>
<numero>128</numero>
<issue>128</issue>
</nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jiang]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Wong]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[SeqMap: mapping massive amount of oligonucleotides to the genome]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2008</year>
<volume>24</volume>
<numero>20</numero>
<issue>20</issue>
<page-range>2395</page-range></nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lin]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Zoom! Zillions of oligos mapped]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2008</year>
<volume>24</volume>
<numero>21</numero>
<issue>21</issue>
<page-range>2431-2437</page-range></nlm-citation>
</ref>
<ref id="B25">
<label>25</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rizk]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Lavenier]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[GASSST: Global alignment short sequence search tool]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2010</year>
<volume>26</volume>
<numero>20</numero>
<issue>20</issue>
<page-range>2534-2540</page-range></nlm-citation>
</ref>
<ref id="B26">
<label>26</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Homer]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Merriman]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Nelson]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[BFAST: an alignment tool for large scale genome resequencing]]></article-title>
<source><![CDATA[PLoS ONE]]></source>
<year>2009</year>
<volume>4</volume>
</nlm-citation>
</ref>
<ref id="B27">
<label>27</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[David]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[SHRiMP2]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2011</year>
<volume>27</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>1011-1012</page-range></nlm-citation>
</ref>
<ref id="B28">
<label>28</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Smith]]></surname>
<given-names><![CDATA[T.F.]]></given-names>
</name>
<name>
<surname><![CDATA[Waterman]]></surname>
<given-names><![CDATA[M. S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Identification of common molecular subsequences]]></article-title>
<source><![CDATA[Journal of Molecular Biology]]></source>
<year>1981</year>
<volume>147</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>195-197</page-range></nlm-citation>
</ref>
<ref id="B29">
<label>29</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Needleman]]></surname>
<given-names><![CDATA[S.B.]]></given-names>
</name>
<name>
<surname><![CDATA[Wunsch]]></surname>
<given-names><![CDATA[C.D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A general method applicable to the search for similarities in the aminoacid sequence of two proteins]]></article-title>
<source><![CDATA[Journal of Molecular Biology]]></source>
<year>1970</year>
<volume>48</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>443-453</page-range></nlm-citation>
</ref>
<ref id="B30">
<label>30</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Burrows]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Wheeler]]></surname>
<given-names><![CDATA[D.J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A block sorting lossless data compression algorithm]]></article-title>
<source><![CDATA[Systems Research Center, Digital Equipment Corporation]]></source>
<year>1994</year>
<publisher-loc><![CDATA[Palo Alto^eCalifornia California]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B31">
<label>31</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ferragina]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Manzini]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<source><![CDATA[Opportunistic data structures with applications]]></source>
<year>2000</year>
<page-range>390-398</page-range><publisher-loc><![CDATA[Redondo Beach^eCA CA]]></publisher-loc>
<publisher-name><![CDATA[IEEEFoundations of computer science]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B32">
<label>32</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[SOAP2: an improved ultrafast tool for short read alignment]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2009</year>
<volume>25</volume>
<numero>15</numero>
<issue>15</issue>
<page-range>1966-1967</page-range></nlm-citation>
</ref>
<ref id="B33">
<label>33</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Langmead]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Ultrafast and memory-efficient alignment of short DNA sequences to the human genome]]></article-title>
<source><![CDATA[Genome Biology]]></source>
<year>2009</year>
<volume>10</volume>
<numero>3</numero>
<issue>3</issue>
</nlm-citation>
</ref>
<ref id="B34">
<label>34</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Durbin]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Fast and accurate short read alignment with Burrows-Wheeler transform]]></article-title>
<source><![CDATA[Bioinformatics]]></source>
<year>2009</year>
<volume>25</volume>
<numero>14</numero>
<issue>14</issue>
<page-range>1754-1760</page-range></nlm-citation>
</ref>
<ref id="B35">
<label>35</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Navarro]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Indexing methods for aproximate string matching]]></article-title>
<source><![CDATA[IEEE Data Engineering Bulleting]]></source>
<year>2001</year>
<volume>24</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>19-27</page-range></nlm-citation>
</ref>
<ref id="B36">
<label>36</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schbath]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Mapping reads on a genomic sequence: an practical comparative analysis]]></article-title>
<source><![CDATA[Statistics for systems biology group]]></source>
<year>2011</year>
<publisher-loc><![CDATA[Paris ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B37">
<label>37</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Che]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<source><![CDATA[Accelerating compute-intensive applications with GPUs and FPGAs]]></source>
<year>2008</year>
<page-range>101-107</page-range><publisher-loc><![CDATA[Anahem^eCA CA]]></publisher-loc>
<publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B38">
<label>38</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Liu]]></surname>
<given-names><![CDATA[C.M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[SOAP3: Ultra-fast GPU-based parallel alignment tool for short reads]]></article-title>
<source><![CDATA[Bioinformatics Advance Access Published]]></source>
<year>2012</year>
<volume>28</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>878-879</page-range></nlm-citation>
</ref>
<ref id="B39">
<label>39</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Liu]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
<name>
<surname><![CDATA[Schmidt]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Maskell]]></surname>
<given-names><![CDATA[D.L.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Cushaw: a cuda compatible short read aligner to large genomes based on the burrows-wheeler transform]]></article-title>
<source><![CDATA[BMC Research Notes]]></source>
<year>2012</year>
<volume>5</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>27</page-range></nlm-citation>
</ref>
<ref id="B40">
<label>40</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nelson]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Shepard: A fast exact match short read aligner]]></article-title>
<source><![CDATA[Formal integral 277 Methods and Models for Codesign (MEMOCODE)]]></source>
<year>2012</year>
<edition>10th</edition>
<page-range>91-94</page-range><publisher-name><![CDATA[IEEE/ACM International Conference on]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B41">
<label>41</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fernandez]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Najjar]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[Lonardi]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<source><![CDATA[String matching in hardware using the FM-Index]]></source>
<year>2011</year>
<page-range>218-225</page-range><publisher-loc><![CDATA[Salt, Lake City^eUT UT]]></publisher-loc>
<publisher-name><![CDATA[IEEEIEEE International Symposium on Field-Programmable Custom Computing Machines]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B42">
<label>42</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Arram]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<source><![CDATA[Reconfigurable acceleration of short read mapping]]></source>
<year>2013</year>
<page-range>210-217</page-range><publisher-loc><![CDATA[SeattleWA ]]></publisher-loc>
<publisher-name><![CDATA[IEEE21st Annual International IEEE Symposium on Field-Programmable Custom Computing Machines]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B43">
<label>43</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Waidyasooriya]]></surname>
<given-names><![CDATA[H.M.]]></given-names>
</name>
<name>
<surname><![CDATA[Hariyama]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Kameyama]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Implementation of a custom harwdware-accelerator for short-read mapping using Burrows-Wheeler Alignment]]></source>
<year>2013</year>
<page-range>651-654</page-range><publisher-loc><![CDATA[Osaka ]]></publisher-loc>
<publisher-name><![CDATA[IEEE35th Annual International Conference of the IEEE EMBS]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
