Localizar cadenas de ADN con comodines
Publicado: 2010-12-03 05:36 @275
Hola perleros,
tengo un archivo de texto con secuencia de ADN en el que tengo que buscar varias cadenas dadas como argumento al programa, por ejemplo CAGTT y ACGTA. Estas cadenas las guardo en un array y en un bucle recorro el array buscando en el texto todas las apariciones de cada una.
De la siguiente manera abreviada: (nota: he usado la librería Tie para poder leer el archivo de texto como un array aunque requiere mucha memoria porque los archivos son de cientos de megas)
Si ahora quiero permitir que la primera base de cada cadena pueda ser una indeterminación N, es decir que me busque la presencia de CAGTT o NAGTT, ¿cómo lo podría hacer?
Editado: de hecho, me gustaría que esa indeterminación pudiese tener lugar en cualquiera de las posiciones pero sólo en una, es decir, permito NAGTT o CANTT o CAGTN o ..., pero no CNNTT.
Mil gracias.
tengo un archivo de texto con secuencia de ADN en el que tengo que buscar varias cadenas dadas como argumento al programa, por ejemplo CAGTT y ACGTA. Estas cadenas las guardo en un array y en un bucle recorro el array buscando en el texto todas las apariciones de cada una.
De la siguiente manera abreviada: (nota: he usado la librería Tie para poder leer el archivo de texto como un array aunque requiere mucha memoria porque los archivos son de cientos de megas)
Using perl Syntax Highlighting
tie my @array, 'Tie::File', $ARGV[0] or die;
my $tags = <STDIN>;
my @tags = split (',',$tags);
for (@array)
{
if (/^$tags[$t]/i)
my $tags = <STDIN>;
my @tags = split (',',$tags);
for (@array)
{
if (/^$tags[$t]/i)
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Si ahora quiero permitir que la primera base de cada cadena pueda ser una indeterminación N, es decir que me busque la presencia de CAGTT o NAGTT, ¿cómo lo podría hacer?
Editado: de hecho, me gustaría que esa indeterminación pudiese tener lugar en cualquiera de las posiciones pero sólo en una, es decir, permito NAGTT o CANTT o CAGTN o ..., pero no CNNTT.
Mil gracias.