• Publicidad

Eliminar secuencias de un archivo FASTQ

Perl aplicado a la bioinformática

Re: Eliminar secuencias de un archivo FASTQ

Notapor Alfumao » 2012-06-12 07:44 @364

Pues no me funciona con el archivo pequeño tampoco... Ni cambiándolo a .txt. Pero no me da errores tampoco.
Vaya lío... A ver cómo se puede hacer para manejar archivos así de grandes.
Alfumao
Perlero nuevo
Perlero nuevo
 
Mensajes: 178
Registrado: 2009-12-10 11:20 @514

Publicidad

Re: Eliminar secuencias de un archivo FASTQ

Notapor explorer » 2012-06-12 08:54 @413

Si ni siquiera eres capaz de que lea ese trozo de archivo, entonces la cosa es muy grave.

En los informes de errores dice que Tie::File tiene problemas con Perl v5.10. Yo he hecho las pruebas con Perl v5.14.2 y funciona muy bien.

Publica el código que estás probando ahora... a ver si es que hay algo suelto...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar secuencias de un archivo FASTQ

Notapor Alfumao » 2012-06-13 01:54 @121

Ya te digo yo que es muy grave...la version de Perl es 5.8.8

De todas formas te pongo el código para que le eches un vistazo.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!usr/bin/perl -w
  2. use Tie::File;
  3. use strict;
  4. #usage bismatic.pl [full dir path] [genome folder path]
  5.  
  6. my$path= shift @ARGV;
  7. print "$path\n";
  8. chdir $path or die "ERROR: Unable to enter $path: $!\n";
  9. opendir (TEMP , ".");
  10. my @files = readdir (TEMP);
  11. closedir TEMP;
  12. print"@files\n";
  13.  
  14. for my $file (glob("*.txt")) {
  15. #for my $file (@files) {
  16.    
  17. #if($file=~/(\w+)\.fastq/){
  18.    print"This is $file processing...\n";
  19.    
  20. tie my @lineas, 'Tie::File', '$file';  # consideramos el archivo como un array
  21. print "Líneas: ", scalar(@lineas), "\n";
  22.  
  23. for (my $i = 0; $i < @lineas; $i++) {   # recorremos todas las líneas
  24.    if ($lineas[$i] =~ /^@/) {           # detectado comienzo de secuencia
  25.       if ($lineas[$i+3] !~ /^#/) {      # detectada mala calidad en la cuarta línea
  26.           splice @lineas, $i, 4;          # rebanamos las 4 líneas
  27.           redo;                         # reinicimos el bucle, en la posición $i
  28.       }
  29.       }
  30. }
  31.  
  32. untie @lineas;
  33. print"$file untied\n";
  34. }
  35. #}
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Alfumao
Perlero nuevo
Perlero nuevo
 
Mensajes: 178
Registrado: 2009-12-10 11:20 @514

Re: Eliminar secuencias de un archivo FASTQ

Notapor explorer » 2012-06-13 02:27 @144

Normal que no te funcione... te he dicho TRES VECES que quites las comillas simples de la línea 20, alrededor de $file... y no lo haces... Tú verás...

¿Es que no ves la diferencia en estas tres líneas

my $valor = $file;
my $valor = "$file";
my $valor = '$file';

?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Eliminar secuencias de un archivo FASTQ

Notapor Alfumao » 2012-06-13 02:42 @154

:oops: :oops: :oops:

Lo siento, explorer, al tener que copiar el archivo en dos sitios diferentes cada vez que lo modifico (local y servidor remoto), las quité y guardé en local (Windows) y luego seguí trabajando en el servidor (Linux) con el archivo que no las había quitado y continué haciendo los otros cambios en ese... Lo siento de verás.

:oops: :oops: :oops:

Una preguntita sobre la velocidad, ¿es normal que para hacer el procesado de un fichero de 0,86 Gb lleve más de 2 horas y subiendo?
Última edición por Alfumao el 2012-06-13 04:59 @249, editado 2 veces en total
Alfumao
Perlero nuevo
Perlero nuevo
 
Mensajes: 178
Registrado: 2009-12-10 11:20 @514

Re: Eliminar secuencias de un archivo FASTQ

Notapor explorer » 2012-06-13 04:51 @243

Tranquilo, que nos pasa a todos...

Precisamente lo que comentas es un problema grave, lo de desarrollar en un sitio y tener el lugar de producción en otro. Si los dos escenarios son distintos, tienes que acordarte de hacer los cambios... Codificación, rutas de los archivos, las comillas en las líneas de comando, señales de parada, diferentes formas de acceso al sistema operativo...

Una solución en tu caso es la de instalar una máquina virtual Linux en tu Windows. Con VirtualBox y una distribución Linux lo tendrías resuelto en menos de una hora.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Bioinformática

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados