CRISPR文库筛选脱靶扩增子测序

来源:CRISPR文库筛选脱靶扩增子测序(DNA Lab Space 实验教程)| 编译:DNA Lab Space

📎 相关工具:代谢通路设计

你盯着测序报告里的比对率掉到70%,或者非靶位点reads数高得离谱,心里大概在想:这是sgRNA设计的问题,还是建库流程翻了车?别急着重做实验,CRISPR文库筛选的扩增子测序脱靶,大概率绕不开PCR扩增偏差、接头污染、参考序列比对这几道坎。本文按错误优先级和实验流程顺序,给你一条完整的排查路径,从移液器刻度一路追到生信参数,每步都带具体验证方法。

教程配图2:CRISPR文库筛选脱靶扩增子测序 排查流程示意
▲ 教程配图2:CRISPR文库筛选脱靶扩增子测序 排查流程示意

第一步:快速排查低级错误

新手在CRISPR文库扩增子测序上栽的跟头,往往不是策略问题,是手抖问题。手动操作时代,太多低级错误起初不会暴露,直到测序深度分布呈现灾难性不均衡。先按这三项来——

1. sgRNA文库模板浓度太低或者体系没混匀。你如果拿10 ng以下PCR模板去扩增sgRNA区域,PCR duplicate rate能冲到50%以上。解决办法很机械:每次扩增前用Qubit精确定量,按模板量100 ng起跑,分装反应液之前涡旋5秒再瞬时离心。

2. 引物工作液浓度计算错误。100 µM的引物母液,直接加2 µL到50 µL体系,这事干过的请举手。这会让非特异扩增产物几何级数增长。用IDT的稀释计算器复核一遍,工作浓度控制在10 µM,每种引物加0.5–1 µL。

3. PCR循环数取“稳妥值”。有人用28个循环做文库扩增,结果非特异性条带干净得跟说明书一样,但脱靶reads占比高得看不清。循环数超过理论饱和点越多,嵌合体和错误掺入的比例越高。建议先做qPCR测平台期,目标文库浓度若在扩增时达到平台期所需循环数应控制在18–22之间——多出的循环数每增加1轮,脱靶噪音约上升15%–30%。

4. 用了错配的测序接头。P5/P7接头的index序列若与实验设计里的其它批退火互补,会导致样本混合后出现index hopping。用试剂盒配套的接头,别跨批次替换——不是每个接头序列的兼容性都验证过。

这四项检查完,去FastQC翻一眼reads的GC分布和序列重复率——没有异常再进入系统排查。

第二步:分维度系统排查

模块一:sgRNA引物设计缺陷,导致靶位点扩增不出来

现象描述:目标sgRNA区域的reads占比低于30%,其余reads全部分散到非靶标区域,或者整条扩增产物在凝胶上呈大片涂抹状。

原理说明:CRISPR文库构建到扩增子测序之间,经常要经过两轮甚至三轮PCR。只要引物结合位点跨越了sgRNA骨架的茎环结构,或者在编辑位点附近有碱基突变——尤其是发生了HDR修复的样本——聚合酶会在此区域“打滑”,产生错配产物。

解决步骤

1. 用SnapGene或Benchling把sgRNA骨架序列和上下游基因组序列组装成一个完整虚拟载体,把PCR引物精确标注到骨架上,确认正向引物的3'端不要落在可变区上。

2. 检查引物Tm值,两条引物的Tm差距不要超过5°C。建议用NEB Tm Calculator计算并尽量使正向引物Tm保持在60°C±1°C,然后反向引物再调稀释浓度或长度来找平衡点,退火温度你可以在58°C–68°C范围里做温度梯度PCR来验证条带特异性。

3. 如果模板是基因组DNA,而sgRNA靶点分布在GC含量>70%的序列附近,在PCR体系中加终浓度3%–5%的二甲基亚砜(DMSO),并把延伸温度从72°C降到68°C。

验证方法:取PCR产物1 µL加至1%琼脂糖凝胶跑电泳,看目标条带是否单一、亮度是否均一。再取一轮PCR产物稀释100倍后跑qPCR,溶解曲线单一峰形且Tm与理论Tm差别小于0.5°C才算及格。

模块二:PCR引入了嵌合体或等位基因不均衡扩增

现象描述:同一VAF(变异等位基因频率)下,脱靶位点reads比例相对靶位点间歇性漂移,例如对照组样本非预期处也检测到具有显著富集性的reads信号。更有说服力的一个特征是,比对上的reads分布显示两侧侧翼序列的深度发生“断崖式”塌陷,而不是平滑覆盖。

