Sab Abr 15, 2006 1:24 pm
|
 |
DETA
Perlero Nuevo

|
Registrado: 06 Abr 2006
Mensajes: 9
|
|
| Buscar posiciones en cadena de ADN |
|
|
Hola a todos.
No sé si lo que quiero hacer se puede, porque le estoy dando muchas vueltas y no lo consigo. Os cuento: quiero trabajar con una secuencia de ADN, y me gustaría crear un programa que me pidiera las posiciones de principio y fin de una secuencia y me seleccionara todas las posiciones intermedias, para así poder meterlas en un archivo y así tener una maravillosa proteína separada del resto del ADN.
Hasta ahora lo que utilizo es una busqueda por patrones y me devuelve la posición en la que se encuentra esa base, pero no lo puedo hacer al contrario.
me gustaria vuestra ayuda.
| Código: |
open (ADN,"cadena.txt");
@adn = <ADN>;
print "Introduce el patron que quieras buscar en tu cadena: ";
$patron=<STDIN>;
chomp $patron;
print "\n\nEL PATRON $patron APARECE EN: \n\n";
for ($i=0;$i<scalar @adn; $i=$i+1){
if ($adn[$i]=~ /$patron/){
$antes= $-[0]+ ($i*60);
$despues = $+[0] + ($i*60);
print "LINEA $i : $antes -------- $despues\n";
}
}
print "\n\n";
close (ADN);
close (GEN);
exit; |
|
|
|
|

Sab Abr 15, 2006 2:08 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4084
Ubicación: Valladolid, España
|
|
|
|
|
No sé si lo he entendido bien.
Creo que lo que quieres es sacar una secuencia de caracteres entre una posición inicial y otra final, por cada línea de entrada.
Para eso, lo más sencillo es usar la función substr:
| Código: |
| substr($secuencia, $pos_inicial, $pos_final-$pos_inicial); |
|
|
Jue Abr 27, 2006 3:08 am
|
 |
preiddy
Perlero Nuevo

|
Registrado: 29 Mar 2006
Mensajes: 50
|
|
|
|
Jue Abr 27, 2006 11:31 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4084
Ubicación: Valladolid, España
|
|
|
|
|
| Código: |
use Bio::Seq;
my $seq = Bio::Seq->new(
-seq => 'ATGGGGGTGGTGGTACCCT',
-id => 'human_id',
-accession_number => 'AL000012',
);
my $proteina = $obj->subseq(7,13); |
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|