<?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>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992015000100004</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Análisis del uso de las bibliotecas gsl y lapack en la construcción de árboles filogenéticos]]></article-title>
<article-title xml:lang="en"><![CDATA[Analysis of the use of gsl and lapack libraries in building phylogenetic trees]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Del Toro Melgarejo]]></surname>
<given-names><![CDATA[Leonardo]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Gálvez Lio]]></surname>
<given-names><![CDATA[Daniel]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Sánchez Alba]]></surname>
<given-names><![CDATA[Ricardo]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Departamento de Computación Universidad Central Marta Abreu de Las Villas ]]></institution>
<addr-line><![CDATA[ Villa Clara]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Facultad de Matemática, Física y Computación Universidad Central Marta Abreu de Las Villas ]]></institution>
<addr-line><![CDATA[ Villa Clara]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>03</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>03</month>
<year>2015</year>
</pub-date>
<volume>9</volume>
<numero>1</numero>
<fpage>32</fpage>
<lpage>44</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992015000100004&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992015000100004&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992015000100004&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Un árbol filogenético o árbol de la evolución es un diagrama de ramificación o "árbol" que muestra las relaciones evolutivas entre las diferentes especies biológicas sobre la base de similitudes y diferencias en sus características físicas o genéticas. En el estudio del proceso evolutivo se emplean, entre otros, los métodos para construir árboles filogenéticos basados en la distancia genética entre parejas de secuencias de ADN o proteínas, que requieren un alineamiento múltiple como información de entrada. En estos, los datos utilizados se presentan en una matriz de distancias obtenida a partir del alineamiento de las secuencias, de acuerdo a algún modelo biológico. Algunos de estos métodos se basan en el criterio de mínima evolución, donde el mejor árbol es aquel que minimiza la longitud de las ramas internas. Para encontrar este árbol se puede emplear un método de ajuste basado en los mínimos cuadrados (LS). Este ajuste se emplea para estimar las longitudes de las ramas entre todas las topologías posibles, seleccionando aquella que minimice tanto como sea posible la diferencia entre la distancia dada y la pronosticada. Su solución es analítica, y puede obtenerse a partir de un sistema de ecuaciones lineales. Para resolver estos sistemas existen múltiples bibliotecas matemáticas. Entre ellas, la biblioteca GSL brinda una interfaz más confortable, mientras que la biblioteca LAPACK presenta un rendimiento superior. En este trabajo se comparan los resultados obtenidos al emplear ambas bibliotecas en la implementación del método LS para la construcción de árboles filogenéticos.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[A phylogenetic tree or evolutionary tree is a branching diagram or "tree&#8221; showing the evolutionary relationships among various biological species based on similarities and differences in their physical or genetic characteristics. In the study of the evolutionary process, several methods are used to construct phylogenetic trees, including those based on the genetic distance between pairs of DNA sequences or proteins, which require a multiple alignment as input. In such methods, the data used are presented in a distance matrix obtained from the alignment of the sequences according to a biological model. The criterion of minimum evolution is one of these methods, where the best tree is one that minimizes the length of the internal branches. To find this tree can be used an adjustment method based on least squares (LS). This adjustment is used to estimate the lengths of the branches between all possible topologies, selecting the one that minimizes as much as possible, the difference between the given and the predicted distance. Their solution is analytic and can be obtained from a system of linear equations. To solve these systems there are several math libraries. Between them, the GSL library provides a more comfortable interface, while the LAPACK library has a superior performance. In this paper, are compared the results obtained by using both libraries, in the implementation of the LS method for constructing phylogenetic trees.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[árbol]]></kwd>
<kwd lng="es"><![CDATA[bibliotecas]]></kwd>
<kwd lng="es"><![CDATA[filogenética]]></kwd>
<kwd lng="es"><![CDATA[gsl]]></kwd>
<kwd lng="es"><![CDATA[lapack]]></kwd>
<kwd lng="es"><![CDATA[mínimos cuadrados]]></kwd>
<kwd lng="en"><![CDATA[gsl]]></kwd>
<kwd lng="en"><![CDATA[lapack]]></kwd>
<kwd lng="en"><![CDATA[least squares]]></kwd>
<kwd lng="en"><![CDATA[libraries]]></kwd>
<kwd lng="en"><![CDATA[phylogenetic]]></kwd>
<kwd lng="en"><![CDATA[tree]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B> ART&Iacute;CULO  ORIGINAL</B></font></p>     <p>&nbsp;</p>     <p><font size="4"><strong><font face="Verdana, Arial, Helvetica, sans-serif">An&aacute;lisis del uso de las bibliotecas gsl y lapack en  la construcci&oacute;n de &aacute;rboles filogen&eacute;ticos</font></strong></font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">Analysis of the use of gsl and lapack libraries in  building phylogenetic trees</font></strong></font></p>     <p>&nbsp;</p>     <p>&nbsp;</p>     <P><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Leonardo Del Toro Melgarejo<strong><strong><strong><sup>1*</sup></strong></strong></strong>, Daniel G&aacute;lvez  Lio<strong><strong><sup>1</sup></strong></strong>, Ricardo S&aacute;nchez Alba<strong><strong><sup>2</sup></strong></strong></font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup>1</sup> Departamento de Computaci&oacute;n, Universidad  Central Marta Abreu de Las Villas, Carretera a Camajuan&iacute; Km 5 &frac12; Santa Clara  Villa Clara Cuba C.P: 54830.  Correo-e: <a href="mailto:dgalvez@uclv.edu.cu">dgalvez@uclv.edu.cu</a>    <br> <sup>2 </sup></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Facultad de Matem&aacute;tica, F&iacute;sica y Computaci&oacute;n, Universidad Central Marta Abreu de Las Villas, Carretera a Camajuan&iacute; Km 5 &frac12;  Santa Clara Villa Clara Cuba C.P: 54830. Correo-e: <a href="mailto:rsalba@uclv.cu">rsalba@uclv.cu</a></font></p>     ]]></body>
<body><![CDATA[<P><font face="Verdana, Arial, Helvetica, sans-serif"><span class="class"><font size="2">*Autor para la correspondencia: </font></span><font size="2"><a href="mailto:marioamores@uclv.cu">ldtoro@uclv.edu.cu</a></font> </font>     <p>&nbsp;</p>     <p>&nbsp;</p> <hr>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN</b> </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un &aacute;rbol  filogen&eacute;tico o &aacute;rbol de la evoluci&oacute;n es un diagrama de ramificaci&oacute;n o  &quot;&aacute;rbol&quot; que muestra las relaciones evolutivas entre las diferentes  especies biol&oacute;gicas sobre la base de similitudes y diferencias en sus  caracter&iacute;sticas f&iacute;sicas o gen&eacute;ticas. En el estudio del proceso evolutivo se  emplean, entre otros, los m&eacute;todos para construir &aacute;rboles filogen&eacute;ticos basados en  la distancia gen&eacute;tica entre parejas de secuencias de ADN o prote&iacute;nas, que  requieren un alineamiento m&uacute;ltiple como informaci&oacute;n de entrada. En estos, los  datos utilizados se presentan en una matriz de distancias obtenida a partir del  alineamiento de las secuencias, de acuerdo a alg&uacute;n modelo biol&oacute;gico. Algunos de  estos m&eacute;todos se basan en el criterio de m&iacute;nima evoluci&oacute;n, donde el mejor &aacute;rbol  es aquel que minimiza la longitud de las ramas internas. Para encontrar este  &aacute;rbol se puede emplear un m&eacute;todo de ajuste basado en los m&iacute;nimos cuadrados  (LS). Este ajuste se emplea para estimar las longitudes de las ramas entre  todas las topolog&iacute;as posibles, seleccionando aquella que minimice tanto como  sea posible la diferencia entre la distancia dada y la pronosticada. Su  soluci&oacute;n es anal&iacute;tica, y puede obtenerse a partir de un sistema de ecuaciones  lineales. Para resolver estos sistemas existen m&uacute;ltiples bibliotecas  matem&aacute;ticas. Entre ellas, la biblioteca GSL brinda una interfaz m&aacute;s  confortable, mientras que la biblioteca LAPACK presenta un rendimiento  superior. En este trabajo se comparan los resultados obtenidos al emplear ambas  bibliotecas en la implementaci&oacute;n del m&eacute;todo LS para la construcci&oacute;n de &aacute;rboles  filogen&eacute;ticos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Palabras clave: </span></b>&aacute;rbol, bibliotecas, filogen&eacute;tica, gsl, lapack, m&iacute;nimos cuadrados.</font></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>ABSTRACT</span></b> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A  phylogenetic tree or evolutionary tree is a branching diagram or &quot;tree&rdquo;  showing the evolutionary relationships among various biological species based  on similarities and differences in their physical or genetic characteristics.  In the study of the evolutionary process, several methods are used to construct  phylogenetic trees, including those based on the genetic distance between pairs  of DNA sequences or proteins, which require a multiple alignment as input. In such  methods, the data used are presented in a distance matrix obtained from the  alignment of the sequences according to a biological model. The criterion of  minimum evolution is one of these methods, where the best tree is one that  minimizes the length of the internal branches. To find this tree can be used an  adjustment method based on least squares (LS). This adjustment is used to  estimate the lengths of the branches between all possible topologies, selecting  the one that minimizes as much as possible, the difference between the given  and the predicted distance. Their solution is analytic and can be obtained from  a system of linear equations. To solve these systems there are several math  libraries. Between them, the GSL library provides a more comfortable interface,  while the LAPACK library has a superior performance. In this paper, are  compared the results obtained by using both libraries, in the implementation of  the LS method for constructing phylogenetic trees.</font> </p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Key words: </span></b>gsl, lapack, least squares, libraries, phylogenetic, tree.</font></p> <hr>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>INTRODUCCI&Oacute;N</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La filogen&eacute;tica computacional es la aplicaci&oacute;n de algoritmos  computacionales, en m&eacute;todos y programas de an&aacute;lisis filogen&eacute;tico. El objetivo  es construir un &aacute;rbol filogen&eacute;tico que represente una hip&oacute;tesis evolutiva de un  conjunto de genes, especies u otros taxones. De esta manera podemos expresar  las relaciones existentes entre ancestros y descendientes mediante la topolog&iacute;a  de un &aacute;rbol.&nbsp; La filogen&eacute;tica molecular  actual usa secuencias de nucle&oacute;tidos que codifican genes o secuencias de  amino&aacute;cidos que forman prote&iacute;nas como bases de la clasificaci&oacute;n. Muchas formas  de filogen&eacute;tica molecular est&aacute;n muy relacionadas y hacen un uso extensivo del  alineamiento de secuencias en la construcci&oacute;n y redefinici&oacute;n de los &aacute;rboles filogen&eacute;ticos  usados para la clasificaci&oacute;n de las relaciones evolutivas entre los genes  hom&oacute;logos existentes en los genomas de especies divergentes.    <br> &nbsp;    <br> El proceso de construcci&oacute;n de &aacute;rboles filogen&eacute;ticos es de gran  importancia para el estudio de los procesos evolutivos en secuencias gen&eacute;ticas.  Por ejemplo, la estimaci&oacute;n de las tasas de mutaci&oacute;n en una secuencia de DNA,  dependen de la regi&oacute;n del genoma y la posici&oacute;n de la base nitrogenada en el  cod&oacute;n correspondiente, en los descendientes respecto a sus ancestros (<a href="#_ENREF_8" title="Del Toro, 2011 #119">Del Toro, <em>et al.,</em> 2011</a>). </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los m&eacute;todos empleados para la construcci&oacute;n de &aacute;rboles filogen&eacute;ticos  son varios. Los algor&iacute;tmicos (<em>clusters  methods</em>) obtienen un &aacute;rbol &uacute;nico desde los datos como el mejor estimado del  &aacute;rbol real. Los basados en la optimalidad (<em>search  methods</em>) emplean un criterio (funci&oacute;n objetivo) para medir cuanto se ajusta  el &aacute;rbol a los datos, y el &aacute;rbol con una mejor puntuaci&oacute;n (<em>score</em>) de todos los obtenidos constituye la mejor estimaci&oacute;n del  &aacute;rbol real. Entre los primeros encontramos a los m&eacute;todos basados en distancias  como UPGMA (<em>Unweighted Pair-Group Method  using arithmetic Averages</em>) (<a href="#_ENREF_27" title="Sokal, 1963 #116">Sokal y Sneath, 1963</a>) y <em>Neighbor  Joining</em> (NJ) (<a href="#_ENREF_23" title="Saitou, 1987 #113">Saitou y Nei, 1987</a>). Entre los segundos a: M&aacute;xima Parsimonia (MP) (<a href="#_ENREF_12" title="Fitch, 1971 #106">Fitch, 1971</a>, <a href="#_ENREF_14" title="Hartigan, 1973 #107">Hartigan, 1973</a>), M&aacute;xima Verosimilitud (MV) (<a href="#_ENREF_11" title="Felsenstein, 1981 #105">Felsenstein, 1981</a>, <a href="#_ENREF_22" title="Posada, 2008 #122">Posada, 2008</a>) , y los Bayesianos (MB) (<a href="#_ENREF_20" title="Mau, 1997 #111">Mau y Newton, 1997</a>, <a href="#_ENREF_29" title="Yang, 2006 #99">Yang, 2006</a>).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los m&eacute;todos basados en distancias permiten construir &aacute;rboles filogen&eacute;ticos  basados en la distancia gen&eacute;tica entre parejas de secuencias de ADN o  prote&iacute;nas, por lo que requieren un alineamiento m&uacute;ltiple como informaci&oacute;n de  entrada. El alineamiento m&uacute;ltiple de secuencias es esencial en la mayor&iacute;a de  los an&aacute;lisis bioinform&aacute;ticos que implican la comparaci&oacute;n de secuencias  hom&oacute;logas. (<a href="#_ENREF_25" title="Sievers, 2011 #103">Sievers, <em>et al.,</em> 2011</a>). A diferencia del resto de los m&eacute;todos, que emplean  el propio conjunto de secuencias o alineamiento, los de distancia utilizan como  datos a una matriz de distancias obtenida a partir del alineamiento m&uacute;ltiple de  las secuencias y de un modelo evolutivo determinado. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La principal ventaja de los m&eacute;todos basados en distancias es su  velocidad, lo que resulta de particular utilidad cuando se tiene un gran n&uacute;mero  de secuencias. Los problemas m&aacute;s importantes son la p&eacute;rdida de informaci&oacute;n del  alineamiento m&uacute;ltiple y la generaci&oacute;n de un &aacute;rbol &uacute;nico, por lo que se desechan  &aacute;rboles que podr&iacute;an ser igualmente v&aacute;lidos y consistentes con los datos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En (<a href="#_ENREF_8" title="Del Toro, 2011 #119">Del Toro, <em>et al.,</em> 2011</a>) se emplea un m&eacute;todo basado en el criterio de m&iacute;nima  evoluci&oacute;n, donde el mejor &aacute;rbol es aquel que minimiza la longitud de las ramas  internas. La longitud en el &aacute;rbol se calcula generalmente, sumando la longitud  de las ramas que a su vez son estimadas a trav&eacute;s del m&eacute;todo de los m&iacute;nimos  cuadrados (<a href="#_ENREF_5" title="Cavalli-Sforza, 1967 #102">Cavalli-Sforza y Edwards, 1967</a>). Este procedimiento, involucra dos pasos  fundamentales: El c&aacute;lculo de la distancia gen&eacute;tica entre cada par de secuencias  (matriz de distancias) de acuerdo a alg&uacute;n modelo biol&oacute;gico y la construcci&oacute;n de  un &aacute;rbol filogen&eacute;tico desde esta matriz.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El grupo de Bioinform&aacute;tica de la Universidad Central &ldquo;Marta Abreu&rdquo; de  Las Villas (UCLV) ha desarrollado estudios acerca de la evoluci&oacute;n de secuencias  virales. En ellos se emplean diferentes modelos biol&oacute;gicos como el TN93 (<a href="#_ENREF_28" title="Tamura, 1993 #117">Tamura y Nei, 1993</a>) y el FBM (<a href="#_ENREF_24" title="S&aacute;nchez, 2009 #114">S&aacute;nchez y Grau, 2009</a>) para calcular la distancia gen&eacute;tica entre cada par  de secuencias. Para estimar las tasas de mutaciones en secuencias por sitios,  es necesaria la construcci&oacute;n previa de un &aacute;rbol filogen&eacute;tico que exprese la  relaci&oacute;n evolutiva entre los mismos. Con ese prop&oacute;sito se ha empleado a la  herramienta FASTME (<a href="#_ENREF_9" title="Desper, 2002 #104">Desper y Gascuel, 2002</a>), que incorpora estrategias heur&iacute;sticas como el  intercambio de ramas (<em>nearest-neighbour  interchange</em>, NNI) para la estimaci&oacute;n del &aacute;rbol, pero no garantiza obtener  el mejor &aacute;rbol. </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por ese motivo, se desarroll&oacute; un algoritmo para construir el &aacute;rbol  filogen&eacute;tico a partir de la matriz de distancias obtenida de acuerdo al modelo  evolutivo seleccionado, que estima la longitud de las ramas entre cada par de  secuencias gen&eacute;ticas empleando un criterio basado en los m&iacute;nimos cuadrados (LS)  (<a href="#_ENREF_8" title="Del Toro, 2011 #119">Del Toro, <em>et al.,</em> 2011</a>). Ese algoritmo, con una alta complejidad  computacional garantiza encontrar el mejor &aacute;rbol posible de acuerdo al criterio  seleccionado. En su implementaci&oacute;n se emple&oacute; a la biblioteca GSL  (<a href="#_ENREF_13" title="Gough, 2009 #120">Gough, 2009</a>), y se program&oacute; en lenguaje C. Alguno de los m&eacute;todos  brindados por la biblioteca, que fueron empleados para estimar las longitudes  de las ramas (<em>gsl_linalg_QR_decomp</em> y <em>gsl_linalg_QR_lssolve</em>) mostraron tener  un alto costo lo que incrementaba el tiempo empleado por la aplicaci&oacute;n. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este art&iacute;culo, a partir de la problem&aacute;tica presentada por los m&eacute;todos  de la biblioteca GSL durante el proceso de soluci&oacute;n a sistemas de ecuaciones  lineales, se decidi&oacute; sustituirlos por alg&uacute;n otro que fuese m&aacute;s eficiente. En la  actualidad, las bibliotecas de software LAPACK (<a href="#_ENREF_2" title="Anderson, 1999 #110">Anderson, <em>et al.,</em> 1999</a>) y ScaLAPACK (<a href="#_ENREF_6" title="Choi, 1996 #108">Choi, <em>et al.,</em> 1996</a>), representan el est&aacute;ndar de facto para los densos  c&aacute;lculos de &aacute;lgebra lineal de alto rendimiento y se han desarrollado,  respectivamente, para arquitecturas de memoria compartida y de memoria distribuida  (<a href="#_ENREF_4" title="Buttari, 2008 #95">Buttari, <em>et al.,</em> 2008</a>). </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con el prop&oacute;sito de lograr una aplicaci&oacute;n que reduzca el tiempo  empleado para construir el &aacute;rbol filogen&eacute;tico, se introdujo el uso de la  biblioteca LAPACK, accesible en: <a href="http://www.netlib.org/lapack">http://www.netlib.org/lapack</a>. Al emplear el m&eacute;todo (<em>LAPACKE_dgels</em>), se logra una disminuci&oacute;n significativa del tiempo si se  compara con la versi&oacute;n que usa la GSL.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Este art&iacute;culo se encuentra estructurado como se describe a  continuaci&oacute;n: despu&eacute;s de una breve introducci&oacute;n sobre el uso de bibliotecas  matem&aacute;ticas para construir &aacute;rboles filogen&eacute;ticos, en Materiales y M&eacute;todos se  describe el m&eacute;todo de los m&iacute;nimos cuadrados, se expone el algoritmo propuesto  para construir &aacute;rboles filogen&eacute;ticos, y se describen algunos m&eacute;todos num&eacute;ricos  y bibliotecas, particularmente aquellos que permiten resolver sistemas de  ecuaciones lineales usando las bibliotecas GSL y LAPACK. En Resultados y  discusi&oacute;n, se presentan los resultados obtenidos por las aplicaciones <em>ptb_ls</em> y <em>ptb_lapack</em>, que usan las bibliotecas GSL y LAPACK, respectivamente.  Finalmente, la &uacute;ltima secci&oacute;n concluye este trabajo.</font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">MATERIALES Y M&Eacute;TODOS </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El m&eacute;todo de los m&iacute;nimos cuadrados (LS)     <br>       <br> Constituye una t&eacute;cnica de an&aacute;lisis  num&eacute;rico enmarcada dentro de la optimizaci&oacute;n matem&aacute;tica, en la que, dados un  conjunto de pares ordenados se intenta encontrar la funci&oacute;n continua, que mejor  se aproxime a los datos, de acuerdo con el criterio de m&iacute;nimo error cuadr&aacute;tico.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En Biolog&iacute;a Computacional, este  m&eacute;todo toma como datos de entrada a la matriz de distancias gen&eacute;ticas y estima las  longitudes de las ramas de un &aacute;rbol, haciendo coincidir esas distancias tanto  como sea posible, minimizando la suma de las diferencias al cuadrado entre las  distancias dadas y las pronosticadas. </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La distancia pronosticada se calcula  como la suma de las longitudes de rama a lo largo de la ruta de la conexi&oacute;n  entre dos especies. La suma m&iacute;nima de las diferencias al cuadrado, se emplea  para medir el ajuste del &aacute;rbol a los datos (las distancias) y se utiliza como  la puntuaci&oacute;n (<em>score</em>) del &aacute;rbol (<a href="#_ENREF_29" title="Yang, 2006 #99">Yang, 2006</a>).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sea la distancia entre las especies <strong><em>i</em></strong> y <strong><em>j</em></strong> denominada como <strong><em>d<sub>ij</sub></em></strong>. A su vez, sea la suma de la longitud de las  ramas a lo largo del camino entre las especies <strong><em>i</em></strong> y <strong><em>j</em></strong> en el &aacute;rbol denotada  como <strong><em>d&acute;<sub>ij</sub></em></strong>.  Este m&eacute;todo minimiza la suma de las diferencias cuadradas <strong><em>(d<sub>ij</sub> &ndash; d&acute;<sub>ij</sub>)<sup>2</sup></em></strong>,  sobre todos los distintos pares <strong><em>i</em></strong> y <strong><em>j</em></strong>, de forma tal que el  &aacute;rbol se ajuste a estas distancias de la forma m&aacute;s cercana posible.</font></p>     <p align="right"><img src="/img/revistas/rcci/v9n1/fo0401115.jpg" width="546" height="58"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Suponga el &aacute;rbol ((Human, Chimpanzee), Gorilla, Orangutan) de  la <a href="#f01">figura 1</a> y sus cinco longitudes de ramas  t<sub>0</sub>, t<sub>1</sub>, t<sub>2</sub>, t<sub>3</sub>,  t<sub>4</sub>. La distancia pronosticada entre la especie Human  y Chimpanzee es t<sub>1</sub> +  t<sub>2</sub>, la pronosticada entre Human y  Gorilla es t<sub>1</sub> + t<sub>0</sub> +  t<sub>3</sub> , y as&iacute; sucesivamente.</font></p>     <p align="center"><a name="f01"></a><img src="/img/revistas/rcci/v9n1/f0401115.jpg" width="363" height="221"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para este &aacute;rbol, seg&uacute;n la expresi&oacute;n 1, la suma de las diferencias ser&aacute;:</font></p>     <p align="right"><img src="/img/revistas/rcci/v9n1/fo0402115.jpg" width="573" height="82"></p>     <p align="left">&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las distancias (<strong><em>d<sub>ij</sub></em></strong>)  ya fueron calculadas previamente y se obtienen de la matriz de distancias. <em>&nbsp;S</em> es una funci&oacute;n de cinco valores de longitud de  rama desconocidos t<sub>0</sub>, t<sub>1</sub>, t<sub>2</sub>, t<sub>3</sub>, y  t<sub>4</sub>. El c&aacute;lculo de la longitud de las ramas en un &aacute;rbol usando el  m&eacute;todo LS se estima anal&iacute;ticamente y puede obtenerse a trav&eacute;s de un sistema de  ecuaciones lineales. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De manera similar se deben calcular los valores  estimados para t<sub>0</sub>, t<sub>1</sub>, t<sub>2</sub>, t<sub>3</sub>, y  t<sub>4</sub>,  de acuerdo a las tres posibles topolog&iacute;as de &aacute;rbol restantes (de manera similar  a la mostrada en la <a href="#f01">figura 1</a>). De todos los <em>scores</em> obtenidos se selecciona la topolog&iacute;a que minimiza <strong>S</strong>.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Algoritmo propuesto para la construcci&oacute;n del &aacute;rbol  filogen&eacute;tico     <br>       <br> En (<a href="#_ENREF_8" title="Del Toro, 2011 #119">Del Toro, <em>et al.,</em> 2011</a>) se propone la construcci&oacute;n del &aacute;rbol filogen&eacute;tico empleando  al m&eacute;todo LS a partir de una matriz de distancias gen&eacute;ticas. Esta matriz puede  construirse empleando a alg&uacute;n modelo biol&oacute;gico. Para ello se propuso un  algoritmo que construye un &aacute;rbol filogen&eacute;tico lleno (<em>full binary tree</em>) adicionando un nodo interno por cada secuencia o  especie que se desee insertar al sub&aacute;rbol construido en la etapa previa. Para  cada una de ellas debe probarse su posible inserci&oacute;n en todas las posibles  posiciones disponibles (hojas del &aacute;rbol), seleccionando aquella que minimice <strong>S</strong>. El procedimiento se ilustra a trav&eacute;s  del algoritmo siguiente:</font></p>     <p align="center"><img src="/img/revistas/rcci/v9n1/fo0403115.jpg" width="545" height="549"></p>     <p>En el algoritmo se observa una complejidad computacional, inherente a los  dos ciclos, de <strong><em>n<sup>2</sup></em></strong>. El primero asociado a la especie que se desea  insertar al &aacute;rbol (<strong><em>n<sub>i</sub></em></strong>), y el segundo refiere el nodo hoja seleccionado  para la inserci&oacute;n (<strong><em>n<sub>j</sub></em></strong>).</p>     <p>Para determinar <strong><em>S<sub>j</sub></em></strong>, se estiman los  valores de longitud de las ramas a trav&eacute;s de un sistema de ecuaciones lineales.  T&iacute;picamente la complejidad computacional de estos sistemas de ecuaciones es <strong><em>n<sup>3</sup></em></strong> (Descomposici&oacute;n QR). As&iacute;, el procedimiento completo tendr&aacute; una complejidad  computacional de <strong><em>n<sup>5</sup></em></strong>, la cual es significativamente alta. </p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Debido al alto costo que implica la soluci&oacute;n al sistema se ecuaciones  lineales, la selecci&oacute;n del software a emplear en su implementaci&oacute;n resulta en  un elemento de vital importancia.    <br>       <br>   M&eacute;todos num&eacute;ricos y bibliotecas    <br>        ]]></body>
<body><![CDATA[<br> Actualmente la comunidad cient&iacute;fica tiene acceso a m&uacute;ltiples m&eacute;todos  num&eacute;ricos y bibliotecas. Estos se agrupan de acuerdo a determinadas categor&iacute;as (<a href="https://www.westgrid.ca/support/software/math_libraries/">https://www.westgrid.ca/support/software/math_libraries</a>), y entre sus  exponentes m&aacute;s importantes tenemos los siguientes:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Bibliotecas matem&aacute;ticas integrales (<strong>GSL</strong> - <em>GNU Scientific Library</em>, <strong>MKL</strong> - <em>Intel Math Kernel Library</em>).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Solucionadores a ecuaciones diferenciales (<strong><em>PETSc</em></strong> - <em>A toolkit for solution of differential  equations with parallel solver</em>, <strong><em>FFTW</em></strong> - <em>A widely-used FFT implementation</em>).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Algebra Lineal (<strong><em>BLAS</em></strong> - <em>Basic Linear Algebra Subprograms</em>, <strong><em>LAPACK</em></strong> - <em>Linear algebra subroutine package</em>, <strong><em>ScaLAPACK</em></strong> - <em>Scalable LAPACK</em>).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Estad&iacute;stica (<strong><em>R</em></strong> language).</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este grupo tenemos a GSL, que constituye una gran colecci&oacute;n de rutinas  para la computaci&oacute;n cient&iacute;fica, escrita en lenguaje en C. Por otro lado, LAPACK  es una biblioteca transportable de subrutinas del lenguaje Fortran 77, para  resolver los problemas m&aacute;s comunes en &aacute;lgebra lineal num&eacute;rica: sistemas de  ecuaciones lineales, problemas de m&iacute;nimos cuadrados lineales, problemas de  valores propios y problemas de valores singulares. Ambas bibliotecas han sido  ampliamente utilizadas por los programadores y se encuentran disponibles en los  repositorios de las distribuciones Linux pertenecientes al proyecto GNU. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el algoritmo propuesto previamente, es necesario determinar el valor  de <strong><em>S<sub>j</sub></em></strong>,  para lo cual es necesario realizar una factorizaci&oacute;n de matrices (soluci&oacute;n  anal&iacute;tica del sistema de ecuaciones lineales). En el &aacute;lgebra lineal la  factorizaci&oacute;n de una matriz es la descomposici&oacute;n de la misma como producto de  dos o m&aacute;s matrices seg&uacute;n una forma can&oacute;nica. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Aunque existen varios m&eacute;todos, el m&aacute;s empleado es la Factorizaci&oacute;n QR o  triangularizaci&oacute;n ortogonal (<a href="#_ENREF_17" title="Kurzak, 2009 #125">Kurzak y Dongarra, 2009</a>). La descomposici&oacute;n o factorizaci&oacute;n QR de una matriz es una  descomposici&oacute;n de la misma como producto de una matriz ortogonal por una  triangular superior. Esta presenta las caracter&iacute;sticas siguientes:</font></p> <ul>    <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Aplicable a una matriz A (m x n).</font> </li>         ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Factorizaci&oacute;n: A = QR, donde Q es una matriz ortogonal (m x m), y R es  una matriz triangular superior (m x n).</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">M&eacute;todos de c&aacute;lculo: La factorizaci&oacute;n QR puede calcularse mediante el  proceso de ortogonalizaci&oacute;n de &nbsp;Gram-Schmidt  aplicado a las columnas de A, mediante el uso de transformaciones de  Householder y mediante transformaciones de Givens.</font></li>         <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La factorizaci&oacute;n QR puede utilizarse para &quot;resolver&quot; el  sistema de ecuaciones lineales Ax = b cuando el n&uacute;mero de ecuaciones es  distinto al de inc&oacute;gnitas.</font></li>     </ul>   <font size="2" face="Verdana, Arial, Helvetica, sans-serif">La biblioteca GSL </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La Biblioteca Cient&iacute;fica GNU (o GSL) es una biblioteca de software para  c&aacute;lculos num&eacute;ricos en matem&aacute;ticas y ciencias aplicadas. Est&aacute; escrita en C y sus  paquetes est&aacute;n disponibles para otros lenguajes de programaci&oacute;n (C++, Python,  Fortran, Perl, R, entre otros). Es parte del Proyecto GNU y se distribuye bajo  la Licencia P&uacute;blica General GNU. El proyecto GSL se inici&oacute; en 1996 y su objetivo  era escribir un reemplazo moderno para las ampliamente utilizadas, pero algo  obsoletas, bibliotecas de Fortran. La versi&oacute;n 1.0 fue lanzada en 2001. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la actualidad la biblioteca contin&uacute;a desarroll&aacute;ndose activamente y puede  descargarse desde: <a href="http://www.gnu.org/software/gsl/">http://www.gnu.org/software/gsl/</a>. Su versi&oacute;n actual (1.16)  fue lanzada en julio de 2013.     <br>   La biblioteca de software proporciona facilidades para: funciones  matem&aacute;ticas b&aacute;sicas, n&uacute;meros complejos, polinomios, funciones especiales,  vectores y matrices, permutaciones, transformada r&aacute;pida de Fourier, generaci&oacute;n  de n&uacute;meros aleatorios, integraci&oacute;n Monte Carlo, ecuaciones diferenciales  ordinarias, m&iacute;nimos cuadrados ajustados, aritm&eacute;tica de punto flotante IEEE,  entre otros.</font></p> <ul>   <ul>     <ul>           <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><u>Funciones que realizan la descomposici&oacute;n QR:</u> </font></li>         </ul>       </ul>     ]]></body>
<body><![CDATA[</ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El empleo de la biblioteca GSL para  realizar la descomposici&oacute;n QR ha sido explorada en varios trabajos (<a href="#_ENREF_19" title="Marthi, 2014 #127">Marthi y Chengalur, 2014</a>, <a href="#_ENREF_26" title="&Scaron;irca, 2012 #126">&Scaron;irca y Horvat, 2012</a>). Una matriz general rectangular A de dimensiones m x n,  tiene una descomposici&oacute;n QR en el producto de una matriz ortogonal cuadrada Q  (m x m) (donde Q<sup>T</sup>Q = I) y una matriz triangular derecha <img src="/img/revistas/rcci/v9n1/fo0404115.jpg" width="160" height="18"></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta descomposici&oacute;n se  puede utilizar para convertir el sistema lineal Ax = b en el sistema triangular  Rx = Q<sup>T</sup>b, que puede ser resuelto por sustituci&oacute;n  regresiva. La descomposici&oacute;n QR se emplea adem&aacute;s para calcular una base  ortonormal para un conjunto de vectores. Aqu&iacute;, las primeras n columnas de Q  forman una base ortonormal para el rango de A, <em>ran(A)</em>, cuando A tiene un rango de columna completo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para solucionar un  sistema de ecuaciones lineales deben emplearse las dos funciones siguientes:</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> a) <em>int</em> <strong><em>gsl_linalg_QR_decomp</em></strong> <em>(gsl_matrix * </em>A<em>, gsl_vector * </em>tau<em>)</em></font><font size="2"><em></em></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta funci&oacute;n factoriza  la matriz A (m x n) en la descomposici&oacute;n QR (A = QR). Como salida,  la parte triangular superior y diagonal de la matriz de entrada,  contiene a la matriz  R. El vector <em>tau</em> y las columnas de la parte triangular  inferior de la matriz A contienen  los coeficientes y vectores de Householder que codifican la matriz ortogonal Q. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El vector <em>tau</em> debe ser  de longitud k =\min  (m,n).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La matriz  Q se relaciona con estos componentes  por, <em>Q = Q_k,..., Q_2, Q_1</em> donde: </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>Q_i</em> = <em>I - \tau_i v_i v_i<sup>T</sup>&nbsp; </em>    <br>       ]]></body>
<body><![CDATA[<br> y <em>v_i</em> es el vector de Householder,&nbsp; <em>v_i = (0,...,1, A(i+1,i),  A(i+2,i), ... , A(m,i))</em>.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Este es el mismo esquema de  almacenamiento utilizado por LAPACK.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">b) <em>int <strong>gsl_linalg_QR_solve</strong> (const gsl_matrix * QR, const gsl_vector * tau,  const gsl_vector * b, gsl_vector * x)</em></font><font size="2"><em></em></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta funci&oacute;n resuelve el  sistema cuadrado  Ax = b usando la descomposici&oacute;n QR de A realizada en (QR, tau), que se debe haber calculado previamente  con <em>gsl_linalg_QR_decomp</em>. Esta funci&oacute;n devuelve el vector <em>x</em>, como soluci&oacute;n al sistema de ecuaciones presentado. La  soluci&oacute;n de m&iacute;nimos cuadrados para sistemas rectangulares se puede encontrar utilizando <em>gsl_linalg_QR_lssolve</em>.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La biblioteca LAPACK </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LAPACK (Linear Algebra Package) es una  biblioteca de software para el &aacute;lgebra lineal num&eacute;rica. Proporciona rutinas para solucionar sistemas de ecuaciones  lineales y m&iacute;nimos cuadrados lineales, problemas de valores propios,  y la descomposici&oacute;n de valor singular. Tambi&eacute;n incluye rutinas para  implementar las factorizaciones matriciales asociadas tales como LU, QR, Cholesky y  la descomposici&oacute;n de Schur. LAPACK fue originalmente  escrito en FORTRAN 77, pero se tradujo a Fortran 90 en la versi&oacute;n 3.2 (<a href="http://www.netlib.org/lapack/lapack-3.2.html">http://www.netlib.org/lapack/lapack-3.2.html</a>). Las rutinas manejan ambos tipos de matrices, reales y complejas,  tanto en simple como en doble precisi&oacute;n.  La versi&oacute;n m&aacute;s actual es la 3.5.0, que fue lanzada en noviembre de 2013.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las versiones m&aacute;s recientes de LAPACK, contienen una  interfaz para utilizar LAPACK desde C, conocida como LAPACKE, accesible en: <a href="http://www.netlib.org/lapack/lapacke.html/">http://www.netlib.org/lapack/lapacke.html</a>. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta biblioteca es usada ampliamente por su  escalabilidad en soluciones computacionales (<a href="#_ENREF_1" title="Agullo, 2009 #129">Agullo, <em>et al.,</em> 2009</a>, <a href="#_ENREF_15" title="Khan, 2013 #118">Khan, <em>et al.,</em> 2013</a>, <a href="#_ENREF_21" title="Ordonez, 2014 #128">Ordonez, <em>et al.,</em> 2014</a>) e incluye  como caracter&iacute;sticas las siguientes:</font></p> <ul>       <li>     <font size="2" face="Verdana, Arial, Helvetica, sans-serif">     El nombre de las subrutinas tiene la forma <em>LAPACKE_dsyev</em>.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La funci&oacute;n retorna la informaci&oacute;n de los argumentos ya que  estos no se encuentran en la lista de par&aacute;metros.</font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Todos los par&aacute;metros se utilizan de una forma similar a C:  s&oacute;lo los arreglos son punteros.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En general, hay dos versiones de una funci&oacute;n: por ejemplo <em>LAPACKE_dsyev</em> y <em>LAPACKE_dsyev_work</em>. El primero determina el espacio de trabajo  &oacute;ptimo por s&iacute; mismo, el segundo espera que el espacio de trabajo sea  proporcionado por quien la utiliza. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si uno o m&aacute;s par&aacute;metros son matrices de 2 dimensiones, se  necesita un par&aacute;metro adicional: LAPACK_COL_MAJOR o LAPACK_ROW_MAJOR. La  primera de ellas para el dise&ntilde;o de la matriz Fortran, el segundo para el dise&ntilde;o  de la matriz C. Este se coloca delante de todos los dem&aacute;s par&aacute;metros. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LAPACKE tambi&eacute;n se puede utilizar para llamar a subrutinas de  la biblioteca LAPACK desde la biblioteca MKL de Intel.    <br>           <br>   </font>     <ul>       <ul>             <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><u>Funciones  que realizan la descomposici&oacute;n QR:</u></font></li>           </ul>         </ul>   </li>     </ul>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En esta biblioteca se emplean las  subrutinas de la familia LAPACK DGELS, que fueron mejoradas en 2001 para  matrices de cualquier dimensi&oacute;n (<a href="#_ENREF_10" title="Elmroth, 2001 #98">Elmroth y Gustavson, 2001</a>). Los cuatro problemas diferentes de DGELS    <br>   Soluci&oacute;n lineal de m&iacute;nimos cuadrados para <em>minimize </em></font><font size="2"><em>&#448;&#448;<font face="Verdana, Arial, Helvetica, sans-serif">AX </font></em><font face="Verdana, Arial, Helvetica, sans-serif"><em>&minus; B</em></font><em>&#448;&#448;<font face="Verdana, Arial, Helvetica, sans-serif">F (m &ge; n</font></em><font face="Verdana, Arial, Helvetica, sans-serif">),</font>    <br>   <font face="Verdana, Arial, Helvetica, sans-serif">soluci&oacute;n lineal de m&iacute;nimos cuadrados para <em>minimize</em></font> <em>&#448;&#448;AT &minus; B&#448;&#448;F</em> (<em>m &lt; n</em>),     <br>   <font face="Verdana, Arial, Helvetica, sans-serif">soluci&oacute;n de norma m&iacute;nima para <em>minimize</em></font> <em>&#448;&#448;<font face="Verdana, Arial, Helvetica, sans-serif">AT </font></em><font face="Verdana, Arial, Helvetica, sans-serif"><em>&minus; B</em></font><em>&#448;&#448;<font face="Verdana, Arial, Helvetica, sans-serif">F</font></em><font face="Verdana, Arial, Helvetica, sans-serif"> (<em>m &ge; n</em>) y </font>    <br>   <font face="Verdana, Arial, Helvetica, sans-serif">soluci&oacute;n de norma m&iacute;nima para <em>minimize</em></font><em> &#448;&#448;<font face="Verdana, Arial, Helvetica, sans-serif">AX </font></em><font face="Verdana, Arial, Helvetica, sans-serif"><em>&minus; B</em></font><em>&#448;&#448;<font face="Verdana, Arial, Helvetica, sans-serif">F</font></em><font face="Verdana, Arial, Helvetica, sans-serif"> (<em>m &lt; n</em>)),</font>    <br>   <font face="Verdana, Arial, Helvetica, sans-serif">se reducen b&aacute;sicamente a dos,  mediante el uso de una transposici&oacute;n expl&iacute;cita de A. </font></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con la transposici&oacute;n expl&iacute;cita evitamos el c&oacute;mputo de  transformaciones Householder en vectores con gran antelaci&oacute;n. La factorizaci&oacute;n  QR de columnas de bloques de A se realiza usando un algoritmo recursivo  nivel-3. Intercalando actualizaciones de B con la factorizaci&oacute;n de A, se reduce  el n&uacute;mero de operaciones de punto flotante realizados por el problema lineal de  m&iacute;nimos cuadrados. Al evitar c&aacute;lculos redundantes  en la actualizaci&oacute;n de B se reduce el trabajo necesario para calcular la soluci&oacute;n de  norma m&iacute;nima. Adicionalmente se incluyen algoritmos totalmente recursivos  para los cuatro problemas de  DGELS, as&iacute; como para la factorizaci&oacute;n  QR.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para solucionar un  sistema de ecuaciones lineales Ax = b, para matrices no sim&eacute;tricas, debe  emplearse la funci&oacute;n siguiente:</font></p>     <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">lapack_int <strong><em>LAPACKE_dgels</em></strong> (int matrix_order, char trans, lapack_int m, lapack_int n, lapack_int  nrhs,&nbsp;&nbsp; double *a, lapack_int lda, double  *b, lapack_int ldb)</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Donde:</font></p> <ul>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>matrix_order</em>: Indica c&oacute;mo se almacenan los elementos de las matrices (vectores) en  la memoria del computador. Su valor puede ser <strong>LAPACK_COL_MAJOR </strong>o <strong>LAPACK_ROW_MAJOR.</strong> </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>trans</em>: Indica c&oacute;mo se resolver&aacute; el sistema lineal.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>N</strong>: El sistema involucra a la matriz A (a)</font></p> <ul>   <ul>     <ul>           <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si <em>m&gt;=n</em> encuentra la soluci&oacute;n de m&iacute;nimos cuadrados para un sistema indeterminado (por  ejemplo, <em>minimize || B - AX ||</em>).</font></li>           <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si <em>m&lt;n</em> encuentra la soluci&oacute;n de norma m&iacute;nima para un sistema indeterminado <em>AX=B</em>.</font></li>         </ul>       </ul>     </ul>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">T</font></strong><font face="Verdana, Arial, Helvetica, sans-serif">: El sistema involucra a la matriz AT </font></font></p> <ul>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si <em>m&gt;=n</em> encuentra la soluci&oacute;n de norma m&iacute;nima para un sistema indeterminado <em>ATX=B</em>. </font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si <em>m&lt;n</em> encuentra la soluci&oacute;n de m&iacute;nimos cuadrados para un sistema indeterminado (por  ejemplo, <em>minimize || B - ATX ||</em>).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>m: </em>Indica el n&uacute;mero de filas de la matriz A.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>n: </em>Indica el n&uacute;mero de columnas de la matriz A.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>nrhs: </em>Indica el n&uacute;mero de columnas de la matriz B (b) y x.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>*a: </em>La matriz A.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>lda: </em>La dimensi&oacute;n principal  de la matriz A (n&uacute;mero de columnas de A para el  estilo empleado en C).</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>*b: </em>La matriz (vector) B.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><em>ldb: </em>La dimensi&oacute;n principal  de la matriz B (n&uacute;mero de columnas de B para el  estilo empleado en C).</font></li>     </ul>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta  funci&oacute;n devuelve la matriz (vector) B, como soluci&oacute;n al sistema de ecuaciones  presentado.</font></p>     <p align="left">&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">RESULTADOS Y DISCUSI&Oacute;N </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Evaluaci&oacute;n y comparaci&oacute;n de los resultados obtenidos     <br>       <br> Para  evaluar el desempe&ntilde;o del algoritmo propuesto, se decidi&oacute; implementar una nueva  aplicaci&oacute;n (<strong><em>ptb_lapack</em></strong>) que fuese capaz de determinar el valor de <strong><em>Sj</em></strong>,  empleando la biblioteca LAPACK (<em>LAPACKE_dgels</em>).  Esta aplicaci&oacute;n fue elaborada empleando el lenguaje de programaci&oacute;n C y sus  resultados fueron validados con la versi&oacute;n ya existente que utiliza la  biblioteca GSL (<strong><em>ptb_ls</em></strong>) (<a href="#_ENREF_8" title="Del Toro, 2011 #119">Del Toro, <em>et al.,</em> 2011</a>). </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En su  desarrollo se utiliz&oacute; la interfaz Netbeans 7.4, sobre la versi&oacute;n 7.4.0 del  sistema operativo GNU/Linux Debian Wheezy. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para  comparar su desempe&ntilde;o, ambas aplicaciones fueron evaluadas con 3 juegos de  datos (<em>GenBank datasets</em>) (<a href="#_ENREF_3" title="Benson, 2012 #132">Benson, <em>et al.,</em> 2012</a>) correspondientes a segmentos de la prote&iacute;na HA del virus de  la influenza humana A (2 al subtipo H1N1 y uno al subtipo H3N2 obtenidos del  sitio NCBI (<a href="http://www.google.com.cu/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&sqi=2&ved=0CDAQFjAA&url=http%3A%2F%2Fwww.ncbi.nlm.nih.gov%2F&ei=EViHU6KVIerQsQS9uoH4BQ&usg=AFQjCNEtxijk1bbk_J3zghYe8TRBijQ4rw&bvm=bv.67720277,d.cWc">National Center for  Biotechnology Information</a>) accesible  en: <a href="http://www.ncbi.nlm.nih.gov/genomes/FLU/Database/nph-select.cgi?go=database">http://www.ncbi.nlm.nih.gov/genomes/FLU/Database/nph-select.cgi?go=database</a>. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el  primer grupo, tenemos los archivos <em>GeneFastaResults_HA.fas</em> (alineamiento <strong><em>gen_fas, </em></strong>con 749 secuencias de 1702 nucle&oacute;tidos) y <em>FASTA_NA_Human.fas</em> (alineamiento <strong><em>na_human</em></strong>,  con 1000 secuencias de 1781 nucle&oacute;tidos). El segundo grupo, es representado en  el archivo <em>FASTA_H3N2.fas</em> (alineamiento <strong><em>h3n2</em></strong>, con 198 secuencias de 1765 nucle&oacute;tidos). Sobre estos se  realiz&oacute; un proceso alineamiento m&uacute;ltiple empleando la herramienta <em>clustalo</em>, que puede descargarse desde: <a href="http://www.clustal.org/omega/">http://www.clustal.org/omega/</a>. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como etapa  previa a la construcci&oacute;n del &aacute;rbol filogen&eacute;tico, se construyeron las matrices  de distancias correspondientes a cada alineamiento de acuerdo al modelo  biol&oacute;gico TN93 (<a href="#_ENREF_28" title="Tamura, 1993 #117">Tamura y Nei, 1993</a>). </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las  aplicaciones se ejecutaron en el centro de datos de la UCLV, accesible en: <a href="http://hpc.uclv.cu/">http://hpc.uclv.cu/</a>, sobre nodos de c&oacute;mputo del cl&uacute;ster que poseen dos  procesadores Intel Xeon 5130, operando a 2.00 GHz y con 16 GB de memoria. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los &aacute;rboles  filogen&eacute;ticos construidos por ambas aplicaciones fueron comparados usando  varias herramientas (<a href="#_ENREF_18" title="Letunic, 2011 #123">Letunic y Bork, 2011</a>, <a href="#_ENREF_30" title="Zhang, 2012 #124">Zhang, <em>et al.,</em> 2012</a>), resultando ser iguales. La tabla 1 muestra el tiempo  empleado por cada aplicaci&oacute;n al procesar diferentes muestras de los conjuntos  de datos.</font></p>     <p align="center"><a name="t01"></a><img src="/img/revistas/rcci/v9n1/t0401115.jpg" width="609" height="302"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#t01">tabla  1</a>, se observa un comportamiento similar en tiempo durante el procesamiento de  cada conjunto de datos seg&uacute;n el n&uacute;mero de secuencias (<strong><em>N</em></strong>). Este comportamiento  se debe a la incidencia del modelo TN93 durante el proceso de construcci&oacute;n de  la matriz de distancias gen&eacute;ticas. Este modelo, establece que aquellos sitios  en secuencias alineadas que presenten ausencia de informaci&oacute;n (nucle&oacute;tido  desconocido o <em>gap</em>) deben ser  descartados del an&aacute;lisis (<a href="#_ENREF_7" title="Dalquen, 2012 #131">Dalquen, <em>et al.,</em> 2012</a>, <a href="#_ENREF_16" title="Kumar, 2008 #130">Kumar, <em>et al.,</em> 2008</a>). </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las bases  de datos seleccionadas para el estudio presentan sitios con un n&uacute;mero de <em>gaps</em> alto, y son superiores en los  alineamientos <strong><em>gen_fas </em></strong>y <strong><em>na_human</em></strong>. Por este motivo, las dimensiones del problema a tratar por las  aplicaciones son similares. No obstante, se observa que para 150 secuencias del  alineamiento <strong><em>gen_fas</em></strong>, la aplicaci&oacute;n <strong><em>ptb_lapack</em></strong> redujo su tiempo de  ejecuci&oacute;n en un factor de <strong>5.656</strong> respecto a  la versi&oacute;n <strong><em>ptb_ls</em></strong>. Esto implica que el crecimiento exponencial en tiempo  para ambas aplicaciones es menor en la versi&oacute;n que emplea LAPACK.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#f02">figura  2</a> se observa este comportamiento, que nos permite asegurar que un aumento en el  n&uacute;mero de secuencias a procesar hace mayor la diferencia entre ambas  aplicaciones, generando un factor de ganancia a&uacute;n superior.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De acuerdo a los resultados de la <a href="#t01">tabla 1</a> se deduce que en el  procesamiento de los restantes conjuntos de datos se obtendr&iacute;a un  comportamiento similar.</font></p>     <p align="center"><a name="f02"></a><img src="/img/revistas/rcci/v9n1/f0402115.jpg" width="631" height="448"></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>CONCLUSIONES</B></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo secuencial abordado presenta una  complejidad computacional muy alta (<strong>n<sup>5</sup></strong>),  garantizando obtener el mejor &aacute;rbol, siendo posible implementarlo utilizando  diferentes bibliotecas para determinar las longitudes de las ramas que  minimizan <strong><em>S<sub>j</sub></em></strong>. Los resultados experimentales muestran que la  biblioteca LAPACKE presenta un mejor desempe&ntilde;o que la GSL para obtener las  soluciones al sistema de ecuaciones lineales. El n&uacute;mero de secuencias a  procesar por las aplicaciones en los tres juegos de datos no incidi&oacute;  significativamente en el desempe&ntilde;o de las aplicaciones debido a que tratan con  problemas de dimensiones similares. El empleo de funciones de la biblioteca  LAPACK y similares, al tratar problemas que realicen procesamiento matem&aacute;tico  anal&iacute;tico, debe considerarse como una de primeras estrategias durante el  proceso de implementaci&oacute;n. El manejo de estructuras de datos que requieran un  alto consumo de recursos de memoria y por ende, de procesamiento, se favorece  con la introducci&oacute;n de t&eacute;cnicas paralelas, empleando bibliotecas basadas en  sistemas de memoria compartida, que reduzcan el costo de los algoritmos tratados.</font></p>     <p>&nbsp;</p>     <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>REFERENCIAS    BIBLIOGR&Aacute;FICAS</B></font>     <!-- ref --><p name="_ENREF_1"><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">AGULLO,  E.; HADRI, B.; LTAIEF, H. &amp; DONGARRRA, J. Comparative study of one-sided  factorizations with multiple software packages on multi-core hardware. En:  Proceedings of the Conference on High Performance Computing Networking, Storage  and Analysis. ACM, 2009, p. 20.    </font> </font></p>     <!-- ref --><p name="_ENREF_2"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ANDERSON, E.; BAI, Z.; BISCHOF, C.; BLACKFORD, S.; DEMMEL,  J.; DONGARRA, J.; DU CROZ, J.; GREENBAUM, A.; HAMMERLING, S. &amp; MCKENNEY, A.  LAPACK Users' guide, Society for Industrial and Applied Mathematics, 1999. 520  pp.     </font></p>     <!-- ref --><p name="_ENREF_3"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BENSON, D.A.; CAVANAUGH, M.; CLARK, K.; KARSCH-MIZRACHI, I.; LIPMAN,  D.J.; OSTELL, J. &amp; SAYERS, E.W. GenBank. Nucleic acids research, 2012: p.  gks1195.     </font></p>     <!-- ref --><p name="_ENREF_4"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BUTTARI, A.; LANGOU, J.; KURZAK, J. &amp; DONGARRA, J.  Parallel tiled QR factorization for multicore architectures. Concurrency and  Computation: Practice and Experience, 2008, 20 (13): p. 1573-1590.     </font></p>     <p name="_ENREF_5"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CAVALLI-SFORZA, L.L. &amp; EDWARDS, A.W. Phylogenetic  analysis. Models and estimation procedures. American journal of human genetics,  1967, 19 (3 Pt 1): p. 233. </font></p>     <!-- ref --><p name="_ENREF_6"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CHOI, J.; DEMMEL, J.; DHILLON, I.; DONGARRA, J.; OSTROUCHOV,  S.; PETITET, A.; STANLEY, K.; WALKER, D. &amp; WHALEY, R.C. ScaLAPACK: A  portable linear algebra library for distributed memory computers - Design  issues and performance: Applied Parallel Computing Computations in Physics,  Chemistry and Engineering Science Springer, 1996, p. 95-106.     </font></p>     <!-- ref --><p name="_ENREF_7"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">DALQUEN, D.A.; ANISIMOVA, M.; GONNET, G.H. &amp; DESSIMOZ, C.  ALF - a simulation framework for genome evolution. Molecular biology and  evolution, 2012, 29 (4): p. 1115-1123.     </font></p>     <!-- ref --><p name="_ENREF_8"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">DEL TORO, L.; ROOSE, D. &amp; G&Aacute;LVEZ, D. Construcci&oacute;n de  &aacute;rboles filogen&eacute;ticos usando un m&eacute;todo de m&iacute;nima evoluci&oacute;n basado en el m&eacute;todo  de los m&iacute;nimos cuadrados (LS). En: Compumat 2011. Memorias del XII Congreso de  la Sociedad Cubana de Computaci&oacute;n y Matem&aacute;tica. Universidad Central &quot;Marta  Abreu&quot; de las Villas: Editorial Feij&oacute;o, 2011, p. 10.     </font></p>     <!-- ref --><p name="_ENREF_9"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">DESPER, R. &amp; GASCUEL, O. Fast and accurate phylogeny reconstruction  algorithms based on the minimum-evolution principle. Journal of computational  biology, 2002, 9 (5): p. 687-705.     </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p name="_ENREF_10"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ELMROTH, E. &amp; GUSTAVSON, F. A Faster and Simpler  Recursive Algorithm for the LAPACK Routine DGELS. BIT Numerical Mathematics,  2001, 41 (5): p. 936-949.     </font></p>     <!-- ref --><p name="_ENREF_11"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">FELSENSTEIN, J. Evolutionary trees from DNA sequences: a  maximum likelihood approach. Journal of molecular evolution, 1981, 17 (6): p.  368-376.     </font></p>     <!-- ref --><p name="_ENREF_12"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">FITCH, W. M. Toward defining the course of evolution: minimum  change for a specific tree topology. Systematic Biology, 1971, 20 (4): p.  406-416.     </font></p>     <!-- ref --><p name="_ENREF_13"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GOUGH, B. GNU scientific library reference manual, Network  Theory Ltd., 2009. 592 pp.     </font></p>     <!-- ref --><p name="_ENREF_14"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">HARTIGAN, J.A. Minimum mutation fits to a given tree.  Biometrics, 1973, 29: p. 53-65.     </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p name="_ENREF_15"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">KHAN, S.U.; WANG, L. &amp; ZOMAYA, A.Y. Scalable Computing  and Communications: Theory and Practice, John Wiley &amp; Sons, 2013. 856 pp.     </font></p>     <!-- ref --><p name="_ENREF_16"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">KUMAR, S.; NEI, M.; DUDLEY, J. &amp; TAMURA, K. MEGA: a  biologist-centric software for evolutionary analysis of DNA and protein  sequences. Briefings in bioinformatics, 2008, 9 (4): p. 299-306.     </font></p>     <!-- ref --><p name="_ENREF_17"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">KURZAK, J. &amp; DONGARRA, J. QR factorization for the Cell  Broadband Engine. Scientific Programming, 2009, 17 (1): p. 31-42.     </font></p>     <!-- ref --><p name="_ENREF_18"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LETUNIC, I. &amp; BORK, P. Interactive Tree Of Life v2:  online annotation and display of phylogenetic trees made easy. Nucleic acids  research, 2011: p. gkr201.     </font></p>     <!-- ref --><p name="_ENREF_19"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MARTHI, V.R. &amp; CHENGALUR, J. Non-linear redundancy  calibration. Monthly Notices of the Royal Astronomical Society, 2014, 437 (1):  p. 524-531.     </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p name="_ENREF_20"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MAU, B. &amp; NEWTON, M.A. Phylogenetic inference for binary  data on dendograms using Markov chain Monte Carlo. Journal of Computational and  Graphical Statistics, 1997, 6 (1): p. 122-131.     </font></p>     <!-- ref --><p name="_ENREF_21"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ORDONEZ, C.; MOHANAM, N. &amp; GARCIA-ALVARADO, C. PCA for  large data sets with parallel data summarization. Distributed and Parallel Databases,  2014, 32 (3): p. 377-403.     </font></p>     <!-- ref --><p name="_ENREF_22"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">POSADA, D. jModelTest: phylogenetic model averaging.  Molecular biology and evolution, 2008, 25 (7): p. 1253-1256.     </font></p>     <!-- ref --><p name="_ENREF_23"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SAITOU, N. &amp; NEI, M. The neighbor-joining method: a new  method for reconstructing phylogenetic trees. Molecular biology and evolution,  1987, 4 (4): p. 406-425.     </font></p>     <!-- ref --><p name="_ENREF_24"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">S&Aacute;NCHEZ, R. &amp; GRAU, R. An algebraic hypothesis about the  primeval genetic code architecture. Mathematical biosciences, 2009, 221 (1): p.  60-76.     </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p name="_ENREF_25"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SIEVERS, F.; WILM, A.; DINEEN, D.; GIBSON, T.J.; KARPLUS, K.;  LI, W.; LOPEZ, R.; MCWILLIAM, H.; REMMERT, M. &amp; S&Ouml;DING, J. Fast, scalable  generation of high&#8208;quality  protein multiple sequence alignments using Clustal Omega. Molecular systems  biology, 2011, 7 (1) </font><!-- ref --><p name="_ENREF_26"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&Scaron;IRCA, S. &amp; HORVAT, M. Matrix Methods: Computational Methods  for Physicists Springer, 2012, p. 109-157.     </font></p>     <!-- ref --><p name="_ENREF_27"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SOKAL, R.R. &amp; SNEATH, P.H.A. Principles of Numerical  Taxonomy, W. H. Freeman, 1963. 359 pp.     </font></p>     <!-- ref --><p name="_ENREF_28"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">TAMURA, K. &amp; NEI, M. Estimation of the number of  nucleotide substitutions in the control region of mitochondrial DNA in humans  and chimpanzees. Molecular biology and evolution, 1993, 10 (3): p. 512-526.     </font></p>     <!-- ref --><p name="_ENREF_29"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">YANG, Z. Computational Molecular Evolution, OUP Oxford, 2006.  374 pp.     </font></p>     <!-- ref --><p name="_ENREF_30"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ZHANG, H.; GAO, S.; LERCHER, M.J.; HU, S. &amp; CHEN, W.-H.  EvolView, an online tool for visualizing, annotating and managing phylogenetic  trees. Nucleic acids research, 2012, 40 (W1): p. W569-W572.     </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>&nbsp;</strong></font></p>     <p>&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 14/11/2014      <br> Aceptado: 19/01/2015 </font></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[AGULLO]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[HADRI]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[LTAIEF]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[DONGARRRA]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Comparative study of one-sided factorizations with multiple software packages on multi-core hardware.]]></source>
<year>2009</year>
<page-range>20</page-range><publisher-name><![CDATA[En: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ANDERSON]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[BAI]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[BISCHOF]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[BLACKFORD]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[DEMMEL]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[DONGARRA]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[DU CROZ]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[GREENBAUM]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[HAMMERLING]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[MCKENNEY]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[LAPACK Users' guide, Society for Industrial and Applied Mathematics]]></source>
<year>1999</year>
<page-range>520</page-range></nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BENSON]]></surname>
<given-names><![CDATA[D.A]]></given-names>
</name>
<name>
<surname><![CDATA[CAVANAUGH]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[CLARK]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[KARSCH-MIZRACHI]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[LIPMAN]]></surname>
<given-names><![CDATA[D.J]]></given-names>
</name>
<name>
<surname><![CDATA[OSTELL]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[SAYERS]]></surname>
<given-names><![CDATA[E.W]]></given-names>
</name>
</person-group>
<source><![CDATA[GenBank]]></source>
<year>2012</year>
<page-range>1195</page-range><publisher-name><![CDATA[Nucleic acids research]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BUTTARI]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[LANGOU]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[KURZAK]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[DONGARRA]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Parallel tiled QR factorization for multicore architectures.]]></article-title>
<source><![CDATA[]]></source>
<year>2008</year>
<volume>20</volume>
<numero>13</numero>
<issue>13</issue>
<page-range>1573-1590</page-range></nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CAVALLI-SFORZA]]></surname>
<given-names><![CDATA[L.L]]></given-names>
</name>
<name>
<surname><![CDATA[EDWARDS]]></surname>
<given-names><![CDATA[A.W]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Phylogenetic analysis. Models and estimation procedures.]]></article-title>
<source><![CDATA[]]></source>
<year>1967</year>
<volume>19</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>233</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CHOI]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[DEMMEL]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[DHILLON]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[DONGARRA]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[OSTROUCHOV]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[PETITET]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[STANLEY]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[WALKER]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[WHALEY]]></surname>
<given-names><![CDATA[R.C]]></given-names>
</name>
</person-group>
<source><![CDATA[ScaLAPACK: A portable linear algebra library for distributed memory computers - Design issues and performance: Applied Parallel Computing Computations in Physics]]></source>
<year>1996</year>
<page-range>95-106</page-range><publisher-name><![CDATA[Chemistry and Engineering Science Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DALQUEN]]></surname>
<given-names><![CDATA[D.A]]></given-names>
</name>
<name>
<surname><![CDATA[ANISIMOVA]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[GONNET]]></surname>
<given-names><![CDATA[G.H]]></given-names>
</name>
<name>
<surname><![CDATA[DESSIMOZ]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[ALF - a simulation framework for genome evolution]]></article-title>
<source><![CDATA[]]></source>
<year>2012</year>
<volume>29</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>1115-1123</page-range></nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DEL TORO]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[ROOSE]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[GÁLVEZ]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Construcción de árboles filogenéticos usando un método de mínima evolución basado en el método de los mínimos cuadrados (LS).]]></source>
<year>2011</year>
<page-range>10</page-range><publisher-name><![CDATA[En: Compumat 2011. Memorias del XII Congreso de la Sociedad Cubana de Computación y Matemática. Universidad Central "Marta Abreu" de las Villas: Editorial Feijóo]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DESPER]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[GASCUEL]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Fast and accurate phylogeny reconstruction algorithms based on the minimum-evolution principle.]]></article-title>
<source><![CDATA[]]></source>
<year>2002</year>
<volume>9</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>687-705</page-range></nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ELMROTH]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[GUSTAVSON]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Faster and Simpler Recursive Algorithm for the LAPACK Routine DGELS.]]></article-title>
<source><![CDATA[]]></source>
<year>2001</year>
<volume>41</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>936-949</page-range></nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FELSENSTEIN]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Evolutionary trees from DNA sequences: a maximum likelihood approach]]></article-title>
<source><![CDATA[]]></source>
<year>1981</year>
<volume>17</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>368-376</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FITCH]]></surname>
<given-names><![CDATA[W. M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Toward defining the course of evolution: minimum change for a specific tree topology]]></article-title>
<source><![CDATA[]]></source>
<year>1971</year>
<volume>20</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>406-416</page-range></nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GOUGH]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[GNU scientific library reference manual]]></source>
<year>2009</year>
<page-range>592</page-range><publisher-name><![CDATA[Network Theory Ltd]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HARTIGAN]]></surname>
<given-names><![CDATA[J.A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Minimum mutation fits to a given tree.]]></article-title>
<source><![CDATA[]]></source>
<year>1973</year>
<volume>29</volume>
<page-range>53-65</page-range></nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KHAN]]></surname>
<given-names><![CDATA[S.U]]></given-names>
</name>
<name>
<surname><![CDATA[WANG]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[ZOMAYA]]></surname>
<given-names><![CDATA[A.Y]]></given-names>
</name>
</person-group>
<source><![CDATA[Scalable Computing and Communications: Theory and Practice]]></source>
<year>2013</year>
<page-range>856</page-range><publisher-name><![CDATA[John Wiley & Sons]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KUMAR]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[NEI]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[DUDLEY]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[TAMURA]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[MEGA: a biologist-centric software for evolutionary analysis of DNA and protein sequences.]]></article-title>
<source><![CDATA[]]></source>
<year>2008</year>
<volume>9</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>299-306</page-range></nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KURZAK]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[DONGARRA]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[QR factorization for the Cell Broadband Engine.]]></article-title>
<source><![CDATA[]]></source>
<year>2009</year>
<volume>17</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>31-42</page-range></nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LETUNIC]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[BORK]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[Interactive Tree Of Life v2: online annotation and display of phylogenetic trees made easy]]></source>
<year>2011</year>
<page-range>gkr201</page-range><publisher-name><![CDATA[Nucleic acids research]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B19">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MARTHI]]></surname>
<given-names><![CDATA[V.R]]></given-names>
</name>
<name>
<surname><![CDATA[CHENGALUR]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Non-linear redundancy calibration.]]></article-title>
<source><![CDATA[]]></source>
<year>2014</year>
<volume>437</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>524-531</page-range></nlm-citation>
</ref>
<ref id="B20">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MAU]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[NEWTON]]></surname>
<given-names><![CDATA[M.A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Phylogenetic inference for binary data on dendograms using Markov chain Monte Carlo.]]></article-title>
<source><![CDATA[]]></source>
<year>1997</year>
<volume>6</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>122-131</page-range></nlm-citation>
</ref>
<ref id="B21">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ORDONEZ]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[MOHANAM]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[GARCIA-ALVARADO]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[PCA for large data sets with parallel data summarization.]]></article-title>
<source><![CDATA[]]></source>
<year>2014</year>
<volume>32</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>377-403</page-range></nlm-citation>
</ref>
<ref id="B22">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[POSADA]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[jModelTest: phylogenetic model averaging]]></article-title>
<source><![CDATA[]]></source>
<year>2008</year>
<volume>25</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>1253-1256</page-range></nlm-citation>
</ref>
<ref id="B23">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SAITOU]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[NEI]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The neighbor-joining method: a new method for reconstructing phylogenetic trees]]></article-title>
<source><![CDATA[]]></source>
<year>1987</year>
<volume>4</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>406-425</page-range></nlm-citation>
</ref>
<ref id="B24">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SÁNCHEZ]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[GRAU]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An algebraic hypothesis about the primeval genetic code architecture.]]></article-title>
<source><![CDATA[]]></source>
<year>2009</year>
<volume>221</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>60-76</page-range></nlm-citation>
</ref>
<ref id="B25">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SIEVERS]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[WILM]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[DINEEN]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[GIBSON]]></surname>
<given-names><![CDATA[T.J]]></given-names>
</name>
<name>
<surname><![CDATA[KARPLUS]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[LI]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[LOPEZ]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[MCWILLIAM]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[REMMERT]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[SÖDING]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Fast, scalable generation of high&#8208;quality protein multiple sequence alignments using Clustal Omega.]]></article-title>
<source><![CDATA[]]></source>
<year>2011</year>
<volume>7</volume>
<numero>1</numero>
<issue>1</issue>
</nlm-citation>
</ref>
<ref id="B26">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[&#352;IRCA]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[HORVAT]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Matrix Methods: Computational Methods for Physicists Springer]]></source>
<year>2012</year>
<page-range>109-157</page-range></nlm-citation>
</ref>
<ref id="B27">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SOKAL]]></surname>
<given-names><![CDATA[R.R]]></given-names>
</name>
<name>
<surname><![CDATA[SNEATH]]></surname>
<given-names><![CDATA[P.H.A]]></given-names>
</name>
</person-group>
<source><![CDATA[Principles of Numerical Taxonomy]]></source>
<year>1963</year>
<page-range>359</page-range><publisher-name><![CDATA[W. H. Freeman]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B28">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[TAMURA]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[NEI]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Estimation of the number of nucleotide substitutions in the control region of mitochondrial DNA in humans and chimpanzees.]]></article-title>
<source><![CDATA[]]></source>
<year>1993</year>
<volume>10</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>512-526</page-range></nlm-citation>
</ref>
<ref id="B29">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[YANG]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
</person-group>
<source><![CDATA[Computational Molecular Evolution]]></source>
<year>2006</year>
<page-range>374</page-range><publisher-name><![CDATA[OUP Oxford]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B30">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZHANG]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[GAO]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[LERCHER]]></surname>
<given-names><![CDATA[M.J]]></given-names>
</name>
<name>
<surname><![CDATA[HU]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[CHEN]]></surname>
<given-names><![CDATA[W.-H]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[EvolView, an online tool for visualizing, annotating and managing phylogenetic trees.]]></article-title>
<source><![CDATA[]]></source>
<year>2012</year>
<volume>40</volume>
<numero>W1</numero>
<issue>W1</issue>
<page-range>W569-W572</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
