Почему определенная строка «samtools view» не работает после grep?
Я хочу извлечь список имен чтения, один из которых однозначно сопоставлен, а другой - мультисопоставлен.
Однако после некоторых проб и ошибок я нашел
1-й ряд
samtools view -@ 6 XXX.sorted.bam | if grep -q XS:i: ; then awk '{print $0}' ;else:;fi | head
всегда ломается так:
1 28543 1 25M = 29133 615 CTTCAATGCATTCCACAAATACCTA GGAGGIGGGIGGGGIIGGIGIGIGG AS:i:0 XS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:25 YS:i:0 YT:Z:CP
или вот так:
AS:i:-6 XS:i:-6 YS:i:0 YT:Z:CP
(т.е. неполный ряд файлов sam)
Я сомневаюсь, что сам файл bam поврежден, тогда я
samtools view -@ 6 XXX.sorted.bam| grep CTTCAATGCATTCCACAAATACCTA
но возвращается нормально
SRR11074254.925964 99 chr1 28543 1 25M = 28926 408 CTTCAATGCATTCCACAAATACCTA GAGGGIIIIIIIIIIIIIIIIIIII AS:i:0 XS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0
Есть ли причина вставлять «конец предложения» или какой-то другой персонал?
Заранее спасибо,
[Измененный вопрос]
Спасибо за добрые ориентиры и пояснения.
Хорошо, я еще раз объясню ситуацию. Поскольку исходный файл тяжелый, и я не мог понять весь процесс, многие инструменты это сделали, поэтому позвольте мне просто объяснить.
Команда «samtools view» принимает файл .bam или .sam и возвращает более 11 полей с \t в качестве разделителя.
Я хотел бы извлечь строки с "XS:i:", так что оба "grep XS:i:" и awk '/XS:i:/' в порядке.
Хотя ожидается, что будет выведена каждая полная строка, появилась строка с полным набором полей.
Из другого испытания я понимаю, что строка не нарушена, мне интересно, это из-за samtools или grep и/или awk.
Возможно ли частичное извлечение слишком длинной строки с помощью grep или awk '/?' ? Благодаря вам всем я понимаю, что grep -q не подходит для моей цели.