• Publicidad

Traducción de secuencia y su complementaria

Perl aplicado a la bioinformática

Traducción de secuencia y su complementaria

Notapor frido » 2013-04-19 21:24 @933

Hola, soy nuevo en esto del Perl y llevo días documentándome y buscando pero no consigo hacer un programa. Tengo que hacer un programa con Perl que me abra un fichero en formato FASTA, me traduzca una secuencia de proteína a DNA y después buscar la complementaria. También me tendría que buscar la ID de la secuencia.

Un ejemplo del archivo FASTA que tendría sería:
Sintáxis: (Fasta.txt) [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
>sp|P22607|FGFR3_HUMAN Fibroblast growth factor receptor 3 OS=Homo sapiens GN=FGFR3 PE=1 SV=1
MGAPACALALCVAVAIVAGASSESLGTEQRVVGRAAEVPGPEPGQQEQLVFGSGDAVELS
CPPPGGGPMGPTVWVKDGTGLVPSERVLVGPQRLQVLNASHEDSGAYSCRQRLTQRVLCH
FSVRVTDAPSSGDDEDGEDEAEDTGVDTGAPYWTRPERMDKKLLAVPAANTVRFRCPAAG
NPTPSISWLKNGREFRGEHRIGGIKLRHQQWSLVMESVVPSDRGNYTCVVENKFGSIRQT
YTLDVLERSPHRPILQAGLPANQTAVLGSDVEFHCKVYSDAQPHIQWLKHVEVNGSKVGP
DGTPYVTVLKTAGANTTDKELEVLSLHNVTFEDAGEYTCLAGNSIGFSHHSAWLVVLPAE
EELVEADEAGSVYAGILSYGVGFFLFILVVAAVTLCRLRSPPKKGLGSPTVHKISRFPLK
RQVSLESNASMSSNTPLVRIARLSSGEGPTLANVSELELPADPKWELSRARLTLGKPLGE
GCFGQVVMAEAIGIDKDRAAKPVTVAVKMLKDDATDKDLSDLVSEMEMMKMIGKHKNIIN
LLGACTQGGPLYVLVEYAAKGNLREFLRARRPPGLDYSFDTCKPPEEQLTFKDLVSCAYQ
VARGMEYLASQKCIHRDLAARNVLVTEDNVMKIADFGLARDVHNLDYYKKTTNGRLPVKW
MAPEALFDRVYTHQSDVWSFGVLLWEIFTLGGSPYPGIPVEELFKLLKEGHRMDKPANCT
HDLYMIMRECWHAAPSQRPTFKQLVEDLDRVLTVTSTDEYLDLSAPFEQYSPGGQDTPSS
SSSGDDSVFAHDLLPPAPPSSGGSRT
>sp|Q9I8X3|FGFR3_DANRE Fibroblast growth factor receptor 3 OS=Danio rerio GN=fgfr3 PE=2 SV=1
MVPLCLLLYLATLVFPPVYSAHLLSPEPTDWVSSEVEVFLEDYVAGVGDTVVLSCTPQDF
LLPIVWQKDGDAVSSSNRTRVGQKALRIINVSYEDSGVYSCRHAHKSMLLSNYTVKVIDS
LSSGDDEDYDEDEDEAGNGNAEAPYWTRSDRMEKKLLAVPAANTVKFRCPAAGNPTPSIH
WLKNGKEFKGEQRMGGIKLRHQQWSLVMESAVPSDRGNYTCVVQNKYGSIKHTYQLDVLE
RSPHRPILQAGLPANQTVVVGSDVEFHCKVYSDAQPHIQWLKHIEVNGSQYGPNGAPYVN
VLKTAGINTTDKELEILYLTNVSFEDAGQYTCLAGNSIGYNHHSAWLTVLPAVEMEREDD
YADILIYVTSCVLFILTMVIIILCRMWINTQKTLPAPPVQKLSKFPLKRQVSLESNSSMN
SNTPLVRIARLSSSDGPMLPNVSELELPSDPKWEFTRTKLTLGKPLGEGCFGQVVMAEAI
GIDKEKPNKPLTVAVKMLKDDGTDKDLSDLVSEMEMMKMIGKHKNIINLLGACTQDGPLY
VLVEYASKGNLREYLRARRPPGMDYSFDTCKIPNETLTFKDLVSCAYQVARGMEYLASKK
CIHRDPAARNVLVTEDNVMKIADFGLARDVHNIDYYKKTTNGRLPVKWMAPEALFDRVYT
HQSDVWSYGVLLWEIFTLGGSPYPGIPVEELFKLLKEGHRMDKPANCTHELYMIMRECWH
AVPSQRPTFRQLVEDHDRVLSMTSTDEYLDLSVPFEQYSPTCPDSNSTCSSGDDSVFAHD
PLPEEPCLPKHHHSNGVIRT
>sp|Q91287|FGFR3_PLEWA Fibroblast growth factor receptor 3 OS=Pleurodeles waltl GN=FGFR3 PE=2 SV=1
MLVWLCGLCLVTLAGGRSAARLPLTEGRPTADFLPGDASLVEELLFGTGDTIELSCTTPG
SSVSVVWFKDGISVDPPTWSHTGQKLLKIINVSYDDSGVYSCKARQSSEVLRNVTVRVTD
SPSSGDDEDDDEESESANAPKFTRPEWMEKKLLAVPAANTVRFRCPAAGKPTPSITWLKN
GKEFKGEHRIGGIKLRHQQWSLVMESVVPSDRGNYTCVVANKYGTIRETYTLDVLERTPH
RPILQAGFRSNKTVVVGSDVEFHCKVYSDAQPHIQWLKHVEVNGSKFGPDGNPYVTVLKT
AGVNTSDKELEIQFLRNVTFEDAGEYTCLAGNSIGYSHHSAWLTVLPPAEPVPDVDTSVS
ILAAAGCVAVVILVVIIIFTYKMKMPSKKTMNTATVHKVSKFPLKRQVSLESNSSMNSNT
PLVRITRLSSSDGPMLANVSELELPADPKWELSRSRLTLGKPLGEGCFGQVVMADAVGIE
KDKPNKATSVAVKMLKDDATDKDLSDLVSEMEMMKMIGKHKNIINLLGACTQDGPLYVLV
EYASKGNLREYLRARRPPGMDYSFDTCKLPEEQLTFKDLVSCAYQVARGMEYLASQKCIH
RDLAARNVLVTDDNVMKIADFGLARDVHNIDYYKKTTNGRLPVKWMAPEALFDRVYTHQS
DVWSFGVLLWEIFTLGGSPYPGIPVEELFKLLKEGHRMDKPANCTHELYMIMRECWHAVP
SQRPTFKQLVEDLDRVLTVTSTDEYLDLSVPFEQYSPACPDSHSSCSSGDDSVFAHDLPE
EPCLPKHQQYNGVIRT
>sp|O42127|FGFR3_XENLA Fibroblast growth factor receptor 3 OS=Xenopus laevis GN=fgfr3 PE=2 SV=1
MVSVNGVPAARLPVTLPGEDRASRKAPDYLMVEQPPFDELMYTIGETIELSCAAEDASTT
TKWCKDGIGIVPNNRTSTRQGLLKIINVSSDDSGIYSCRLWHSTEILRNFTIRVTDLPSS
GDDEDDDDDDDDETEDREPPRWTQPERMEKKLIAVPAANTIRFRCPAAGNPTPTIHWLKN
GKEFRGEHRIGGIKLRHQQWSLVMESVVPSDKGNYTCVVENKYGSIRQTYQLDVLERSSH
RPILQAGLPGNQTVVLGSDVEFHCKVYSDAQPHIQWLKHVEVNGSKYGPDGDPYVSVLQS
FINGTEVDSTLSLKNVTETNEGQYVCRANNFIGVAEASFWLHIYKPAPAEPVEKALTTSS
SSITVLIVVTSTIVFILLVIIVITHLMKVPSKKSMTAPPVHKVSKFPLKRQQVSLESNSS
MNSNTPLVRITHLSSSDGTMLANVSELGLPLDPKWELLRSRLTLGKPLGEGCFGQVVMAE
AIGIDKERPNKPATVAVKMLKDDATDKDLSDLVSEMEMMKMIGKHKNIINLLGACTQDGP
LYVLVEYASKGSLREYLKARRPPGMDYSFDACKIPAEQLTFKDLVSCAYQVARGMEYLAS
QKCIHRDLAARNVLVTDDNVMKIADFGLARDIHNIDYYKKTTNGRLPVKWMAPEALFDRI
YTHHSDVWSYGVLLWEIFTLGGSPYPGIPVEELFKLLKEGHRMDKPANCTHELYMIMREC
WHAVPSQRPAFKQLVEDLDRVLTVTSTNEYLDLSVAFEQYSPPSQDSHSTCSSGDDSVFA
HDILPDEPCLPKHQQHNGAIPT
>sp|Q61851|FGFR3_MOUSE Fibroblast growth factor receptor 3 OS=Mus musculus GN=Fgfr3 PE=1 SV=1
MVVPACVLVFCVAVVAGATSEPPGPEQRVVRRAAEVPGPEPSQQEQVAFGSGDTVELSCH
PPGGAPTGPTVWAKDGTGLVASHRILVGPQRLQVLNASHEDAGVYSCQHRLTRRVLCHFS
VRVTDAPSSGDDEDGEDVAEDTGAPYWTRPERMDKKLLAVPAANTVRFRCPAAGNPTPSI
SWLKNGKEFRGEHRIGGIKLRHQQWSLVMESVVPSDRGNYTCVVENKFGSIRQTYTLDVL
ERSPHRPILQAGLPANQTAILGSDVEFHCKVYSDAQPHIQWLKHVEVNGSKVGPDGTPYV
TVLKTAGANTTDKELEVLSLHNVTFEDAGEYTCLAGNSIGFSHHSAWLVVLPAEEELMET
DEAGSVYAGVLSYGVVFFLFILVVAAVILCRLRSPPKKGLGSPTVHKVSRFPLKRQVSLE
SNSSMNSNTPLVRIARLSSGEGPVLANVSELELPADPKWELSRTRLTLGKPLGEGCFGQV
VMAEAIGIDKDRTAKPVTVAVKMLKDDATDKDLSDLVSEMEMMKMIGKHKNIINLLGACT
QGGPLYVLVEYAAKGNLREFLRARRPPGMDYSFDACRLPEEQLTCKDLVSCAYQVARGME
YLASQKCIHRDLAARNVLVTEDNVMKIADFGLARDVHNLDYYKKTTNGRLPVKWMAPEAL
FDRVYTHQSDVWSFGVLLWEIFTPGGPSPYPGIPVEELFKLLKEGHRMDKPASCTHDLYM
IMRECWHAVPSQRPTFKQLVEDLDRILTVTSTDEYLDLSVPFEQYSPGGQDTPSSSSSGD
DSVFTHDLLPPGPPSNGGPRT
>sp|P18460|FGFR3_CHICK Fibroblast growth factor receptor 3 OS=Gallus gallus GN=FGFR3 PE=2 SV=1
MRAAWGSVWCLCLAAAVGALPAARRRGAERSGGQAAEYLRSETAFLEELVFGSGDTIELS
CNTQSSSVSVFWFKDGIGIAPSNRTHIGQKLLKIINVSYDDSGLYSCKPRHSNEVLGNFT
VRVTDSPSSGDDEDDDDESEDTGVPFWTRPDKMEKKLLAVPAANTVRFRCPAGGNPTPTI
YWLKNGKEFKGEHRIGGIKLRHQQWSLVMESVVPSDRGNYTCVVENKYGNIRHTYQLDVL
ERSPHRPILQAGLPANQTVVVGSNVEFHCKVYSDAQPHIQWLKHVEVNGSKYGPDGTPYV
TVLKTAGVNTTDKELEILYLRNVTFEDAGEYTCLAGNSIGFSHHSAWLTVLPAEELMEMD
DSGSVYAGILSYGTGLVLFILVLVIVIICRMKMPNKKAMNTTTVQKVSKFPLKRQQVSLE
SNSSMNSNTPLVRITRLSSSDGPMLANVSELELPPDPKWELARSRLTLGKPLGEGCFGQV
VMAEAIGIDKDKPNKAITVAVKMLKDDATDKDLSDLVSEMEMMKMIGKHKNIINLLGACT
QDGPLYVLVEYASKGNLREYLRARRPPGMDYSFDTCKLPEEQLTFKDLVSCAYQVARGME
YLASQKCIHRDLAARNVLVTEDNVMKIADFGLARDVHNIDYYKKTTNGRLPVKWMAPEAL
FDRVYTHQSDVWSFGVLLWEIFTLGGSPYPGIPVEELFKLLKEGHRMDKPANCTHDLYMI
MRECWHAVPSQRPTFKQLVEDLDRVLTMTSTDEYLDLSVPFEQYSPAGQDTHSTCSSGDD
SVFAHDLLPDEPCLPKHVPCNGVIRT
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

De momento lo que he hecho es borrar los 4 primeros caracteres (>sp|) pero no sé cómo hacerlo para borrar lo siguiente... del símbolo '|' a un número, en este caso el 1, pero podría ser otro número (>sp|P22607|FGFR3_HUMAN Fibroblast growth factor receptor 3 OS=Homo sapiens GN=FGFR3 PE=1 SV=1).

Una vez hecho esto tendría que poner la palabra "ID" delante de cada código de la proteína... Ej.: ID: P22607

Sé que para pasar a DNA y hacer la complementaria tendría que hacer algo así:

$_=~ s/I/auu/g;
$_=~ s/a/t/g;


También me piden que para cada aminoácido haga un porcentaje; me explico: si por ejemplo el aminoácido I se puede traducir a auu, aau y aaa tendría que salirme al azar de por ejemplo una probabilidad de que salgan auu, 10 %; aau, 40 %; y aaa, 50 %.

Espero haberme explicado y con solo alguna ayuda ya intentaré hacerlo yo.
Gracias.
frido
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2013-04-16 15:55 @705

Publicidad

Re: Traducción de secuencia y su complementaria

Notapor explorer » 2013-04-20 12:10 @549

Bienvenido a los foros de Perl en Español, frido.

Por favor, revisa este foro de Bioinformática, porque seguro que encuentras muchos ejemplos que pueden ayudarte a resolver el problema.


Una forma de extraer el ID puede ser pensando que la línea entera se divide en campos separados por el carácter '|'. Entonces, puedes extraer el segundo campo, así:

@campos = split(/\|/, $linea);
$id = $campos[1];


siendo $linea, la línea de cabecera de registro FASTA.

Para la salida de una determinada traducción, según un porcentaje de probabilidad... se puede hacer de varias maneras. Una de ellas sería: sacar un número al azar con la función rand(). Y luego, para el caso de la 'I', por ejemplo,
  • si el número extraído es menor de 0.10, entonces elegimos auu, y terminamos
  • si el número extraído es menor de 0.50 (la suma de 10% y 40%), entonces elegimos aau, y terminamos
  • para todos los demás casos, elegimos aaa
Se podría hacer así (una de muchas maneras)
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use v5.14;
  3.  
  4. my @porcentajes = ( 0.1,   0.4,   0.5 );
  5. my @secuencias  = ('auu', 'aau', 'aaa' );
  6.  
  7. my $aleatorio = rand;                                   # un valor igual y mayor que 0 y menor que 1
  8.  
  9. my $limite = 0;
  10. my $adn    = $secuencias[0];                            # Valores por defecto
  11.  
  12. for my $i (0 .. $#porcentajes) {                        # recorremos todos los porcentajes
  13.  
  14.     $limite += $porcentajes[$i];
  15.  
  16.     if ($aleatorio <= $limite) {                        # encontrado rango
  17.         $adn = $secuencias[$i];                         # seleccionamos la secuencia elegida
  18.         last;                                           # terminamos el bucle
  19.     }
  20. }
  21.  
  22. say "$aleatorio => $adn";
  23.  
  24. __END__
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Hay un módulo de Perl que hace justamente eso: List::Util::WeightedChoice
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use v5.14;
  3. use List::Util::WeightedChoice qw( choose_weighted );
  4.  
  5. my @porcentajes = ( 10,    40,    50 );
  6. my @secuencias  = ('auu', 'aau', 'aaa' );
  7.  
  8. say choose_weighted(\@secuencias, \@porcentajes);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Ahora solo queda ajustar estos códigos a una solución general, para traducir toda la secuencia. Sería algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use v5.14;
  3. use List::Util::WeightedChoice qw( choose_weighted );
  4.  
  5. my $seq = 'MILIM';                             # secuencia a probar
  6.  
  7. my %seq_to_amino = (
  8.     I   => {
  9.             secuencias => [ qw( auu aau aaa ) ],
  10.             pesos      => [ qw( 10  40  50  ) ],
  11.         },
  12.     M   => {
  13.             secuencias => [ qw( aug ) ],
  14.             pesos      => [ qw( 100 ) ],
  15.     },
  16.     L   => {
  17.             secuencias => [ qw( cuu cuc cua ) ],
  18.             pesos      => [ qw( 33  33  34  ) ],
  19.     }
  20. );
  21.  
  22. my $secuencia_final;
  23.  
  24. for (my $i = 0; $i < length $seq; $i++) {
  25.  
  26.     my $letra = substr $seq, $i, 1;     # extraemos una letra de la secuencia a traducir
  27.  
  28.     $secuencia_final                              # vamos a agregando a la $secuencia_final
  29.         .= choose_weighted(                       # la elección aleatoria
  30.              $seq_to_amino{$letra}{secuencias},   # basada en unas secuencias
  31.              $seq_to_amino{$letra}{pesos}         # y pesos correspondientes, según la $letra leída
  32.            );
  33. }
  34.  
  35. say $secuencia_final;
  36. __END__
  37. augaaacuaaauaug
  38. augaaacuuaauaug
  39. augaaacucaaaaug
  40. augaaacuaaauaug
  41. augauucuaaauaug
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
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: Traducción de secuencia y su complementaria

Notapor frido » 2013-04-20 15:17 @678

Hola, primero de todo: gracias por la información y por el tiempo. La verdad es que llevo días ojeando la página web buscando información para hacer el programa pero no encuentro lo que busco.

Me quedo bloqueado al inicio del programa: yo he hecho algo así:
use strict;
use warnings;
my $n=1;
my $linea;
my @campos;
my $id;
open (FHANDLE, "Fasta.txt") or die ("missatge d'error!");


@campos = split(/\|/, $linea);
$id = $campos[1];

print $id;


close (FHANDLE);

para que me dé la ID, pero me dice que: Use of uninitialized value $linea in split at explorer.pl line 10.
Use of uninitialized value $id in print at explorer.pl line 13.


También me gustaría saber cómo puedo poner la palabra "ID" seguida del valor (ej: P22607)-->ID: P22607.

Gracias.
frido
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2013-04-16 15:55 @705

Re: Traducción de secuencia y su complementaria

Notapor explorer » 2013-04-20 16:18 @721

Se te ha olvidado poner el while() donde lees el archivo línea a línea. Y el if() donde identificas que estás leyendo una cabecera de secuencia.

En casi todos los hilos de este subforo de Bioinformática, donde se habla de FASTA, aparece un ejemplo de lectura del archivo. Por ejemplo:
(Editado: Explicación de la expresión regular y ejemplo más claro, aquí)

En cuanto a cómo unir 'ID' con el resto, puedes usar el operador concatenación: '.'
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: Traducción de secuencia y su complementaria

Notapor frido » 2013-04-20 16:59 @749

Vale, ya tengo las ID... lo he hecho así...

use strict;
use warnings;
my $n = 1;
my $linea;
my @campos;
my $id;
open( FHANDLE, "Fasta.txt" ) or die("missatge d'error!");
while ( $linea = <FHANDLE> ) {

if ( $linea =~ /^>/ ) {

@campos = split( /\|/, $linea );
$id = $campos[1];

print "ID=$id\n";
}
}
close(FHANDLE);
frido
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2013-04-16 15:55 @705

Re: Traducción de secuencia y su complementaria

Notapor frido » 2013-04-20 20:04 @877

Ahora me sale otro problema, he hecho lo del cambio de secuencia proteica a secuencia de dna tal como me has explicado, pero no funciona:

use strict;
my $n=1;
my $seq;
my $secuencia_final;
my %seq_to_amino;
open (FHANDLE, "Fasta.txt") or die ("missatge d'error!");
while ($seq=<FHANDLE>)
{

my %seq_to_amino = (
F => {
secuencias => [ qw (TTT TTC ) ],
pesos => [ qw ( 10 90 ) ],
}
L => {
secuencias => [ qw (TTA TTG CTT CTC CTA CTG ) ],
pesos => [ qw ( 10 20 5 5 30 30 ) ],
}
I => {
secuencias => [ qw (ATT ATC ATA ) ],
pesos => [ qw ( 10 40 50 ) ],
}
M => {
secuencias => [ qw (ATG ) ],
pesos => [ qw (100 ) ],
}
V => {
secuencias => [ qw (GTT GTC GTA GTG ) ],
pesos => [ qw ( 10 40 30 20 ) ],
}
S => {
secuencias => [ qw (TCT TCC TCA TCG ) ],
pesos => [ qw ( 10 15 25 50 ) ],
}
P => {
secuencias => [ qw (CCT CCC CCA CCG ) ],
pesos => [ qw ( 10 10 50 30) ],
}
T => {
secuencias => [ qw (ACT ACC ACA ACG ) ],
pesos => [ qw ( 20 20 30 30) ],
}
A => {
secuencias => [ qw (GCT GCC GCA GCG ) ],
pesos => [ qw ( 2 8 10 80 ) ],
}
Y => {
secuencias => [ qw (TAT TAC ) ],
pesos => [ qw ( 25 75 ) ],
}
H => {
secuencias => [ qw (CAT CAC ) ],
pesos => [ qw ( 45 55 ) ],
}
Q => {
secuencias => [ qw (CAA CAG ) ],
pesos => [ qw ( 85 15 ) ],
}
N => {
secuencias => [ qw (AAT AAC ) ],
pesos => [ qw ( 35 65 ) ],
}
K => {
secuencias => [ qw (AAA AAG ) ],
pesos => [ qw ( 10 90 ) ],
}
D => {
secuencias => [ qw (GAT GAC ) ],
pesos => [ qw ( 68 32 ) ],
}

E => {
secuencias => [ qw (GAA GAG ) ],
pesos => [ qw ( 10 90 ) ],
}
C => {
secuencias => [ qw (TGT TGC ) ],
pesos => [ qw ( 15 85 ) ],
}
W => {
secuencias => [ qw (TGG ) ],
pesos => [ qw (100 ) ],
}
R => {
secuencias => [ qw (CGT CGC CGA CGG AGA AGG ) ],
pesos => [ qw ( 10 15 25 5 5 40 ) ],
}
S => {
secuencias => [ qw (AGT AGC ) ],
pesos => [ qw ( 48 52 ) ],
}
G => {
secuencias => [ qw (GGT GGC GGA GGG ) ],
pesos => [ qw ( 10 20 30 40 ) ],
}

);
}
my $secuencia_final;
for (my $i = 0; $i < length $seq; $i++)
{
my $letra = substr $seq, $i, 1;
$secuencia_final
.= choose_weighted ($seq_to_amino{$letra}{secuencias}, $seq_to_amino{$letra}{pesos});
}
say $secuencia_final;
close (FHANDLE);
frido
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2013-04-16 15:55 @705

Re: Traducción de secuencia y su complementaria

Notapor explorer » 2013-04-20 20:12 @883

Si lo ejecutas te dirá que no sabe lo que es choose_weighted(). Eso es porque no has puesto la línea

use List::Util::WeightedChoice qw( choose_weighted );

(antes debes instalarlo, claro).

Debes también quitarle a $seq el carácter o caracteres de fin de línea. Eso se hace con chomp().

Una cosa más: es mejor que definas %seq_to_amino fuera del bucle while(). Ponlo al principio del programa, después de los 'uses', justo donde ahora lo estás declarando.

Y te recomiendo que le pongas marcas Perl al código que publicas, para que aparezca más claro. Fíjate que encima de la caja de edición hay una serie de botones. En la segunda fila, primer botón de la izquierda, pone Perl.
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: Traducción de secuencia y su complementaria

Notapor frido » 2013-04-20 22:56 @997

Hola de nuevo... Tengo problemas al instalar el módulo List::Util::WeightedChoice (ya me lo he descargado y he leído el Readme, pero nada).

He puesto esta comando pero tampoco funciona: use lib '/home/turko/List-Util-WeightedChoice-0.06';
¿Dónde me equivoco?
Gracias.
frido
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2013-04-16 15:55 @705

Re: Traducción de secuencia y su complementaria

Notapor explorer » 2013-04-21 05:31 @271

Aquí hay una guía para saber si está bien instalado un módulo.

¿En qué sistema operativo estás?
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: Traducción de secuencia y su complementaria

Notapor frido » 2013-04-21 09:43 @447

En Ubuntu. Exactamente el archivo que carga ¿qué nombre tiene?

He puesto: use lib '/home/turko/Weighted';

porque la carpeta que contiene el programa se llama Weighted, pero me dice:

Can't locate List/Util/WeightedChoice.pm in @INC (@INC contains: /home/turko/Weighted /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at proteinadna.pl line 4.
BEGIN failed--compilation aborted at proteinadna.pl line 4.


Lo he probado todo y no funciona.
Última edición por frido el 2013-04-21 10:44 @488, editado 3 veces en total
frido
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2013-04-16 15:55 @705

Siguiente

Volver a Bioinformática

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado