Also, https://metacpan.org/pod/Bio::Regexp
Será que isso não te ajuda? pS: se você não esta rodando isso na cloud, YOU SHOULD! Contratar uma maquina com 200+ GB de ram e rodar por 20min (se vc conseguir resolver neste tempo) e desligar \o Nao consigo encontrar o artigo, mas tinha um cara falando sobre isso (a unica diferença é que a empresa rodou em mais de 1 nó) 2016-04-13 7:57 GMT-03:00 Renato Santos <renato.c...@gmail.com>: > Embora não acho que isso ajude no quesito velocidade, there's a module for > that! > > https://metacpan.org/pod/Tie::RegexpHash > > 2016-04-13 5:30 GMT-03:00 Stanislaw Pusep <creakt...@gmail.com>: > >> Aureliano, o Perl não é suficientemente inteligente para interpretar >> expressão regular como chave do hash :) >> Pelo que entendi, vc quer algo assim: >> >> my %codon = ( >> (map { "CG".$_ => "A" } qw(A C T G)), >> (map { "TT".$_ => "F" } qw(C T)), >> (map { "TT".$_ => "L" } qw(A G)), >> (map { "CU".$_ => "L" } qw(A C T G)), >> ); >> >> 2016-04-13 2:24 GMT+02:00 Aureliano Guedes <guedes_1...@hotmail.com>: >> >>> Ola monges, >>> >>> Eu tenho uma dúvida, caso possam me ajudar. >>> Eu tenho varias códigos que acessam o mesmo valor (no caso que uso são >>> vários códons que traduzem o mesmo aminoácido). >>> >>> Exemplo: >>> Aminoacido -> Códons >>> >>> Sendo os aminoácidos representados por 20 letras diferentes mais o X >>> (stop códon). >>> E os codons, combinações de 3 nucleotídeos, sendo um total de 4 >>> nucleotídeos (A, T, C e G), logo temos 64 combinações de 3 nucleotídeos >>> (64 codons possíveis). >>> Por isso um mesmo aminoácido pode ser codificado por mais de um códon. >>> No caso do aminoácido Alanina (Ala || A) é códificado pelos códons GCA, >>> GCC, GCT ou GCU. Observe que os dois primeiros nucleotídeos são C e G, >>> respectivamente, e o terceiro pode ser ocupado por qualquer um dos 4 >>> nucleotídeo possíveis. >>> Dessa forma: >>> >>> - A -> CGA ou CGC ou CGT ou CGG >>> >>> Outros: >>> >>> - F -> TTC || TTT >>> - L -> TTA || TTG || CTA || CTG || CTC || CTT >>> >>> >>> Bom, meu objetivo é simplesmente criar um hash, como esse: >>> >>> - my %aa = ( "UUU" => "F", "UUC" => "F", "UUA" => "L", "UUG" => "L", >>> "UCU" => "S", "UCC" => "S", "UCA" => "S", "UCG" => "S", "UAU" => "Y", >>> "UAC" => "Y", "UAA" => "X", "UAG" => "X", "UGU" => "C", "UGC" => >>> "C", "UGA" => "X", "UGG" => "W", "CUU" => "L", "CUC" => "L", "CUA" >>> => "L", "CUG" => "L", "CCU" => "P", "CCC" => "P", "CCA" => "P", "CCG" >>> => "P", "CAU" => "H", "CAC" => "H", "CAA" => "Q", "CAG" => "Q", >>> "CGU" => "R", "CGC" => "R", "CGA" => "R", "CGG" => "R", "AUU" => >>> "I", "AUC" => "I", "AUA" => "I", "AUG" => "M", "ACU" => "T", "ACC" >>> => "T", "ACA" => "T", "ACG" => "T", "AAU" => "N", "AAC" => "N", "AAA" >>> => "K", "AAG" => "K", "AGU" => "S", "AGC" => "S", "AGA" => "R", "AGG" >>> => "R", "GUU" => "V", "GUC" => "V", "GUA" => "V", "GUG" => "V", >>> "GCU" => "A", "GCC" => "A", "GCA" => "A", "GCG" => "A", "GAU" => >>> "D", "GAC" => "D", "GAA" => "E", "GAG" => "E", "GGU" => "G", "GGC" >>> => "G", "GGA" => "G", "GGG" => "G",); >>> >>> >>> Contudo pensei em tomar outra abordagem, informar pra chave quem ela >>> pode ser. Não sei se é possível, mas eu comecei tentando algo como: >>> >>> - my %codon = ( "CG"./[ACTG]/ => "A", "TT"./[CT]/ => "F", >>> ("TT"./[AG]/||"CU"./[ACTG]/) => "L",); >>> >>> Mas não funcionou. >>> >>> Pensei em pegar uma abordagem mais IUPAC, onde: >>> >>> - Y = C ou T >>> - R = A ou G >>> - N = A, C, G ou T >>> >>> *tem outros, mas por enquanto apenas estou vendo a possibilidade. >>> Então fiz: >>> >>> - my $Y = /[CT]/; >>> - my $R = /[AG]/; >>> - my $N = /[ACTG]/; >>> - >>> - my %codon = ( "CG".$N => "A", "TT".$Y => "F", ("TT".$R||"CU".$N) >>> => "L",); >>> >>> Mas não funcionou. >>> >>> >>> _______________________________________________ >>> Rio-pm mailing list >>> Rio-pm@pm.org >>> http://mail.pm.org/mailman/listinfo/rio-pm >>> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > > -- > YAGNI, > Renato CRON > http://www.renatocron.com/blog/ > @renato_cron <http://twitter.com/#!/renato_cron> > -- YAGNI, Renato CRON http://www.renatocron.com/blog/ @renato_cron <http://twitter.com/#!/renato_cron>
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm