Ola Graciela
Siga este guia:
http://aurelio.net/sed/sed-HOWTO/sed-HOWTO-4.html
Vejamos
/>.*/{N;s/.*\n\(...\).*/\1/p} pode ser lido como
/>.*/{comando1;comando2;...;comandoN}
ou seja, na ocorrencia da expressão '>.*' execute os comandos
limitados por { e } - esta expressão significa o sinal de
Problema resolvido, muito obrigada a todos.
Douglas, o mestrado vai bem, já tou na reta final, mas quelquer dúvida é só
entrar em contato. Seu script extrai o que eu quero, mas tá em loop.
Acho que não expliquei com clareza o que eu quero, mas o Cistian e o Marcio
conseguiram entender, valeu! :)
Resolvendo em uma linha com sed:
$ sed -n '/>.*/{N;s/.*\n\(...\).*/\1/p}' dna.txt
gtg
atg
atg
atg
ou, se você quiser manter o identificador da sequência:
$ sed -n '/>.*/{N;s/\(.*\)\n\(...\).*/\1: \2/p}' dna.txt
>fig|674.13.peg.56: gtg
>fig|674.13.peg.57: atg
>fig|674.13.peg.58: atg
>fig|674.1
ois
> Olá Graciela, olá amigo Tiago,
> Tiago, acho que entendi de forma diferente o pedido da Graciela. Na tua
> resposta, vc pegou os 3 primeiros caracteres de todas as linhas. Acho que a
> Graciele queria os 3 caracteres somente das linhas iniciadas por >.
>
Eu entendi diferente dos dois :-).
Graciela, como vai o mestrado no LNCC?
Pretendo fazer o mesmo!
O bom é que já fica um contato... :D
Segue um script:
Início Script:-
#!/bin/bash
for linha in $(cat $1)
do
if [ $(echo $linha | grep '>') ]
then
valor=1
continue
fi
if [ $valor -eq 1 ]
then
echo $linh
Olá Graciela, olá amigo Tiago,
Tiago, acho que entendi de forma diferente o pedido da Graciela. Na tua
resposta, vc pegou os 3 primeiros caracteres de todas as linhas. Acho que a
Graciele queria os 3 caracteres somente das linhas iniciadas por >.
Graciela, veja se é isso que vc quer:
sed 's/\>\(..
desculpe mas não esta claro para mim o formato do arquivo
por acaso eh
>XXX
aagt...
>YYY
ggtaa..
ou vc pode ter mais de uma linha entre uma sequencia e outra?
eu começaria assim:
cut -c 1-3 arquivo
depois iria refinando :)
On Sun, Mar 14, 2010 at 9:07 AM, Graciela wrote:
>
>
> Trabalho com
Trabalho com bioinformática e queria tirar uma dúvida com vocês
Tou com essas sequências de DNA, cada '>' representa uma sequência
Quero verificar apenas as três primeira letras de cada sequência, por shel
script tem como?
>fig|674.13.peg.56
gtgacgttaggtgacaatgttgttgttgcctcgggagccgttgtgacaaagagt