21 de junio de 2017

Leyendo FASTQ con CPAN

Buenas,
hace un par de años describía en otra entrada cómo leer de manera eficiente ficheros FASTQ con ayuda de kseq.h. Para ello definí una clase C++ que llamábamos desde Perl5 con Inline::CPP. La entrada de hoy es para contar que se puede hacer lo mismo instalando el módulo Bio::DB::HTS::Kseq desde CPAN, previa instalación en tu sistema de la librería htslib:

$ git clone https://github.com/samtools/htslib.git
$ cd htslib
$ make 
$ sudo make install
$ cd ..
$ sudo cpanm Bio::DB::HTS::Kseq

Ahora podemos escribir código como éste para probarlo:

use strict;
use Bio::DB::HTS::Kseq;

my ($length,$header,$sequence,$quality);

my $kseq = Bio::DB::HTS::Kseq->new("sample18MB.fq.gz");
my $iter = $kseq->iterator();
while(my $r = $iter->next_seq()) {

  ($header,$sequence,$quality) = ($r->name,$r->seq,$r->qual);
  print ">$header\n$sequence\n$quality\n";
}

En mis pruebas con un fichero FASTQ comprimido de 18MB, este código es un 20% más lento que la versión Inline::CPP,
hasta luego,
Bruno

16 de junio de 2017

Actualización de Perl en bioinformática

Buenas,
solamente quería comentar que el ya vetusto curso de Perl en bioinformático ha cambiado un poco de cara y ha sido revisado para traerlo al 2017, con algunas referencias a Perl6 y nuevos one-liners, que es lo que usaremos de este material en el máster de biotecnología cuantitativa de la Universidad de Zaragoza a partir del curso que viene.

Lo podéis encontrar en: https://eead-csic-compbio.github.io/perl_bioinformatica

Portada de un libro de one-liners, tomada de http://www.catonmat.net/blog/perl-one-liners-explained-part-one

Buen finde,
Bruno