-2

I have a file with 3 columns and 4426 row some thing like this

file1 :

DAEQUEG00000025 FP3SLUG00002140 FOMPING00001058 
DAEQUEG00001923 FP3SLUG00002391 FOMPING00000186 
DAEQUEG00000047 FP3SLUG00002116 FOMPING00001081 
DAEQUEG00000321 FP3SLUG00006281 FOMPING00000374

and I have same number of files and named in same way (DAEQUEG00000025.fa FP3SLUG00002140.fa FOMPING00001058.fa)

I would like to match the first line to a list of files and cat them into one file.

expected output(first line in one file)

>DAEQUEG00000025  
ATGTTGTTTAGATTGGCCCGGCGAGCTACAAGCCCGCTCACCCGCTCGATGGCGACGCAT
GCGCGAGGACTCCCTGCTCTACTCGAGAAGAAACCAGACGATGTAGTCATAACATTCGCA
>FP3SLUG00002140
AAGCGTACTGCTATGGCACGCGCGAGGAAGGGTCAGCTAAAGGACATCCCTGTCGACGAG
>FOMPING00001058 
CTTATGCAGGCTCTCATCAAGACTCAGCTCGATCCAGCTATGCTAGAGGACATATGCGTA
GGGACTTGTCACCCTCCGTCACCGACGTACATCTCTCGAGCAGCTGCTCTTGCTGCTGGA
James Brown
  • 36,089
  • 7
  • 43
  • 59
kapr0001
  • 1
  • 1

1 Answers1

0

You can try,

while read -r a b c; do 
    cat "$a.fa" "$b.fa" "$c.fa" > "${a}_${b}_${c}.fa"; 
done < file1

you get several files with compound name as output, for example

DAEQUEG00000025_FP3SLUG00002140_FOMPING00001058.fa

>DAEQUEG00000025  
ATGTTGTTTAGATTGGCCCGGCGAGCTACAAGCCCGCTCACCCGCTCGATGGCGACGCAT
GCGCGAGGACTCCCTGCTCTACTCGAGAAGAAACCAGACGATGTAGTCATAACATTCGCA
>FP3SLUG00002140
AAGCGTACTGCTATGGCACGCGCGAGGAAGGGTCAGCTAAAGGACATCCCTGTCGACGAG
>FOMPING00001058 
CTTATGCAGGCTCTCATCAAGACTCAGCTCGATCCAGCTATGCTAGAGGACATATGCGTA
GGGACTTGTCACCCTCCGTCACCGACGTACATCTCTCGAGCAGCTGCTCTTGCTGCTGGA
Jose Ricardo Bustos M.
  • 8,016
  • 6
  • 40
  • 62