Вернуть первые n символов после заголовка в файле fastaLinux

Anonymous
Вернуть первые n символов после заголовка в файле fasta

Сообщение Anonymous »

Я пытаюсь извлечь первые n последовательности, следующие за заголовком в файле fasta. Заголовки обычно определяются с помощью символа «>», поэтому блок последовательностей, соответствующий определенному заголовку, выглядит следующим образом:

Код: Выделить всё

>chr1
ATCGATCG
>chr2
TCAGACT
Учитывая это, я пытаюсь извлечь, скажем, первые три последовательности, следующие за заголовком (эти последовательности обычно составляют миллионы пар оснований). Например, мой желаемый результат будет:

Код: Выделить всё

ATC
TCA
Построчно возвращается в стандартный вывод, так что если имеется 60 заголовков, должно быть возвращено 60 последовательностей длиной 3. Вот что я пробовал до сих пор:

Код: Выделить всё

grep -o -E "[A-Z]\w+" *.fasta | cut -c -3
Проблема в том, что это возвращает первые три последовательности каждой строки, а не те, которые следуют за заголовком.
Я думаю, что-то вроде это:

Код: Выделить всё

grep -o -E "^>+\n+[A-Z]\w+" *.fasta | cut -c -3
Но это ничего не возвращает, есть мысли?
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... fasta-file

Вернуться в «Linux»