У меня 36-nt читается так: atcttgttcaatggccgatcXXXXgtcgacaatcaa
в файле fastq, где XXXX — разные штрих-коды. Я хочу найти штрих-код в файле в точной позиции (от 21 до 24) и распечатать последовательности, содержащие до 3 несоответствий, а не штрих-код.
Например: у меня есть штрих-код: aacg
найдите этот штрих-код между позициями 21 и 24 в файле fastq, допустив 3 несоответствия в последовательности, например:
atcttgttcaatggccgatcaacggtcgacaatcac # it has 1 mismatch
ttcttgttcaatggccgatcaacggtcgacaatcac # it has 2 mismatch
tccttgttcaatggccgatcaacggtcgacaatcac # it has 3 mismatch
Сначала я пытался найти уникальные строки, используя awk, и искать несоответствия, но мне очень утомительно искать и находить их.
awk 'NR%4==2' 1.fq |sort|uniq -c|awk '{print $1"\t"$2}' > out1.txt
Есть ли быстрый способ найти?
Спасибо.