Bioscope goes to Ubuntu Linux Desktop and Server

Es bien sabido que la herramienta No. #1 de Applied Biosystems – Life Technologies , el BioScope, corre solo en un cluster de computo ,usando Torque-PBS o SGE, basado en CentOS, una distribución basada en Red Hat Linux.

En resumen BioScope te permite hacer análisis de los datos del instrumento SOLiD a través de tu navegador web y linea de comandos en Linux.

No hace mas de 2 años que encontré la manera de añadir contenido dentro de la aplicación como tal, a lo cual le llamaría crackear la aplicación pero evitare usar ese termino porque las aguas se levantan y ya chole…ayy el mexicano.

Pensé que quizá y observando que oficialmente no añaden el soporte para ensamblar genomas, dije seria bueno añadirle esas opciones al BioScope para lo cual ya tenia un esquema, diseño y el flujo de como hacerlo, pero después pensé que mejor no, puesto que no es mi aplicación , no es software libre y tendría que estar haciendo constantemente ingeniera inversa para lograr el objetivo y quizá después tendría problemas legales ya que quizá los usuarios del BioScope querrían tener estos nuevas actualizaciones,lo cual traería una seria de cuestiones legales.

Después me fastidio que BioScope solo pudiera correr en CentOS y empece analizar scripts y mas scripts con toda calma y dije !! solución !! al menos voy a hacer que BioScope puede ejecutarse en otra distro diferente a la basada en Red Hat, y dicho y hecho El servidor de BioScope ahora puede instalarse y correr en Ubuntu Linux Desktop y Server ;) , mapreads puede correr bien sin mucho problema , ahora ya podrías analizar tus datos de SOLiD en tu propia computadora con Ubuntu Linux sin necesidad de tener que instalarte CentOS Linux.

No solo eso también puedo soportar que se ejecute en Mandriva Desktop, Gentoo, claro necesitas al menos de 16G – 24 G en memoria ram si quieres que trabaje mas o menos decentemente.

