Obrigado. Ajudou muito mesmo.
Vou salvar aqui pois depois posso precisar dessas dicas.
Enrique Pessoa <enrique.pes...@rrd.com> escreveu:
Aureliano,
Sobre, \w, \W, \s, \S, mais informações em
http://perldoc.perl.org/perlre.html#Regular-Expressions , item Character
Classes and other Special Escapes.
Para casar apenas com um A, C, U ou G você deveria usar /[ACUG]/. Para
casar com 3 dessas letras acrescente {3} para indicar 'três vezes', assim: /
[ACUG]{3}/
No caso da sequências de caracteres com as quais você está trabalhando (que
contém sempre apenas essas letras), todas as outras opções abaixo são
válidas, mas não necessariamente apropriadas.
/.{3}/ - três caracteres quaisquer
/\w{3}/ - três letras
/\D{3}/ - três não digitos
/\S{3}/ - três não espaço
/[^vV]{3}/ - três caracteres que não sejam a letra v
/[ACUG]{3}/i - três caracteres que sejam A, C, U ou G (podendo ser
minúsculas)
Quanto às formas de se obter partes de uma sequência de caracteres, eu só
tenho o hábito de usar split quando quero remover o delimitador.
my $lista_de_numeros = '12,23,34';
my $delimitador = ',';
my @numeros = split($delimitador, $lista_de_numeros);
Uma outra forma possível de fazer esse mesmo trabalho é:
my @codons;
# global continue pegando de um a três caracteres (para caso len($ma) mod 3
não dê zero)
while ($ma =~ /\G(.{1,3})/gc) {
push @codons, $1;
}
Abraços,
Enrique Pessôa
________________________________________________________________
*Enrique Pessôa | Technology Products Manager, Brazil | RR Donnelley |
Global Capital Markets*
+55 21 2103.0508 | enrique.pes...@rrd.com | +55 21 9.8127.0077
* <http://www.infoinvest.com.br/> | 15 anos de tecnologia para RI | Clique
para conferir
<https://www.youtube.com/watch?v=gkxxbshF4Ic&feature=youtu.be>*
Em 7 de novembro de 2014 12:51, Daniel Vinciguerra <
dan.vincigue...@gmail.com> escreveu:
> pode usar o split mesmo...
>
> my @array = split '(\w{3})', $rna;
>
>
> *Daniel Vinciguerra (@dvinciguerra)*
> Web solution architect, perl dev, vegetarian, geek and co-founder at
> *Bivee*
> bivee.com.br - github.com/Bivee
>
> 2014-11-07 12:03 GMT-02:00 Aureliano Guedes <guedes_1...@hotmail.com>:
>
> Funcionou, o fato é que ainda não aprendi bem regex então não conhecia o
>> \w. Mas compreendi completamente o código.
>> Obrigado.
>>
>> ------------------------------
>> Date: Fri, 7 Nov 2014 11:47:06 -0200
>> From: leprevos...@gmail.com
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] Dúvida com split
>>
>>
>> Oi Aureliano,
>>
>> tenta o seguinte:
>>
>> my @codons = $rna =~ m/\w{3}/g;
>>
>> abraços
>>
>>
>> On 07-11-2014 11:44, Aureliano Guedes wrote:
>>
>> Ola monges,
>>
>> Tenho uma dúvida simples.
>> Digamos que eu tenha uma string com uma sequencia de RNA:
>> $rna = 'AUGACGAAGCGUUGAUCC';
>> Só hipotético mesmo.
>>
>> Então quero agrupar de 3 em 3 letras (nucleotídeos) formando codons:
>> AUG ACG AAG CGU UGA UCC
>>
>> Para isso eu acho conveniente colocar em um array, e faço isso usando um
>> split
>> my @codons = split /condição/, $dna;
>>
>> O meu problema é na condição, não estou conseguindo uma condição para
>> agrupar de 3 em 3 letras já tentei:
>> /(A|C|U|G){3}/
>> /(A|C|U|G)(A|C|U|G)(A|C|U|G)/
>> /(d+){3}/
>> /d+\d+\d+\/
>> /d+{3}/
>> /d+d+d+/
>> Ate tentei mexer no split
>> my @codons = /(A|U|C|G)/, $rna, 3;
>>
>> Sei que a dúvida é besta, mas alguém de daria uma luz?
>> Obrigado.
>>
>>
>> _______________________________________________
>> Rio-pm mailing listRio-pm@pm.orghttp://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>> --
>> Felipe da Veiga Leprevost, PhD.www.leprevost.com.br
>> Laboratory for Proteomics and Protein Engineering.
>> Fiocruz, Brazil.
>>
>>
>> _______________________________________________ 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
>>
>
>
> _______________________________________________
> 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
_______________________________________________
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm