[Rio-pm] find and replace

André Torres andretorresrj em gmail.com
Segunda Fevereiro 27 07:42:48 PST 2012


pessoal,

obrigado pela ajuda. consegui fazer um script pra remover tudo que tinha
depois do ID de cada sequencia que eu tinha de uma vez só.
o find and replace fica pra quando eu tiver no nivel de vcs, se é que eu
vou chegar um dia em algum nivel. XD

while (<>) {
  if (/^(>\S+)/) {
    print "$1\n";
  } else {
    print;
  }
}
exit;

ex:
input:
>TC004444 putative_protein ...

output:
>TC004444

abraços.

Em 25 de fevereiro de 2012 23:43, André Torres
<andretorresrj em gmail.com>escreveu:

> acho que a ideia da hash vai ajudar.
>
> aureliano, o padrao de substituição é mais ou menos esse ai.
>
> eu tenho mais de mil sequencias FASTA com nomes de varias bases de dados
> diferentes. eu ja tenho uma lista com os nomes originais e com o nome novo
> padronizado, eu queria fazer a substituição trocando o nome antigo pelo
> novo padronizado.
> como o primeiro arquivo é uma lista, eu acho que teria que armazenar
> dentro de um array, agora o que eu nao consigo fazer é ele encontrar o nome
> antigo e trocar exatamente pelo novo no arquivo multisequencia.
>
> vou tentar mexer no codigo.
> brigado pela ajuda galera.
>
>
>
> Em 25 de fevereiro de 2012 22:39, breno <breno em rio.pm.org> escreveu:
>
> On Sat, Feb 25, 2012 at 8:40 PM, André Torres <andretorresrj em gmail.com>
>> wrote:
>> > pessoal, queria pedir uma ajuda de vcs.
>> >
>> > eu to tentando fazer um script pra modificar um txt em larga escala
>> usando
>> > uma lista de substituição.
>> > vou trabalhar com os seguintes arquivos.
>> >
>> > primeiro: arquivo que vai ser modificado
>> >>sequencia1
>> > acagacagatttagatt
>> >>sequencia2
>> > acgggtagtagtaccgagatgagatggggat
>> > ...
>> >
>> > segundo: lista de substituição
>> > sequencia1    gene1
>> > sequencia2    gene2
>> > ...
>> >
>> > eu queria saber se existe uma maneira de guardar a informação da
>> linha[1] e
>> > da linha[2] por exemplo possam fazer parte  s/$linha[1]/$linha[2]/g em
>> > cadeia ate terminar a lista.
>> >
>>
>> Uma sugestão:
>>
>> leia a lista de substituição pra dentro de um hash na forma:
>>
>> %substituicao = (
>>   sequencia1 => 'gene1',
>>   sequencia2 => 'gene2',
>>   ...
>> );
>>
>> depois, ao ler o arquivo a ser modificado linha-a-linha, sempre que a
>> linha casar com uma chave do seu hash (e.g. if ( exists
>> $substituicao{$linha} )) vc lê a linha seguinte e substitui o que vc
>> quiser pelo conteúdo de $substituicao{$linha}.
>>
>> []s
>>
>> -b
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> André Torres
>
> "Quando o homem aprender a respeitar até o menor ser da criação, seja
> animal ou vegetal, ninguém precisará ensiná-lo a amar seu semelhante."
> (Albert Schweitzer - Nobel da Paz de 1952)
>



-- 
André Torres

"Quando o homem aprender a respeitar até o menor ser da criação, seja
animal ou vegetal, ninguém precisará ensiná-lo a amar seu semelhante."
(Albert Schweitzer - Nobel da Paz de 1952)
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120227/adc505c2/attachment.html>


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