qPCR原理及流程(实时荧光定量PCR原理及RT)

一、qPCR简介

qPCR全称quantitative polymerase chain reaction,又称为实时荧光定量PCR。其在PCR技术的基础上,通过合适的探针和荧光染料,能够实时监测PCR扩增过程中特定DNA序列的数量,从而达到定量的目的。与传统的末端定量PCR不同,qPCR可以将扩增产物和核酸浓度呈线性关系表示出来,因此qPCR在病原体检测、基因表达分析、药物筛选等领域有着广泛的应用。

二、qPCR工作原理

qPCR首先进行反转录转录,将RNA保留信息在cDNA中。随后qPCR利用特定引物和探针选择性扩增和检测靶标DNA序列,通过荧光染料和荧光信号检测仪器实时监测扩增曲线。PCR扩增曲线反映了反应混合物中特定DNA序列的数目随时的变化情况。荧光信号数目与PCR反应混合物中目标DNA的浓度呈正相关,当达到特定阈值时,计算机软件自动计算出模板的初始数量。

三、qPCR流程

qPCR 反应分为三个主要步骤 – 初始变性、循环扩增、终止扩增。

1. 初始变性

PCR反应需要一个很高的起始温度,以使DNA变性并解开双链使其成为单链以便配对。该步骤常常需要95°C的高温,时间通常为30-60秒。

2. 循环扩增

循环扩增过程包括了两个步骤:试剂的退火和DNA合成。在第一个循环开始之前,qPCR反应中添加了起始量的引物和探针。然后,PCR仪会将反应混合物混合热过冷,引物和探针在此温度下与靶标DNA互相配对。该反应通常需要65-72°C的温度,时间通常为15-60秒。此后,PCR温度会升高至72°C,此时聚合酶将扩增法定DNA区段。

3. 终止扩增

一旦PCR扩增达到了自己规定的扩增周期数,PCR反应就会停止。因此,通常需要实时监测PCR反应飞行,并计算其浓度。在PCR反应结束时,荧光信号数达到特定水平,检测器会确定靶标DNA区段的扩增程度。如果荧光信号超过设定的阈值,PCR扩增被认为是成功的,并且相应的数据便会在设备显示屏幕上读取。

四、示例代码

1. PCR反应参数设置

denature_temp = 95 # 初始变性
anneal_temp = 60 # 退火
extension_temp = 72 # 延伸
cycle_number = 30 # PCR扩增周期

2. 引物和探针设计

# 引物
forward_primer = 'ACCTCCAACAGGGTCAGAGCG' # 正向引物
reverse_primer = 'ATTGCCACAGGATTCCAACGA' # 反向引物

# 探针
probe_seq = 'FAM-CCGAAGTTTCTTGTGCCCGTCCTCAGGT-TAMRA' # 双探针标记

3. 反转录转录

# 制备反转录反应体系
def prepare_rt_reaction(rna, rt_enzyme, rt_buffer, rt_primer, dntp_mix):
    reaction = "" # 反转录反应品体系
    # 添加RNA
    reaction += f"RNA: {rna}
" # 添加rt酶 reaction += f"RT Enzyme: {rt_enzyme}
" # 添加rt缓冲液 reaction += f"RT Buffer: {rt_buffer}
" # 添加rt引物 reaction += f"RT Primer: {rt_primer}
" # 添加dntp混合物 reaction += f"dNTP Mix: {dntp_mix}
" return reaction # 制备反转录反应体系 rt_reaction = prepare_rt_reaction('RNA Sample', 'RT Enzyme', 'RT Buffer', 'RT Primer', 'dNTP Mix')

4. qPCR实时监测

# 制备qPCR反应体系
def prepare_pcr_reaction(template, forward_primer,
                         reverse_primer, probe,
                         pcr_enzyme, pcr_buffer):
    reaction = "" # PCR反应体系
    # 添加模板
    reaction += f"Template: {template}
" # 添加pcr缓冲液 reaction += f"PCR Buffer: {pcr_buffer}
" # 添加pcr酶 reaction += f"PCR Enzyme: {pcr_enzyme}
" # 添加引物 reaction += f"Forward Primer: {forward_primer}
" reaction += f"Reverse Primer: {reverse_primer}
" # 添加探针 reaction += f"Probe: {probe}
" return reaction # 制备qPCR反应体系 pcr_reaction = prepare_pcr_reaction('cDNA Sample', forward_primer, reverse_primer, probe_seq, 'PCR Enzyme', 'PCR Buffer') # 实时监测qPCR def run_qpcr(reaction, denature_temp, anneal_temp, extension_temp, cycle_number): reaction = f"{reaction}
" # qPCR反应体系 reaction += f"
PCR Cycle数: {cycle_number}
" # 反应周期数 for i in range(cycle_number): # 初始变性 reaction += f"
Denature {i + 1}: {denature_temp}°C, 30s
" # 退火 reaction += f"Anneal{i + 1}: {anneal_temp}°C, 15s
" # 延伸 reaction += f"Extension{i + 1}: {extension_temp}°C, 45s
" return reaction # 执行qPCR反应 pcr_results = run_qpcr(pcr_reaction, denature_temp, anneal_temp, extension_temp, cycle_number)

Published by

风君子

独自遨游何稽首 揭天掀地慰生平