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

my BCL2FastQ Web User Interface Pipeline

In past weeks I developed a graphical user interface , web services and shell script pipeline and the software are used on HiSeq sequencing runs , I used the following development tools:  Google Web Kit, Mono (C#) Wsdl Web Services, Shell scripts.

bcl2fastqui1

The WebUI loads the web service shell script pipeline then convert illumina bcl raw files using casava software,  there are plenty features supported :D ,

 

How to install PoreTools a toolkit for working with nanopore sequencing data Fast5 from Oxford Nanopore in CentOS Linux 6

From the official published article by Nicholas J. Loman and Aaron R. Quinlan

Thanks to Nicholas J. Loman (Institute of Microbiology and Infection, University of Birmingham, Birmingham, UK) and Aaron R. Quinlan (Department Of Public Health Sciences, University Of Virginia)

Web site url : http://bioinformatics.oxfordjournals.org/content/early/2014/08/19/bioinformatics.btu555.abstract

Introduction

Poretools is a flexible toolkit for manipulating and exploring datasets generated by nanopore sequencing devices from MinION for the purposes of quality control and downstream analysis.

poretoolscentoslinux

Poretools operates directly on the native FAST5 (a variant of the HDF5 standard) file format produced by ONT and provides a wealth of format conversion utilities and data exploration and visualization tools.

The official requirements are:
– HDF5 >= 1.8.7 (http://www.hdfgroup.org/HDF5/)
– R >= 3.0.0
– Python >= 2.7
– rpy2 >= 2.4.2
– h5py >= 2.0

Browse to the official PoreTools GitHub web site https://github.com/arq5x/poretools

You can install HDF5, R, h5py packages using Yum package manager in CentOS Linux 6.x versions

You will need to install Python 2.7 first but you will find some trouble trying to install Python 2.7 in CentOS 6.x, follow this solution from the Galaxy install web page https://wiki.galaxyproject.org/Admin/GetGalaxy

What is the MinION Fast5/HDF5 file format ?

The fast5 HDF5 files contain a number of hierarchical groups, datasets and attributes. An example structure is:
/Analyses
  /Basecall_2D_000
     /BaseCalled_2D
     /BaseCalled_template
     /BaseCalled_complement
     /Configuration
     /HairpinAlign
     /Summary
  /EventDetection_000
    /Reads
/Sequences
/UniqueGlobalKey

 

How to Install ?

Ok , I will to tell you how to install this awesome python command line application in CentOS Linux 6.x

1. Open a command line console and install the poretools requirements

 $ sudo yum install hdf5.x86_64 hdf5-devel.x86_64 h5py.x86_64 

2. Install rpy2 , you can install using pip command

 $ pip install rpy2 

3.(Optionally) you could install h5py requirement using pip command too

 $ pip install h5py 

4.Install R

5.Get PoreTools from GitHub, you will need to install git package first

$ git clone https://github.com/arq5x/poretools.git 

6.Change to PoreTools directory

$ cd poretools 

7.From the Official PoreTools documentation install as a plain old user who has root access:

$ sudo python setup.py install 

8.If the setup doesn’t found the poretools requirements, the setup will try to download and to install the requirement packages automatically.

9.Check if the PoreTools command is installed first

$ locate bin/poretools
/usr/bin/poretools

10. Ok, good, now , run PoreTools command

$ poretools -h
usage: poretools [-h] [-v]

                 {tabular,stats,squiggle,fastq,winner,nucdist,occupancy,qualdist,hist,combine,yield_plot,fasta,times,readstats,events}
                 ...

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Installed poretools version

[sub-commands]:
  {tabular,stats,squiggle,fastq,winner,nucdist,occupancy,qualdist,hist,combine,yield_plot,fasta,times,readstats,events}
    combine             Combine a set of FAST5 files in a TAR achive
    fastq               Extract FASTQ sequences from a set of FAST5 files
    fasta               Extract FASTA sequences from a set of FAST5 files
    stats               Get read size stats for a set of FAST5 files
    hist                Plot read size histogram for a set of FAST5 files
    events              Extract each nanopore event for each read.
    readstats           Extract signal information for each read over time.
    tabular             Extract the lengths and name/seq/quals from a set of
                        FAST5 files in TAB delimited format
    nucdist             Get the nucl. composition of a set of FAST5 files
    qualdist            Get the qual score composition of a set of FAST5 files
    winner              Get the longest read from a set of FAST5 files
    squiggle            Plot the observed signals for FAST5 reads.
    times               Return the start times from a set of FAST5 files in
                        tabular format
    yield_plot          Plot the yield over time for a set of FAST5 files
    occupancy           Inspect pore activity over time for a set of FAST5
                        files

You can use a PoreTools subcommands to extract FASTA or FASTQ sequences from a set of FAST5 files.

$ poretools fasta -h
usage: poretools fasta [-h] [-q] [--type STRING] [--start START_TIME]
                       [--end END_TIME] [--min-length MIN_LENGTH]
                       [--high-quality]
                       FILES [FILES ...]

positional arguments:
  FILES                 The input FAST5 files.

optional arguments:
  -h, --help            show this help message and exit
  -q, --quiet           Do not output warnings to stderr
  --type STRING         Which type of FASTQ entries should be reported?
                        Def.=all
  --start START_TIME    Only report reads from after start timestamp
  --end END_TIME        Only report reads from before end timestamp
  --min-length MIN_LENGTH
                        Minimum read length for FASTA entry to be reported.
  --high-quality        Only report reads with more complement events than
                        template.

Ok , Ready !!! you are installed succesfully PoreTools application in CentOS Linux ;)

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.

;)

LabSerGen Genotyping By Sequencing Pipeline version 0.2

El año pasado desarrollamos en el Laboratorio de Servicios Genómicos del Langebio Cinvestav un Pipeline para Linux compacto, ligero y el más eficiente para trabajar con GBS (Genotyping By Sequencing) principalmente para los datos generados por el resultado del proceso de Secuenciación en las plataformas Illumina HiSeq and MiSeq.

dna

El Pipeline ejecuta las siguientes tareas:

  1. Filtrado de Reads
  2. Indexado,si es que es necesario, de Genoma de Referencia para el Alineamiento de Reads.
  3. Alineamiento de Reads
  4. Conversion de Formatos
  5. Ordenamiento e Indexado de Alineamientos.
  6. Indexado, si es que es necesario, de Genoma de Referencia para el Llamado de Variantes.
  7. Llamado de Variantes y Conversión de formatos BCF a VCF.

Diagrama de flujo para la versión 0.1

DiagramaGBSPipelineV01

El Pipeline usa las siguientes aplicaciones de software de análisis bioinformático para cumplir con el objetivo del análisis:

  1. Fastx Toolkit (filtrado de FASTQ)
  2. BWA (Indexado de Genoma, Alineamiento de reads)
  3. Samtools (Indexado de Genoma, Conversiones de formatos y ordenamiento de alineamientos,variantes)
  4. BCFTools (variantes)

El usuario solo necesita especificar los siguientes datos de entrada:

  1. Archivo del Genoma de Referencia.
  2. Archivos FASTQ.

$ gbs-pipeline.sh --help