[ Bug #1 Fixed ] RPy – Python interface to the R Programming Language

En días pasados estuve trabajando un poco con Galaxy localmente en mi computadora, sin embargo la instalación normalita es muy sencilla pero si quieres algo ya mas “pro” es necesario leer la documentación del wiki, pero un problema que sucedió fue que al tratar de instalar la interfaz de programación en Python para R salieron algunos errores en el código de RPy por lo que esto me fastidio y tuve que, como regularmente me  pasa, arreglar el problema.

RPy necesita R compilado como librería compartida para eso necesitas compilar R con:

1. $./configure   – -enable-R-shlib  – -prefix=/usr

1.1 $make ; $make install (usar sudo o root)

2. establecer la variable de entorno para R (RHOME , R_HOME),en mi caso :

$sudo vim /etc/profile.d/libR.sh
#!/bin/bash
export RHOME=/usr/lib64/R
export R_HOME=$RHOME
export PATH=$PATH:$RHOME/bin

establecí 2 variables puesto que por el momento olvide el nombre de la variable de entorno para R  y como buen mexicano pensé “naa..cualquiera de esas 2 variables (RHOME, R_HOME) debe jalar..”

3. Configuración del entorno para R

$source /etc/profile.d/libR.sh
$sudo vim /etc/ld.so.conf.d/libR.conf
solo añadir “/usr/lib64/R/lib”

$ sudo ldconfig

Ahora si ya podemos instalar RPy

Después de descomprimir RPy  y tratar de instalar

sudo python setup.py install
RHOMES= [ ]
DEBUG= True
Setting RHOMES to  ['/usr/lib64/R']
Traceback (most recent call last):
File “setup.py”, line 109, in <module>
RVERSION = rpy_tools.get_R_VERSION(RHOME, force_exec=True)
File “/home/jacob/Downloads/bio/galaxy/dependencys/rpy/rpy-1.0.3/rpy_tools.py”, line 103, in get_R_VERSION
raise RuntimeError(“Couldn’t obtain version number from output\n”
RuntimeError: Couldn’t obtain version number from output
of `R –version’.

$ R –version
R version 2.10.0 (2009-10-26)

se ve claramente que RPy al tratar de obtener la versión no puede !!  y es que si analizas en detalle la salida y el código fuente en python se observa que no estaba pensado para versiones más allá del rango 0..9

veamos la linea 101 en el código que genera el problema:

ln101:  version = re.search(” +([0-9]\.[0-9]\.[0-9])”, output)

la expresión no corresponde a 2.10.0 , por lo que solo es necesario añadir otro rango en la expresión:

ln101: version = re.search(” +([0-9]\.[0-9][0-9]\.[0-9])”, output)

Ahora RPy ya puede leer algo como R version 2.13.0 (2011-04-13)

Security Storage: KeePassX for GNU/Linux

KeePassX es una aplicación que al menos para mi está genial ya que permite almacenar objetos asociados a usuarios y contraseñas a una base de datos de la misma aplicación.

Para compilar Keepass necesitas tener instalada la versión de Qt >= 4.3.0 y usar desde linea de comandos :

qmake-qt4/qmake

make; make install

por omisión KeePassX se instala en /usr al momento de hacer make install.

Puedes agrupar los objetos que defines y crear entradas en cada grupo.

Aprendiendo y jugando con Software Libre en Preescolar México

El sábado pasado estuvimos impartiendo curso de capacitación a las maestras,algunos pequeñines y directora de una institución de educación preescolar publica. fue una experiencia realmente emotiva y enriquecedora que a pesar de todos los obstáculos hemos salido adelante con este proyecto tan importante para nosotros.

Aunque ya lo había experimentado, de nueva cuenta confirme el interés innato de los niños y niñas por el juego, prácticamente podemos estimular el deseo de divertirse al tiempo que aprenden.

Básicamente :

Vamos a contribuir al desarrollo global e integral de los niños, es decir: físico, social, emocional, psicológico y cognitivo.

Vamos a desarrollar de la orientación espacial, la coordinación física, la memoria, la discriminación auditiva, la creación de estrategias de aprendizaje y la motricidad fina de todos los pequeños.

Vamos a desarrollar la autonomía y confianza de los pequeños antes sus propias posibilidades.

Queremos y vamos a permitir que el aprendizaje y conocimiento de los niños  de 3 a 9 años de preescolar en México tenga otro nivel de enseñanza y sea totalmente provechoso para ellos y los educadores.

El aprendizaje tiene otro nivel ya que los niños aprenderán a usar la computadora y desarrollar sus capacidades: como la memoria, la compresión oral, vocabulario básico, numeración, es decir complementando su educación con la tecnología especialmente “Software Libre”, por ejemplo:

  • Operaciones básicas: suma, resta, multiplicación y división.
  • Aprender a escribir.
  • Identificar colores.
  • Aprender a dibujar sus ideas y pensamientos.
  • Aprender palabras básicas en ingles.
  • Actividades de lógica y memoria.
  • Aprender a usar la computadora.
  • Manejo del  ratón.
  • hay más…

Prácticamente todos, o al menos muchos, de los problemas sociales tienen su causa raíz en la educación, la ignorancia trae: pobreza, discriminación, desigualdad, desorden, frustración, corrupción, dependencia económica, tecnológica y alimentaria …del extranjero, mala salud pública… etc. esperamos cooperar con este grano de arena, porque las personas construyen las familias, sociedades, instituciones y países; formando a ellas construimos un mundo mejor  (Noe).

Lo interesante NO es el “si se puede, si se puede”…ya lo estamos haciendo !! el objetivo son los niños !!

No tuvimos éxito en Iniciativa México lo cual no me preocupa en lo absoluto ya que  tomamos la iniciativa de realizar este proyecto mucho tiempo antes que existiera Iniciativa México.

Quien desee contribuir, apoyar y participar por favor házmelo saber, cualquier tipo de ayuda es muy bien recibida.

Próximamente el sitio de red y todos los detalles del proyecto.

Jacob

Developing Corona Matching Pipeline Sim

En mis tiempos de ocio he estado desarrollando un poco una versión lejana aún, pero parecida a Corona ya que lo necesito para probar otro proyecto, por el momento estoy trabajando en el Pipeline de “matching” que permite alinear lecturas de SOLiD(fragmentos o por pares) hacia un genoma de referencia, por lo que el parser del mapa de cromosomas esta terminado y efectivamente cumple su objetivo, básicamente en el primer Pipeline esta completo los siguientes puntos:

  • parámetros requeridos completos y por el momento  solo -z(hits) , –tempdir (scratch) son viables.
  • parser para el mapa de cromosomas esta completo, identifica los cromosomas y genera los directorios correctos.
  • genera los scripts necesarios para proceso en cluster al igual que Corona(torque pbs)

La forma de llamar el primer Pipeline es:

jacob@jacob-mobile:~/Projects/ABCoronaLiteEmu/build$ mono matching_large_genomes_cmap_save_script.exe -csfasta /home/jacob/tmp/SOLiD/results/lpi/R3/file.csfasta -dir /home/jacob/tmp/SOLiD/results/lpi/matchingR3 -cmap /home/jacob/tmp/SOLiD/ref/human_validated.cmap -t 25 -e 4 -z 10 -tempdir /home/jacob/tmp

más delante comentare sobre los avances de cada Pipeline y las herramientas independientes.

mameHispano-un sitio web para la comunidad hispana de MAME

Diseñe el siguiente sitio web para alojar toda la información posible sobre el emulador MAME, añadiré tutoriales , tips y trucos para todos los fans hispanos de este estupendo emulador , de igual manera desde este sitio estaré subiendo mi próxima versión del emulador ..la idea es básicamente:

  • substraer el core principal (lo cual ya hice)
  • actualizar la base de datos de roms y el código asociado para cada rom que considere relevante.
  • una función de búsqueda de actualizaciones automáticas de la base de roms soportados.
  • añadir dentro del mismo emulador una interfaz usando Gtk2, Wx o Tcl..esto supone re-definir main.c :

$ ./jiclmame  – – enable-ui   – -ui gtk2  – – vidmod 2  – -rp /rom/path   rom_name

Liga del Sitio: http://hackob.zobyhost.com/projects/mameHispano/index.php

;)