У меня есть следующий файл FASTA:
>header1
CGCTCTCTCCATCTCTCTACCCTCTCCCTCTCTCTCGGATAGCTAGCTCTTCTTCCTCCT
TCCTCCGTTTGGATCAGACGAGAGGGTATGTAGTGGTGCACCACGAGTTGGTGAAGC
>header2
GGT
>header3
TTATGAT
Мой желаемый результат:
>header1
117
>header2
3
>header3
7
# 3 sequences, total length 127.
Это мой код:
awk '/^>/ {print; next; } { seqlen = length($0); print seqlen}' file.fa
Вывод, который я получаю с этим кодом:
>header1
60
57
>header2
3
>header3
7
Мне нужна небольшая модификация, чтобы иметь дело с несколькими последовательностями строк.
Мне также нужен способ иметь общую последовательность и общую длину. Любое предложение будет приветствоваться... В bash или awk, пожалуйста. Я знаю, что это легко сделать в Perl/BioPerl, и на самом деле у меня есть скрипт, который делает это таким образом.