Copyright Labsergen Langebio 2013 All Rights Reserved.
GBS Pipeline version 0.2 (FastQ Filtering,Genome Indexer,Alignment,Sorted Sam/Bam,Bam Indexer,Variant Calling,Bam Indexer,Variant Calling))
GBS Pipeline Soft Dependencys: latest FastX Toolkit, BWA, Samtools versions
GBS Pipeline Usage: ./gbs-pipeline.sh
--parentfastqdir set FastQ parent directory path.
--genomeref set Genome Reference in fasta format.
--bcfile set Barcode File or you can use "disabled" option, --bcfile disabled
--help print this help.

más información y detalles escribir a  jcervantes@langebio.cinvestav.mx

App: Illumina UMSi for HISEQ and MiSEQ

Soft1

time goes so fast !!!

I developed this based desktop app using Visual Basic 6 programming language for the illumina instrument HiSeq and MiSeq.

This desktop app runs on Microsoft Windows 7 it allows to attach a Linux Network Storage via smb protocol . software requirements are Linux distribution running Samba daemon and the shares properly set.

Vb6app2

 

 

How to Uninstall Roche 454 Data Analysis, Data Processing v2.8 @ CentOS Linux 5.x ?

roche

I'm trying uninstall via rpm package managment and works for me :), 
following my instructions you could downgrade software versions :)

you will need to list all roche 454 software installed via rpm (main setup.sh )

[jacob]$ rpm -q --all | grep gs

gsMapper-2.8-1
gsNewbler-2.8-1
gsRunProcessor-2.8-1
gsRunProcessorManager-2.6-1
gsSeqTools-2.8-1
gsAmplicons-2.8-1
gsRunBrowser-2.8-1
gsRunProcessor-2.6-1
gsSequencerDoc-2.6-1
gsAssembler-2.8-1
gsReporter-2.8-1
gsRunBrowser-2.6-1
gsSupportTool-1.26-1
gsSequencerDoc-2.8-1
gsProperties-2.6-1
gsSupportTool-1.24-1
gsProperties-2.8-1
gsNewbler-2.8-1
gsReporter-2.6-1
gsRunProcessorManager-2.8-1

you will need the super user or sudo 
jacob# rpm -evv --nodeps gsRunProcessorManager-2.8-1

D: opening  db environment /var/lib/rpm/Packages joinenv
D: opening  db index       /var/lib/rpm/Packages rdonly mode=0x0
D: locked   db index       /var/lib/rpm/Packages
D: opening  db index       /var/lib/rpm/Name rdonly mode=0x0
D:  read h#    1455 Header SHA1 digest: OK (ff2af61b0b3dca3dcd391dfac93206cc4ce84f81)
D: ========== recording tsort relations
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth)
D:     0    0    0    0    1    0   -gsRunProcessor-2.8-1.x86_64
D: closed   db index       /var/lib/rpm/Name
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm/Packages
D: opening  db environment /var/lib/rpm/Packages joinenv
D: opening  db index       /var/lib/rpm/Packages create mode=0x42
D: mounted filesystems:
D:     i        dev    bsize       bavail       iavail mount point
D:     0 0x00000801     4096      2006690      3907388 /
D:     1 0x00000003     4096            0           -1 /proc
D:     2 0x00000000     4096            0           -1 /sys
D:     3 0x0000000c     4096            0           -1 /dev/pts

