生物信息学
20211107_鉴定并去除Illumina测序中的PCR重复序列
Song Wei
2023年3月24日 01:57
344
研究背景:
在Illumina测序过程中,PCR重复序列是一种常见的序列问题。由于PCR扩增时会复制出原始DNA片段的多个拷贝,这些拷贝在测序时可能会被误认为是不同的DNA分子,从而导致PCR扩增偏好性和测序错误等问题。具体来说,在Illumina测序中,PCR重复序列的问题通常表现为在测序reads中出现重复的片段。这些重复片段可能会导致误判为SNP、错配等错误,并且会影响基因型分析、DNA变异检测等应用。
注意事项:
#脚本运行前先检查seqkit软件是否已经安装
#脚本任务:去除测序结果中,双末端文件中完全相同的序列,这些序列都是来自于PCR重复
#将双模端测序文件分别命名为 pairend-1.fq 以及 pairend-2.fq
#使用该命令运行程序: sh rm_PCR_dups_from_raw_data.sh
#程序运行结束后将pairend-2-ok.fq 以及pairend-1-ok.fq两个文件分别恢复成自己设定的文件名称。
huajin@huajin-XPS-8930:/home/ftp/$ cat rm_PCR_dups_from_raw_data.sh
#软件运行前先检查seqkit软件是否已经安装
#将双模端测序文件分别命名为 pairend-1-filtered.fq 以及 pairend-2-filtered.fq
#程序运行结束后将pairend-2-ok.fq 以及pairend-1-ok.fq两个文件分别恢复成自己设定的文件名称。
python pairend-1.py
python pairend-2.py
sed -i 's/ /-/g' pairend-1-filtered.fq
sed -i 's/ /-/g' pairend-2-filtered.fq
grep "^@" pairend-1-filtered.fq | cut -d "-" -f 1 | grep -f - -w pairend-2-filtered.fq | cut -d "@" -f 2 | seqkit grep -f - pairend-2-filtered.fq > pairend-2-ok.fq
grep "^@" pairend-2-filtered.fq | cut -d "-" -f 1 | grep -f - -w pairend-1-filtered.fq | cut -d "@" -f 2 | seqkit grep -f - pairend-1-filtered.fq > pairend-1-ok.fq
两个python脚本内容
huajin@huajin-XPS-8930:/home/ftp/Pipelines/去除测序原始序列中PCR重复序列$ cat pairend-1.pyaa = []fo = "pairend-1-filtered.fq"bb = []for eles in open("pairend-1.fq","r").read().strip().split("@")[1:] :if eles.split("\n")[1] not in aa :with open(fo,"a+") as f:f.write("@" + eles.split("\n")[0] + "\n" + eles.split("\n")[1] + "\n" + eles.split("\n")[2] + "\n" + eles.split("\n")[3] + "\n")aa.append(eles.split("\n")[1])huajin@huajin-XPS-8930:/home/ftp/Pipelines/去除测序原始序列中PCR重复序列$ cat pairend-2.py aa = [] fo = "pairend-2-filtered.fq" bb = [] for eles in open("pairend-2.fq","r").read().strip().split("@")[1:] : if eles.split("\n")[1] not in aa : with open(fo,"a+") as f: f.write("@" + eles.split("\n")[0] + "\n" + eles.split("\n")[1] + "\n" + eles.split("\n")[2] + "\n" + eles.split("\n")[3] + "\n") aa.append(eles.split("\n")[1])
其它可选方案:
除了上述方法外,还有其它多种方法可以解决PCR重复序列问题,如降低PCR扩增循环数、使用分子标记进行序列去重、使用UMI(Unique Molecular Identifier)标签等方法。此外,对于Illumina测序中的PCR重复序列问题,还可以使用一些专门的工具进行去重,如Picard、SAMtools等软件,这些工具可以对测序reads进行去重、过滤或剔除,从而提高测序结果的准确性。
标签:
bioinfo
北京 天气
晴
0℃