一种用于纳米孔测序建库的位置锚定条码系统
技术领域
本发明涉及基因测序领域,具体涉及一种用于纳米孔测序建库的位置锚定条码系统。
背景技术
当下全球临床感染患者众多且感染源种类繁多,在中国,感染性疾病甚至占全部疾病总发病数的49%。目前常规的临床诊断方法是医生的经验性判断加上镜检,生化分析等确定症状的感染源,但人为因素,检测周期以及检测范围的限制极易造成误检和漏判,尤其不利于急性感染的诊治。随着高通量测序和基因组学的蓬勃发展,宏基因组测序技术因其可以快速全面客观地鉴定样本中微生物的组成,在感染诊断领域蒸蒸日上,其愈发广泛地应用于感染病原微生物的检测,为临床决策和后续用药提供了更精准的诊断基础。
Illumina二代测序在国内发展如火如荼,但应用于微生物检测存在以下问题:首先,二代测序的读长短,均在几百bp以下,而微生物不同种属间会存在较高的同源序列,造成宏基因组物种分析的准确度差,在数据报告中反馈无关的微生物信息,反而给医生造成更大的诊断干扰;其次,更深层次的致病基因及耐药基因的鉴定需要对测序序列进行组装拼接,因而复杂的分析需要更高的时间和资金成本弥补二代测序数据的读长缺陷;此外,二代测序相关的仪器价格昂贵,操作繁琐,前期投资较高,而且整个测序时长较长,难以适用急性感染的需求。三代测序技术PacBio在测序读长方面有了很大提高,可以检测8-12kb,甚至是40-70kb的长片段数据,但其缺点在于建库流程较为复杂。而且,同二代测序一样存在测序周期长的缺点,一轮测序结束,需要几十个小时完成数据下机,加上后续分析时间,很难满足病原微生物的快速鉴定。
纳米孔测序技术则恰好弥补了其他测序平台的劣势,不仅测序片段读长长,而且建库和测序时间短。此外,设备小巧便携,数据产生能与生信分析实时,完美解决了测序场地的限制,以及报告反馈的延误。因此这一技术非常适宜于临床感染微生物病原体分析鉴定中。但纳米孔测序的上机芯片十分昂贵,价格对用户很不友好。利用条码序列(barcode)信息分辨多个样本,是高通量DNA测序节约成本的常用策略。对于每个DNA样本,在建库过程中引入独特的条码序列,多个条码DNA样本经同一流通池同时测序后,根据条码序列对测序reads进行分类区分不同的上机样本。纳米孔测序技术中昂贵的芯片使得多样本上机具有明显的经济优势,允许用户分摊一个流通池的固定成本。牛津纳米孔公司推出的一系列试剂盒提供了12个长24bp的不同条码,这些条码在建库过程中连接到样本DNA序列两端再上机测序,使得一张芯片同时获得12个不同样本的序列信息。但后续根据条码序列区分样本时发现,建库试剂盒自带的长24bp的条码混淆现象严重,其原因在于牛津纳米孔测序仪在电流信号转化为碱基的过程中(即basecalling)会导致reads中单碱基的错误率高达10-15%,所以下游数据分析中根据条码序列对reads分类时,会因为条码鉴定出错导致样本间数据的交叉污染,从而导致微生物假阳性鉴定,给临床决策带来极大困扰。
基于此,提出本发明。
发明内容
本发明要解决的技术问题是提高现有纳米孔测序数据样本条码比对过程中的准确度问题。
考虑到纳米孔测序平台的样本条码比对经常发生错误,极大影响了后续数据处理流程。本发明通过深入挖掘大量数据,对纳米孔测序平台的序列比对时发生的错误进行归类和统计分析,量化了不同错误率类型对序列鉴定的影响。惊奇发现插入缺失类型(Indel)的测序错误会极大提升序列鉴定的错误率,而碱基错配类型(Mismatch)对序列鉴定的错误率提升影响较小,因此在样本条码的设计中一味提升条码长度对准确度提升的影响有限,而在相同长度的条码中添加位置锚定序列对准确度提升更大。基于此发现,本发明构建一套包含位置锚定序列的“位置锚定条码系统”,并基于纳米孔公司的建库试剂盒SQK-PBK004进行验证,对10个纯菌进行建库上机,分别通过原条码系统和位置锚定条码系统对下机数据进行分类比较,结果表明位置锚定条码系统具有更好的样本分类准确率,相比原条码系统得到了3个数量级以上的提高。
因此,本发明的第一目的是提供一种提高样本纳米孔测序分辨准确率的位置锚定条码体系。
本发明的第二目的是提供一种上述位置锚定条码体系的制备方法及其应用。
为实现上述目的,本发明提供如下技术方案:
本发明提供一种用于纳米孔测序建库的位置锚定条码系统,其特征在于,所述系统包括如下结构:
[BARCODE-ANCHOR]n-BARCODEn+1
其中,n≥1,
所述BARCODE为条码序列,
所述ANCHOR为锚定序列。
在一些实施方式中,所述系统包括如下结构:FLANK1-[BARCODE-ANCHOR]n-
BARCODEn+1-FLANK2,
所述FLANK为侧翼序列,
在一些实施方式中,所述1≤n≤10;优选的,所述n为1,2,3。
在一些实施方式中,所述BARCODE序列相同或者不同;优选的,所述BARCODE序列不同;
在一些实施方式中,所述ANCHOR序列相同或者不同;优选的,所述ANCHOR序列不同。
在一些实施方式中,所述ANCHOR序列长度为5-50bp;优选的,所述ANCHOR序列长度为10-35bp;
在一些实施方式中,所述ANCHOR序列与BARCODE序列的同源性<70%;优选的<50%。
在一些实施方式中,所述FLANK长度为10-30bp;优选的,所述FLANK序列长度为15-25bp;
在一些实施方式中,所述用于纳米孔测序建库的位置锚定条码系统,其特征在于,所述系统包括如下任一结构:
FLANK1-BARCODE1-ANCHOR1-BARCODE2-FLANK2;
FLANK1-BARCODE1-ANCHOR1-BARCODE2-ANCHOR2-BARCODE3-FLANK2;
FLANK1-BARCODE1-ANCHOR1-BARCODE2-ANCHOR2-BARCODE3-ANCHOR3-
BARCODE5-FLANK2;
在一些实施方式中,所述ANCHOR序列不同或相同,优选所述ANCHOR序列不同;
在一些实施方式中,所述BARCODE序列不同或相同,优选所述BARCODE序列不同。
本发明还提供一种上述用于纳米孔测序建库的位置锚定条码系统的制备方法,其特征在于:所述方法包括直接合成所述位置锚定条码系统的核苷酸序列,或通过分段合成后连接制备所述位置锚定条码系统。
在本发明的一些实施方式中,当制备包含现有条码接头的位置锚定条码系统时,其制备方法如下:在现有纳米孔测序建库条形码基础上,利用搭桥引物实现现有条码接头与设计条码接头的串联;优选的,所述搭桥引物序列为位置锚定条码系统结构中的ANCHOR。
在本发明的一些实施方式中,所述现有条码接头来源于ONT公司的SQK-PBK004试剂盒的原始条码。
本发明还提供一种上述用于纳米孔测序建库的位置锚定条码系统的在提高测序样本分类准确度中的应用。
本发明还提供一种上述用于纳米孔测序建库的位置锚定条码系统的在降低测序样本分类假阳性中的应用。
本发明还提供一种上述用于纳米孔测序建库的位置锚定条码系统在测序文库构建中的应用。
本发明还提供一种上述用于纳米孔测序建库的位置锚定条码系统在测序中的应用。
本发明还提供一种测序文库构建的方法,其特征在于,利用上述纳米孔测序建库的位置锚定条码系统构建测序文库。
本发明还提供一种测序接头,其特征在于,所述测序接头序列中包含上述所述的位置锚定条形码系统。
本发明还提供一种复合物,其特征在于,所述组合物连接于上述所述的位置锚定条形码系统。
本发明还提供一种组合物,其特征在于,所述组合物中包含上述的位置锚定条形码系统。
本发明还提供一种用于纳米孔测序建库的试剂盒,其特征在于,所述试剂盒中包含上述所述的位置锚定条形码系统,或包含上述所述的测序接头。
本发明的有益技术效果:
1)本发明首次证明了插入缺失类型的错误是整体序列比对错误的主要原因,相比而言,碱基错配类型的错误对整体序列比对错误的影响较小。在实践中,本发明通过在条码系统中引入锚定序列,限制indel类型错误扩展到整体比对结果,极大程度降低插入缺失引起的比对得分降值,筛除远距离的条码干扰,达到精准的条码分辨;相比仅仅通过提高条码序列长度的方式,虽然增加条码长度可适当降低碱基不匹配引起的样本分类错误,但对整体序列比对结果准确度提升非常有限,而本发明的位置锚定条形码系统对结果准确度提升效果极其显著。
2)本发明基于纳米孔平台SQK-PBK004建库流程,巧妙利用其自带的条码连接自主研发的条码序列,并利用连接部位序列作为锚定序列,设计了FLANK1-BARCODE1-ANCHOR2-BARCODE2-FLANK2类型的位置锚定条码系统,该系统分辨不同样本时可将分类准确率从0.999提高至0.999999。
3)本发明的位置锚定条形码系统在实际应用中,可根据不同需求设计不同长度的条码和锚定序列个数,实现不同需求的分类准确度和微生物检出率平衡。
4)本发明的位置锚定条形码系统具有更好分辨率,更高准确率,降低假阳性鉴定,可从整体上提高纳米孔测序精度,降低测序成本,适于推广使用。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1.基于试剂盒条码系统测序数据的错误率统计;图A表示10组试剂盒条码接头序列实际测序中每个位点的平均错误率和中位错误率;图B表示10组试剂盒条码接头序列实际测序中每个位点比对插入、缺失、错配三种错误类型的平均错误率和中位错误率;图C表示试剂盒条码接头位点与比对错误对应关系;图D表示试剂盒条码接头比对错误类型的亚类汇总,其展示的是不同位点下发生的比对错误分布,横坐标为条码序列碱基位置,纵坐标为错误类型,图中小格颜色深浅表示该位点处错误类型的错误率,颜色越深意味着出错率越高,Block注释区的色块表示接头序列的不同元件,错误类型通过欧式距离作聚类分析;
图2.不同比对错误类型对整体序列分类准确度的影响;图A表示总错误率为8%;图B表示总错误率16%;
图3.不包含锚定序列(ANCHOR=0组)与包含1段锚定序列(ANCHOR=1组),包含2段锚定序列(ANCHOR=2组)对条码比对整体准确性的影响;
图4.原始和优化的建库流程的示意图;
图5.原始条码系统与位置锚定条码系统的样本分类准确度比较,阴影部分表示准确分类的结果,其他结果为误分类的结果。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
部分术语定义
除非在下文中另有定义,本发明具体实施方式中所用的所有技术术语和科学术语的含义意图与本领域技术人员通常所理解的相同。虽然相信以下术语对于本领域技术人员很好理解,但仍然阐述以下定义以更好地解释本发明。
如本发明中所使用,术语“包括”、“包含”、“具有”、“含有”或“涉及”为包含性的(inclusive)或开放式的,且不排除其它未列举的元素或方法步骤。术语“由…组成”被认为是术语“包含”的优选实施方案。如果在下文中某一组被定义为包含至少一定数目的实施方案,这也应被理解为揭示了一个优选地仅由这些实施方案组成的组。
本发明中的术语“大约”、“大体”表示本领域技术人员能够理解的仍可保证论及特征的技术效果的准确度区间。该术语通常表示偏离指示数值的±10%,优选±5%。
在提及单数形式名词时使用的不定冠词或定冠词例如“一个”或“一种”,“所述”,包括该名词的复数形式。
此外,说明书和权利要求书中的术语第一、第二、第三、(a)、(b)、(c)以及诸如此类,是用于区分相似的元素,不是描述顺序或时间次序必须的。应理解,如此应用的术语在适当的环境下可互换,并且本发明描述的实施方案能以不同于本发明描述或举例说明的其它顺序实施。
以下术语或定义仅仅是为了帮助理解本发明而提供。这些定义不应被理解为具有小于本领域技术人员所理解的范围。
本发明中的部分技术术语解释如下:
本发明所述的“位置锚定条码系统”是指包含两个及两个以上BARCODE序列串联的多条码测序标签系统,所述BARCODE间通过特定ANCHOR序列锚定,该系统可应用于纳米孔测序中的测序文库构建,能够提高测序样本分类准确度,降低测序样本分类假阳性中的应用。其具体结构可以为本发明所述的[BARCODE-ANCHOR]n-BARCODEn+1,其中,n≥1,所述BARCODE为条码序列,所述ANCHOR为锚定序列。可以理解的是任何包含了上述结构的组合物、复合物、或系统等都在本发明的范围之内。虽然本发明以现有技术中SQK-PBK004试剂盒的条形码为例展开诠释,但其仅为示例性说明,并不能限制本发明。本发明已经通过具体的生信理论分析和湿实验验证,证明了任何包含[BARCODE-ANCHOR]n-BARCODEn+1结构的条码系统都能够用于测序文库的构建,能够提高测序样本分类准确度,降低测序样本分类假阳性。在本发明的一些优选实施方式中,所述位置锚定条码系统结构可以为如下:FLANK1-[BARCODE-ANCHOR]n-BARCODEn+1-FLANK2,所述FLANK为接头序列,接头序列为测序文库构建的常规组件,本领域可以理解该组件的加入,FLANK1和2根据实际需要,序列上可以相同或者不同。
鉴于本发明实施例中通过深入挖掘大量数据,对纳米孔测序平台的序列比对时发生的错误进行归类和统计分析,量化了不同错误率类型对序列鉴定的影响,发现插入缺失类型(Indel)的测序错误会极大提升序列鉴定的错误率,而碱基错配类型(Mismatch)对序列鉴定的错误率提升影响较小,因此在样本条码的设计中一味提升条码长度对准确度提升的影响有限。另外,本发明部分实施例中还证实来序列长度问题,比如实施例2中提及“为了达到99.99%的整体比对正确率,引入0.16的碱基错配类型错误时,条码长度只需要达到40bp;而引入0.16的插入缺失类型错误时,条码长度却需要达到80bp”。可见本领域根据实际需要,适当选择本发明所述位置锚定条码系统的长度,比如本发明的一些实施方式中,所述1≤n≤10,比如n=1,2,3,4,5,6,7,8,9,10;优选的,所述n为1,2或3。
可以理解的是,BARCODE作为测序中的标记序列,在本发明的位置锚定条码系统中,其序列可以是相同的,也可以是不同的;在一些优选的实施方式中,所述BARCODE序列不同。同样ANCHOR序列作为锚定组件,起序列也可以是相同的,或者是不同的,在一些优选实施方式中,所述ANCHOR序列不同。另外,ANCHOR序列长度可以为本领域已知的长度,比如可以为5-50bp,在一些优选的实施方式中,所述ANCHOR序列长度为10-35bp。
ANCHOR序列作为BARCODE的锚定组件,其序列应区分于BARCODE序列,没有特别限制,所述ANCHOR序列与BARCODE序列的同源性可以<80%,<70%,<60%,<50%,<40%,<30%,<20%,<10%;在一些优选的实施方式中,所述同源性<50%。
可以理解,作为本发明的一些示例性的位置锚定条码系统,其结构可以具体为如下所示:
FLANK1-BARCODE1-ANCHOR1-BARCODE2-FLANK2;
FLANK1-BARCODE1-ANCHOR1-BARCODE2-ANCHOR2-BARCODE3-FLANK2;
FLANK1-BARCODE1-ANCHOR1-BARCODE2-ANCHOR2-BARCODE3-ANCHOR3-
BARCODE4-FLANK2;
FLANK1-BARCODE1-ANCHOR1-BARCODE2-ANCHOR2-BARCODE3-ANCHOR3-
BARCODE4-ANCHOR4-BARCODE5-FLANK2;
……
本发明所述的“条码接头”是指包含了条码序列,两端侧翼序列的完整区段。比如,本发明实施例中,自主设计的条码接头定义为BBRCD接头,而原始试剂盒SQK-PBK004中的条码接头定义为ABRCD接头。
本发明所述的“条码序列”是指条码的具体序列,其包含于条码接头之中,是条码接头的一部分序列。比如本发明实施例中,自主设计的条码序列定义为BBRCD,而原始试剂盒SQK-PBK004中的条码序列定义为ABRCD。
本发明所述的“锚定序列(ANCHOR)”是指用于锚定BARCODE的核苷酸序列,其长度可以为本领域已知的任意核实长度,比如可以是5-50bp,在一些优选的实施方式中,可以是10-35bp;其序列应区分于BARCODE序列,没有特别限制,ANCHOR序列与BARCODE序列的同源性可以<80%,<70%,<60%,<50%,<40%,<30%,<20%,<10%;在一些优选的实施方式中,所述同源性<50%。示例性的,比如本发明实施例中提及的ANCHOR序列有SEQ IDNO.50,SEQ ID NO.51和SEQ ID NO.13等。
本发明所述的“FLANK”是指条码系统两端的侧翼序列,其为测序条码接头的常规组件,比如对于纳米孔测序平台而言,本发明中FLANK1为连接包含马达蛋白的Y型测序接头,保证DNA通过纳米孔实现正常测序;FLANK2用于连接测序样本序列,其长度可以为本领域已知的任意核实长度,比如可以是10-30bp,在一些优选的实施方式中,可以是15-25bp。示例性的,如本发明实施例中提及的FLANK序列SEQ ID NO.16和SEQ ID NO.26等。
本发明通过附图和如下实施例进一步描述,所述的附图和实施例只是为了例证本发明的特定实施方案,不应理解为以任何方式限制本发明范围之意。除非另外说明,本发明中所公开的实验方法均采用本技术领域常规技术,实施例中所用的试剂和原材料均可由市场购得。
实施例1比对错误统计
本发明考虑到造成条码混淆的主要原因在于测序条码与预设真实条码的序列差异,因此首先对测序得到的条码序列与真实条码序列的差异进行分类整理。为此,本发明分别使用ONT公司的SQK-PBK004试剂盒的10组条码对样本DNA单独建库上机,截取测序数据5’端250bp以保证包含条码区,然后与相应预设条码接头进行全局比对(overlapalignment)。最后根据输出的多重比对文件总结整理条码接头序列每个位置的比对差异,统计测序条码的错误位置分布和错误类型。其中,错误类型分为三大类,分别是插入(insertion,I)、缺失(deletion,D)和碱基错配(mismatch,X)。
结果:首先,整体而言,10组测序数据经fastq格式初步过滤后reads总计28543061条,但实际参与错误统计的reads数只有24075634条,所以在错误统计过程中过滤掉了15.65%左右无比对结果的reads。在参与统计的10组条码序列实际测序中每个位点的平均错误率为8.01%,中位错误率为5.80%(图1A),其中一组比对数据平均错误率高达10.31%,平均错误率最低的一组统计结果也有6.53%。
其次,从比对的三大错误类型展开(图1B),10组条码序列实际测序中发生插入的错误率平均为2.28%,发生缺失的错误率平均为3.58%,发生碱基错配的平均错误率为2.16%;错误率中位值分别为1.70%,2.16%和1.57%。
由图1B,条码接头各位点的错误率平均值与中位值存在显著差异,于是本发明进一步汇总了不同错误类型在不同的条码序列位置上的比对错误。图1C表示除了测序初始不稳定导致的5’端前6个碱基错误率偏高以外,其余位置没有明显的错误率差异。
更进一步地,由于位置对错误类型的影响较小,本发明在不考虑位置的情况下,细致汇总了错误类型的亚类(图1D):参考序列的预设碱基加上查询序列的突变碱基如GA表示G错误匹配为A;比对位点缺失用缺失碱基加字幕D表示,如GD;比对位点插入用I表示,插入的碱基附在I后面,如IC表示该位点发生碱基C的插入;插入2个为I2,插入3个及以上为II;在位点发生比对不匹配后又发生1个碱基插入用X2表示,又发生2个及以上插入为XX。根据图1D不同错误类型的距离,除了GA与AG错配类型,其他碱基之间的错配概率相近,且无明显偏向性;观察平均色度最深的4行发现恰是4种碱基的比对缺失概率,平均错误率都在0.09左右,也没有明显碱基缺失偏向性;最后观察比对插入的错误类型,色块分布最均匀的5行表明插入不同单个碱基的概率距离临近,且与插入2个碱基的错误类型I2位于同一聚类水平。综上,不同错误类型亚类的数据如下:
表1.
上表中XN表示除了GA与AG错配之外其他所有比对不匹配类型,I1表示随机插入单个碱基,I2与II表示分别随机插入2个,3到5个碱基,插入3,4,5个碱基的比例为8∶1.8∶0.2;X2,XX表示位点随机引入不匹配碱基后再插入1个或多个碱基。
实施例2不同错误类型及条码长度对条码比对整体准确性的影响
按照上述实施例1的不同错误类型及其对应错误率数值,本发明分别模拟了长20bp,40bp,60bp,80bp,100bp,120bp共6组长度的条码序列,其中每组模拟12个不同条码元件。本发明以80bp为例,阐述模拟具体概况。首先本发明预设了12个理想条码序列,序列信息如表2:
表2.
然后以每个位点总错误率为0.08的概率引入三种不同类型错误,分别是仅插入缺失,仅碱基错配,既有插入缺失又有碱基错配。每种错误类型的细节错误率分布比例同表1一致,按总错误率的值同比提高或降低。一个流通池多个样本上机,实际下机数据中会有多个条码DNA,样本间的条码会互相混淆,本发明针对每组长度下每个预设条码模拟100,000条接头序列,将所有模拟序列混合在一起模拟12个样本同时上机的情况,模拟序列名称用预设条码名本身加数字编号,通过同样生信分析流程对数据分类,最后通过比较分类得到的条码信息与模拟序列名称来判断是否发生串扰。
结果:如图2A所示,由图2A,总错误率为0.08时,不论引入的错误类型是什么,随着条码长度的增加,条码序列整体比对的正确率均逐渐增加;相同长度时,引入插入缺失类型错误的条码序列整体比对的正确率显著低于引入碱基错配类型错误的条码序列整体比对的正确率。这两个结论在总体错误率提升至0.16时仍然成立(图2B)。举例而言,为了达到99.99%的整体比对正确率,引入0.16的碱基错配类型错误时,条码长度只需要达到40bp;而引入0.16的插入缺失类型错误时,条码长度却需要达到80bp。由此可见,插入缺失类型错误对比对正确率影响大于碱基错配,而条码长度对比对正确率影响有限。
实施例3插入锚定序列对条码比对整体准确性的影响
基于上述实施例2的结论,本发明拟对条码片段作如下两种方式改造,以80bp为例:
1)1条锚定序列插入:将条码序列中间12个碱基替换为12bp序列相同的锚定序列(即表2下划线所示),即原预设条码片段替换成同样长度的“短条码-锚定序列-短条码”形式;
2)2条锚定序列插入:将表2中条码序列两端20bp处分别替换为12bp锚定序列1和锚定序列2(即表2中加粗所示),即同样长度的短条码-锚定序列1-短条码-锚定序列2-短条码。
分别通过锚定序列在比对过程中得到的位置信息锁定短条码位置范围,最后根据短条码组合结果实现数据的分类。
结果:将表2中有下划线的12bp替换为特定ANCHOR锚定序列GGTGCTGTTAAC(SEQ IDNO.50),分别在每个位点引入实施例1中的错误类型和错误分布,总错误率随机分布在E+0.5E范围内(这里E的值分别为0.08,0.12,0.16),每个E值下模拟6000万条条码序列;
同样思路,将表2中加粗序列的12bp分别替换为锚定序列GGTGCTGTTAAC(SEQ IDNO.50)和锚定序列GTACGGAAGTCG(SEQ ID NO.51)进行序列模拟。
随后,分别在比对过程利用锚定序列锁定条码位置范围对数据进行分类,并对无锚定序列(ANCHOR=0组),1条锚定序列(ANCHOR=1组)和2条锚定序列(ANCHOR=2组)的分类准确定作比较。由图3可知,考虑序列的锚定后,分类准确率显著提高:
E值为0.08时,80bp的ANCHOR=0组分类正确率只能达到99.9999%;包含锚定序列的ANCHOR=1组和ANCHOR=2组分类准确率都提高至100%;
E值提升至0.12时,分辨率水平排序如下:ANCHOR=2组>ANCHOR=1组>ANCHOR=0组;
E值提升为0.16时,三者分类准确度差异增大,而且针对本发明生成的模拟数据,ANCHOR=2组的分类准确度仍然是100%。
由实施例2和3,增加条码长度可一定程度提高样本分辨准确率,但是提升率随长度的增长逐渐下降,难以达成数量级性质的增长;通过插入锚定序列锚定条码区,可显著减弱比对中的插入缺失降分,模拟数据中可达到100%正确率,随着锚定序列的增加,数据分类准确度也显著增加。根据牛津纳米孔测序仪basecall过程中单碱基10-15%的错误率以及一次完整测序的总reads数,推测实际下机测序数据中条码序列引入一段锚定序列可实现至少3个数量级的正确率提高。
实施例4位置锚定条码系统的制备及文库构建
为进一步通过实验验证上述理论,本实施例作为一个示例,在原始的ONT公司的纳米孔建库PCR条码试剂盒SQK-PBK004的基础上,巧妙利用其已有的单条码接头(序列结构为FLANK1-ABRCD-FLANK3’),通过连接反应,将其与本发明中自主设计的条形码接头(序列结构为FLANK5’-BBRCD-FLANK2)连接起来,形成本发明的位置锚定条码系统:FLANK1-ABRCD-ANCHOR-BBRCD-FLANK2(其中,ANCHOR序列是由FLANK3’和FLANK5’通过连接反应连接后的序列)。FLANK2通过连接反应继续与已知来源的样本DNA进行连接,可使得最终待测序DNA上拥有位置锚定条码系统。这样的设计,使得我们可以通过已知的样本DNA的结果反推连接的条码序列,从而量化条码系统分类准确度。
具体构建过程如下:
本发明根据ONT公司其他试剂盒的条码序列信息,通过组合比对得到了10个彼此具有极好区分度的条码序列BBRCD;然后在5’端加上一段长13bp的保守侧翼序列FLANK,这段序列具有很好的PCR引物特征,GC含量适中,无发卡和二聚体结构等,沿用了原始PCR接头的Y型结构来避免多个条码在连接步骤连续串联的情况;ANCHOR序列,本试验中也是PCR搭桥引物的3’端序列(SEQ ID NO.13),其与自主设计的条码接头FLANK5’一致,5’端碱基序列则与试剂盒原始条码接头的FLANK3’一致,从而实现通过一个PCR反应得到一段5’和3’端同时串联双条码接头的测序DNA片段。
所述PCR搭桥引物序列如下:
F1:5’TTCTGTTGGTGCTGATATTGCCCGACTTCCGTAC-3’(SEQ ID NO.13)
F2:5’-ACTTGCCTGTCGCTCTATCTTCCCGACTTCCGTAC-3’(SEQ ID NO.14)
注:下划线表示与自主设计条码接头FLANK5’一致的13bp序列。
所述自主设计的条码接头FLANK5’-BBRCD-FLANK2的序列如表3所示:
表3
所述SQK-PBK004试剂盒原始条码接头FLANK1-ABRCD-FLANK3’的序列如表4所示:
表4
本实施例针对10例标准纯菌菌株Brevibacillus borstelensis,Pseudomonasaeruginosa,Escherichia coli,Salmonella enterica,Klebsiella pneumoniae,Listeria monocytogenes,Staphylococcus aureus;Acinetobacter baumannii,Bacillussubtilis和Stenotrophomonas maltophilia,使用图4中优化的建库流程对每个纯菌样本引入不同的位置锚定条码序列进行文库制备,具体制备10组位置锚定条码序列,如表5所示。
表5
所述10组锚定条码的具体核苷酸序列如表6所示,其中下划线部分为ANCHOR序列。
表6
具体文库制备步骤如下:
(一)、退火
1.将上述合成好的接头冻干粉用退火液(1mM EDTA;50mM NaCl;5mM Tris-HCl pH7.5)稀释至100μM;
2.将互补链等摩尔混匀(各取4u1),95℃孵育5min,PCR仪上进行缓慢降温至室温(25℃左右);
3.用退火液将退火好的接头用退火液稀释至640mM;
4.4℃保存备用。
(二)、末端修复
1.0.2ml PCR管中取核酸样本100ng加水补齐至50μl
2.加入7μl Ultra II End-prep reaction buffer,3μl Ultra II End-prepenzyme mix室温旋转混匀,20℃孵育5min,65℃孵育5min后放置室温;
3.加入1×beads(AMPure XP beads)室温旋转混匀孵育5min,瞬离放磁力架上去上清;
4.200μl新鲜配制的80%酒精洗2次beads;
5.加入17μl nuclease-free water,室温旋转混匀孵育2min,瞬离放磁力架上至澄清;
6.小心吸取15μl上清至0.2ml PCR管中
(三)、接头连接
1.0.2ml PCR管中(15μl End-prepped DNA)加入10μl稀释好的接头,25μl Blunt/TA Ligase Master Mix,枪吹打混匀,21℃孵育25~30min;
2.加入0.4×beads室温旋转混匀孵育5min,瞬离放磁力架上去上清;
3.200μl新鲜配制的80%酒精洗2次beads;
4.加入15μl nuclease-free water,室温旋转混匀孵育2min,瞬离放磁力架上至澄清;
5.小心吸取13.5μl上清至0.2ml PCR管中。
(四)、模板扩增
2.配制好涡旋混匀,瞬离后放置PCR仪上设置好程序;
3.反应结束加入0.6×beads室温旋转混匀孵育5min,瞬离放磁力架上去上清;
4.200μl新鲜配制的80%酒精洗2次beads;
5.加入12μl 10mM Tris-HCl(50mM NaCl)pH 8.0洗脱液,室温旋转混匀孵育2min,瞬离放磁力架上至澄清;小心吸取11μl上清至1.5ml低吸附的离心管中
6.QC:取1μl Qubit检测。
7.向10ul上清洗脱产物中加入1μl RAP,室温反应5min,准备上机。
8.按照标准纳米孔测序上机流程对10例不同菌株进行单样本上机测序。
实施例5实际样本检测分析
基于实施例4的实验步骤对10例不同菌株进行单样本测序,并且保证每例样本只连接一种条形码。由于每例测序只使用了单一条码,故而在相应样本的数据中如果比对到非该样本对应的条码,即认为是错误分类。本发明的生信分析使用牛津纳米孔公司官方软件guppy进行原始条码系统的样本分类准确性评估,使用自主软件流程进行位置锚定条码系统的样本分类准确性评估。本发明考察了10组位置锚定条码的分辨能力,最终reads分类的准确率在这10组条码范围内统计计算。
结果:使用原始条码系统进行样本分类结果混淆明显,图5中利用guppy分类到barcode06的准确率仅有99.954%,其中0.036%混淆到barcode07,约0.01%混淆为其他条码,平均准确率为99.984%,混淆比例高达0.016%。这说明单条码分辨样本的低准确度极易造成多样本同时上机的情况下某样本中高丰度微生物的“泄露”,进而造成其他样本的高假阳性检出,误导后续临床诊断及治疗决策。
通过位置锚定条码体系分类准确率平均达到99.9999%,如图5所示,其中分类到barcode01,barcode02,barcode05,barcode09和barcode10的reads与模拟数据的分类准确率一致,都是100%。相比guppy的99.9%分辨准确率提升了3个数量级,意味着精确区分样本的基数从单条码的千条提高了至百万条,将reads分类错误引起的假阳性率降低了1000倍。综上,位置锚定条码分类准确性显著优于单条码。
以上对本申请具体实施方式的描述并不限制本申请,本领域技术人员可以根据本申请作出各种改变或变形,只要不脱离本申请的精神,均应属于本申请所附权利要求的范围。
序列表
<110> 江苏先声医学诊断有限公司,北京先声医学检验实验室有限公司
<120> 一种用于纳米孔测序建库的位置锚定条码系统
<130> 2020
<160> 51
<170> SIPOSequenceListing 1.0
<210> 1
<211> 80
<212> DNA
<213> 人工序列()
<400> 1
agaacgactt ccatactcgt gtgaaacgag tctcttggga cccatagaag gtctacctcg 60
ctaacaccac tgcgtcaact 80
<210> 2
<211> 80
<212> DNA
<213> 人工序列()
<400> 2
ccaaacccaa caacctagat aggcgttcct cgtgcagtgt caagagattt gcgtcctgtt 60
acgagaactc atgagcctct 80
<210> 3
<211> 80
<212> DNA
<213> 人工序列()
<400> 3
cttactaccc agtgaacctc ctcggcatag ttctgcatga tgggttaggt aagttgggta 60
tgcaacgcaa tgcatacagc 80
<210> 4
<211> 80
<212> DNA
<213> 人工序列()
<400> 4
tgaaacctaa gaaggcaccg tatcctagac accttgggtt gacagacctc agtgaggatc 60
tacttcgacc catgcgtaca 80
<210> 5
<211> 80
<212> DNA
<213> 人工序列()
<400> 5
cagacttggt acggttgggt aactggacga agaactcaag tcaaaggcct acttacgaag 60
ctgagggact gcatgtccca 80
<210> 6
<211> 80
<212> DNA
<213> 人工序列()
<400> 6
accacaggag gacgatacag agaaccacag tgtcaactag agcctctcta gtttggatga 60
ccaaggatag ccggagttcg 80
<210> 7
<211> 80
<212> DNA
<213> 人工序列()
<400> 7
ctttcgttgt tgactcgacg gtagagtaga aagggttcct tcccactcga tccaacagag 60
atgccttcag tggctgtgtt 80
<210> 8
<211> 80
<212> DNA
<213> 人工序列()
<400> 8
catctggaac gtggtacacc tgtaactggt gcagctttga acatctagat ggactttggt 60
aacttcctgc gtgttgaatg 80
<210> 9
<211> 80
<212> DNA
<213> 人工序列()
<400> 9
agattcagac cgtctcatgc aaagcaagag ctttgactaa ggagcatgtg gaagatgaga 60
ccctgatcta cgtcactact 80
<210> 10
<211> 80
<212> DNA
<213> 人工序列()
<400> 10
caggttactc ctccgtgagt ctgatcaatc aagaagggaa agcaaggtca tgttcaacca 60
aggcttctat ggagagggta 80
<210> 11
<211> 80
<212> DNA
<213> 人工序列()
<400> 11
ttctgaagtt cctgggtctt gaacgacaga caccgttcat cgactttctt ctcagtcttc 60
ctccagacaa ggccgatcct 80
<210> 12
<211> 80
<212> DNA
<213> 人工序列()
<400> 12
gaatctaagc aaacacgaag gtggtacagt ccgagcctca tgtgatctac cgagatccta 60
cgaatggagt gtcctgggag 80
<210> 13
<211> 34
<212> DNA
<213> 人工序列()
<400> 13
ttctgttggt gctgatattg cccgacttcc gtac 34
<210> 14
<211> 35
<212> DNA
<213> 人工序列()
<400> 14
acttgcctgt cgctctatct tcccgacttc cgtac 35
<210> 15
<211> 13
<212> DNA
<213> 人工序列()
<400> 15
ccgacttccg tac 13
<210> 16
<211> 22
<212> DNA
<213> 人工序列()
<400> 16
cgcatgtgtg tgatgacact gt 22
<210> 17
<211> 45
<212> DNA
<213> 人工序列()
<400> 17
aacaaccgaa cctttgaatc agaagtgcaa ctttcccaca ggtag 45
<210> 18
<211> 45
<212> DNA
<213> 人工序列()
<400> 18
tggactttgg taacttcctg cgtcggatga acataggata gcgat 45
<210> 19
<211> 45
<212> DNA
<213> 人工序列()
<400> 19
caggttactc ctccgtgagt ctgaacggta tgtcgagttc cagga 45
<210> 20
<211> 45
<212> DNA
<213> 人工序列()
<400> 20
ctacgtgtaa ggcatacctg ccagctttcg ttgttgactc gacgg 45
<210> 21
<211> 45
<212> DNA
<213> 人工序列()
<400> 21
gctgtgttcc acttcattct cctggatcca acagagatgc cttca 45
<210> 22
<211> 45
<212> DNA
<213> 人工序列()
<400> 22
tgttaccgtg ggaatgaatc cttagattca gaccgtctca tgcaa 45
<210> 23
<211> 45
<212> DNA
<213> 人工序列()
<400> 23
tcctcgtgca gtgtcaagag atccagtaga agtccgacaa cgtca 45
<210> 24
<211> 45
<212> DNA
<213> 人工序列()
<400> 24
gttgaatgag cctactgggt cctcgagcct ctcattgtcc gttct 45
<210> 25
<211> 45
<212> DNA
<213> 人工序列()
<400> 25
tctcggagat agttctcact gctgtggctt gatctaggta aggtc 45
<210> 26
<211> 45
<212> DNA
<213> 人工序列()
<400> 26
tgagagacaa gattgttcgt ggacaagaaa caggatgaca gaacc 45
<210> 27
<211> 15
<212> DNA
<213> 人工序列()
<400> 27
atcgcctacc gtgac 15
<210> 28
<211> 22
<212> DNA
<213> 人工序列()
<400> 28
tttctgttgg tgctgatatt gc 22
<210> 29
<211> 22
<212> DNA
<213> 人工序列()
<400> 29
acttgcctgt cgctctatct tc 22
<210> 30
<211> 24
<212> DNA
<213> 人工序列()
<400> 30
aagaaagttg tcggtgtctt tgtg 24
<210> 31
<211> 24
<212> DNA
<213> 人工序列()
<400> 31
gagtcttgtg tcccagttac cagg 24
<210> 32
<211> 24
<212> DNA
<213> 人工序列()
<400> 32
gtttcatcta tcggagggaa tgga 24
<210> 33
<211> 24
<212> DNA
<213> 人工序列()
<400> 33
ttcggattct atcgtgtttc ccta 24
<210> 34
<211> 24
<212> DNA
<213> 人工序列()
<400> 34
cttgtccagg gtttgtgtaa cctt 24
<210> 35
<211> 24
<212> DNA
<213> 人工序列()
<400> 35
ttctcgcaaa ggcagaaagt agtc 24
<210> 36
<211> 24
<212> DNA
<213> 人工序列()
<400> 36
gtgttaccgt gggaatgaat cctt 24
<210> 37
<211> 24
<212> DNA
<213> 人工序列()
<400> 37
ttcagggaac aaaccaagtt acgt 24
<210> 38
<211> 24
<212> DNA
<213> 人工序列()
<400> 38
aactaggcac agcgagtctt ggtt 24
<210> 39
<211> 24
<212> DNA
<213> 人工序列()
<400> 39
aagcgttgaa acctttgtcc tctc 24
<210> 40
<211> 103
<212> DNA
<213> 人工序列()
<400> 40
aagaaagttg tcggtgtctt tgtgttctgt tggtgctgat attgcccgac ttccgtacaa 60
caaccgaacc tttgaatcag aagtgcaact ttcccacagg tag 103
<210> 41
<211> 103
<212> DNA
<213> 人工序列()
<400> 41
gagtcttgtg tcccagttac caggttctgt tggtgctgat attgcccgac ttccgtactg 60
gactttggta acttcctgcg tcggatgaac ataggatagc gat 103
<210> 42
<211> 103
<212> DNA
<213> 人工序列()
<400> 42
gtttcatcta tcggagggaa tggattctgt tggtgctgat attgcccgac ttccgtacca 60
ggttactcct ccgtgagtct gaacggtatg tcgagttcca gga 103
<210> 43
<211> 103
<212> DNA
<213> 人工序列()
<400> 43
ttcggattct atcgtgtttc cctattctgt tggtgctgat attgcccgac ttccgtacct 60
acgtgtaagg catacctgcc agctttcgtt gttgactcga cgg 103
<210> 44
<211> 103
<212> DNA
<213> 人工序列()
<400> 44
cttgtccagg gtttgtgtaa ccttttctgt tggtgctgat attgcccgac ttccgtacgc 60
tgtgttccac ttcattctcc tggatccaac agagatgcct tca 103
<210> 45
<211> 103
<212> DNA
<213> 人工序列()
<400> 45
ttctcgcaaa ggcagaaagt agtcttctgt tggtgctgat attgcccgac ttccgtactg 60
ttaccgtggg aatgaatcct tagattcaga ccgtctcatg caa 103
<210> 46
<211> 103
<212> DNA
<213> 人工序列()
<400> 46
gtgttaccgt gggaatgaat ccttttctgt tggtgctgat attgcccgac ttccgtactc 60
ctcgtgcagt gtcaagagat ccagtagaag tccgacaacg tca 103
<210> 47
<211> 103
<212> DNA
<213> 人工序列()
<400> 47
ttcagggaac aaaccaagtt acgtttctgt tggtgctgat attgcccgac ttccgtacgt 60
tgaatgagcc tactgggtcc tcgagcctct cattgtccgt tct 103
<210> 48
<211> 103
<212> DNA
<213> 人工序列()
<400> 48
aactaggcac agcgagtctt ggttttctgt tggtgctgat attgcccgac ttccgtactc 60
tcggagatag ttctcactgc tgtggcttga tctaggtaag gtc 103
<210> 49
<211> 103
<212> DNA
<213> 人工序列()
<400> 49
aagcgttgaa acctttgtcc tctcttctgt tggtgctgat attgcccgac ttccgtactg 60
agagacaaga ttgttcgtgg acaagaaaca ggatgacaga acc 103
<210> 50
<211> 12
<212> DNA
<213> 人工序列()
<400> 50
ggtgctgtta ac 12
<210> 51
<211> 12
<212> DNA
<213> 人工序列()
<400> 51
gtacggaagt cg 12