D: sanity checking 1 elements
D: running pre-transaction scripts
D: computing 93 file fingerprints
D: computing file dispositions
D: opening  db index       /var/lib/rpm/Basenames create mode=0x42
D: ========== --- gsRunProcessor-2.8-1 x86_64-linux 0x0
D:     erase: gsRunProcessor-2.8-1 has 93 files, test = 0
D: opening  db index       /var/lib/rpm/Name create mode=0x42
D:  read h#    1455 Header SHA1 digest: OK (ff2af61b0b3dca3dcd391dfac93206cc4ce84f81)
D: opening  db index       /var/lib/rpm/Triggername create mode=0x42
D:     erase: %preun(gsRunProcessor-2.8-1.x86_64) asynchronous scriptlet start
D:     erase: %preun(gsRunProcessor-2.8-1.x86_64)       execv(/bin/sh) pid 17768
+ PROGRAM_NAME=gsRunProcessor
+ '[' -z /opt/454/apps/gsRunProcessor ']'
+ '[' 0 '!=' 0 ']'
+ echo /opt/454/apps/gsRunProcessor
+ /bin/grep -E -q '^/root($|/)'
+ '[' 1 -eq 0 ']'
++ readlink -f /opt/454/apps/gsRunProcessor/../../bin
+ linkDir=/opt/454/bin
++ basename /opt/454/apps/gsRunProcessor
+ '[' gsRunProcessor == gsRunProcessor ']'
+ removeLink=1
+ '[' /opt/454/bin == /bin -o -z /opt/454/bin ']'
+ '[' 1 -eq 1 ']'
++ find /opt/454/apps/gsRunProcessor/bin '!' -type d
+ REMOVE_FILES='/opt/454/apps/gsRunProcessor/bin/runAnalysisPipe
/opt/454/apps/gsRunProcessor/bin/runAnalysisPipeAmplicons
/opt/454/apps/gsRunProcessor/bin/runImagePipe'
+ pushd /opt/454/bin
+ for xFile in '$REMOVE_FILES'
++ basename /opt/454/apps/gsRunProcessor/bin/runAnalysisPipe
+ yFile=runAnalysisPipe
+ '[' -w runAnalysisPipe ']'
++ readlink -f runAnalysisPipe
+ '[' /opt/454/apps/gsRunProcessor/bin/runAnalysisPipe == /opt/454/apps/gsRunProcessor/bin/runAnalysisPipe ']'
+ rm runAnalysisPipe
+ for xFile in '$REMOVE_FILES'
++ basename /opt/454/apps/gsRunProcessor/bin/runAnalysisPipeAmplicons
+ yFile=runAnalysisPipeAmplicons
+ '[' -w runAnalysisPipeAmplicons ']'
++ readlink -f runAnalysisPipeAmplicons
+ '[' /opt/454/apps/gsRunProcessor/bin/runAnalysisPipeAmplicons == /opt/454/apps/gsRunProcessor/bin/runAnalysisPipeAmplicons ']'
+ rm runAnalysisPipeAmplicons
+ for xFile in '$REMOVE_FILES'
++ basename /opt/454/apps/gsRunProcessor/bin/runImagePipe
+ yFile=runImagePipe
+ '[' -w runImagePipe ']'
++ readlink -f runImagePipe
+ '[' /opt/454/apps/gsRunProcessor/bin/runImagePipe == /opt/454/apps/gsRunProcessor/bin/runImagePipe ']'
+ rm runImagePipe
+ popd
D:     erase: waitpid(17768) rc 17768 status 0 secs 0.019
D: fini      100644  1 (   0,   0)  20104688 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_xxlr.dat
D: fini      100644  1 (   0,   0)   3851409 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_xlr21_200.dat
D: fini      100644  1 (   0,   0)   1082287 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_xlr21_150.dat
D: fini      100644  1 (   0,   0)   1082287 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_xlr21_100.dat
D: fini      100644  1 (   0,   0)   1082287 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_xlr.dat
D: fini      000644  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_vxxlr.dat
D:    erase unlink of /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_vxxlr.dat failed: No such file or directory
D: fini      100644  1 (   0,   0)   1047488 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_gs20.dat
D: fini      100644  1 (   0,   0)   1051329 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/qualityScoreLookup_flx.dat
D: fini      100644  1 (   0,   0)     48048 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/LICENSES
D: fini      100644  1 (   0,   0)      1597 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/70x75_8.dn
D: fini      100644  1 (   0,   0)      1152 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/70x75_4.dn
D: fini      100644  1 (   0,   0)       499 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/70x75_2.dn
D: fini      100644  1 (   0,   0)      3007 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/70x75_16.dn
D: fini      100644  1 (   0,   0)      1603 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/40x75_8.dn
D: fini      100644  1 (   0,   0)       544 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/40x75_2.dn
D: fini      100644  1 (   0,   0)       470 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/40x75_1.dn
D: fini      100644  1 (   0,   0)       758 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/25x75_4.dn
D: fini      100644  1 (   0,   0)      1474 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/25x75_12.dn
D: fini      100644  1 (   0,   0)       432 /opt/454/apps/gsRunProcessor/share/gsRunProcessor/25x75_1.dn
D: fini      120777  1 (   0,   0)        24 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/setFlowToPipeline.mexglx
D: fini      120777  1 (   0,   0)        24 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/sendToPipeline.mexglx
D: fini      000644  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/share/openmpi/help-orterun.txt unknown
D: fini      100644  1 (   0,   0)      1132 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/share/openmpi/help-orted.txt
D: fini      000644  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/share/openmpi/help-ompi_info.txt unknown
D: fini      000644  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/share/openmpi/help-mpi-runtime.txt unknown
D: fini      100644  1 (   0,   0)       864 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/share/openmpi/help-mpi-api.txt
D: fini      100644  1 (   0,   0)      1370 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/share/openmpi/help-mca-bml-r2.txt
D: fini      000755  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/bin/orterun unknown
D: fini      000755  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/bin/orted unknown
D: fini      000755  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/openmpi/bin/ompi_info unknown
D: fini      120777  1 (   0,   0)        24 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/logmsg.mexglx
D: fini      120777  1 (   0,   0)        24 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/initPipeline.mexglx
D: fini      120777  1 (   0,   0)        24 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/getLogFd.mexglx
D: fini      120777  1 (   0,   0)        24 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/getFlowFromPipeline.mexglx
D: fini      100755  1 (   0,   0)     19492 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/extractWellSignalsCWF
D: fini      100755  1 (   0,   0)      7884 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/externalInterface.mexglx
D: fini      120777  1 (   0,   0)        24 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/closePipeline.mexglx
D: fini      100755  1 (   0,   0)      5192 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/TransM_cafie2_thresh_C.mexglx
D: fini      100755  1 (   0,   0)     48732 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/TMC267Cafie2C
D: fini      100755  1 (   0,   0)      5980 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/IndividualWellScaler_mark01.mexglx
D: fini      100755  1 (   0,   0)      5824 /opt/454/apps/gsRunProcessor/libexec/gsRunProcessor/IndividualWellScaler1.mexglx
D: fini      100644  1 (   0,   0)    254276 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libut.so
D: fini      100644  1 (   0,   0)    269592 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libstdc++-libc6.1-2.so.3
D: fini      100644  1 (   0,   0)    201668 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmx.so
D: fini      100644  1 (   0,   0)    441560 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwumfpack.so
D: fini      100644  1 (   0,   0)   1110660 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwuix.so
D: fini      100644  1 (   0,   0)    549032 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwudd_mi.so
D: fini      100644  1 (   0,   0)    774452 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwudd.so
D: fini      100644  1 (   0,   0)     81436 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwservices.so
D: fini      100644  1 (   0,   0)    145596 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwrefblas.so
D: fini      100644  1 (   0,   0)    413356 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwnumerics.so
D: fini      100644  1 (   0,   0)     79316 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwmpath.so
D: fini      100644  1 (   0,   0)    488808 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwmlib.so
D: fini      100644  1 (   0,   0)     20944 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwmcl.so
D: fini      100644  1 (   0,   0)   1774440 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwm_parser.so
D: fini      100644  1 (   0,   0)    557968 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwm_ir.so
D: fini      100644  1 (   0,   0)     18568 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwm_dispatcher.so
D: fini      100644  1 (   0,   0)    103944 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwlapack.so
D: fini      100644  1 (   0,   0)   1363088 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwhg.so
D: fini      100644  1 (   0,   0)    180916 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwhardcopy.so
D: fini      100644  1 (   0,   0)    502356 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwgui.so
D: fini      100644  1 (   0,   0)      4104 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwgcl.so
D: fini      100644  1 (   0,   0)    355252 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwfftw.so
D: fini      100644  1 (   0,   0)      4088 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwcl.so
D: fini      100644  1 (   0,   0)    193764 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmwbuiltins.so
D: fini      100644  1 (   0,   0)   2943760 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmmfile.so
D: fini      100644  1 (   0,   0)     29764 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmex.so
D: fini      100644  1 (   0,   0)    592068 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmatpp.so
D: fini      100644  1 (   0,   0)    727904 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmatlb.so
D: fini      100644  1 (   0,   0)     37332 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/libmat.so
D: fini      100644  1 (   0,   0)   1716896 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/lapack.so
D: fini      100644  1 (   0,   0)     20585 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/ismembc2.mexglx
D: fini      100644  1 (   0,   0)     20698 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/ismembc.mexglx
D: fini      100644  1 (   0,   0)     24618 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/histc.mexglx
D: fini      100644  1 (   0,   0)       136 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/blas.spec
D: fini      100644  1 (   0,   0)   1260068 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/atlas_PPro.so
D: fini      100644  1 (   0,   0)   1547716 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/atlas_PIII.so
D: fini      100644  1 (   0,   0)   1359408 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/atlas_PII.so
D: fini      100644  1 (   0,   0)   1370136 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/atlas_P4.so
D: fini      100644  1 (   0,   0)   2046624 /opt/454/apps/gsRunProcessor/lib/gsRunProcessor/atlas_Athlon.so
D: fini      100644  1 (   0,   0)       138 /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/signalProcessingPairedEnd.xml
D: fini      100644  1 (   0,   0)      5651 /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/signalProcessingAmplicons.xml backup
warning: /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/signalProcessingAmplicons.xml saved as /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/signalProcessingAmplicons.xml.rpmsave
D: fini      100644  1 (   0,   0)      6159 /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/signalProcessing.xml backup
warning: /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/signalProcessing.xml saved as /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/signalProcessing.xml.rpmsave
D: fini      100644  1 (   0,   0)      3370 /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/imageProcessingOnly.xml backup
warning: /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/imageProcessingOnly.xml saved as /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/imageProcessingOnly.xml.rpmsave
D: fini      100644  1 (   0,   0)       138 /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/fullProcessingPairedEnd.xml
D: fini      100644  1 (   0,   0)      6321 /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/fullProcessingAmplicons.xml backup
warning: /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/fullProcessingAmplicons.xml saved as /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/fullProcessingAmplicons.xml.rpmsave
D: fini      100644  1 (   0,   0)      6570 /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/fullProcessing.xml backup
warning: /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/fullProcessing.xml saved as /opt/454/apps/gsRunProcessor/etc/gsRunProcessor/fullProcessing.xml.rpmsave
D: fini      000755  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/bin/startGsProcessor unknown
D: fini      100755  1 (   0,   0)      3526 /opt/454/apps/gsRunProcessor/bin/runImagePipe
D: fini      100755  1 (   0,   0)      4115 /opt/454/apps/gsRunProcessor/bin/runAnalysisPipeAmplicons
D: fini      100755  1 (   0,   0)      4084 /opt/454/apps/gsRunProcessor/bin/runAnalysisPipe
D: fini      000755  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/bin/runAnalysisFilter unknown
D: fini      000755  0 (   0,   0)         0 /opt/454/apps/gsRunProcessor/bin/gsRunProcessor unknown
D:   --- h#    1455 gsRunProcessor-2.8-1

