• Publicidad

Programa para cortar y pegar secuencias

Perl aplicado a la bioinformática

Programa para cortar y pegar secuencias

Notapor perl biología » 2015-06-03 10:04 @461

Buenas tardes, necesito hacer un programa de Perl en el que me pida unos archivos que contienen una secuencia, las corte, las pegue, las guarde en una variable y la imprima por pantalla.

¿Alguien sería tan amable de ayudarme?

Gracias.
Un saludo.
perl biología
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2015-06-03 09:53 @453

Publicidad

Re: Programa para cortar y pegar secuencias

Notapor explorer » 2015-06-03 10:13 @467

Bienvenida a los foros de Perl en Español, perl biología.

La tarea parece muy sencilla. Pero no nos dices en qué formato están esos archivos.

¿Puedes poner un ejemplo?

Si tienes hecho parte del código, sería interesante que lo publicaras para ver dónde te atascas.

Saludos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Programa para cortar y pegar secuencias

Notapor perl biología » 2015-06-03 10:16 @469

Es en formato FASTA. Al no saber introducir el documento no puedo empezar mi programa.

Soy novata en el programa y tengo dificultad para empezar.
perl biología
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2015-06-03 09:53 @453

Re: Programa para cortar y pegar secuencias

Notapor explorer » 2015-06-03 10:22 @473

Por este hilo (Bioinformática) hay muchos ejemplos de lectura de archivos en formato FASTA.

Por ejemplo: Cómo realizar un intérprete de un FASTA

Míralos, a ver si alguno de los códigos que hay por ahí te sirven.

¿No tienes hecho nada del programa?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Programa para cortar y pegar secuencias

Notapor perl biología » 2015-06-03 10:58 @499

Esto me debería cortar la secuencia supuestamente, ¿cómo puedo concatenarlas en un fichero e imprimirlas por pantalla?

#!/usr/bin/perl

use stricts

# Programa para hacer un plásmido

print "En primer lugar, introduzca la zona vir\n";


print "Dime nombre del archivo que contiene la zona vir\n";


my $fichero = <STDIN>;


open my $fichero;
my @fasta = <$fichero>;


close $fichero;


my $secuencia;

foreach (@fasta)

{

next if /^\s*$/;

next if /^\s*#/;

next if /^>\;

$secuencia = $_;


}


$secuencia =~ s/\s//g;

print "Ahora, introduzca la zona el gen\n";


print "Dime nombre del archivo que contiene el gen\n";


my $fichero2 = <STDIN>;


open my $fichero2;

my @fasta2 = <$fichero2>;


close $fichero2;

my $secuencia2;



foreach (@fasta2)
{


next if /^\s*$/;


next if /^\s*#/;


next if /^>\;


$secuencia2 = $_;


}


$secuencia2 =~ s/\s//g;
perl biología
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2015-06-03 09:53 @453

Plásmido

Notapor perl biología » 2015-06-03 13:47 @616

Buenas tardes, tengo una duda que no me permite avanzar.

Quiero abrir varias secuencias FASTA y que me salgan de forma concatenadas (secuencia tras secuencia) para formar un plásmido.

Por favor, espero respuesta.
Gracias de antemano.
perl biología
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2015-06-03 09:53 @453

Re: Programa para cortar y pegar secuencias

Notapor explorer » 2015-06-03 14:52 @661

El programa anterior está completamente a medias.

Por lo que leo, solo te pide el nombre de un archivo, lee todas las líneas, y luego las recorre y se queda con la última línea que no sea un espacio en blanco, ni un comentario ni una cabecera FASTA. Y lo guarda en $secuencia.

Luego le quita los espacios en blanco.

Luego pide el nombre del archivo que contiene el gen (?) y hace lo mismo que con el primer archivo.

Luego le quita los espacios en blanco. Y nada más.

¿Hasta ahora el programa hace lo que quieres?

Para sacar una salida concatenada, te vale con hacer sucesivos print de lo que quieres sacar (a pantalla o disco).

Si son varios los archivos, lo mejor es guardando las secuencias en un array, y luego, en la salida, te vale con hacer un join(), o hacer un for por ese array, haciendo un print por cada secuencia. Y así sale todo junto.

O incluso más sencillo: sacar la secuencia inmediatamente a medida de que el usuario te va dando los archivos.

¿Puedes publicar un ejemplo de las entradas y de la salida deseada?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Programa para cortar y pegar secuencias

Notapor perl biología » 2015-06-04 05:21 @264

Muchas gracias, explorer. Voy a probarlo bien con las secuencias FASTA, ya que ahí no señalo esas secuencias.

A ver qué tal me va ahora.
perl biología
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2015-06-03 09:53 @453


Volver a Bioinformática

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados