LoginRSS 2.0 Feed

viernes, 24 de agosto de 2007

Tal como conté en la entrada anterior, dentro de poco se va a celebrar en Barcelona el OOoCon 2007, la principal conferencia de anual de OpenOffice, y echándole un vistazo al programa de la conferencia, me encontré con un par de ponencias asociadas a nuevas extensiones de OpenOffice, potencialmente útiles para el cálculo científico: Tavernalc y R and Calc. En esta entrada hablo de esta segunda extensión, la cuál he tenido el gusto de probar esta misma mañana.

La extensión R and Calc intenta integrar toda la potencia y funcionalidad de R en OpenOffice Calc. La creación de esta extensión está siendo promovida mediante el patrocinio de Google Summer Of Code, y los progresos de Wojciech Gryc (el desarrollador de la extensión) pueden ser seguidos tanto en su blog personal, como en el wiki de R and Calc.

La versión de la extensión que he probado es la 0.1.7, la cuál funciona bastante bien para no estar terminada. El primer requisito de esta extensión es (como era de esperar) tener instalado R en la misma máquina que OpenOffice, y que la versión de OpenOffice sea por lo menos la 2.1 (yo lo probé con la 2.2). La comunicación entre esta extensión de OpenOffice y R se realiza mediante TCP/IP, y por ello el segundo requisito es instalar en R la librería Rserve, que proporciona esta funcionalidad. La instalación de esta librería se puede realizar mediante el comando de R install.packages, aunque es recomendable que lo hagais como superusuario. Como esta extensión está hecha en Java, teneis que haber configurado Java en OpenOffice para que funcione. Por último, aunque OpenOffice dispone de un menú para instalar extensiones nuevas, de momento la instalación de la extensión R and Calc hay que realizarla por línea de comandos, usando el comando unopkg. Podeis encontrar las instrucciones detalladas de instalación en el wiki de R and Calc.

Una vez que habeis terminado el proceso de instalación, para usar esta extensión teneis que arrancar por un lado R, y poner en marcha el servidor Rserve, para que así pueda comunicarse OpenOffice con R. Luego, al arrancar OpenOffice y crear o abrir una hoja de cálculo vereis que teneis un nuevo menú llamado 'R Add-On'. En la versión que he probado (la 0.1.7) todavía no se puede almacenar en una celda la llamada a una función o script de R, pero al menos parte de la funcionalidad de R está disponible a través de este menú: tests ANOVA, correlaciones, regresiones lineales, análisis factorial, generación de histogramas, etc... Los cuadros de diálogo asociados a estas funcionalidades permiten especificar celdas y rangos de celdas en la hoja de cálculo, tanto para las entradas como para las salidas. Por último, también existe la posibilidad de llamar directamente a un script de R que haga referencia a las celdas de la hoja de cálculo, tanto para recuperar los datos como para recoger los resultados, pero esto último no lo he probado.

Los únicos problemillas que he encontrado con esta extensión están relacionados con el volumen de datos a intercambiar entre OpenOffice y R. Esta extensión de OpenOffice no es muy eficiente a la hora de preparar los datos a enviar a R, con lo que si intentais realizar un boxplot de una matriz de 19000 filas por 24 columnas (456000 celdas) se os puede cerrar el OpenOffice por falta de memoria o tardar dos horas o más en esa preparación de los datos (que es previa al cálculo en el lado de R). Sin embargo, para tamaños de hasta 20000 celdas el tiempo que tarda es más o menos aceptable, así que es medianamente usable.

Esta extensión tiene mucho futuro, pero aún así ya empieza a ser interesante para los usuarios "serios" de técnicas estadísticas.

19:38 | gestionado por José María Fernández González | Enviar comentario (0)

OpenOffice se usa cada día más en el trabajo bioinformático diario, no por ser la mejor suite de ofimática (que no lo es), ni por ser gratuita. Una de las razones principales es que, pese a sus limitaciones, OpenOffice se puede ejecutar tanto en nuestro portátil como en la misma estación de trabajo que usamos para crear nuestros programas en C, Java, Perl o Python y para lanzar BLAST, HMMER, R, ClustalW, CD-HIT o Coot. ¡Y esto ahorra mucho tiempo por no tener que estar cambiando de ordenador o formatos cada dos por tres!

Dentro de poco se va a celebrar en Barcelona el OOoCon 2007, la principal conferencia de anual de OpenOffice. Echándole un vistazo al programa de la conferencia, me encontré con un par de ponencias asociadas a nuevas extensiones de OpenOffice, potencialmente útiles para el cálculo científico: Tavernalc y R and Calc. En esta entrada hablaré de la primera, dejando la segunda para la siguiente entrada.

Lo primero de todo es que no he podido probar Tavernalc, principalmente porque la página principal del proyecto está en polaco, no hay buenos traductores online de polaco a inglés, y no parece que esté aún disponible para su descarga. La información que he encontrado viene de la descripción de la charla que aparece en el programa de la conferencia OOoCon 2007, y es en ella en la que baso mis conclusiones.

A grandes rasgos, la extensión Tavernalc para OpenOffice Calc permite usar los 'procesadores' de Taverna como funciones de OpenOffice Calc. Para los que no conozcais o no useis Taverna, es una herramienta de integración de servicios web (ya sean CGIs, SOAP+WSDL, BioMOBY, SOAPlab, etc..) y creación de flujos de trabajo a partir de los mismos. Las operaciones a realizar en los workflows de Taverna se representan mediante los denominados 'procesadores', que son manejados como cajas negras: toman como entrada una serie de parámetros y generan una serie de salidas. Estos 'procesadores' están especializados en función de la tarea que realizan: llamar a determinados servicios web, ejecutar sub-workflows, representar información, ejecutar un bean-shell etc...

Como ya sabeis, las hojas de cálculo permiten definir el contenido de una celda como el resultado de una fórmula que depende de los valores de otras celdas, ya sean constantes o a su vez, calculados. La idea que hay detrás de Tavernalc es permitir usar cualquier 'procesador' de Taverna como función a llamar para calcular el valor de las celdas de una hoja de cálculo, trasladando así la capacidad de construir flujos de trabajo desde Taverna hasta la hoja de cálculo como tal.

Por ejemplo, supongamos que tenemos una hoja de cálculo que contiene los valores de expresión de un experimento de microarrays, y queremos normalizar los datos para luego analizar mediante clustering esos valores mediante SOTA u otro método disponible como servicio web, y finalmente integrarlo con algún análisis estadístico propio. Buena parte de esta tarea se puede realizar mediante GEPAS, pero cada vez que tengamos que realizarla tendremos que estar pasando datos desde nuestro sistema hasta los servicios correspondientes, recuperar los resultados, realizar nuestro propio análisis estadístico en integrar y representar los datos en el informe final, con la posibilidad de introducir errores en el proceso.

Si Tavernalc llega a hacer medianamente bien lo que prometen sus desarrolladores en el abstract de su charla para la OOoCon 2007, permitirá que el flujo de tareas a realizar en el ejemplo descrito en el párrafo anterior no sea tan tedioso y propenso a fallos. Pero como siempre, el tiempo lo dira...

ACTUALIZACIÓN 2007-09-22 13:37:47 CEST

Tavernalc tiene una página de proyecto en Google Code y es:

http://tavernalc.googlecode.com/

Además, ya están disponibles las transparencias de la charla en el OOoCon 2007, en formato PDF:

http://marketing.openoffice.org/ooocon2007/programme/thursday_171.pdf

18:43 | gestionado por José María Fernández González | Enviar comentario (3)