VCF Lib – for parsing and manipulating VCF files FIXED

vcfliblogo

like Erik mention in his github vcf lib project:

The Variant Call Format (VCF) is a flat-file, tab-delimited textual format intended to concisely describe reference-indexed variations between individuals. The current specification can be found on the 1000 Genomes wiki (http://www.1000genomes.org/wiki/Analysis/Variant%20Call%20Format/vcf-variant-call-format-version-41)

VCFLib is a simple C++ library for parsing and manipulating VCF files, + many command-line utilities

In pasts weeks I was trying to compile VCFLib our HPC Cluster Computer but I had some problems to compile it , I fixed it !!

Errors :

make[1]: Leaving directory `/home/jacob/mybioapps/vcflib/fastahack'
cc -c -o ssw.o ssw.c
g++ -O3 -D_FILE_OFFSET_BITS=64 -c -o ssw_cpp.o ssw_cpp.cpp
cd fsom && g++ -O3 -D_FILE_OFFSET_BITS=64 -c fsom.c -lm
fsom.h:77: error: non-local function 'void som_network_destroy(som_network_t*)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
fsom.h:78: error: non-local function 'void som_set_inputs(som_network_t*, double*)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
fsom.h:79: error: non-local function 'void som_train(som_network_t*, double**, size_t, size_t)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
fsom.h:80: error: non-local function 'void som_serialize(som_network_t*, const char*)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
fsom.h:81: error: non-local function 'void som_init_weights(som_network_t*, double**, size_t)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
fsom.h:82: error: non-local function 'double som_get_best_neuron_coordinates(som_network_t*, size_t*, size_t*)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
fsom.h:83: error: non-local function 'som_network_t* som_deserialize(const char*)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
fsom.h:84: error: non-local function 'som_network_t* som_network_new(size_t, size_t, size_t)' uses anonymous type
...
...
fsom.c:887: error: non-local function 'void som_serialize(som_network_t*, const char*)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
fsom.c:927: error: non-local function 'som_network_t* som_deserialize(const char*)' uses anonymous type
fsom.h:75: error: 'typedef struct<anonymous> som_network_t' does not refer to the unqualified type, so it is not used for linkage
make: *** [fsom/fsom.o] Error 1<

Fix: you will need to edit C++ fsom/fsom.h header

typedef struct som_network_t_record { // add struct named "som_network_t_record" 
#endif
som_input_layer_t *input_layer;
som_output_layer_t *output_layer;
double T_learning_param;
time_t serialization_time;
double alphas[TAYLOR_LAMBERT_ELEMENTS];
double mus[TAYLOR_LAMBERT_ELEMENTS];
} som_network_t
__attribute__ ((aligned));

void som_network_destroy ( som_network_t* );

That’s all , you will need to run make once again.

Instalar MIRA Assembler

miraSPLASH

MIRA es básicamente un programa para ensamblar secuencias de genoma y ests para las plataformas de Sanger, Illumina, PacBio, 454.

Existe una versión beta para usuarios de RNASeq para las plataformas de Ion Torrent, Illumina y PacBio.

Para instalar Mira puedes seguir los siguientes pasos que muestro a continuación:

Descomprimir el archivo compreso , copiar los archivos del subdirectorio scripts al subdirectorio bin , definir una variable de entorno para añadir a la variable de entorno “PATH” la ruta donde se encuentra el programa MIRA

$ tar -xjvf mira_3.4.1.1_prod_linux-gnu_x86_64_static.tar.bz2
cd scripts/
scripts]$ cp * ../bin/
$ bin] ls
caf2caf    caf2gbf   caf2tcs   convert_project  fastaselect.tcl  fastqselect.tcl    gbf2caf    mira      miraclip  miraSearchESTSNPs
caf2fasta  caf2html  caf2text  fasta2frag.tcl   fastatool        fixACE4consed.tcl  gbf2fasta  mirabait  miramem   scftool
bin]$ sudo vim /etc/profile.d/bioapp.Mira.sh
#!/bin/bash
export MIRA_BIOAPP=/path/to/mira_3.4.1.1_prod_linux-gnu_x86_64_static/bin
export PATH=$PATH:$MIRA_BIOAPP
$ source /etc/profile.d/bioapp.Mira.sh

Listo , ahora ya tienes Mira disponible en tu sistema operativo Linux para usarlo de inmediato :)

 

Convertir del instrumento Illumina HiSeq BCL a FastQ

hiseq2

Una vez que el instrumento de secuenciación HiSeq de la conocida empresa Illumina ha terminado de realizar el llamado de bases y arrojar los datos (BCL) a un medio de almacenamiento puedes realizar la conversión al formato FastQ.

Para esto necesitas:

  • Una Distribución de GNU/Linux , puedes usar CentOS :)
  • El software de conversión de Illumina.
  • Para agilizar el proceso de conversión necesitas o un Cluster de Computo o una computadora con varios “cores” , por lo menos quadcore.
  • Medio de Almacenamiento o Disco Duro de por lo menos 5 Terabytes disponibles
  • Una plantilla (Sample-Sheet) para definir cual linea de la corrida vas a convertir a FastQ , debe ser un archivo de texto plano sin formato por ejemplo un archivo CSV , puedes usar LibreOffice/Microsoft Excel para convertir tu hoja (xls) a CSV sin problemas.

Una vez que tienes instalado el programa configureBclToFastq.pl puedes usarlo de la siguiente manera:

Lo primero es leer la información de la linea a procesar:

$configureBclToFastq.pl --input-dir /directorio/resultadosHiSeq/Data/Intensities/BaseCalls/ 
--output-dir /directorio/resultadosHiSeq/resultadosConversion/CorrXYZ/lineX/ 
--sample-sheet /directorio/resultadosHiSeq/Data/Intensities/BaseCalls/samplesheetLineX.csv 
--force

y posteriormente realizar la conversión , cabe señalar que entran en función varios formatos de archivos (loc, pos..etc) , lo cual para el propósito de la presente nota no voy a explicar , en la siguiente entrada hablare de ello.

La salida del anterior programa debe al final enviar un mensaje que no hubo problemas

[2013-01-31 11:43:48]	[configureBclToFastq.pl]
 INFO: Running self tests on /directorio/resultadosHiSeq/resultadosConversion/CorrXYZ/lineX/ 
completed with no problems

A continuación debes ir al directorio  especificado con el parametro –output-dir en el anterior comando, y ejecutar el comando make y especificar el numero de procesadores a utilizar para agilizar el proceso, la razón de usar make es que cuentas con un archivo Makefile que se genera previamente.

$ make -j N

Donde N representa el numero de cores a usar , el proceso con 4 cores , dependiendo de la velocidad y del tamaño de los datos , alrededor de 1 a 2 horas o menos.

Una vez terminado el proceso ya tienes los archivos fastQ generalmente compresos , ahora ya puedes evaluar tu corrida usando FastQC y medir si la calidad es la esperada y hacer tu comparativa :) y/o volver a lanzar tu corrida jijiji ;)

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.

 

ABI 3730xl Flow Data Results and Backup (first part)

You will need to do more work about how to get your results like raw chromatogram trace files, fasta and blastn files for each sample.

The 3730xl DNA Analyzer is the Gold Standard for high throughput genetic analysis. The 3730xl DNA Analyzer software suite allows you to generate more meaningful data with less work. Software includes Data Collection v3.0Sequencing Analysis Software v5.2, Seqscape® v2.5, GeneMapper® v3.7

I was using Samba and VNC Server /Client to share AB 3730l instrument results to HPC Machine successfully and very flexible.

Later I installed FinchTV in our HPC Cluster Machine, I mean you can copy 3730xl instrument ab1, fasta results and more data by drag and drop method then you could open and to analyze your raw chromatogram trace files using FinchTV.

Multiplexing con resultados de instrumentos Roche 454

a petición de Brenda la siguiente nota sobre Multiplexing con los datos generados por los instrumentos de Roche/454

Vayámonos directos y al grano sin entrar en tanto detalle.

Básicamente una vez que tienes los resultados de algunos de los instrumentos de secuenciación (GS FLX Plus, GS Junior) de la conocida empresa Roche en su división 454 en ocasiones puedes necesitar conocer el total de lecturas por etiqueta que hayan generado durante el protocolo de secuenciación.

¿Qué necesitas ?

1. Oficialmente las herramientas de Roche 454 es lo mejor , aunque puedes encontrar en linea algunas opciones.

¿ Cómo instalar las herramientas de Roche 454 en una distribución de Linux basada en Debian como Ubuntu /Linux Mint ?

Anteriormente, este paso, ya lo había documentado en una guía paso a paso. Howto: 454 gsSeqTools Data Analysis 2.7 en Debian/Ubuntu/Mint

2. ¿ Cómo obtener el numero de lecturas por cada etiqueta ?

Si ya instalaste las herramientas de Análisis de Roche 454 , existe un comando que viene dentro de las aplicaciones

$ sfffile

Si lo único que quieres es obtener el numero de lecturas por cada etiqueta ejecuta el comando de la siguiente manera:

$ sfffile -si HD8DO2A01.sff

el resultado debe ser :

Reading the input SFF file(s)...
  RL1:  17743 reads
  RL2:  30181 reads
  RL3:  15557 reads
  RL4:  30356 reads
  RL5:  41163 reads
  RL6:  0 reads
  RL7:  0 reads
  RL8:  0 reads
  RL9:  0 reads
  RL10:  0 reads
  RL11:  0 reads
  RL12:  0 reads

donde basicamente puedes ver que tienes la etiquetas (1,2,3,4 y 5) con su numero correspondiente de lecturas asociadas.

Si quieres es obtener el archivo con las secuencias , el mismo comando puedes indicarle que genere los archivos correspondientes para cada etiqueta de la siguiente manera:

sfffile -s HD8DO2A01.sff 
Reading the input SFF file(s)...
Generating the split SFF file(s)...
  RL1:  17743 reads written into the SFF file.
  RL2:  30181 reads written into the SFF file.
  RL3:  15557 reads written into the SFF file.
  RL4:  30356 reads written into the SFF file.
  RL5:  41163 reads written into the SFF file.
  RL6:  0 reads found.
  RL7:  0 reads found.
  RL8:  0 reads found.
  RL9:  0 reads found.
  RL10:  0 reads found.
  RL11:  0 reads found.
  RL12:  0 reads found.

454Reads.RL1.sff  454Reads.RL2.sff  454Reads.RL3.sff  454Reads.RL4.sff  454Reads.RL5.sff  HD8DO2A01.sff

Observando cuidadosamente veras que usando el parámetro “-s” (split) el comando genera los archivos “sff” cada uno con las lecturas y valores de calidad correspondientes a cada etiqueta pero en el formato “sff” , para extraer las secuencias en formato fasta con sus correspondientes valores de calidad (qual) , es necesario usar el siguiente comando :

Para obtener las lecturas en formato FASTA de la etiqueta no #1:

$ sffinfo -s 454Reads.RL1.sff > 454Reads.RL1.sff.fasta

Para obtener los valores de calidad procedemos de la misma manera:

$ sffinfo -q 454Reads.RL1.sff > 454Reads.RL1.sff.qual

Para obtener información acerca de la corrida por ejemplo el tipo de corrida , nombre, instrumento de secuenciación, región..etc. el comando es el siguiente y abajito podrás la información en formato XML.

$ sffinfo -m 454Reads.RL1.sff > 454Reads.RL1.sff.manifest

<manifest>
<run>
    <run_type>454</run_type>
    <accession_prefix>HD8DO2A01</accession_prefix>
    <run_name>R_2011_12_15_14_40_04_JR08100291_Rocio_ljbapi06p001</run_name>
    <analysis_name>D_2011_12_15_14_51_40_JR08100291_fullProcessing</analysis_name>
    <instrument_model>GSJUNIOR_A16</instrument_model>
    <comment>
      <run_comment><![CDATA[jlbapi06]]></run_comment>
      <region_comment region_name="1"><![CDATA[]]></region_comment>
    </comment>
    <path>/data/R_2011_12_15_14_40_04_JR08100291_Rocio_ljbapi06p001/D_2011_12_15_14_51_40_JR08100291_fullProcessing/</path>
  </run>
  <qualityScoreVersion>1.1.03</qualityScoreVersion>
</manifest>

Ahora lo siguiente , en el ejemplo que mostramos no usamos ninguna esquema o plantilla de etiquetas a buscar específicamente, por lo que en consecuencia se usaran ya un conjunto predefinido de etiquetas definidas en un archivo de configuración multiplex “MIDConfig.parse” , en este archivo también puedes definir tus propio conjunto de identificadores “multiplex”

¿ Cómo uso este archivo con mis propios identificadores ?

copia el contenido del archivo y simplemente edita el archivo y añade tus datos tal como se muestra en el siguiente ejemplo:

GSMIDs --> nombre del conjunto de MIDs 
{
        mid = "MID1", "ACGAGTGCGT", 2; 
        mid = "MID2", "ACGCTCGACA", 2;
        mid = "MID3", "AGACGCACTC", 2;
        mid = "MID4", "AGCACTGTAG", 2;
        mid = "MID5", "ATCAGACACG", 2;

}

cada linea deberá empezar como se muestra:
"Nombre del MID", "la secuencia de ADN del MID", "Numero de errores permitidos " , "secuencia de corte (opcional)"

Verifica el parámetro “-mcf ” en los comandos, el archivo se encuentra bajo el directorio config donde se encuentran instaladas las aplicaciones de Roche 454.

por el momento es todo.. cualquier duda escríbeme  , espero te sea de utilidad !!

happy hacking ;)

 

 

 

 

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”.

my FastQC Fedora Core 4 support

FastQC aims to provide a simple way to do some quality control checks on raw sequence data coming from high throughput sequencing pipelines.

If you want to run FastQC on your HPC Machine like Roche 454 Rig with old Fedora Core 4 OS , you will need to edit main FastQC shell script like this ;)

#!/usr/bin/perl
use warnings;
use strict;
use FindBin qw($RealBin);
use Getopt::Long;

# Check to see if they've mistakenly downloaded the source distribution
# since several people have made this mistake

if (-e "$RealBin/uk/ac/babraham/FastQC/FastQCApplication.java") {
        die "This is the source distribution of FastQC.  You need to get the compiled version if you want to run the program\n";
}

my $delimiter = ':';

if ($^O =~ /Win/) {
        $delimiter = ';';
}

if ($ENV{CLASSPATH}) {
        $ENV{CLASSPATH} .= "$delimiter$RealBin$delimiter$RealBin/sam-1.32.jar$delimiter$RealBin/jbzip2-0.9.jar";
}
else {
        $ENV{CLASSPATH} = "$RealBin$delimiter$RealBin/sam-1.32.jar$delimiter$RealBin/jbzip2-0.9.jar";
}

my @java_args;
my @files;

# We now need to scan the command line for switches which we're going
# to pass on to the main java program.

my $version;
my $help;
my $outdir;
my $unzip;
my $format;
my $contaminant;
my $threads;
my $quiet;
my $nogroup;
my $casava;
my $kmer_size;
my $java_bin = '/opt/java/jdk1.6.0_31/bin/java'; <-- add full path to your java 1.6

my $result = GetOptions('version' => \$version,
                                                'help' => \$help,
                                                'quiet' => \$quiet,
                                                'nogroup' => \$nogroup,
                                                'outdir=s' => \$outdir,
                                                'extract!' => \$unzip,
                                                'format=s' => \$format,
                                                'threads=i' => \$threads,
                                                'kmers=i' => \$kmer_size,
                                                'casava' => \$casava,
                                                'contaminants=s' => \$contaminant,
                                                'java=s' => \$java_bin,
                                                 );

# Check the simple stuff first

if ($help) {
        # Just print the help and exit
        print while(<DATA>);
        exit;
}

if ($version) {
        push @java_args ,"-Dfastqc.show_version=true";
}

# Now parse any additional options
if ($outdir) {
        unless(-e $outdir and -d $outdir) {
                die "Specified output directory '$outdir' does not exist\n";
        }

        push @java_args ,"-Dfastqc.output_dir=$outdir";
}

if ($contaminant)  {
        unless (-e $contaminant and -r $contaminant) {
                die "Contaminant file '$contaminant' did not exist, or could not be read\n";
        }
        push @java_args ,"-Dfastqc.contaminant_file=$contaminant";
}

if ($threads) {
        if ($threads < 1) {
                die "Number of threads must be a positive integer";
        }

        push @java_args ,"-Dfastqc.threads=$threads";
        my $memory = 250 * $threads;
        unshift @java_args,"-Xmx${memory}m";
}
else {
        unshift @java_args,'-Xmx250m';
}

if ($kmer_size) {
        unless ($kmer_size =~ /^\d+$/) {
                die "Kmer size '$kmer_size' was not a number";
        }

        if ($kmer_size < 2 or $kmer_size > 10) {
                die "Kmer size must be in the range 2-10";
        }

        push @java_args,"-Dfastqc.kmer_size=$kmer_size";
}

if ($quiet) {
        push @java_args ,"-Dfastqc.quiet=true";
}

if ($casava) {
        push @java_args ,"-Dfastqc.casava=true";
}

if ($nogroup) {
        push @java_args ,"-Dfastqc.nogroup=true";
}

if (defined $unzip) {

        if ($unzip) {
                $unzip = 'true';
        }
        else {
                $unzip = 'false';
        }

        push @java_args,"-Dfastqc.unzip=$unzip";
}

if ($format) {

        unless ($format eq 'bam' || $format eq 'sam' || $format eq 'fastq' || $format eq 'sam_mapped' || $format eq 'bam_mapped') {
                die "Unrecognised sequence format '$format', acceptable formats are bam,sam,bam_mapped,sam_mapped and fastq\n";
        }

        push @java_args,"-Dfastqc.sequence_format=$format";

}

if ($java_bin ne '/opt/java/jdk1.6.0_31/bin/java') {
#       $java_bin =~ s/\\/\//g;

        unless (-e $java_bin) {
                die "Couldn't find java interpreter at '$java_bin'";
        }

#       if ($java_bin =~ / /) {
#               $java_bin = "\"$java_bin\"";
#       }
}

foreach (@ARGV) {
  if (/^\-D/) {
    push @java_args,$_;
  }
  else {
    push @files,$_;
  }
}

# This is set internally as well, but on some JREs it doesn't
# pick up the internally set value properly, so we'll set it
# outside as well which should work.
if (@files or $version or $help) {
        push @java_args, "-Djava.awt.headless=true";
}

if ($java_bin ne '/opt/java/jdk1.6.0_31/bin/java') {
        system $java_bin,@java_args, "uk.ac.babraham.FastQC.FastQCApplication", @files;
}
else {
        exec $java_bin,@java_args, "uk.ac.babraham.FastQC.FastQCApplication", @files;
}

__DATA__

            FastQC - A high throughput sequence QC analysis tool

SYNOPSIS

        fastqc seqfile1 seqfile2 .. seqfileN

    fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam]
           [-c contaminant file] seqfile1 .. seqfileN

DESCRIPTION

    FastQC reads a set of sequence files and produces from each one a quality
    control report consisting of a number of different modules, each one of
    which will help to identify a different potential type of problem in your
    data.

    If no files to process are specified on the command line then the program
    will start as an interactive graphical application.  If files are provided
    on the command line then the program will run with no user interaction
    required.  In this mode it is suitable for inclusion into a standardised
    analysis pipeline.

    The options for the program as as follows:

    -h --help       Print this help file and exit

    -v --version    Print the version of the program and exit

    -o --outdir     Create all output files in the specified output directory.
                    Please note that this directory must exist as the program
                    will not create it.  If this option is not set then the
                    output file for each sequence file is created in the same
                    directory as the sequence file which was processed.

    --casava        Files come from raw casava output. Files in the same sample
                    group (differing only by the group number) will be analysed
                    as a set rather than individually. Sequences with the filter
                    flag set in the header will be excluded from the analysis.
                    Files must have the same names given to them by casava
                    (including being gzipped and ending with .gz) otherwise they
                    won't be grouped together correctly.

    --extract       If set then the zipped output file will be uncompressed in
                    the same directory after it has been created.  By default
                    this option will be set if fastqc is run in non-interactive
                    mode.

    -j --java       Provides the full path to the java binary you want to use to
                    launch fastqc. If not supplied then java is assumed to be in
                    your path.

    --noextract     Do not uncompress the output file after creating it.  You
                    should set this option if you do not wish to uncompress
                    the output when running in non-interactive mode.

    --nogroup       Disable grouping of bases for reads >50bp. All reports will
                    show data for every base in the read.  WARNING: Using this
                    option will cause fastqc to crash and burn if you use it on
                    really long reads, and your plots may end up a ridiculous size.
                    You have been warned!

    -f --format     Bypasses the normal sequence file format detection and
                    forces the program to use the specified format.  Valid
                    formats are bam,sam,bam_mapped,sam_mapped and fastq

    -t --threads    Specifies the number of files which can be processed
                    simultaneously.  Each thread will be allocated 250MB of
                    memory so you shouldn't run more threads than your
                    available memory will cope with, and not more than
                    6 threads on a 32 bit machine

    -c              Specifies a non-default file which contains the list of
    --contaminants  contaminants to screen overrepresented sequences against.
                    The file must contain sets of named contaminants in the
                    form name[tab]sequence.  Lines prefixed with a hash will
                    be ignored.

   -k --kmers       Specifies the length of Kmer to look for in the Kmer content
                    module. Specified Kmer length must be between 2 and 10. Default
                    length is 5 if not specified.

   -q --quiet       Supress all progress messages on stdout and only report errors.

BUGS

    Any bugs in fastqc should be reported either to simon.andrews@babraham.ac.uk
    or in www.bioinformatics.babraham.ac.uk/bugzilla/

SOLiD2FASTQ ¿Cómo convertir ColorSpace/Qual a FASTQ?

Un problema al que te enfrentas muy seguido es como generar un archivo FASTQ a partir de tus secuencias en colores (*.csfasta) y valores de calidad (*.qual) resultado de la secuenciación por ligación de la serie de instrumentos SOLiD de la conocida empresa LifeTechnologies/AB.

Vamos directo al grano sin hacer mucho alarde , de igual manera puedes buscar en “papers” comparativas de cual programa te ofrece mejores resultados , quedara de ti y de tu equipo evaluar que es lo mejor para tu caso en concreto.

La practica es sobre una distribución de Linux “Linux Mint 13/Ubuntu 12.04

Los pasos son los siguientes:

$ tar -xzvf bfast-0.7.0a.tar.gz
  • Cambiarse al directorio
$ cd bfast-0.7.0a
  • Ejecutar configure y verificar las opciones a tomar en cuenta
$ ./configure --help
  • Si cuentas con procesadores Intel Core 64 puedes habilitar las siguientes opciones.
$ ./configure --enable-intel64 --prefix=/usr
  • Es importante tomar en cuenta que si deseas usar archivos de secuencias compresos en bzip necesitas instalar la librería aparte
$ sudo apt-get install libbz2-dev
  • Ejecuta de nueva cuenta configure
$ ./configure --enable-intel64 --prefix=/usr
  • Ahora solo vamos a generar los programas ejecutables
$ make
  • una vez haya terminado de compilar los programas , en el subdirectorio scripts encuentras el programa SOLID2FASTQ

Para usar el programa es muy sencillo

$ solid2fastq archivo.csfasta archivo.qual -o /algún/directorio/archivo

El primer parámetro es el archivo colorspace.

El segundo parámetro es el archivo con valores de calidad.

El tercer y cuarto parámetro indican en cual directorio se va generar el archivo resultante del proceso de conversión , el cual debe ser archivo.fastq

Cabe señalar que al mismo tiempo obtienes el conteo de lecturas en cada archivo de colores ;)

Howto: 454 gsSeqTools Data Analysis 2.7 en Debian/Ubuntu/Mint

Los programas para el análisis de datos de los instrumentos 454 son el ensamblador Newbler, Mapper y aplicaciones para el análisis de Amplicones..etc. Los programas que a continuación vamos a instalar son para la manipulación y formato de las secuencias, el formato de los paquetes de instalación de los programas de 454 es RPM , el cual se usa para instalarlos en una distribución de Linux basada en Red Hat Linux.

El “problema”  tiene que ver en que muchos de los usuarios ,cada vez más,  usan distribuciones de Linux basadas en Debian como Ubuntu y es bien conocido que los paquetes de programas de instalación en Ubuntu/Linux Mint son bajo DEB, pues ¿Qué podemos hacer ? no todo está perdido hay soluciones y es lo que voy a describir paso a paso enseguida:

Si lo que a ti te interesa es unicamente contar y separar  las secuencias de una o varias etiquetas según tu proyecto de secuenciación es decir de Piro-Secuenciación o simplemente necesitas manipular los datos a tu conveniencia puedes usar las herramientas ahora denominadas “gsSeqTools” que son las mismas herramientas que en anteriores versiones de software han venido empaquetando y dejando a disposición la gente de 454  a todos sus clientes , pero ahora han decidido usar un nuevo nombre.

1. Descomprimir el paquete

Puedes hacerlo gráficamente o mediante la linea de comandos, tu decide :

$ tar -zxvf DataAnalysis_2.7_All.tgz

Al terminar de desempaquetar el contenido, encontraras los siguientes archivos y directorios:

checksum_inst  packages  README  setup.sh

2. Desempaquetar rpm

En el directorio packages vienen varios paquetes en formato RPM , descomprime el paquete “gsSeqTools-2.7-1.x86_64.rpm” como se muestra en la siguiente figura.

3. Esto genero una serie de directorios y subdirectorios con el contenido de los programas como se muestra:

$HOME/directorio-actual/opt/454/apps/gsSeqTools/bin y $HOME/directorio-actual/opt/454/apps/gsSeqTools/config

en el subdirectorio “bin” vas encontrar las herramientas en linea de comandos como :

fnafile gsReadCluster sff2scf sfffile sffinfo sffrescore

El subdirectorio config contiene en especial un archivo “MIDConfig.parse” el cual contiene un conjunto de secuencias para el apartado de las etiquetas(RL, GS ) que se usan en los kits para la preparación de librerías, incluso puedes añadir tus propias secuencias.

4. Ahora que ya tenemos los programas es necesario añadirlos al PATH y para ello haremos lo siguiente:

$ sudo vim /etc/profile.d/454.sh

Ahora, añadimos el siguiente texto a nuestro script de shell

#!/bin/bash

export GS_SEQ_TOOLS=$HOME/directorio-actual/opt/454/apps/gsSeqTools

export PATH=$PATH:$GS_SEQ_TOOLS/bin

Guarda los cambios y exportamos las variables definidas en el archivo que vengo describiendo

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

5. Ejecuta alguno de los programas por ejemplo:

$ sffinfo

Deberás ver la ayuda del comando, sí es así meta cumplida !! ya puedes utilizar tus herramientas para el manejo de datos del instrumento GS FLX+  en Ubuntu Linux  Debian o Linux Mint y en tu propia computadora portátil ;)

Velvet Sequence assembler for very short reads + OpenMP

OpenMP allows a program to make use of multiple CPU cores on the same machine.

I will try to use Velvet Assembler with OpenMP support.

Step 1. Check if you have OpenMP enabled in your computer.

Copy following C source code

#include <omp.h>
#include <stdio.h>
int main() {
#pragma omp parallel
printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads());
}

try to compile it using GNU GCC compiler like this

$ gcc -fopenmp helloOMP.c -o helloOMP

then run it !

$ ./helloOMP
Hello from thread 0, nthreads 4
Hello from thread 3, nthreads 4
Hello from thread 1, nthreads 4
Hello from thread 2, nthreads 4

You might have to set the environment variables OMP NUM THREADS and OMP THREAD LIMIT.

Ok let’s try to compile Velvet Assembler trying to turn on multithreading and longsequences (contigs longer than 32kb long)

1. edit Makefile file:

CATEGORIES=2
LONGSEQUENCES=1  <-- add this line
DEF = -D MAXKMERLENGTH=$(MAXKMERLENGTH) -D CATEGORIES=$(CATEGORIES)

2. save it

3. compile velvet with multithreading

$ make 'OPENMP=1'
$ make ‘OPENMP=1′

4. run mpstat command to report processors related statistics:

$ mpstat -P ALL 1

5. run velveth to construct the dataset

5.1 Preprocessing sequences

$ velveth vv-output 21 -fasta -long test_long.fa test_reference.fa -noHash
[0.000000] Reading FastA file test_long.fa;
[0.012007] 2000 sequences found
[0.012059] Done
[0.012105] Reading FastA file test_reference.fa;
[0.025601] 1 sequences found
[0.025623] Done
$ velveth vv-output/ 21 -reuse_Sequences
[0.000000] Reading read set file vv-output//Sequences;
[0.001085] 2001 sequences found
[0.006622] Done
[0.006640] 2001 sequences in total.
[0.006691] Writing into roadmap file vv-output//Roadmaps...
[0.010893] Inputting sequences...
[0.011116] Inputting sequence 0 / 2001
[0.129540]  === Sequences loaded in 0.118665 s
[0.129604] Done inputting sequences
[0.129620] Destroying splay table
[0.144502] Splay table destroyed

6. run velvetg core (Bruijn graph) (length weighted median contig coverage)

$ velvetg vv-output/ -exp_cov auto
[0.000000] Reading roadmap file vv-output//Roadmaps
[0.013614] 2001 roadmaps read
[0.013726] Creating insertion markers
[0.013998] Ordering insertion markers
[0.018490] Counting preNodes
[0.018842] 3927 preNodes counted, creating them now
[0.035963] Adjusting marker info...
[0.036925] Connecting preNodes
[0.041795] Cleaning up memory
[0.041846] Done creating preGraph
[0.041856] Concatenation...
[0.044200] Renumbering preNodes
[0.044223] Initial preNode count 3927
[0.044346] Destroyed 3926 preNodes
.....more

mpstat reports (more or less)

01:06:23 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
01:06:24 AM  all    8.73    0.00    2.49    0.00    0.00    0.00    0.00    0.00   88.78
01:06:24 AM    0   13.00    0.00    3.00    0.00    0.00    0.00    0.00    0.00   84.00
01:06:24 AM    1   15.31    0.00    1.02    0.00    0.00    0.00    0.00    0.00   83.67
01:06:24 AM    2    3.96    0.00    1.98    0.00    0.00    0.00    0.00    0.00   94.06
01:06:24 AM    3    3.00    0.00    3.00    0.00    0.00    0.00    0.00    0.00   94.00

I’m going to sleep ..

To be continued …

El Sincrotrón Alba, el acelerador de partículas español, comienza a funcionar

El Sincrotrón Alba, un acelerador de partículas ubicado en Cerdanyola del Vallés (Barcelona), capaz de observar estructuras moleculares como si fuera un grandioso microscopio, ha comenzado a funcionar dos años después de su presentación oficial ante el mundo.

De la genética a la paleontología

El Alba es una impresionante infraestructura en forma de hélice plateada (90 metros de diámetro) que ha costado más de 200 millones de euros. Más modesto y con funciones diferentes a las de su hermano mayor, el LHC de Ginebra, que pretende recrear en laboratorio los momentos que sucedieron al Big Bang y desentrañar los orígenes del Universo, el Sincrotrón produce un haz de luz microscópico de gran intensidad -un billón de veces más potente que los rayos X- para conocer las estructuras moleculares de la materia con una precisión excepcional y de manera exhaustiva. .

Su trabajo tendrá las más diversas aplicaciones: el estudio de las estructuras biológicas y las proteínas, el análisis de virus y bacterias, la creación de nuevos fármacos, el diseño de nuevos materiales y el estudio de fósiles. De última hornada, se encuentra al mismo nivel que sus gemelos de Diamond (Reino Unido) o Soleis (Francia). Es la mayor infraestructura científica construida en España y en el sur de Europa.

Fuente: http://www.abc.es/20120607/ciencia/abci-sincrotron-alba-acelerador-particulas-201206071414.html

Más información en: http://www.gencat.cat/web/multimedia/cas/sincrotro/index_htm.htm

Illumina MiSeq Instrument Results in your HPC Cluster

The MiSeq instrument integrates cluster generation, sequencing, and data analysis on a single instrument, but if you want to copy image results from your MiSeq instrument to your HPC Cluster then you will need the official Illumina basecaller OLB and Samba installed in your HPC Cluster Machine.

I designed the following picture about process

you will need to compile, to install  and to configure Samba in your HPC Cluster Machine because MiSeq instrument uses Windows 7 smb protocol to share data results.

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

HPC Cluster Maintenance Issues

In past days I was performing maintenance routine for two hpc clusters (PsscLabs/Roche 454 hpc machine and custom hpc cluster machine) .

A minimal list of possible maintenance options that I’m currently checking :

  1. Daily Backups (NAS, External USB Hard Disk, External USB Tapes Drives, Network Storage Solution) (daily)
  2. Proper Air Flow , Proper ambient Temperature  (weekly)
  3. System Functionality Tests (Slave Node Connectivity , Test your PBS or SGE system, Run parallel jobs and check results)
  4. Check RAID Array Storage Availability. (weekly)
  5. Check Data Storage Availability. (almost everyday)
  6. Check Linux Kernel Messages (dmesg information could be useful  ;) )
  7. Check Security (login users, network, kernel and user spaceland proc)
  8. What else ? help me..

unofficial patch XSQ Tools/Linux Mint 12 Lisa

Hi guys , I’m still alive ..

I developed simple patch for Life Technologies/Applied Biosystems XSQ Tools.

This patch allows to run XSQ Tools in Debian based linux distributions like Linux Mint 12 or Ubuntu Linux

1. Download XSQ Tools from official website.

2. Decompress tar file

$ tar -zxvf XSQ_Tools_20120109.tgz

3. Download patch tar file , decompress it and copy patch to XSQ Tools directory

4. Change into XSQ Tools directory and  apply patch

$ patch -Np1 -i convertFromXSQ.sh.patch convertFromXSQ.sh

5.  Let’s go to test !!

./convertFromXSQ.sh -linux debian -c data/Frag.xsq -o data/

Download convertFromXSQ.sh.patch.tar.gz

That’s all