Sí, claro... Hummm... ¿cómo lo explico?
En el archivo 1 (proteinX.txt) hay algo así:
Using text Syntax Highlighting
>proteinX
MARNTLPSITAGEAGLNRYLDEIRKFPMLEPQQEYMLAKRYAEHGDRDAAHKLVTSHLRLVAKIAMGYRG
YGLPIGEV...
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
y en archivo 2 (Sigmas_fastaAA.txt) hay algo así:
Using text Syntax Highlighting
>gi|1045628|gb|AAC45314.1| RpoE [Escherichia coli]
MSEQ......
>gi|77389093|gb|ABA80278.1| sigma24, RpoE [Rhodobacter sphaeroides 2.4.1]
MTDK.....
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
etc, etc, etc.
Y entre alguna de esas secuencias está una que se asimila mucho a la del archivo 1.
Entonces, lo que quiero hacer es buscar en base a la secuencia de la proteinaX
si está presente y todos los datos (%de homología, % de GC, tamaño).
Lo que llevo es esto:
Using perl Syntax Highlighting
print "Este script encontrará y analizará una secuencia específica\n\n ";
print "¿Cuáles son los nombres de los Archivos a analizar?: \n";
########----1er Archivo----#####################
print "\tNombre del archivo con la secuencia específica:";
chomp($nom_archivo_1 = <STDIN>); # Nombre de proteína por el usuario
open(TEXTO_A, $nom_archivo_1); # Abrir archivo
unless (open(TEXTO_A, $nom_archivo_1)) {
print "No puedo abrir el archivo \"$nom_archivo_1\"!\n\n";
exit;
}
@datos_1 = <TEXTO_A>; # Leer archivo
close TEXTO_A; # Cerrar archivo
$secuencia_1 = &limp_fasta_1(@datos_1);
print "Esta es la secuencia de la secuencia a analizar\n";
print "$secuencia_1\n";
#################################################
########----2do Archivo----######################
print "\tNombre del archivo con las secuencias donde buscar:";
chomp($nom_archivo_2 = <STDIN>); # Nombre de proteína por el usuario
open(TEXTO_B, $nom_archivo_2); # Abrir archivo
unless (open(TEXTO_B, $nom_archivo_2)) {
print "No puedo abrir el archivo \"$nom_archivo_2\"!\n\n";
exit;
}
@datos_2 = <TEXTO_B>; # Leer archivo
close TEXTO_B; # Cerrar archivo
$secuencias_2 = &limp_fasta_2(@datos_2);
#################################################
# #
# Subrutinas #
# #
#################################################
#############################################
sub limp_fasta_1 {
(@datos_1) = @_;
$secuencia_1 = '';
foreach my $linea (@datos_1) {
if ($linea =~ /^\s*$/) { # Descartar líneas en blanco
next;
} elsif($linea =~ /^\s*#/) { # Descartar comentarios de línea
next;
} elsif($linea =~ /^>/) { # Descartar manejadores de línea
next;
} else { # Mantener la línea y añadirla una cadena
$secuencia_1 .= $linea;
}
}
$secuencia_1 =~ s/\s//g; # Comenzar a trabajar
return $secuencia_1;
}
#############################################
sub limp_fasta_2 {
(@datos_2) = @_;
$secuencia_2 = '';
foreach my $linea (@datos_2) {
if ($linea =~ /^\s*$/) { # Descartar líneas en blanco
next;
} else { # Mantener la línea y añadirla una cadena
$secuencia_2 .= $linea;
}
}
return $secuencia_2;
}
################################################
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
¡¡Pero no tengo idea de cómo seguirlo!! Sé que podría ser metiendo todo en
hash, pero no sé cómo hacerlo.
Te agradezco tu atención y sé que podrás ayudarme.