原理说明:文库扩增会改变原始等位基因分布。当文库浓度很低但扩增体积又很大(例如50 µL反应液模拟产物少于100 ng)时,PCR过程会优先扩增短片段或结构更开放的模板。如果模板两端带不同的接头序列,部分模板会在指数扩增阶段发生跳跃扩增,形成嵌合体。

解决步骤

1. 重做建库PCR时把总反应体积从50 µL降低到20 µL,模板投入量按30–100 ng保持恒定,循环数设置18–20轮,这样降低反应体系分散带来的随机引物配对噪音。

2. 使用高保真聚合酶——Q5或KAPA HiFi,在25 µL反应体系里按说明书加1 U,延伸时间按产物长度1 kb/min或30秒/kb计算(若产物小于300 bp可用10秒延伸)。不要用Taq酶,它没有3'→5'校正活性,每2000个碱基就可能错掺一个碱基。

3. PCR完成后立即跑凝胶电泳切胶回收,然后用1.8×Ampure XP磁珠纯化两次,每次用80%乙醇洗磁珠并风干5分钟。

验证方法:加10 ng原始细胞DNA作为spike-in对照,按同样的PCR和建库流程走一遍,看本次扩增测序比对结果中spike-in的Coverage均匀系数是否接近0.9,如果大于0.95可以确认扩增没问题。另一个直观判断是看fastp输出的“duplication rate”:PCR duplicate超过40%则属于扩增或建库的纠错失衡了。

教程配图3:CRISPR文库筛选脱靶扩增子测序 排查流程示意
▲ 教程配图3:CRISPR文库筛选脱靶扩增子测序 排查流程示意

模块三:测序接头和靶位点扩增子产生非特异互补或接头串扰

现象描述:测序下机后I5与I7 index的reads比例接近50:50却没有配对位置,或者R1和R2读段在序列末端出现“同一起始位点延伸出两个不同方向”的局面,这通常会在FastQC里被标记为“overrepresented sequences”。

原理说明:如果PCR引物中含有随机引物序列或与Illumina TruSeq Read 1/Read 2区域有6个碱基以上的互补,那么接头序列本身会作为模板被扩增;还有使用带UDP(unique dual index)但没有兼容任何单一index序列的接头的场景,通过index hopping会污染同批次内相邻样本。

解决步骤

1. 检查扩增引物5'端与Illumina测序引物序列是否存在≥4 bp的3'端互补,把互补区改为部分简并序列或增加8–12碱基的独特分子标识(UMI)区段作为物理间隔。

2. 文库定量后做一次Pippin Prep或低熔点琼脂糖凝胶电泳去除引物二聚体和短于预期长度的片段(例如<200 bp的小片段)。

3. 如果已经测序完成但发现reads尾部含有接头序列,用cutadapt修剪掉3'端接头再重做比对参数比对。

验证方法:取样本文库2 ng进行Sanger测序或用Agilent Bioanalyzer跑高灵敏度DNA芯片,看片段大小是否为单峰(±50 bp范围内),并且建议每个文库跑一个index negative control,确认没有出现index串扰。

模块四:参考序列或比对参数不合理,导致比对错位

现象描述:reads比对率很低(<70%),但FastQC里序列质量很好、GC含量正常——这种情况经常被归结为“参考基因组不完整”,事实上更大的可能是你在比对这步用了默认参数但没有把sgRNA文库本身整合到参考序列或者没有设置 --very-sensitive-local 之类参数。

原理说明:CRISPR扩增子测序的产物只有150–300 bp,而基因组Reference通常包含全套染色单体。如果用BWA-MEM默认参数,短插入片段可能被拆分到多个位置,产生大量MAPQ为0的序列。而在比对时把sgRNA的骨架序列作为附加contig加入参考基因组的做法,通常能极高地提升mapping特异性。

解决步骤

1. 构建专用参考索引:把目标sgRNA序列(约20 bp)和骨架序列(约120 bp)拼接成一条参考contig,再用Bowtie2或BWA建索引,比对的种子参数设为 -k 2 --score-min C,0,-0.3。

2. 用 `-N 1` 或 `--bam` 选项对snps/indels设置宽容度并用 `-X` 设置最大插入片段长度为300 bp。

3. 在比对结果基础上,用`bamutils clip`把reads的左端或右端各剪切3个碱基,避免因引物区域的碱基错配或非模板碱基添加干扰核心区间。

