Página 1 de 2

Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-19 21:24 @933
por frido
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.003 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.

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-20 12:10 @549
por explorer
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.003 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

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-20 15:17 @678
por frido
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.

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-20 16:18 @721
por explorer
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: '.'

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-20 16:59 @749
por frido
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);

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-20 20:04 @877
por frido
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);

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-20 20:12 @883
por explorer
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.

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-20 22:56 @997
por frido
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.

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-21 05:31 @271
por explorer
Aquí hay una guía para saber si está bien instalado un módulo.

¿En qué sistema operativo estás?

Re: Traducción de secuencia y su complementaria

NotaPublicado: 2013-04-21 09:43 @447
por frido
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.