Concatene Sequências sob um Título

1

Eu tenho um arquivo como o File1. Com um título por exemplo "> Contig1" e quero concatenar todas as seqüências sob o respectivo cabeçalho.

Arquivo1:

>Contig1
ACCCCATACATCCAAA
NNNNNNNNNNCATACA
AAAAAAAACTANNNNN
ACATACAAAAA
>Contig12
CCCCACAATTTTTAAA
GGGGGNNNNNCATACA
AGGAATTAACTANNAC
GGATATA

Resultado esperado:

>Contig1
ACCCCATACATCCAAANNNNNNNNNNCATACAAAAAAAAACTANNNNNACATACAAAAA
>Contig12
CCCCACAATTTTTAAAGGGGGNNNNNCATACAAGGAATTAACTANNACGGATATA

Você pode me ajudar com isso? Felicidades!

    
por Srilakshmi 26.08.2014 / 12:36

3 respostas

2
 perl -pe 'chomp unless /^>/; print "\n" if /^>/ and $. > 1' < File1

Você pode precisar adicionar a nova linha final.

    
por 26.08.2014 / 12:45
4

Outro awk:

awk '{$1=RS $1 ORS}NR>1' FS='\n' RS=\> OFS= file
    
por 26.08.2014 / 13:20
1

Uma solução awk :

awk '/^>/{if(FNR>1)printf "\n";print;next};{printf "%s", $0}' file

Uma solução perl , como @ resposta da choroba , mas lidando com a nova linha final:

perl -pe 'chomp unless /^>/ or eof;print "\n" if /^>/ and $. > 1' file
    
por 26.08.2014 / 12:54

Tags