验证方法:拿一条已知sgRNA序列的正向扩增子reads做Blat验证比对位置是否与靶点相邻。然后把同样的reads用STAR和Hisat2各跑一遍,如果不同比对工具的比对区间不一致,说明参考有拼接问题;如果一致但位于非预期的染色体位置,请核查脱靶位点是否由序列同源性造成——这种情况要交给下游gRNA设计分析。

第三步:进阶疑难问题

疑难1:扩增子覆盖VAF呈现“双峰”模式,但库质量检测都合格。

这是早期重亚硫酸盐文库或FFPE样本造成的。降解DNA起始,或者来自原代细胞的起始DNA里存在碎片化末端,导致扩增子起点从片段真实起始区偏移。这种情况下拼接出的sgRNA序列出现部分缺失,但只要比对时把参考序列的两侧侧翼各延伸30 bp,同时重新设计PCR引物,将正向引物和反向引物的结合位置分别往两端外移15–25 bp——物理上增加侧翼长度,VAF分布会明显回归。

疑难2:U6启动子区域序列内部出现未知的重组事件。

CRISPR文库整合到U6启动子下游的区域,在感染细胞时会经历DNA修复,经常在切割位点处产生可变长度的碱基插入或缺失。你比对时如果只拿原始sgRNA序列做搜索,未包含±5 bp的Indel窗口,那么真实存在的这些编辑事件会被全部当作“脱靶信号”。解决思路:把脱靶分析区域的边界从严格20 bp扩展为30 bp,并允许1 bp插入/缺失,再做一次新比对,事件率通常下降40–60%。

疑难3:sgRNA文库的坐标序列与参考基因组的链方向错位。

CRISPR文库构建到载体时,sgRNA可以是正向或者反向插入。扩增子测序得到的reads链特异性如果与预期完全相反,测序你会在比对时看到所有reads在参考反向链上。把参考序列的反向互补序列构建一个虚拟参考,用 `--norc` 限制比对到正链后重测一遍,比对率一般能回升15个百分点以上。

避坑总结 + 实操建议

1. 扩增子测序脱靶的第一个信号常常不是测序质量,而是PCR产物的凝胶电泳带型分散——宁可多花30分钟摸循环梯度,也别在这步省时间。

2. 引物Tm值、模板浓度、循环数和PCR体积,这四项变量每次实验前写进实验记录,确保和上次一致。所有sgRNA区域如果出现单碱基异常丰度变化,先查原始BAM看链偏置,再定脱靶真伪,这能为你省下大量验证功夫。

3. 在样本与样本间加一个同一批次的阴性对照文库——用没有sgRNA的细胞基因组或一种已知sgRNA序列做一次标准建库,既能作PCR重复率对照,又能监控每次实验的系统稳定性。

日常习惯上,建议你建一份“扩增子测序操作卡”,包含仪器批次、PCR仪升降温速率、磁珠批次和室温条件,贴在台面侧板上——这些不被注意的差异经常能让两次完全相同的方案产出完全不同的脱靶数字。另外,每次下机数据留一份原始fastq的md5校验值,存档无商量,出现任何可疑数据有据可查。

工具引导

脱靶现象追到最后,仍绕不开sgRNA设计本身,例如筛选前先对全基因组范围内的候选位点做一轮off-target评分并选择合适的切割效率。针对文库构建时扩增效率差异导致的等位基因丢失,你也可以用引物设计工具或在线密码子优化页面去避免同源序列陷阱和低复杂度区域。

如果你又怀疑文库构建中的稀有sgRNA序列在PCR扩增中被选择性地丢掉了,注意文库设计阶段要始终把GC含量控制在40%–60%之间。在结果验证层面,建议把脱靶候选sgRNA序列导入在线设计工具检查它们是否需要改变PAM区组成,同时利用蛋白可溶性优化类模块估计是否受到骨架结构影响。出现过多非特异扩增时,可以用引物设计工具重新选择扩增引物,把模板二级结构位点规避掉,总能帮你在后续分析里少几次“假脱靶”预警。

延伸阅读:更多代谢通路设计、多基因组装等合成生物学工具,可访问 DNA Lab Space

📎 相关文章

MALDI质谱峰抑制基质结晶优化 09-12 生物传感器响应漂移参比电极维护 09-12 蛋白冻干塌陷赋形剂配比优化 09-12 毛细管电泳峰形异常缓冲液老化 09-12