Bioinformatics Linux Training BioLinux Cinvestav Langebio 2010 2011

En años pasados, 2010 y 2011, impartí un par de cursos sobre Linux, BioLinux 6 y una introducción básica a la manipulación de secuencias de nucleotidos simple por medio de comandos y shell a estudiantes de maestría, licenciatura y doctorado de la Unidad Cinvestav Irapuato y el Langebio Cinvestav .

Curso BioLinux Bioinformatica 2010

El sistema operativo que se uso en el curso fue BioLinux el cual está basado 100% en Ubuntu Linux pero que incluye una serie de paquetes para análisis bioinformático el cual me pareció la mejor opción de implementar dado que es un sistema sencillo, amigable y el cual ya incluye por omisión una plataforma de programas para el análisis bioinformático más elemental.

biolinux

El material de trabajo que desarrolle y utilice para el curso incluye teoría y practica (diapositivas, ejercicios y ejemplos) lo puedes descargar en el siguiente sitio web oficial del curso. Dentro del paquete se incluye la licencia de uso para la documentación disponible, así como los comentarios de varios de los participantes a los cursos :D ;)

Haz clic en este iconito para ir a la descarga del material del curso de Linux para Bioinformática Cinvestav Langebio 2010

Algunas imágenes de varios de los días del curso impartido.

Curso Linux Bioinformatica 2010
Curso Linux Bioinformatica 2010
Curso Linux Bioinformatica 2010
Curso Linux Bioinformatica 2010
Curso Linux Bioinformatica 2010
Curso Linux Bioinformatica 2010

 

