具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在不存在任何外部干扰因素的情况下,PCR仪器在对含有目标靶基因的待测样本运行PCR扩增实验时,一定会生成如图1所示的标准扩增曲线(包含基线期、指数增长期、线性增长期和平台期),从而反映给操作人员该待测样本有扩增产物生成、含有目标靶基因的信息。但实际情况是,PCR仪器在对待测样本运行PCR扩增实验时,可能会出现各种外部干扰因素,例如温度变化对PCR仪器的光学通道的性能产生影响,导致检测到的荧光值存在误差,以及PCR仪器内部零部件相对位置发生错位引起检测到的荧光值存在误差等,从而会生成各种类型的扩增曲线,对这些形态各异的扩增曲线进行扩增有效性判定的难度过高,现有的判定方法容易出现错判的问题。
发明人通过大量实验积累了各种类型的扩增曲线,并对这些扩增曲线进行归纳概括,发现这些扩增曲线存在的共性是,无论扩增曲线怎么变化,一定会包含指数增长期,但并不一定存在标准的基线期、线性增长期和平台期,发明人通过找出扩增曲线的共性特征-即,存在指数增长期且指数增长期满足一定条件,因此提出了一种新的PCR扩增曲线有效扩增的实时判定方法,核心在于对扩增曲线进行共性特征搜寻,并给出限定条件,当满足限定条件时,则可以判定该扩增曲线为有效扩增曲线。
应注意的是,现有的判定方法均为终点判定法,也就是PCR扩增实验结束后进行判定,而本申请的判定方法为实时判定法,在PCR扩增实验进行过程中就可进行判定。
图2为本发明实施例中PCR扩增曲线有效扩增的实时判定方法的流程图,包括:
步骤201,在PCR扩增实验进行中实时获取荧光值,将PCR扩增实验开始时刻至当前时刻获取的所有荧光值形成初始数据包;
步骤202,在初始数据包中荧光值数量达到第一阈值时,确定初始数据包为处理数据包;
步骤203,将处理数据包中的所有荧光值在坐标系中描点连线,形成初始线,其中坐标系的横坐标为循环数,纵坐标为荧光值;
步骤204,对初始线进行平滑处理,获得平滑线;
步骤205,对平滑线进行求导分析,识别处理数据包中的扩增区间,形成扩增曲线,所述扩增区间包括连续的循环数区间,循环数区间包括左端循环数和右端循环数,且左端循环数小于右端循环数;
步骤206,根据左端循环数和右端循环数,判断扩增曲线的有效性,获得判断结果。
本发明实施例中,可以在PCR扩增实验进行中判定,及时给出判定结果,还降低了错判、漏判的概率,对较难识别判定的扩增曲线也可以给出准确的判定结果,判定结果的准确性得到提升。下面对每个步骤进行详细介绍。
在步骤201中,在PCR扩增实验进行中实时获取荧光值,将PCR扩增实验开始时刻至当前时刻获取的所有荧光值形成初始数据包;
在步骤202中,在初始数据包中荧光值数量达到第一阈值(例如8)时,确定初始数据包为处理数据包;
参见图3,在将PCR扩增实验开始时刻至当前时刻获取的所有荧光值形成初始数据包之后,还包括:
步骤301,在初始数据包中荧光值数量未达到第一阈值时,继续获取荧光值;
步骤302,在初始数据包中荧光值数量超过第一阈值时,剔除循环数靠前的对应的荧光值,保留循环数靠后的对应的荧光值形成处理数据包,使处理数据包中的荧光值数量保持在第一阈值,形成处理数据包。
在步骤203中,将处理数据包中的所有荧光值在坐标系中描点连线,形成初始线,其中坐标系的横坐标为循环数,纵坐标为荧光值;
在步骤204中,对初始线进行平滑处理,获得平滑线;
在一实施例中,对初始线进行平滑处理,获得平滑线,包括:
通过avitzky-Golay 滤波器或通过插值法,对初始线进行平滑处理,获得平滑线。
具体实施时,优选的为插值法平滑处理。
在步骤205中,对平滑线进行求导分析,识别处理数据包中的扩增区间,形成扩增曲线,所述扩增区间包括连续的循环数区间,循环数区间包括左端循环数和右端循环数,且左端循环数小于右端循环数;
参见图4,对平滑线进行求导分析,识别处理数据包中的扩增区间,包括:
步骤401,对平滑线进行一阶求导生成一阶导线;
步骤402,判断一阶导线的纵坐标是否存在负值;
步骤403,若存在负值则中止处理数据包的处理,继续获取荧光值,形成一阶导线;
步骤404,若不存在负值则对一阶导线进行二阶求导,生成二阶导线;
步骤405,判断二阶导线的纵坐标中是否存在负值;
步骤406,若存在负值则中止处理数据包的处理,继续获取荧光值,形成二阶导线;
步骤407,若不存在负值则将处理数据包记作扩增区间。
在步骤206中,根据左端循环数和右端循环数,判断扩增曲线的有效性,获得判断结果。
参见图5,根据左端循环数和右端循环数,判断扩增曲线的有效性,获得判断结果,包括:
步骤501,在左端循环数大于等于第二阈值时,在初始线中获取左端循环数对应的第一荧光值RnL和右端循环数对应的第二荧光值RnR;
步骤502,根据第一荧光值和第二荧光值,计算扩增区间中荧光值的增量值RnR-RnL及增量百分比(RnR-RnL )/RnL;
步骤503,在增量值大于增量阈值(例如RnD=100~150),且增量百分比大于增量百分比阈值(Rnp=0.02~0.05),确定扩增曲线为有效扩增曲线;否则判断PCR扩增实验是否结束;
步骤504,若结束,则输出扩增曲线为无效扩增曲线;
步骤505,若未结束,继续获取荧光值,形成扩增曲线后计算扩增区间中荧光值的增量值及增量百分比。
参见图6,在一实施例中,根据左端循环数和右端循环数,判断扩增曲线的有效性,获得判断结果,包括:
步骤601,在左端循环数小于第二阈值时,判断PCR扩增实验是否结束;
步骤602,若结束,则输出扩增曲线为无效扩增曲线;
步骤603,若未结束,继续获取荧光值,形成扩增曲线。
在确定扩增曲线为有效扩增曲线之后,还可以计算该有效扩增曲线的Cq值,Cq值是指扩增曲线与阈值线相交处的 PCR 循环数(如图7所示),阈值线是指PCR仪的光学检测通道的检测器刚开始检测到的真实荧光值,Cq值表明从待测样本中检测到真实荧光值需要多少个反应循环,Cq值通常为指数扩增期刚开始时的循环数。
计算有效扩增曲线的Cq值的步骤包括:
对二阶导线进行多倍(例如100倍)插值处理,生成插值曲线;100倍插值处理是指,在二阶导线的相邻的两个循环数之间根据该区间的曲线变化趋势生成100个中间数,并将这100个数插入该区间,并与该区间的原先两个端值共同组成插值曲线;
对插值曲线进行平滑处理,平滑处理可以是通过avitzky-Golay 滤波器实现平滑处理,生成平滑插值曲线;
对平滑插值曲线进行遍历搜寻,寻找平滑插值曲线中峰值所对应的循环数,该循环数即为Cq值。
下面给出一个具体的实施例来说明本发明提出的方案的创造性。
S1:在PCR扩增实验进行中实时获取荧光值。
S2:实时获取的所有荧光值形成初始数据包,并判断初始数据包中荧光值数量是否等于8,
若小于8则继续执行步骤S1;
若等于8则记作处理数据包并执行步骤S3;
若大于8则剔除循环数靠前的对应的荧光值,保留循环数靠后的对应的荧光值形成处理数据包,使处理数据包中的荧光值数量保持在8随后对处理数据包执行步骤S3;
例如,PCR扩增实验进行到第5个循环时,初始数据包中的荧光值为(Rn1,Rn2,Rn3,Rn4,Rn5)数量还未达到8,(Rn1为PCR扩增实验循环数为1对应的荧光值,Rn2为PCR扩增实验循环数为2对应的荧光值,Rn3为PCR扩增实验循环数为3对应的荧光值,Rn4为PCR扩增实验循环数为4对应的荧光值,Rn5为PCR扩增实验循环数为5对应的荧光值),此时继续获取荧光值,直到初始数据包中累计了8个荧光值(Rn1,Rn2,Rn3,Rn4,Rn5,Rn6,Rn7,Rn8),则将初始数据包记作处理数据包并对处理数据包进行步骤S3处理;随着PCR扩增实验进行到第9个循环,初始数据包中的荧光值为(Rn1,Rn2,Rn3,Rn4,Rn5,Rn6,Rn7,Rn8,Rn9),对初始数据包处理形成处理数据包(Rn2,Rn3,Rn4,Rn5,Rn6,Rn7,Rn8,Rn9),对处理数据包进行步骤S3处理;
随着PCR扩增实验的进行,会生成很多处理数据包,对每个处理数据包都执行步骤S2之后的处理。
直到累计8个荧光值后,才对所获取到的荧光值进行后续的数据处理分析,判断待测样本是否有扩增产物,判断扩增曲线是否为有效扩增,这是因为当荧光值数量过少时,无论任何判定方法都无法做出准确判断。
S3:将处理数据包中的所有荧光值在坐标系中描点连线,所形成的线记作初始线,其中坐标系的横坐标为循环数,纵坐标为荧光值。
S4:对步骤S3中生成的初始线进行平滑处理,平滑处理可以是通过avitzky-Golay滤波器实现平滑处理或通过插值法平滑处理,优选的为插值法平滑处理,平滑处理后的线记作平滑线;
这是因为在步骤3中得到的初始线为生硬的折线,背景噪声大,背景噪声大是指虽然初始线最真实的反映了随着扩增实验的进行荧光值的变化,但是整个初始线看上去毛刺过多,上下波动过多,不利于后续的数据快速分析,通过对初始线进行平滑处理可以实现:一方面保留了随着扩增实验的进行荧光值的变化趋势,另一方面使初始线变得更加顺滑,减少了背景噪声,方便后续的数据分析。
S5:对平滑线进行一阶求导生成一阶导线;
一阶导线反映了随着扩增实验的进行,荧光值是逐渐增大,还是逐渐减小,还是维持不变,应注意的是在未出现外部干扰因素的情况下,荧光值是不会出现逐渐减小的状况。
S6:判断一阶导线的纵坐标是否存在负值,
若存在负值则中止该处理数据包的处理,返回执行步骤S1-S6;
若不存在负值则执行步骤S7;
一阶导线中纵坐标只要存在负值,证明在该阶段荧光值逐渐减小,这种情况是仪器暂时性故障或其他外部干扰因素引起的异常荧光值,因此对该处理数据包直接中止处理,默认在该阶段荧光值未发生变化,忽略这种异常荧光值可以避免非必要的分析,提高判定结果的准确性,仅对荧光值正常的部分继续进行分析判定。
S7:对一阶导线进行二阶求导,生成二阶导线。
S8:判断二阶导线的纵坐标中是否存在负值,
若存在负值则中止该处理数据包的处理,返回执行步骤S1-S8;
若不存在负值则执行步骤S9;
二阶导线反映了荧光值的增长速率,是增速不变,还是增速加快,还是增速减缓,若二阶导线的纵坐标中不存在负值,证明在该阶段,荧光值呈现指数增大,初步符合有效扩增的特征;若存在负值,证明在该阶段,荧光值未呈现指数增大,不符合有效扩增的特征,则将中止该处理数据包的继续处理,可以避免非必要的分析,提高判定结果的准确性,仅对荧光值正常的部分继续进行分析判定。
S9:将步骤S8中不存在负值的该处理数据包记作扩增区间,扩增区间包括连续循环数区间,循环数区间包括左端循环数和右端循环数,左端循环数小于右端循环数。
S10:判断左端循环数是否大于等于3,
若大于等于3则执行步骤S11;
若小于3则进一步判断PCR扩增实验是否结束,若结束,则输出该扩增曲线为无效扩增,记作AmpFalse,程序结束;若未结束,则返回执行步骤S1-S10;
循环数区间例如(8,15)说明在第8个反应循环到第15个反应循环间,荧光值呈指数增大,8为左端循环数,15为右端循环数;
当左端循环数小于3时证明在PCR扩增实验刚开始荧光值就呈现指数增大,这种现象也是异常状况,因此需要忽略。
S11:在初始线中获取左端循环数对应的荧光值RnL和右端循环数对应的荧光值RnR,计算RnR-RnL,也就是计算扩增区间中荧光值的增量大小;
并计算增量百分比:(RnR-RnL )/RnL。
S12:判断RnR-RnL>RnD?(RnD=100~150),且(RnR-RnL )/RnL>Rnp?(Rnp=0.02~0.05);
若是,则输出该扩增曲线为有效扩增,记作AmpTrue,程序结束;
若否,则判断PCR扩增实验是否结束,若结束,则输出该扩增曲线为无效扩增,记作AmpFalse,程序结束;若未结束,则返回执行步骤S1-S12。
当初步确定了扩增区间后,需进一步判断,在该扩增区间内荧光值的增量大小RnD,以及增量百分比Rnp(也就是增长速率)是否满足对应阈值,该对应阈值是大量实验所归纳出的数据,当满足后则可以判定该扩增曲线为有效扩增。
应注意上述方法是在高频地、不断地重复运行的,因为扩增实验在不断进行,荧光值的数量在不断变化,因此随着荧光值数量的不断刷新,上述方法也在不断运行,直至在实验进行到某一阶段时可以完成扩增曲线有效性判定并结束判定程序,同时可结束扩增实验,降低实验时间,提高效率;若直至扩增实验结束,上述判定程序仍未得出有效性判定,则证明为无效扩增。通过本方法,可以在扩增实验进行过程中就进行有效性判定,大大加快了判定结果产出的速率,同时本方法对扩增曲线的指数期进行精确判定,避免了对各种异常荧光值的无差别分析,提高了判定结果的准确性以及提升了普适性,普适性是指本方法可以适用对各种异形扩增曲线的实时判定。
综上所述,在本发明实施例提出的方法中,在PCR扩增实验进行中实时获取荧光值,将PCR扩增实验开始时刻至当前时刻获取的所有荧光值形成初始数据包;在初始数据包中荧光值数量达到第一阈值时,确定初始数据包为处理数据包;将处理数据包中的所有荧光值在坐标系中描点连线,形成初始线,其中坐标系的横坐标为循环数,纵坐标为荧光值;对初始线进行平滑处理,获得平滑线;对平滑线进行求导分析,识别处理数据包中的扩增区间,形成扩增曲线,所述扩增区间包括连续的循环数区间,循环数区间包括左端循环数和右端循环数,且左端循环数小于右端循环数;根据左端循环数和右端循环数,判断扩增曲线的有效性,获得判断结果。在上述过程中,可以在PCR扩增实验进行中判定,及时给出判定结果,还降低了错判、漏判的概率,对较难识别判定的扩增曲线也可以给出准确的判定结果,判定结果的准确性得到提升。
本发明实施例中还提供了一种PCR扩增曲线有效扩增的实时判定装置,如下面的实施例所述。由于该装置解决问题的原理与PCR扩增曲线有效扩增的实时判定方法相似,因此该装置的实施可以参见PCR扩增曲线有效扩增的实时判定方法的实施,重复之处不再赘述。
图8为本发明实施例中PCR扩增曲线有效扩增的实时判定装置的示意图,包括:
荧光值实时获取模块801,用于在PCR扩增实验进行中实时获取荧光值,将PCR扩增实验开始时刻至当前时刻获取的所有荧光值形成初始数据包;
处理数据包确定模块802,用于在初始数据包中荧光值数量达到第一阈值时,确定初始数据包为处理数据包;
初始线形成模块803,用于将处理数据包中的所有荧光值在坐标系中描点连线,形成初始线,其中坐标系的横坐标为循环数,纵坐标为荧光值;
平滑线形成模块804,用于对初始线进行平滑处理,获得平滑线;
扩增曲线形成模块805,用于对平滑线进行求导分析,识别处理数据包中的扩增区间,形成扩增曲线,所述扩增区间包括连续的循环数区间,循环数区间包括左端循环数和右端循环数,且左端循环数小于右端循环数;
扩增曲线有效性判断模块806,用于根据左端循环数和右端循环数,判断扩增曲线的有效性,获得判断结果。
在一实施例中,处理数据包确定模块具体用于:
在初始数据包中荧光值数量未达到第一阈值时,继续获取荧光值;
在初始数据包中荧光值数量超过第一阈值时,剔除循环数靠前的对应的荧光值,保留循环数靠后的对应的荧光值形成处理数据包,使处理数据包中的荧光值数量保持在第一阈值,形成处理数据包。
在一实施例中,平滑线形成模块具体用于:
通过avitzky-Golay 滤波器或通过插值法,对初始线进行平滑处理,获得平滑线。
在一实施例中,扩增曲线形成模块具体用于:
对平滑线进行一阶求导生成一阶导线;
判断一阶导线的纵坐标是否存在负值;
若存在负值则中止处理数据包的处理,继续获取荧光值,形成一阶导线;
若不存在负值则对一阶导线进行二阶求导,生成二阶导线;
判断二阶导线的纵坐标中是否存在负值;
若存在负值则中止处理数据包的处理,继续获取荧光值,形成二阶导线;
若不存在负值则将处理数据包记作扩增区间。
在一实施例中,扩增曲线有效性判断模块具体用于:
在左端循环数大于等于第二阈值时,在初始线中获取左端循环数对应的第一荧光值和右端循环数对应的第二荧光值;
根据第一荧光值和第二荧光值,计算扩增区间中荧光值的增量值及增量百分比;
在增量值大于增量阈值,且增量百分比大于增量百分比阈值,确定扩增曲线为有效扩增曲线;否则判断PCR扩增实验是否结束;
若结束,则输出扩增曲线为无效扩增曲线;
若未结束,继续获取荧光值,形成扩增曲线后计算扩增区间中荧光值的增量值及增量百分比。
在一实施例中,扩增曲线有效性判断模块具体用于:
在左端循环数小于第二阈值时,判断PCR扩增实验是否结束;
若结束,则输出扩增曲线为无效扩增曲线;
若未结束,继续获取荧光值,形成扩增曲线。
综上所述,在本发明实施例提出的装置中,在PCR扩增实验进行中实时获取荧光值,将PCR扩增实验开始时刻至当前时刻获取的所有荧光值形成初始数据包;在初始数据包中荧光值数量达到第一阈值时,确定初始数据包为处理数据包;将处理数据包中的所有荧光值在坐标系中描点连线,形成初始线,其中坐标系的横坐标为循环数,纵坐标为荧光值;对初始线进行平滑处理,获得平滑线;对平滑线进行求导分析,识别处理数据包中的扩增区间,形成扩增曲线,所述扩增区间包括连续的循环数区间,循环数区间包括左端循环数和右端循环数,且左端循环数小于右端循环数;根据左端循环数和右端循环数,判断扩增曲线的有效性,获得判断结果。在上述过程中,可以在PCR扩增实验进行中判定,及时给出判定结果,还降低了错判、漏判的概率,对较难识别判定的扩增曲线也可以给出准确的判定结果,判定结果的准确性得到提升。本发明实施例还提供一种计算机设备,图9为本发明实施例中计算机设备的示意图,所述计算机设备900包括存储器910、处理器920及存储在存储器910上并可在处理器920上运行的计算机程序930,所述处理器920执行所述计算机程序930时实现上述PCR扩增曲线有效扩增的实时判定方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述PCR扩增曲线有效扩增的实时判定方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述PCR扩增曲线有效扩增的实时判定方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。