Я пытаюсь изменить заголовки из мультифаст-файла, используя awk.
Мой файл выглядит следующим образом:
>NS500106:288:HGHTHAFXY:1:11101:16650:2011:CTATAC;size=206083;
GTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG
>NS500106:288:HGHTHAFXY:1:11101:1149:1903:CTATAC;size=19175;
CAGCGAGAGCGAGACGCAGCCGGTGAACCGCGTGGCGTACAACGTCGGCGGGCAGATGGCCACCAACAACCAGAGCTCCA
CCACTGCCCCCGCGACCGGCACGTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG
Я использую эту команду:
awk '/[^;]*/{print "Variant_" ++i; next} {print}' < input.fasta > output.fasta
Где, /[^;]*/
сопоставляет строки до первого вхождения точки с запятой и заменяет совпадающую часть заголовка на Variant_1, Variant_2 и т. Д.
Приведенная выше команда изменяет весь заголовок на Variant_1 ии так далее, а также не печатает строки последовательности.
Как мне решить эту проблему?
Мой желаемый вывод такой, как показано ниже:
Variant_1;size=206083;
GTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG
Variant_2;size=19175;
CAGCGAGAGCGAGACGCAGCCGGTGAACCGCGTGGCGTACAACGTCGGCGGGCAGATGGCCACCAACAACCAGAGCTCCA
CCACTGCCCCCGCGACCGGCACGTACAACCTCCAGGAAATCGTGCCCGGCAGCGTGTGGATGGAGAGGGACGTG