【发布时间】:2013-04-10 16:42:52
【问题描述】:
我有 36-nt 读取如下:atcttgttcaatggccgatcXXXXgtcgacaatcaa 在 fastq 文件中
XXXX 是不同的条形码。我想在文件中的确切位置(21 到 24)搜索条形码,并打印序列中最多 3 个不匹配的序列而不是条形码。
例如:
我有条形码:aacg
在 fastq 文件中搜索位置 21 到 24 之间的条形码,允许序列中出现 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
有什么快速的方法可以找到吗?
谢谢。
【问题讨论】:
-
我很困惑。条形码与核苷酸序列有什么关系?
-
最初我正在寻找特定位置的条形码,但我的计数非常低,并且序列中有 1 个不匹配我得到了高计数。所以,如果我在序列中给出不匹配,我会得到更多的序列(我想尝试最多 3 个)
-
所以您正在扫描barcodes?比如超市收银员用来识别商品价格的黑白条纹图案?因为我仍然不知道如何从条形码中获取 DNA。
标签: python awk sed dna-sequence fastq