Hola, ¡qué tal...! Tengo un pequeño problema con un archivo de secuencias. Éste es más o menos mi archivo de entrada:
Using text Syntax Highlighting
Accno Read Status 5' Contig 5' Position 5' Strand 3' Contig 3' Position 3' Strand
GPJFHIG01AN7BW Assembled contig00764 69 - contig00748 3 -
GPJFHIG01D3PF6 Assembled contig00009 650 + contig00009 710 -
GPJFHIG01ADJDG Assembled contig00764 490 + contig00674 586 -
GPJFHIG01CEBKL Singleton
GPJFHIG01ECQ6L Singleton
GPJFHIG01CS9M0 Assembled contig00764 186 + contig00645 273 -
GPJFHIG01CDL5X Assembled contig00764 580 - contig00690 75 +
GPJFHIG01AZUS9 Singleton
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
y mi programa me imprime cuántas veces se representa un "contig" (ejemplo
contig00764: " este es el contig" 4 "veces que se representa") (esto va en incremento desde el
contig00001 hasta
contignnnnn) y así sucesivamente. Eso trabaja perfecto. Mi pregunta es cómo le puedo hacer para los
contig que no aparecen me imprima el número de
contig y el 0 (cero). La salida de mi programa debería ser así:
Using text Syntax Highlighting
contig00001 145
contig00002 35
contig00003 0
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
La última línea es lo que me falta.
Este es mi código:
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
my $archivo = '454ReadStatus.txt';
open (FILE, $archivo) || die "$!\n";
my @content = <FILE>;
close(FILE);
print "Te muestro las opciones...\n";
print "1.-Lib GPJFHIG01\t2.-Lib GPJFHIG02\t3.-Ambas\n";
print "Teclea una opcion\n";
my $op = <STDIN>;
my %Contigs;
my $contig;
if ($op == 1) {
foreach (@content) {
if ($_ =~ /^GPJFHIG01.+(contig\d+)/) { # \d verifica los digitos y () guarda el valor del contig como contig y el numero
$Contigs{$1}++; # hash que va contando el numero de veces que contig y el numero se repiten
}
}
open(FILE, ">Libreria1.txt") or die "cannot open result file\n";
# Imprimo el total de READ por Contig
foreach $contig (sort keys %Contigs) {
print FILE "$contig\t$Contigs{$contig}\n";
}
close (FILE);
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Se los agradezco de antemano... Si se entiende la pregunta ¿me lo hacen saber, por favor?
Gracias
¡¡¡Saludos!!!