Я работаю над файлами последовательностей ДНК (файл FASTQ).
@Read1- ХОРОШО
NAAAGTGAGATTCGAAATAAATACATCTGTGGCTTCACTTTGAACGGAACGATGTTCTCGTAT
+
1D=DDADEHHHHHIGIJJJJGGFGHIHIJJIJJJJJIIIIGG99BDGHHHEGHJJIHHJJGIH
@Read2- Имеет 2 плохих места
NTTCGTAAAGCAGTGAACGAAATACATCTGTGGCTTCACTATGTTCTCGTATGCCGGAACGTC
+
2#1=DFFFFHHHGHGHIJHJIJJJJJJJJJJJJJJJJJGIIHJJJJIIIGGHIIJJIHIIIIJG
@Read3: один хороший, один ранний
NCAGGATCTGCATCGTGAACGATACATCTGTGGCTTCACTAGAACGTGTTCTCGTATGCCGTC
+
B#1:BDDDDFFHDH@AHIGCHIIIIIIIIIIIIIIIIIIIIGIIFHBGGGFGIIIIGGHIIIIG
@Read4: один хорошо, один после
NGCCCTTGACCGCAGGTTAGTGCTAAATACATCTGTGTACTGAACGTCACTATGTTCTCGTAT
+
E#1:A?==@@B>AC<7,2A@ABBBBCBCBCCBCCBBBBBBBB<<?AA?AA)8>ABBAAABABBA
Я хочу найти шаблон длиной 6 символов (GAACG) в последовательности (строка ниже строки, начинающейся с @).
Важно то, что я хочу, чтобы мой шаблон находился в позиции 42 в строке.
Если шаблон найден в этой позиции, я копирую последовательность вместе со строкой перед ней и двумя строками после нее в новый файл. При попытке этого с awk это не сработало, потому что все функции index(), match() смотрят только на 1-е вхождение и не смотрят дальше, поэтому, если он найдет мой шаблон до позиции 41, он не будет копировать мои данные в новый файл.
В основном мой скрипт должен возвращать чтение 1, 3 и 4...
Как я могу просмотреть свой файл FASTQ на наличие шаблона, оценить ВСЕ позиции, в которых он найден, и рассмотреть только последовательности, в которых он находится в позиции 42, независимо от того, присутствует ли шаблон ТАКЖЕ в других позициях?