Я играю с некоторыми файлами fastq, обрезая определенные последовательности из 2-й строки последовательности fastq:
Пример ввода:
@D00733:159:CA65UANXX:8:1214:11297:78554
GTTTTACACAATTATACGGACTTTATCCGCTTTTGTGCCTCTTTAATTTC
+
BBCCCEGGGGGGGFGEGGGDGGGGGGGGGGGGGGFGGGGGGGGGGGGEGG
@D00733:159:CA65UANXX:8:1214:11297:78555
TATGATTAGATGCGGATTGATCTGATCGGGACTGATTTTTTTTAGGGATT
+
BBCCCEGGGGGGGFGEGGGDGGGGGGGGGGGGGGFGGGGGGGGGGGGEGG
Я вырезаю из последовательности подпоследовательность «TTATACGGACTTTATC» и все, что перед ней:
sed 's/^.*TTATACGGACTTTATC//' in.fastq > in2.fastq
Результат выглядит так:
@D00733:159:CA65UANXX:8:1214:11297:78554
CGCTTTTGTGCCTCTTTAATTTC
+
BBCCCEGGGGGGGFGEGGGDGGGGGGGGGGGGGGFGGGGGGGGGGGGEGG
@D00733:159:CA65UANXX:8:1214:11297:78555
TATGATTAGATGCGGATTGATCTGATCGGGACTGATTTTTTTTAGGGATT
+
BBCCCEGGGGGGGFGEGGGDGGGGGGGGGGGGGGFGGGGGGGGGGGGEGG
Какой может быть эффективный способ обрезать начало 4-й строки в записи (качество), чтобы она соответствовала длине 2-й строки (последовательности)? Каждая строка разделена символами \n, а каждая запись состоит из 4 строк (идентификатор, последовательность, +, качество).
Ожидаемый результат:
@D00733:159:CA65UANXX:8:1214:11297:78554
CGCTTTTGTGCCTCTTTAATTTC
+
GGGGGGGFGGGGGGGGGGGGEGG
@D00733:159:CA65UANXX:8:1214:11297:78555
TATGATTAGATGCGGATTGATCTGATCGGGACTGATTTTTTTTAGGGATT
+
BBCCCEGGGGGGGFGEGGGDGGGGGGGGGGGGGGFGGGGGGGGGGGGEGG
Заранее спасибо!
@
. Вы хотите найти что-то (которое варьируется от одного прогона к другому) в строке 2 любой группы и, если вы это найдете, удалить это вместе со столькими символами, сколько необходимо, с начала 4-й строки, чтобы сделать длину 4-й строки совпадают со 2-й строкой группы. Правильный? Или безнадежно? - person Mark Setchell   schedule 11.04.2017