[Rio-pm] [DÚVIDA]Hash: varias key pra um mesmo value

Renato Santos renato.cron em gmail.com
Quarta Abril 13 04:01:40 PDT 2016


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.cron em 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 <creaktive em 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_1000 em 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 em pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>
>>
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em 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>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20160413/c37890b9/attachment-0001.html>


Mais detalhes sobre a lista de discussão Rio-pm