Contar repeticiones secuencias de bases
Publicado: 2010-04-29 10:59 @499
Hola,
Estoy haciendo un script para contar la aparición de una lista de caracteres sobre uno o más bloques más grandes.
A continuación coloco un fragmento del archivo que contiene mi lista de caracteres a buscar:
Y este es un fragmento del bloque sobre el cual se realiza la búsqueda (pueden ser varios; por eso utilizo el bucle de abajo para leerlo):
Para realizar esto he escrito el siguiente código:
Este código encuentra las apariciones, sin embargo no he logrado hacer que cuente el número de veces que aparece cada una de las palabra o caracteres de lista. Por ejemplo, la primer palabra del fragmento de lista que coloque anteriormente es "AA", así el script debería reportar "AA = 5 apariciones", "CC = 1 apariciones", etc. Ya he mirado varios mensajes en el foro solo que no he logrado introducir los contadores de manera adecuada. Espero puedan ayudarme,
Saludos.
Estoy haciendo un script para contar la aparición de una lista de caracteres sobre uno o más bloques más grandes.
A continuación coloco un fragmento del archivo que contiene mi lista de caracteres a buscar:
Using text Syntax Highlighting
AA
AT
AG
AC
TA
TT
TC
TG
GA
GT
GG
GC
CA
CT
CG
CC
AAAA
AAAT
AAAC
AAAG
TTTA
TTTT
TTTC
TTTG
AT
AG
AC
TA
TT
TC
TG
GA
GT
GG
GC
CA
CT
CG
CC
AAAA
AAAT
AAAC
AAAG
TTTA
TTTT
TTTC
TTTG
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Y este es un fragmento del bloque sobre el cual se realiza la búsqueda (pueden ser varios; por eso utilizo el bucle de abajo para leerlo):
Using text Syntax Highlighting
ATGGAGTCTTTTAGAGAGTTTATCCAACAATTCAAAAAAAATAAGGCAGCGGTCGTTGGGGCTTGGATTGTGCT.......
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Para realizar esto he escrito el siguiente código:
Using perl Syntax Highlighting
- #! /usr/bin/perl
- my $file="../seq_pba.fasta"; #secuencias sobre las cuales se realiza la bósqueda
- my $rep="../2y4ntdb.txt"; #repeticiones a buscar sobre las secuencias
- chomp $rep;
- open (FILE, $file);
- open (REPE, $rep);
- my @array= <FILE>;
- my @arrep= <REPE>;
- close FILE;
- close REPE;
- for($i=1;$i<scalar(@array);$i++){
- chomp $array[$i];
- foreach $j (@arrep){
- chomp $j;
- while ($array[$i] =~ /$j/g){
- print "$j\n";
- }
- }
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Este código encuentra las apariciones, sin embargo no he logrado hacer que cuente el número de veces que aparece cada una de las palabra o caracteres de lista. Por ejemplo, la primer palabra del fragmento de lista que coloque anteriormente es "AA", así el script debería reportar "AA = 5 apariciones", "CC = 1 apariciones", etc. Ya he mirado varios mensajes en el foro solo que no he logrado introducir los contadores de manera adecuada. Espero puedan ayudarme,
Saludos.