BCL2FASTQ WEB UI Pipeline , Web Services (Mono C#), Shell Scripts, Linux HPC, Illumina HISEQ 2500 Sequencing on our lab :D

mono-logo

I’m still using Mono on Bioinformatics !! 

En el laboratorio de los Servicios Genómicos

lab1   lab2lab3

lab4

Hemos desarrollado una sencilla aplicación de software, para Cluster de Computo o Servidor dedicado sobre un Kernel Linux , la cual nos permite analizar y conversar los resultados del proceso de secuenciación de las plataformas Illumina HiSeq/MiSeq a un resultado en un formato legible para el usuario final. Los resultados directos del equipo secuenciador son datos crudos (illumina bcl raw files) que miden alrededor de 2-3 Terabytes por una corrida de secuenciación aproximadamente, quizá mas o menos.

Componentes y Módulos del Pipeline

La aplicación se conforma de los siguientes componentes:

    1. Interfaz Web de usuario y simple, desarrollada con Google Web Kit
    2. Servicios Web con paso de mensajes via Xml a través de Mono C#, XSP4 (.NET 4) Application Server
    3. Pipeline desarrollado con Scripts de Shell
    4. Scripts desarrollados en Python para proceso de SampleSheet
    5. Scripts Illumina Casava Bcl2Fastq

Procesamiento del Pipeline

Parámetros de Entrada

El Pipeline toma como entrada los siguientes parámetros importantes:

1. El sistema de almacenamiento usado (server storage) , es decir el servidor de disco donde se encuentran los resultados de la secuenciación de las muestras, dicho servidor de almacenamiento deberá estar montado sobre el Cluster de Computo o sobre el servidor donde se procesaran los resultados crudos de la secuenciación a un formato legible como FastQ.

2. El instrumento de secuenciación illumina que se empleo para llevar a cabo la secuenciación de las muestras.

3. El nombre de la corrida de secuenciación propiamente.

4. El nombre de la corrida de secuenciación amigable propiamente.

5. Se tomara en  cuenta si se uso dual index.

6. Se toma en cuenta si se procesara las hojas de trabajo , samplesheets.

7. Se toma en cuenta cuales lineas de una corrida se procesaran y en que orden.

 Procesamiento

bcl2fastqpipe1

  1. Determinar cual directorio de almacenamiento correspondiente al storage se usara en base a la selección del usuario.
  2. Determinar la ruta completa del directorio correspondiente a la corrida en proceso de conversión.
  3. Determinar la ruta completa del directorio de resultados correspondiente a la corrida en proceso de conversion.
  4. Determinar la ruta hacia el directorio de las intensidades de la corrida en proceso.
  5. Se procesa cada linea por cada corrida y para cada linea :
  • Convierte samplesheet de formatos xls,xlsx a csv.
  • Usar esta hoja csv para instruir a Casava para realizar la conversión de BCL hacia FASTQ correspondiente.
  • Generar un reporte html con las estadisticas del resultado de la conversión.

6. Enviar una notificación a los usuarios responsables del servicio de secuenciación al momento que el proceso ha terminado.

bcl2fastq2

La orden de ejecución del Pipeline se lleva a cabo a través de un servicio web que se consume a través de una interfaz gráfica de usuario simple, la cual es desarrollada bajo Google Web Kit.

bcl2fastqpipeline

El Servicio Web está desarrollado en C# en Linux totalmente  y corre bajo el Application Server Mono XSP4 usando un profile de .NET Framework 4 bajo un sistema operativo empresarial CentOS Linux como lo es en nuestro caso el nodo maestro de nuestro Cluster de Computo HPC de operación principal.

bcl2fastqui2

No hace falta mencionar que la aplicación web que se ha desarrollado usa sin duda herramientas como DojoToolkit, JQuery y varias librerías excelentes =D

La siguiente imagen solo muestra un extracto de las operaciones que el Pipeline va ejecutando durante su flujo de operación:

bcl2fastqui4

Anexo #1

La conversión de los resultados BCL del instrumento de secuenciación HiSeq requieren una hoja de datos denominada samplesheet , esta samplesheet es manipulada por el operador o responsable de la secuenciación o corrida de las muestras, básicamente está hoja contiene datos importantes sobre las secuencias entre ellos el indice (secuencia de nucleotidos) que el software debe usar para separar las lecturas en su correspondiente grupo, veamos un ejemplo:

ss1

La hoja o samplesheet antes de usarla para los propósitos del análisis es necesario tenerla en un formato “sin formato” es decir solo texto plano , por ejemplo necesitamos un archivo donde las columnas están separadas por coma (CSV) y para ello contamos con un pequeño programa escrito en Python para realizar tal conversión de formato XLS,XLSX a CSV .

Fixed Gap2Caf Tools for MIRA 4.x Genome Assembly

results_mira2other

In past days I was trying to assemble , using denovo method of course, mapped SOLiD reads using MIRA assembler  and the results were successful. The mira assembler generate full assemblie formats like caf or maf  and other formats like fasta, quality value, wig and tcs files, I’m sure that you will need to convert formats to reach some tools like assembly viewers, editors or scaffolders.

The sanger software tool Gap2caf converts a gap4 database to a CAF (common assembly format) file.

The CAF specification can be found at:
http://www.sanger.ac.uk/Software/formats/CAF/

when you will try to compile Gap2Caf you will get some errors at compilation time  :


[jacob@sentli gap2caf-2.0.2]$ make
Making all in src
make[1]: Entering directory `/home/jacob/Downloads/bio/sanger/gap2caf-2.0.2/src'
make  all-am
make[2]: Entering directory `/home/jacob/Downloads/bio/sanger/gap2caf-2.0.2/src'
STADENROOT=/opt/staden ; export STADENROOT; . $STADENROOT/staden.profile ; gcc  -g -O2   -o gap2caf  gap2caf.o cl.o readline.o -L/opt/staden/lib/staden/-binaries -ltk_utils -lgap -lseq_utils -L/usr/lib64 -ltcl8.5
/usr/bin/ld: cannot find -ltk_utils
collect2: ld returned 1 exit status
make[2]: *** [gap2caf] Error 1
make[2]: Leaving directory `/home/jacob/Downloads/bio/sanger/gap2caf-2.0.2/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/jacob/Downloads/bio/sanger/gap2caf-2.0.2/src'
make: *** [all-recursive] Error 1

The solution is to change some gcc compilation flags in the generated Makefile files

1. Open every Makefile in the main gap2caf source directory including subdirectories

2. Replace the following lines

 STADENLDADD = -L/opt/staden/lib/staden/-binaries -ltk_utils -lgap -lseq_utils
LDADD = -L/opt/staden/lib/staden/-binaries -ltk_utils -lgap -lseq_utils 

use this :

 STADENLDADD = -L/opt/staden/lib/staden/ -ltk_utils -lgap -lseq_utils
LDADD = -L/opt/staden/lib/staden/ -ltk_utils -lgap -lseq_utils 

Gap2Caf Makefile list:

gap2caf-2.0.2/Makefile

gap2caf-2.0.2/src/Makefile

gap2caf-2.0.2/wrapper/Makefile

tested on CentOS Linux Server 6.4 :D

Tips to run FigTree a graphical viewer of phylogenetic trees on LinuxMint 17

FigTree is designed as a graphical viewer of phylogenetic trees and as a program for producing publication-ready figures

The official web site http://tree.bio.ed.ac.uk/software/figtree/

when you try to run the program the first time you will notice that program does not run.

  1. unzip the program
  2. change to FigTree_v1.4.1/bin directory
  3. run the shell script to launch the FigTree desktop user interface
  4. ooops error !!!!
</pre>
$ tar -zxvf FigTree_v1.4.1.tgz

$ cd FigTree_v1.4.1/bin

$ ./figtree

Error: Unable to access jarfile lib/figtree.jar

SOLUTION

you will need to patch the figtree shell script


#!/bin/sh

FIGTREE_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.."

java -Xms64m -Xmx512m -jar $FIGTREE_HOME/lib/figtree.jar $*

now try to run the shell script once again

bingo !! !it’s FIXED :D , wait noup error !!!  I fixed it :D

influenzatree

Labsergen BCL2FASTQ Pipeline

bcl2fastqpipelinemainidea3

The BCL2FASTQ Pipeline consists of an interface in command line, flexible and friendly, which I  developed in the LANGEBIO Genomic Services department because we need to make use of illumina’s software applications  in a more simple way.

The BCL2FASTQ Pipeline allows to :

  1. set sequencing instrument (HiSeq/MiSeq).
  2. set storage to save data.
  3. create a well-defined directory structure to save data like fastq results and samplesheets per library per line.
  4. format conversion (samplesheet xlsx to csv automatically)
  5. bcl to fastq conversion
  6. biostatistical reports available through the flowcellid per line per run.
  7. partial or complete analysis of a run.

;)

MSD – Multiplexing Sfffile Desktop

Después de bastante tiempo les presento una interfaz que desarrolle para el escritorio de Linux , la cual sirve para contar, extraer lecturas y valores de calidad por cada etiqueta de una librería con “barcode” en una corrida del instrumento de secuenciación 454.

La aplicación está desarrollada usando Mono y C# (CSharp) y puedes correrla en una distribución Linux como Ubuntu, Linux Mint, CentOS, Fedora.

 

Ion Torrent Software 3 y VMWare Paso a Paso

Vamos a instalar en nuestra propia computadora personal el software más actualizado de análisis de Ion Torrent

Primero necesitamos satisfacer los siguientes requerimientos de hardware

Para la Maquina Virtual

  1. 15gb de disco duro
  2. 1gb de memoria ram
  3. 1 core

Para realizar un Análisis (especificaciones mínimas para correr en un chip 314,316 o 318) , recuerda que puedes incrementar los recursos de la maquina virtual para que tus análisis sean más rápidos.

  1. 500gb de disco duro
  2. 24 gb de memoria ram
  3. 8 cores

Todas las pruebas las realice con el sistema operativo Linux CentOS 6.3

  • Acepta el acuerdo de la licencia

  • Selecciona “Open a Virtual Machine” y selecciona la imagen “TorrentServer2.2-VM.vmx”

  • Si así lo deseas cambia la configuración de la maquina virtual por ejemplo memoria, disco duro..etc.

Recuerda que mientras más recursos asignes será mejor para tus análisis , evaluá en base a tu hardware de computo.

  • A continuación solo ejecuta la maquina virtual, dale clic en la opción “Play virtual machine” y espera que cargue..
  • Si aparece el siguiente mensaje , selecciona el botón “I copied it”

  • Una vez que ha terminado de cargar Ubuntu puedes iniciar sesión usando las siguientes credenciales :

usuario y contraseña: ionadmin

  • Iniciada la sesión con tu usuario “ionadmin” , ejecuta el comando ifconfig para verificar cual es la dirección ip que tiene asignada tu interfaz de red y usar la ip para entrar a la suite de software del Torrent Browser.

  • Listo , ahora abre tu navegador web “Firefox” en tu computadora y escribe en la barra de direcciones la ip que acabamos de verificar, en este momento ya podemos hacer uso del software de análisis y reportes de Ion Torrent , incluso viene pre-cargado con un ejemplo , intenta probar.

  • Inicia la sesión en el software del Torrent Browser con el mismo conjunto de usuario y contraseña anterior.

Es todo, disfrutalo!!

Créditos y Notas:

Está guía contiene información del documento oficial “Deploying a Torrent Server Virtual Machine for Testing” de la empresa LifeTechnologies / Ion Torrent, con algunas adaptaciones realizadas por el autor (Jacob Israel Cervantes Luevano ) del presente articulo “post” en el blog.

Para mayor información visita el sitio de red oficial de la comunidad de Ion Torrent

R-Studio

bien, seguro que más de alguno regularmente usa R para trabajar con sus datos, sin embargo una herramienta que no debes dejar pasar es una excelente aplicación de fuente abierta o mejor dicho “Open Source” que te permitirá trabajar con tus scripts en R y como dirían nacamente “mas mejor” , sin mencionar un sin fin de opciones con las que cuenta este magnifico IDE el cual llamarlo IDE es poco.

El sitio web oficial es: http://rstudio.org/ y tienes paquetes de instalación para Ubuntu, Debian Linux Windows y MacOS X , de igual manera puedes descargar los programas binarios para en caso que no poseas privilegios de instalación.

Para instalar R-Studio necesitas:

1. Compilar R en su ultima versión , tienes que compilar R con soporte para generar la librería dinámica “libR.so” que necesita R-Studio, está librería la encuentras una vez instalada en el subdirectorio: /usr/lib/R/lib/libR.so

para eso solo ejecuta configure de está manera:

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

$ make

$ sudo make install

2. Descargar la versión de R-Studio que mas se ajuste a tus necesidades, en mi caso yo descargue el paquete “TarBall/Zip”.

getXSQ v0.1 for SOLiD 5500 instrument

if you want to copy your results from your SOLiD 5500 instrument to Server Storage you could use following bash script

There is a basic script , the main idea is that you can convert your XSQ files to colorspace, quality and fastq (ECC) values.

My current getXSQ WorkFlow:

S5 means SOLiD 5500

SS means Server Storage

SOLiD5500 –> scan xsq results(S5) –> copy xsq results to server storage(S5) –> convert xsq results to csfasta/qual/fastq (SS)–> minimal reads counting(SS)

#!/bin/bash

# GetXSQ v0.1 allows to copy from SOLiD 5500 instrument results to Custom Server Storage
# by Jacob Israel Cervantes Luevano jacobnix@gmail.com

# GetXSQ is free software; you can redistribute it
# and/or modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation;
# either version 3 of the License, or (at your option) any later version.

# GetXSQ is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with GetXSQ; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

CWD=$PWD
storage=$2
user=$4
remotedir=$6

echo "getXSQ.sh allows to copy from SOLiD 5500 instrument results to Custom Server Storage"
echo "Copyright 2012 by Jacob Israel Cervantes Luevano"
echo "usage: getXSQ.sh --storage ip_address --user remote_username --remotedir dir"

for XSQ in `tree -i -f | grep xsq`
do
 xsqFile=`readlink -f $XSQ`
#printf "`$xsqFile` \n"
 printf "copying xsq file $xsqFile to Storage $storage \n"
 scp $xsqFile $user@$storage:$remotedir
 printf "xsq file $xsqFile copied successfully !!\n"
#convert to csfasta/qual/fastq from xsq @ storage
done
-- INSERT --

This script is partially finished if you want to help ..email me

EBI Wise 2 plus updated SQUID available.

The Wise2 package is entirely open source licensed for use by both commerical and academic sites. This means that anyone can modify and
redistribute the source code without restriction. However, the use of the source code as part of a larger, and potentially propietary package depends on which portions of the source code you wish to use. Each directory has a seperate LICENSE or GNULICENSE file which you
should read, but the gist is given below.

Download updated EBI Wise 2 from here

Download from EBI  (outdated version)

Installation instructions here or INSTALL

Currently I’m packaging (deb and rpm) EBI Wise 2 binaries for Debian and Red Hat based linux distros.

Jacob

Mi Minuta Talleres Bioinformática Ciencias Genomicas UNAM 2012

Gracias a la invitación de Jerome Verleyne y Romualdo Zayas la cual agradezco mucho, participe como ponente en los talleres internacionales de bioinformática 2012 los cuales se llevaron a cabo en el Centro de Ciencias Genomicas de la UNAM del 16 al 27 de enero de 2012.

Durante mi estancia en los talleres encontré a personas conocidas con quien pude al menos intercambiar un saludo.

Fue un excelente evento, realmente aprendes muchos temas muy interesantes y lo mejor es que todos tienen el mismo espíritu de compartir y una buena vibra !! a mi realmente me sorprendió que algunas de las personas conocieran mi pequeño blog de bioinformática y estuviesen al pendiente del mismo, gracias !! gracias por la buena vibra con la que me contagiaron durante el evento y gracias a todos las personas que se me acercaron para platicar un poco, cuentan con mi apoyo siempre.

Básicamente me toco impartir dos platicas, la primera sobre las experiencias y problemas en mi trabajo y la segunda platica aborde el tema sobre una aplicación web llamada “Query Sequence Visualizer” que desarrollamos hace 5 años en el Laboratorio Nacional de Genomica para la Biodiversidad en el Cinvestav, la cual se uso para visualizar y consultar información sobre el genoma del maíz palomero.

El material, presentación online y detalles de la aplicación Query Sequence Visualizer es:

http://www.langebio.cinvestav.mx/bioinformatica/jacob/projects/qsv/

Me gusto mucho añadir que el proyecto Query Sequence Visualizer que desarrollamos fue sin más ni más “HECHO EN MÉXICO”

La presentación en formato pdf de la platica de las Experiencias y Problemas Experiencias y Problemas

Algunas de las fotografías que tome :

Es importante empezar a desarrollar algoritmos para el GPU para el análisis de la información biológica y minimizar tiempos, aunque no estoy muy de acuerdo en la platica de la persona que toco el tema de NVIDIA CUDA , pues finalmente Rocks es Software Libre y si en un momento dado cambiara el esquema de licencia , podemos hacer un fork de Rocks, juntar programadores y administradores quienes estén interesados en que el proyecto Rocks siga libremente y para ello existen mas del 70% de gente en el mundo que seguro estarán de acuerdo y con el animo de participar , soy el primero en apuntarse a continuar con el desarrollo de Rocks, es cierto que puede haber soluciones comerciales y que bueno que existan pero por no por ello podemos con fundamento decir que es la panacea y que por ello debemos migrar a dicha solución comercial.

Muchas gracias a Clemen Olivares del IBT por todo tu apoyo !!! Clemen Graciassss !!

Muchas gracias Cei Abreu por tu apoyo !! :D

Gracias a todos todos y como dijera Pablo Vinuesa , nos vemos el próximo año.

No olviden inscribirse a la Sociedad Iberoamericana de Bioinformática

Jerome Verleyne

mapping IonTorrent data using Omixon Letter Space Toolkit

Mapping  Ion Torrent data using Omixon

you will need

  1. fastq files
  2. reference file
  3. Omixon Letter Space shell scripts and java jar files.
  4. Omixon properties file
  5. Omixon Profile file ( 454, Ion Torrrent..)

Ok let’s see,

How to run :

[jacob@localhost omixon-letter-space-toolkit]$ ./orm.sh orm.properties.workcopy

orm.sh is a shell script that allows to run omixon java jar file :

#!/bin/bash
config=$1;
java -Xmx1000M -jar omixon-letter-space-toolkit.jar -config $config;

orm.properties.workcopy it is my own profile properties file to set input and output files

###################################################
# main control section, which of the steps to run #
###################################################
# the name of this process
toolkit.process=orm
# whether or not to use all available processors, default false
toolkit.useAllProcessors=false
#toolkit.useAllProcessors=true
############################
# orm input/output files   #
############################
# the input reference url to use
orm.referenceUrl=testingData/reference/e_coli_dh10b.fasta
# the url of where to write the output
orm.outputUrl=testingData/test2.sam
# the url to use for the input fastq file
orm.inputUrl=testingData/reads/R_2011_04_07_12_44_38_user_CB1-42-r9723-314wfa-tl_sample_data.fastq
##################
# orm profiles   #
##################
# the easiest way to run orm is with the built-in profiles
# see the orm.default.properties file and/or the README.txt for more
orm.profile=

Output

User parameters:
orm.inputUrl=testingData/reads/R_2011_04_07_12_44_38_user_CB1-42-r9723-314wfa-tl_sample_data.fastq
orm.outputUrl=testingData/test2.sam
orm.profile=
orm.referenceUrl=testingData/reference/e_coli_dh10b.fasta
toolkit.process=orm
toolkit.useAllProcessors=false

Progress message: Preparing reference and input
Progress message: Running alignment
Progress: 0%
Progress: 1%
Progress: 2%

Progress: 98%
Progress: 99%
Progress message: Preparing results
Progress message: Done

Ouput Sam file: test2.sam

You will need implement pipeline to convert sam to binary sam file then you could use bam stats scripts.

xsq-tools on CentOS Linux 6

Follow this unofficial tutorial step by step to run xsq-tools on CentOS Linux 6 and OpenSuse Linux

1. If you are using CentOS Linux 6, OpenSuse Linux check which GNU LIBC version you have   installed. you can use this command

[jacob@localhost xsq-tools]$ ldd – -version
ldd (GNU libc) 2.12

Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

to run xsq-tools you will need GNU libc version 2.5+ !!

2. Get Official xsq-tools software package distribution from LifeTech/ABI

3. Open your favorite Linux console command and untar/unzip xsq-tools package.

4. If you want to convert your xsq solid 5500 output files you will need to use the convertFromXSQ.sh shell script.

5. Backup the official convertFromXSQ.sh shell script.

6. Download unofficial convertFromXSQ.sh shell script and save in your official xsq-tools directory,

7. Download script from here

8. Rename script convertFromXSQ.sh1.txt to convertFromXSQ.sh

9. Set execution permission to shell script ( chmod +x convertFromXSQ.sh )

10. Change to xsq-tools directory using linux command line (cd XSQ_Tools)

11. Extras: You can run unofficial convertFromXSQ.sh shell script like this samples

$ remember, cd XSQ-Tools first

(A) $ ./convertFromXSQ.sh -c data/Frag.xsq

(B, from any location)

$ convertFromXSQ.sh -c /home/jacob/XSQ-Tools/data/Frag.xsq -o $HOME

(C) $ ./convertFromXSQ.sh – -rootXSQ `pwd` -c data/Frag.xsq (- – rootXSQ paramater is useful to myXSQ application)

That’s all.

Notes:

[1] If you do not set XSQ_TOOLS environment variable, the  unofficial convertFromXSQ.sh set XSQ_TOOLS environment variable  automatically.

[2] Follow LifeTech/ABI official readme documentation to install xsq-tools, the   unofficial script updates your .bashrc ,bash_profile in user home   directories but I disabled exporting PATH environment variable because I   need to do some tests, if you want to run unofficial convertFromXSQ.sh from any   location you will need to update and export your PATH environment   variable manually.

I hope that help you , it works for me !!

http://solid.community.appliedbiosystems.com/groups/bioinformatics/blog/2011/11/04/script-launch-xsqtools

Follow this unofficial tutorial step by step to run xsq-tools on CentOS Linux 6 and OpenSuse Linux

1. If you are using CentOS Linux 6, OpenSuse Linux check which GNU LIBC version you have   installed. you can use this command

[jacob@localhost xsq-tools]$ ldd – -version
ldd (GNU libc) 2.12

Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

to run xsq-tools you will need GNU libc version 2.5+ !!

2. Get Official xsq-tools software package distribution from LifeTech/ABI

3. Open your favorite Linux console command and untar/unzip xsq-tools package.

4. If you want to convert your xsq solid 5500 output files you will need to use the convertFromXSQ.sh shell script.

5. Backup the official convertFromXSQ.sh shell script.

6. Download unofficial convertFromXSQ.sh shell script and save in your official xsq-tools directory,

7. Download script from here

8. Rename script convertFromXSQ.sh1.txt to convertFromXSQ.sh

9. Set execution permission to shell script ( chmod +x convertFromXSQ.sh )

10. Change to xsq-tools directory using linux command line (cd XSQ_Tools)

11. Extras: You can run unofficial convertFromXSQ.sh shell script like this samples

$ remember, cd XSQ-Tools first

(A) $ ./convertFromXSQ.sh -c data/Frag.xsq

(B, from any location)

$ convertFromXSQ.sh -c /home/jacob/XSQ-Tools/data/Frag.xsq -o $HOME

(C) $ ./convertFromXSQ.sh – -rootXSQ `pwd` -c data/Frag.xsq (- – rootXSQ paramater is useful to myXSQ application)

That’s all.

Notes:

[1] If you do not set XSQ_TOOLS environment variable, the  unofficial convertFromXSQ.sh set XSQ_TOOLS environment variable  automatically.

[2] Follow LifeTech/ABI official readme documentation to install xsq-tools, the   unofficial script updates your .bashrc ,bash_profile in user home   directories but I disabled exporting PATH environment variable because I   need to do some tests, if you want to run unofficial convertFromXSQ.sh from any   location you will need to update and export your PATH environment   variable manually.

I hope that help you , it works for me !!

Talleres Internacionales de Bioinformática / International Workshops on Bioinformatics – 2012



Nos es grato informarle que el Nodo Nacional de Bioinformática
(NNB-UNAM) y la Sociedad Iberoamericana de Bioinformática (SOIBio), con
el apoyo del Centro de Ciencias Genómicas (CCG-UNAM), el Instituto de
Biotecnología (IBt-UNAM), la Licenciatura en Ciencias Genómicas
(LCG-UNAM) y EMBnet organizan los Talleres Internacionales de
Bioinformática - 2012, que se llevarán a cabo del 16 al 27 de enero de
2012 en las instalaciones del CCG en Cuernavaca Morelos, México.

En la semana del 16 al 20 de Enero se impartirán 2 talleres de nivel
básico dirigido a principiantes en el área. En la semana del 23 al 27 de
Enero se ofrecerán 2 talleres especializados, uno dirigido a gente
trabajando en análisis de datos generados por secuenciadores de nueva
generación y otro para Administradores de Sistemas.

Para los detalles de los programas y procedimiento de registro, favor de
visitar el sitio web del evento:

http://congresos.nnb.unam.mx

Comité Organizador
TIB -2012
---------------------------
We are pleased to announce that the National Node of Bioinformatics
(NNB-UNAM) and the Iberoamerican Society of Bioinformatics (SOIBio),
with support from the Center for Genomic Sciences (CCG-UNAM), the
Institute of Biotechnology (IBT-UNAM), the Undergraduate Program in
Genomics Sciences (LCG-UNAM) and the EMBnet, organize the “International
Workshops on Bioinformatics – 2012” which will be held from January 16th
to 27th, 2012 in the CCG facilities in Cuernavaca Morelos, Mexico.

Two Basic or introductory workshops will be offered during the first
week (January 16th-20th), geared towards beginners in the field. Two
advanced workshops will be offered during the second week (January 23rd
to 27th), one designed for people working with data generated by next
generation sequencers, and the other for System Administrators.

For the details on the programs and registration procedure, please visit
the event website:

http://congresos.nnb.unam.mx

Organizing Committee
IWB - 2012

BioScope: validar genomas de referencia

Comentando con Leonardo Varuzza , le decía que el plugin de ma.to.bam de BioScope generaba un error y aunque nuestro mapeo a nuestra referencia era correcto y completo , nuestro formato bam no se generaba y por ende cualquier otro tipo de análisis que dependiera de este formato ya no seria viable.

Pues una sugerencia de Leonardo, gracias Leonardo :D, era verificar el genoma de referencia y más pronto que un calcetín recordé el script “reference_validation.pl” que en ocasiones pasadas lo había probado con buenos resultados.

En ocasiones puede que por las prisas no le demos un buen vistazo a nuestras referencias, y BioScope tiende a darnos sorpresas al intentar generar los ficheros bam resultantes del proceso de mapeo hacia nuestra referencia.

Para ello una buena solución pueden ser las siguientes:

1) Desarrollas tu propio script y validas el formato fasta de tu referencia.

2) Usas el script “reference_validation.pl” que viene con BioScope el cual precisamente permite validar tu genoma de referencia.

Para evitar reinventarnos la rueda usaremos la opción 2.

un ejemplo:

$reference_validation.pl -r ATH_TAIR10.dna.complete.fa -o ATH_TAIR10.dna.complete.valido.fa

Hecho lo anterior no debes tener problema al usar BioScope en tus análisis.

FAQ

¿Donde existe el script?

En tu cluster de computo , previa instalación de BioScope.

¿Cómo lo uso?

Así no mas

$reference_validation.pl -r miGenoma.fasta -o miGenomaVALIDO.fasta

el parámetro -r es para definir tu genoma de referencia
el parámetro -o es para definir el genoma de referencia valido y usable en BioScope

¿Cómo instalar TopHat para RNA-Seq sin morir en el intento?

TopHat te permite alinear lecturas de RNA-Seq a un genoma para identificar “splice junctions” de exon a exon y está desarrollado usando parte del código de Bowtie.

TopHat lo puedes ejecutar en Linux y Mac OS X, TopHat necesita de SamTools para compilarse.

Descomprime el archivo tar.gz de TopHat , básicamente tienes a la mano el código fuente de TopHat escrito en C++ .

Para evitar problemas con la compilación de TopHat , abre el archivo ax.bam.m4 , básicamente contiene los tests para probar la librería de SamTools (libbam.a) y es una manera de darte cuenta que tienes que hacer ciertas burradas para que TopHat pueda compilarse usando los fuentes de SamTools.

un extracto de la macro :

dnl first we check the system location for bam libraries
if test “$ac_bam_path” != “”; then
BAM_LDFLAGS=”-L$ac_bam_path/lib”
BAM_CPPFLAGS=”-I$ac_bam_path/include”
else
for ac_bam_path_tmp in /usr /usr/local /opt /opt/local ; do
if test -d “$ac_bam_path_tmp/include/bam” && test -r “$ac_bam_path_tmp/include/bam”; then
BAM_LDFLAGS=”-L$ac_bam_path_tmp/lib”
BAM_CPPFLAGS=”-I$ac_bam_path_tmp/include”
break;
fi
done
fi

Se puede observar claramente que es necesario los directorios include/bam y lib.

No creí que tuvieras :O que crear un directorio include/bam y lib para ahí copiar las cabeceras de los fuentes en C++ de SamTools y la librería (libbam.a) para que TopHat pudiera ser capaz de  si quiera hacer el configure.. ¿algún voluntario para añadir configure a SamTools?

La solución es mas sencilla pero parecía muy compleja en un inicio , solo tienes que compilar SamTools , crear un par de directorios y copiar unos cuantos archivos y asunto solucionado.

Los pasos son:

1. Descomprimir SamTools ( tar zxvf  samtools-0.1.16.tar.gz)

2. cd samtools-0.1.16

3. ejecuta make  ,espera que termine de compilar y al termino observaras el binario samtools en el directorio actual.

4. crea 2 directorios “include/bam”  y otro directorio “lib”

samtools-0.1.16 $ mkdir -p include/bam; mkdir lib

5. copia todos las cabeceras de los fuentes hacia include/bam

samtools-0.1.16 $ cp *.h include/bam/; cp libbam.a lib/

6. Descomprime TopHat de la misma manera que descomprimiste SamTools, cámbiate al directorio de TopHat y ejecuta lo siguiente:

./configure – -with-bam=/home/jacob/Downloads/bio/galaxy/dependencys/samtools/samtools-0.1.16

a continuación veras el chequeo de las dependencias que necesita TopHat para compilarse, si no hace falta nada más deberás ver la siguiente salida:

– tophat 1.3.1 Configuration Results —
C compiler:          gcc -Wall -Wno-strict-aliasing -m64 -O3  -DNDEBUG
C++ compiler:        g++ -Wall -Wno-strict-aliasing -m64 -O3  -DNDEBUG -I/home/jacob/Downloads/bio/galaxy/dependencys/samtools/samtools-0.1.16/include
GCC version:         gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
Host System type:    x86_64-unknown-linux-gnu
Install prefix:      /usr/local
Install eprefix:     ${prefix}

7. Ejecuta make para compilar los fuentes.

8. Ejecuta el test de TopHat, para ello descarga y descomprime en el directorio de tu elección los archivos de ejemplo.

Recuerda que es necesario añadir al PATH el directorio donde se encuentran los binarios de TopHat o prueba ejecutar el comando sudo make install para instalar los programas de TopHat en /usr/local

$ tophat -r 20 test_ref reads_1.fq reads_2.fq

[Mon Jul 18 23:42:45 2011] Beginning TopHat run (v1.3.1)
———————————————–
[Mon Jul 18 23:42:45 2011] Preparing output location ./tophat_out/
[Mon Jul 18 23:42:45 2011] Checking for Bowtie index files
[Mon Jul 18 23:42:45 2011] Checking for reference FASTA file
[Mon Jul 18 23:42:45 2011] Checking for Bowtie
Bowtie version:             0.12.7.0
[Mon Jul 18 23:42:45 2011] Checking for Samtools
Samtools Version: 0.1.16
[Mon Jul 18 23:42:45 2011] Generating SAM header for test_ref
[Mon Jul 18 23:42:45 2011] Preparing reads
format:         fastq
quality scale:     phred33 (default)
Left  reads: min. length=75, count=100
Right reads: min. length=75, count=100
[Mon Jul 18 23:42:45 2011] Mapping left_kept_reads against test_ref with Bowtie

9. Observa y analiza los resultados en el directorio tophat_out

10. Fin para el propósito de este post y problema solucionado.

[ 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)

Un buen amigo me comento que también es mejor usar :

version = re.search(” +(\d+\.\d+\.\d+)”, output)

Discovering BioScope Tutorials

Prepare un tutorial interactivo el cual he titulado “Descubriendo BioScope”, estaré elaborando más conforme la marcha.

Básicamente en este tutorial aprenderás:

  1. Mapear una librería de fragmentos.
  2. Verificar el estado de la cola de trabajo del cluster de computo.
  3. Analizar los resultados del mapeo de tus secuencias.
  4. Te proporciono algunos tips que pueden servir.

Para visualizar el tutorial necesitaras:

  1. Mozilla Firefox.
  2. Adobe Flash Plugin.
  3. Web Site: Interactive Tutorials

Web Site:

http://www.langebio.cinvestav.mx/bioinformatica/jacob/projects/bioscopeit/

Más información en http://solid.community.appliedbiosystems.com/groups/bioinformatics/blog/2011/03/16/discovering-bioscope-tutorials

Si piensas que los tutoriales son de utilidad por favor agrega un comentario acerca del tutorial, para ello puedes haz clic en la liga etiquetada como “Comentarios Recientes”.

[Solucionado] Black Screen DELL T5500/Ubuntu 10.04/Bio-Linux 6

Seguramente al instalar Ubuntu Linux 10.04 o Bio-Linux 6 , en una computadora DELL modelo T5500, que en nuestro caso es lo mismo, habrás notado que al termino de la instalación  y reinicio del sistema, el monitor aunque este encendido pareciera que está apagado y sin ninguna señal de vida.

La solución a este problema es decirle a GRUB 2 que al momento que llame o le pase el control al Kernel no se establezca ningún modo de vídeo extraordinario en el momento del arranque y para eso:

0. Arrancar con el mismo disco de Ubuntu o Bio-Linux 6 y montar la partición donde se encuentra previamente instalado Ubuntu o Bio-Linux 6.

1. Editar la configuración del archivo:

/boot/grub/grub.cfg 

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Bio-Linux, with Linux 2.6.32-21-generic' --class gnu-linux --class gnu
--class os {
        recordfail
        insmod ext2
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set 0aaead16-341a-4e43-8088-4e50044f9e58
        linux   /boot/vmlinuz-2.6.32-21-generic
root=UUID=0aaead16-341a-4e43-8088-4e50044f9e58 ro   quiet splash nomodeset
        initrd  /boot/initrd.img-2.6.32-21-generic
}

Añadir el parámetro “nomodeset” después de “quiet splash” o también puedes editar la configuración desde /etc/default/grub y añadir de igual manera “nomodeset”.

Después de eso puedes reiniciar la computadora DELL y observa como milagrosamente Ubuntu/Bio-Linux 6 inicia correctamente pero a una resolución no muy agradable, por lo que es necesario instalar los controladores de la tarjeta de video NVIDIA.

Conecta el equipo a Internet y no tardara mucho el sistema en sugerirte que instales ciertos controladores restrictivos, solo acepta o activa el controlador y deja que el sistema se encargue de descargar e instalar todo lo demás y reinicia la computadora al termino de la instalación de los controladores y listo.

How to install EMBOSS/JEMBOSS

JEMBOSS es una interfaz gráfica para EMBOSS.

En el siguiente tutorial veremos como instalar JEMBOSS. la realidad es que para instalar jEMBOSS como cliente “standalone” o “cliente/servidor” es un un poco engorroso y no precisamente por la dificultad del proceso, si no por todos los enredos del propio sistema de instalación, aunque no está mal leer un poco acerca de Axis y Tomcat de vez en cuando y aprender cosas nuevas.

Básicamente los pasos para instalar jEMBOSS en Ubuntu Linux son:

1. Descargar e instalar EMBOSS.

Descarga EMBOSS desde la siguiente liga: ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.3.1.tar.gz

Nota: JEMBOSS viene dentro del tarball de EMBOSS por lo que no es necesario buscar por toda internet donde descargar JEMBOSS como a mi me paso :S

2. Descargar e instalar JAVA y configurar la variable de entorno JAVA_HOME

En Ubuntu Linux puedes simplemente instalar JAVA usando apt-get de la siguiente manera:

$sudo apt-get install sun-java6-jdk

para definir la variable de entorno “JAVA_HOME” solo hay que teclear lo siguiente:

$sudo echo “export JAVA_HOME=/usr/lib/jvm/java-6-sun” >> /etc/profile.d/java.sh

$source /etc/profile.d/java.sh

comprueba que ya tienes instalado JAVA ejecutando el siguiente comando:

$java -version

este comando imprimirá algo como:

java version “1.6.0”
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

pero ojo !! esto es en mi caso personal ya que JAVA se encuentra instalado en /usr/lib/jvm/java-6-sun, quizá en tu caso primero tienes que averiguar donde está instalado JAVA( intenta con el comando dpkg).

3. Descargar e instalar Tomcat y definir la variable de entorno CATALINA_HOME

para instalar Tomcat existen varias maneras de como hacerlo, quizá la manera mas sencilla es usar apt-get, solo recuerda que cualquiera que sea el método habrá que definir la variable de entorno “CATALINA_HOME” la cual debe apuntar hacia el directorio “bin” de Tomcat.

puedes hacer un búsqueda primero con apt-cache:

$sudo apt-cache search tomcat6

y posteriormente instalar los paquetes de tomcat6 en Ubuntu Linux:

$sudo apt-get install tomcat6-*

Después que hayas instalado Tomcat , define la variable CATALINA_HOME:

$sudo echo “export CATALINA_HOME=/usr/share/tomcat6″ >> /etc/profile.d/catalina.sh

$source /etc/profile.d/catalina.sh

4. Configurar roles y usuarios para el manager dentro de Tomcat.

independientemente del método de instalación de Tomcat busca el directorio de configuración de Tomcat y edita el archivo “tomcat-users.xml” añadiendo lo siguiente dentro de los tags <tomcat-users></tomcat-users> :

<role rolename=”admin” />
<user username=”admin” password=”admin” roles=”admin,manager” />

Para, reinicia o inicia el servicio de Tomcat , en Ubuntu y dependiendo de como hayas instalado Tomcat , si instalaste por apt-get intenta reiniciar el servicio usando: sudo /etc/init.d/tomcat restart

Haz una prueba, abre tu navegador web y navega hacia la dirección http://localhost:8080/manager/html

y seguro te preguntara un usuario y contraseña del usuario.

5. Descargar e instalar Apache Axis.

descarga los binarios, también los fuentes de Axis y descomprime todo.

copia la aplicación axis hacia el directorio “webapps” de Tomcat:

$sudo cp -r axis-1_4/webapps/axis $CATALINA_HOME/webapps/

copia todo el directorio del paquete de condigo fuente de Axis

$sudo cp -R axis-1_4-src /usr/local

y haces un enlace simbolico:

$sudo ln -s /usr/local/axis-1_4-src /usr/local/axis

6. Descargar e instalar JavaMail, Apache Xml Security(opcional o si es necesario)

prueba con http://localhost:8080/axis/

posiblemente al hacer el test “happyaxis.jsp” (Validation) te de un resultado el cual no sea de tu agrado y es que quizá haga falta instalar JavaMail y ApacheXmlSecurity,descarga y copia las libs en /usr/share/tomcat6/webapps/axis/WEB-INF/lib (si es tu caso) , en caso contrario intenta usar y exportar la variable entorno CLASSPATH y ahí definir la ruta hacia el jar de JavaMail.

intenta de nuevo con http://localhost:8080/axis/ y seleccionas la liga “Validation” y con esto ya debes quedar agusto después de ver los resultados.

7. Iniciar el proceso de instalación de EMBOSS/jEMBOSS

para ello desde la linea de comandos dirigete hacia el directorio de EMBOSS y entra al directorio de JEMBOSS y de ahi al directorio “utils” , listalo y veras un script de shell “install-jemboss-server.sh" ejecutalo de la siguiente manera:

$./install-jemboss-server.sh

sigue todo el proceso del script, para ello vas a necesitar tener instalado Clustalw y Primer3

primero se ejecuta la compilación de EMBOSS, EMBASSY y JEMBOSS , el script te mostrara una salida como la siguiente:

Note: Tomcat may still be running!
Use the tomstop & tomstart scripts to stop & start tomcat.

Try running Jemboss with the script:
/usr/local/emboss/share/EMBOSS/jemboss/runJemboss.sh

To create a web launch page see:

http://emboss.sourceforge.net/Jemboss/install/deploy.html

Sí todo el proceso es complicado para ti puedes usar apt-get para instalar JEMBOSS y EMBOSS.

Encuesta Curso Linux Básico en LANGEBIO

Por favor déjanos escuchar tu opinión a la vez que nos ayudas a mejorar los cursos que estaremos impartiendo próximamente , para ello haz clic en la siguiente liga para acceder a la encuesta.

En breve estará disponible el material presentado durante el curso para descargar.

Gracias por tu participación.

Clase de Bioinformática Cinvestav (4/Feb/2010)

El pasado 4 de febrero  me solicitaron cooperar e impartir una clase ,a un grupo de alumnos de maestría, sobre una introducción a la bioinformática, describí un panorama general sobre los puntos que en mi opinión serian provechosos para los estudiantes.

Así mismo me permití hacer una breve encuesta a los alumnos para mi propia auto-evaluación de la clase y la  evaluación del recorrido de los alumnos en el laboratorio de Langebio , los resultados de la encuesta al menos para mi fueron provechosos ya que los puntos que impartí mostraron en términos generales donde y como aplica la bioinformática en los proyectos de investigación.

A continuación dejo disponible 2 documentos:

  1. las preguntas que sirvieron como examen para los estudiantes.
  2. la opinión, ideas y sugerencias de los estudiantes acerca de la presentación y recorrido en langebio.

Opino que es importante tomar en cuenta estos resultados ya que sirve como base para mejorar la manera en como se desarrollan los contenidos y el recorrido por Langebio (en el caso de la clase de bioinformática).

Imágenes del curso básico de GNU/Linux 2010

Después de 3 largos días, el curso de GNU/Linux básico llego a su fin. fue agradable saber que hubo más de 30 personas interesadas en aprender a usar Linux y que al menos 28 personas se presentaron a tomar el curso.

Principalmente ,el alcance del curso se oriento al manejo básico de comandos  sin dejar a un lado una breve introducción al Software Libre, al GNU y a Linux, ya que es importante que la gente sepa que es el software libre.

Curso Básico de Bio-Linux (28,29 y 30 Sept 2010)

El próximo 28 de Septiembre estaré impartiendo un curso de Bio-Linux en LANGEBIO-CINVESTAV.

El curso dura 8 hrs aprox. y el horario es de 9 a 6pm, desde luego tendremos tiempos de descanso.

El curso se llevara a cabo en el aula de capacitación ‘in silico’ del Langebio (Edificio B, primer piso).

Para inscribirse haz clic en la siguiente liga y sigue las indicaciones:

http://www.langebio.cinvestav.mx/bioinformatica/cursos/linux/index.html

Nota: el curso se repetirá los días 29 y 30 de Septiembre bajo el mismo horario y lugar.