{"id":6111,"date":"2012-03-27T10:05:29","date_gmt":"2012-03-27T08:05:29","guid":{"rendered":"http:\/\/www.ehu.es\/sgi\/?p=6111"},"modified":"2013-03-14T11:24:45","modified_gmt":"2013-03-14T09:24:45","slug":"abyss","status":"publish","type":"post","link":"https:\/\/www.ehu.eus\/sgi\/software-de-calculo\/abyss","title":{"rendered":"ABySS"},"content":{"rendered":"<h2>Informaci\u00f3n general<\/h2>\n<p>Versi\u00f3n 1.3.2 ABySS <strong>(A<\/strong>ssembly <strong>By S<\/strong>hort <strong>S<\/strong>equences). ABySS is a <em>de novo<\/em>, parallel, paired-end sequence assembler that is designed for short reads. ABySS puede ejecutarse en paralelo.<\/p>\n<p>Leer tambi\u00e9n sobre [intlink id=\u00bb6055&#8243; type=\u00bbpost\u00bb]velvet[\/intlink] y el <a title=\"abyss vs velvet\" href=\"http:\/\/www.ehu.es\/ehusfera\/hpc\/2012\/06\/20\/benchmarking-genetic-assemblers-abyss-vs-velvet\/\" target=\"_blank\">art\u00edculo que hemos publicado<\/a> comparando ambos.<\/p>\n<h2>C\u00f3mo usar<\/h2>\n<p>Los ejecutables se pueden encontrar en <code>\/software\/abyss\/bin<\/code>. As\u00ed, para ejecutar a\u00f1adir en el scritp para el sistema de colas por ejemplo:<\/p>\n<pre>\/software\/abyss\/bin\/abyss-pe [opciones de abyss-pe]<\/pre>\n<h2>Rendimiento<\/h2>\n<p>Leer tambi\u00e9n sobre [intlink id=\u00bb6055&#8243; type=\u00bbpost\u00bb]velvet[\/intlink] y el <a title=\"abyss vs velvet\" href=\"http:\/\/www.ehu.es\/ehusfera\/hpc\/2012\/06\/10\/benchmarking-genetic-assemblers-abyss-vs-velvet\" target=\"_blank\">art\u00edculo que hemos publicado<\/a> comparando ambos.<\/p>\n<h3>Paralelizaci\u00f3n<\/h3>\n<p>Se han realizado unos benchmark sobre Abyss. Los benchmark se han realizado con ficheros obtenidos por un NGS Illumina HiSeq2000 con 100 bp por lectura. En la tabla 1 podemos ver un ejemplo de como escala ABySS con el n\u00famero de cores. Como vemos ABySS escala bien hasta los 8 cores. El resultado parece ser independiente del n\u00famero de secuencias procesadas una vez estas son muchas (&gt;10e6).<\/p>\n<table border=\"0\" align=\"center\">\n<caption>Tabla 1. Tiempo de ejecuci\u00f3n en segundos de <code>abyss-pe<\/code> en funci\u00f3n del n\u00famero de cores<\/caption>\n<tbody>\n<tr>\n<td><strong>cores<\/strong><\/td>\n<td>2<\/td>\n<td>4<\/td>\n<td>8<\/td>\n<td>12<\/td>\n<td>24<\/td>\n<\/tr>\n<tr>\n<td>Tiempo (s)<\/td>\n<td>47798<\/td>\n<td>27852<\/td>\n<td>16874<\/td>\n<td>14591<\/td>\n<td>18633<\/td>\n<\/tr>\n<tr>\n<td>Aceleraci\u00f3n<\/td>\n<td>1<\/td>\n<td>1.7<\/td>\n<td>2.8<\/td>\n<td>3.3<\/td>\n<td>2.6<\/td>\n<\/tr>\n<tr>\n<td>Rendimiento (%)<\/td>\n<td>100<\/td>\n<td>86<\/td>\n<td>71<\/td>\n<td>55<\/td>\n<td>21<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Tiempo de ejecuci\u00f3n<\/h3>\n<p>Tambi\u00e9n hemos analizado el tiempo de ejecuci\u00f3n en funci\u00f3n del tama\u00f1o de los datos de entrada. Observamos en la tabla 2 como el pasar de 1 mill\u00f3n a 10 millones de secuencias el tiempo se multiplica tambi\u00e9n por 10. De 10 millones\u00a0 a 100 el tiempo aumenta entre 10 y 20. Por lo tanto, el comportamiento no es totalmente lineal, pero se aproxima.<\/p>\n<table border=\"0\" align=\"center\">\n<caption>Tabla 2. Tiempo de ejecuci\u00f3n en segundos de <code>abyss-pe<\/code> ejecutado en 2, 4 y 8 cores en funci\u00f3n del n\u00famero secuencias procesadas<\/caption>\n<tbody>\n<tr>\n<td><strong>secuencias<\/strong><\/td>\n<td>10e6<\/td>\n<td>10e7<\/td>\n<td>10e8<\/td>\n<\/tr>\n<tr>\n<td>Tiempo en 2 cores (s)<\/td>\n<td>247<\/td>\n<td>2620<\/td>\n<td>47798<\/td>\n<\/tr>\n<tr>\n<td>Tiempo en 4 cores (s)<\/td>\n<td>134<\/td>\n<td>1437<\/td>\n<td>27852<\/td>\n<\/tr>\n<tr>\n<td>Tiempo en 8 cores (s)<\/td>\n<td>103<\/td>\n<td>923<\/td>\n<td>16874<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Memoria RAM<\/h3>\n<p>En estos programas m\u00e1s importante que el tiempo de ejecuci\u00f3n, que se mantiene en unos l\u00edmites relativamente bajos, es el uso de la memoria RAM, que puede ser limitante e impedir la realizaci\u00f3n del c\u00e1lculo. En la tabla\u00a0 3 observamos como crece la memoria RAM al aumentar el n\u00famero de secuencias. Tambi\u00e9n mostramos en la tabla los logaritmos de los valores medidos que se han usado para realizar un ajuste lineal. Los c\u00e1lculos se han realizado usando 12 cores.<\/p>\n<table border=\"0\" align=\"center\">\n<caption>Tabla 3. Memoria RAM usada por <code>abyss-pe<\/code> en funci\u00f3n del n\u00famero secuencias procesadas. Tambi\u00e9n se muestran los logaritmos de los valores medidos<\/caption>\n<tbody>\n<tr>\n<td><strong>secuencias<\/strong><\/td>\n<td>10e6<\/td>\n<td>5*10e6<\/td>\n<td>10e7<\/td>\n<td>5*10e7<\/td>\n<td>10e8<\/td>\n<\/tr>\n<tr>\n<td>RAM (GB)<\/td>\n<td>4.0<\/td>\n<td>7.6<\/td>\n<td>11<\/td>\n<td>29<\/td>\n<td>44<\/td>\n<\/tr>\n<tr>\n<td>log(secuencias)<\/td>\n<td>6<\/td>\n<td>6.7<\/td>\n<td>7<\/td>\n<td>7.7<\/td>\n<td>8<\/td>\n<\/tr>\n<tr>\n<td>log(RAM)<\/td>\n<td>0.60<\/td>\n<td>0.88<\/td>\n<td>1.03<\/td>\n<td>1.46<\/td>\n<td>1.65<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>De los valores de la tabla obtenemos un buen ajuste de la evoluci\u00f3n de la memoria RAM a la siguiente ecuaci\u00f3n\u00a0 que nos da la memoria RAM en GB en funci\u00f3n del n\u00famero de secuencias (<em>s<\/em>)<\/p>\n<p>log(RAM)=0.53*log(s)-2.65<\/p>\n<p>o lo que es lo mismo<\/p>\n<p>RAM=(s^0.53)\/447<\/p>\n<h3>Conclusi\u00f3n<\/h3>\n<p>El uso de la memoria RAM es menor que con otros ensambladores como [intlink id=\u00bb6055&#8243; type=\u00bbpost\u00bb]Velvet[\/intlink], ver tambi\u00e9n el informe <a title=\"velvet performance\" href=\"..\/..\/ARCHIVOS\/velvet_performance.pdf\" target=\"_blank\"><em>Velvet performance in the machines of the Computing Service of the UPV\/EHU<\/em><\/a><em><\/em> y el <a title=\"abyss vs velvet\" href=\"http:\/\/www.ehu.es\/ehusfera\/hpc\/2012\/06\/10\/benchmarking-genetic-assemblers-abyss-vs-velvet\" target=\"_blank\">art\u00edculo que hemos publicado<\/a>. Adem\u00e1s, la paralelizaci\u00f3n con MPI permite agregar la memoria de varios nodos para poder realizar c\u00e1lculos mayores.<\/p>\n<h2>M\u00e1s informaci\u00f3n<\/h2>\n<p>P\u00e1gina web de <a title=\"ABySS\" href=\"http:\/\/www.bcgsc.ca\/platform\/bioinfo\/software\/abyss\" target=\"_blank\">ABySS<\/a>.<br \/>\nEnsamblador [intlink id=\u00bb6055&#8243; type=\u00bbpost\u00bb]Velvet[\/intlink].<br \/>\nInforme <a title=\"velvet performance\" href=\"http:\/\/www.ehu.es\/sgi\/ARCHIVOS\/velvet_performance.pdf\" target=\"_blank\"><em>Velvet performance in the machines of the Computing Service of the UPV\/EHU<\/em><\/a>.<br \/>\nEntrada en el <a title=\"velvet performance\" href=\"http:\/\/www.ehu.es\/ehusfera\/hpc\" target=\"_blank\">blog hpc<\/a>: <a title=\"velvet performance\" href=\"http:\/\/www.ehu.es\/ehusfera\/hpc\/2012\/06\/20\/benchmarking-genetic-assemblers-abyss-vs-velvet\/\" target=\"_blank\">Velvet performance in the machines of the Computing Service of the UPV\/EHU<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Informaci\u00f3n general Versi\u00f3n 1.3.2 ABySS (Assembly By Short Sequences). ABySS is a de novo, parallel, paired-end sequence assembler that is designed for short reads. ABySS puede ejecutarse en paralelo. Leer tambi\u00e9n sobre [intlink id=\u00bb6055&#8243; type=\u00bbpost\u00bb]velvet[\/intlink] y el art\u00edculo que hemos publicado comparando ambos. C\u00f3mo usar Los ejecutables se pueden encontrar en \/software\/abyss\/bin. As\u00ed, para ejecutar &hellip; <a href=\"https:\/\/www.ehu.eus\/sgi\/software-de-calculo\/abyss\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">ABySS<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_links_to":"","_links_to_target":""},"categories":[176,3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/posts\/6111"}],"collection":[{"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/comments?post=6111"}],"version-history":[{"count":34,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/posts\/6111\/revisions"}],"predecessor-version":[{"id":9130,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/posts\/6111\/revisions\/9130"}],"wp:attachment":[{"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/media?parent=6111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/categories?post=6111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ehu.eus\/sgi\/wp-json\/wp\/v2\/tags?post=6111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}