Criando um arquivo fasta a partir de 2 arquivos diferentes

1

Eu tenho 2 arquivos file1.seq e file2.seq .

Eles se parecem com estes:

file1.seq
ACGGTGTGATG

file2.seq
CGTGATGATGT

Eu quero fazer um arquivo fasta que seria como:

>file1.seq
ACGGTGTGATG
>file2.seq
CGTGATGATGT

Como posso fazer isso?

    
por user3138373 10.11.2015 / 00:29

1 resposta

1

Com um loop for simples:

for f in file*.seq; do printf ">%s\n" "$f"; cat -- "$f"; done >newfile
  • O loop for é executado em todos os arquivos no diretório correspondente a file*.seq .
  • printf ptints o nome do arquivo.
  • e cat imprimem o conteúdo desse arquivo.
  • >newfile redirecty everthing para o novo arquivo chamado newfile .

Ou com awk :

awk 'FNR==1{print ">"FILENAME}1' file*.seq
  • FNR==1 é o número atual do registro no arquivo
    • print ">"FILENAME imprime o nome do arquivo com um >
  • 1 em todos os outros casos imprima a linha.
por 10.11.2015 / 08:03