MutPrimerDesign:用于人类基因编码区域突变位点的引物设计程序

2020-11-03 10:03曹英豪彭公信
生物信息学 2020年3期
关键词:基因组位点编码

曹英豪,彭公信

(中国医学科学院 基础医学研究所 & 北京协和医学院 基础医学院,北京 100730)

DNA突变不仅是导致生物多样性和生物进化的重要原因之一,同时也与人类的健康和疾病发生有着密切的关系。比如引起肿瘤发生最重要的原癌基因和抑癌基因,其大部分功能与细胞的生长、分裂、错配修复和细胞凋亡等相关。如果这两类基因在蛋白编码区发生突变,则可能导致蛋白质功能的改变或者丧失,造成细胞的非正常生长,从而导致肿瘤的产生。因此,检测基因突变并寻找可用于诊断和治疗的突变位点已经成为肿瘤研究中的常规内容,具有重要的临床和生物学意义[1]。

发生在基因编码区的DNA突变,根据其对蛋白产物的影响可以分为移码突变、非同义突变、同义突变等。其中前两种突变由于引起了蛋白质的序列变化,并可能影响其正常功能的发挥,因此,对这两种突变的检测和研究尤为重要。近年来,以高通量测序技术为主的检测技术得到了迅猛的发展,比如目标区域捕获技术(Panel)、全外显子组测序技术(WES)、全基因组测序技术(WGS)等[2]。尤其是Panel测序技术,通过特异性捕获探针对多个基因目标区域DNA片段进行捕获测序,具有成本低、测序深度高的优势,能够准确给出重要基因的突变信息,在临床上得到了广泛的应用[3-5]。

为了应用于疾病的诊断和治疗,通过测序平台获取的或者文献中已发表的突变信息,需要进一步扩大人群规模来验证该突变的可靠性。利用qPCR及衍生技术检测突变位点,在降低成本的同时又保证其准确性,是一种简单而可行的方法[6-8]。设计引物是qPCR的首要问题,目前已有许多成熟的引物设计软件可以使用。这其中除了Primer3[9]、Oligo[10]等综合性的引物设计软件包之外,还有一些专用的引物设计软件,比如整合了Primer3和BLAST的模板特异性引物设计工具Primer-BLAST[11],突变引物设计工具WASP[12],PrimerX(http://www.bioinformatics.org/primerx/),MutScreener[13],Edesign[14]以及适用于克隆表达载体的PrimerCE[15]等。但由于测序平台的突变检测报告以及文献中给定的突变信息,大部分均是以HGNC(HUGO Gene Nomenclature Committee)[16]的基因名称(Gene Symbol)命名的基因编码区域的相关坐标,因此在设计引物时,这些软件或多或少有些不适用。主要有两个问题:(1)人类基因普遍有多个转录本,需要通过不同的数据库寻找对应的标准转录本序列。(2)由于内含子的影响,对于外显子编码区的坐标,需要根据基因结构进行基因组坐标的手工转换。另外,为了能够进一步直接从扩增子中检测序列是否发生突变,针对突变位点可增加探针序列的设计。

利用Python语言编写了MutPrimerDesign,通过对人类基因组序列数据库以及基因注释信息的解析,可识别多种数据库的基因名称编号,转换基因编码区坐标为基因组坐标。同时,通过对primer3-py(https://github.com/libnano/primer3-py)程序包的整合,可批量设计突变位点附近的引物及探针序列。软件的下载地址为:https://github.com/bioinfo-ibms-pumc/MutPrimerDesign。

1 方 法

MutPrimerDesign的流程软件主要分为三步,第一步接收输入信息,并将基因名称转换为HGNC中标准基因名称,同时获取标准转录本以及相对应的RefSeq[17]编号。在检测输入数据时,MutPrimerDesign可以接收三种不同的基因命名,包括基因名称、Ensembl编号或者HGNC编号。第二步转换编码区坐标为基因组坐标,并提取突变位点附近基因组序列。在转换坐标前,通过对人类基因组的注释文件进行解析,构建所有基因对应的基因结构特征,并根据该结构,将输入的标准转录本的编码区坐标,转换为对应基因组上的坐标,并进一步利用python的BioSeq程序包对人类基因组序列进行解析,提取相应的扩增子序列(Amplicon)。第三步调用python的primer3-py程序包,进行引物设计,输出报告。为了方便在引物扩增序列的同时能够区分野生型和突变型位点,软件中加入了探针序列的设计,并默认设定探针序列的Tm值比引物序列的Tm值低5度。具体流程(见图1)。

1.1 数据源下载及安装

通过git命令可以克隆下载软件全部代码,命令如下:

git clone https://github.com/bioinfo-ibms-pumc/MutPrimerDesign.git

下载后的目录中主要包括4个文件,分别为MutPrimerDesign.py,gffLoader.py,fastaLoc.py和namedb文件。主程序MutPrimerDesign.py用于接收基因突变信息并设计引物,gffLoader.py用于解析基因注释文件,fastaLoc.py用于提取基因组序列,namedb文件为基因名称数据库。MutPrimerDesign依赖BioPython、Pandas、Primer3-Py数据包,这些python依赖包均可使用pip命令进行标准安装。依赖包的安装命令如下:

pip3 install biopython pandas primer3-py

另外,由于HGNC中基因名称对应于RefSeq的标准序列,因此,为了确保序列坐标的准确性,MutPrimerDesign目前只接收由NCBI网址提供的人类基因组序列文件以及相对应版本的基因注释文件。人类GRCh38版本基因组及基因注释文件下载及解压缩命令如下:

wget-c ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.39_GRCh38.p13/GCF_000001405.39_GRCh38.p13_genomic.fna.gz

wget-c ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.39_GRCh38.p13/GCF_000001405.39_GRCh38.p13_genomic.gff.gz

gunzip-c GCF_000001405.39_GRCh38.p13_genomic.fna.gz > genome.fa

gunzip-c GCF_000001405.39_GRCh38.p13_genomic.gff.gz > gene.gff

图1 MutPrimerDesign引物设计流程图及原理Fig.1 Flow chart of MutPrimerDesign and its principle

1.2 命令行说明

MutPrimerDesign主要由两部分命令组成,一部分为程序主要参数,包括输入输出以及各种依赖数据库的定义;另一部分为引物参数,主要包括引物的Tm值,长度,GC含量等(见图2)。

图2 MutPrimerDesign的命令行说明截图Fig.2 Screen shot for commands of MutPrimerDesign

MutPrimerDesign接收的输入参数有两种类型。第一种,是“-i”命令,直接接收基因突变信息。每个基因突变的信息分为三个部分,以冒号分开,内容依次分别为基因名称、突变在该基因的CDS区域坐标、突变长度。不同突变信息以逗号隔开,比如“KRAS:24:2,MET:1124:1,EGFR:2573:1”。另一种是“-f”命令,直接接收文本文件。文件中每一行为一个基因突变信息,内容与-i中突变信息格式一致。

MutPrimerDesign除了输入的基因信息外,还需要三个输入文件,分别为基因名称转换文件namedb,基因组序列文件genome.fa以及相对应版本的基因注释文件gene.gff。其中namedb为MutPrimerDesign预处理后的文件,另外两个文件可从NCBI网站上下载解压后得到。

MutPrimerDesign的输出分为三个文本文件,通过“-o”参数来控制。主要包括扩增子序列文件,另外还有一个以“.primer”后缀结尾的引物序列文件,以及一个以“.detail”后缀结尾的详细报告文件。

2 结 果

2.1 不同数据库来源的引物设计举例

经统计,50%的黑色素瘤中原癌基因BRAF均发生了突变,其中90%的突变发生在第600位缬氨酸的位置上[18]。该位点是一个非常重要的免疫检查点,位点的突变会影响肿瘤用药效果。对此,分别使用BRAF基因的基因名称、Ensembl ID号、HGNC ID号作为输入,对其V600突变位点进行引物设计,运行命令如下所示:

(1)python3 MutPrimerDesign.py -g genome.fa -G gene.gff -k namedb -o result.fa -i “BRAF:1799:1”

(2)python3 MutPrimerDesign.py -g genome.fa -G gene.gff -k namedb -o result.fa -i “ENSG00000157764:1799:1” -s ensembl_id

(3)python3 MutPrimerDesign.py -g genome.fa -G gene.gff -k namedb -o result.fa -i “1097:1799:1” -s hgnc_id

BRAF基因编码区第1 799位引物设计的部分结果输出截图(见图3)。输出内容中,每一个扩增子信息以Amplicon开始,后接设计顺序及引物编号,第一行为扩增子编号,第二行包括基因突变位点信息,依次为输入突变信息、基因、Refseq编号、染色体编号、扩增子在基因组上坐标区间、突变位点在基因组上坐标、突变位点在编码区坐标、参考碱基及长度和引物编号。第三行为扩增子长度。第四行到第七行为primer3-py设计的引物及探针序列信息。其中,第四行为根据热力学方法计算引物对整体形成二级结构的可能性以及3’末端形成二级结构的可能性。第五行为5’端引物,主要信息包括:引物序列,引物位置,Tm值,GC含量,引物自身形成二级结构的可能性,3’末端形成二级结构的可能性,形成发夹结构的可能性,3’末端的稳定性(delta G, kcal/mol)。同样,第六行和第七行分别为3’端引物和探针序列信息。第八行为扩增子序列,第九行为引物、探针、突变位点在扩增子中的位置。由图3中可以看出,无论是采用基因名称,Ensembl编号或者HGNC编号,软件均可以完成相同的引物设计。

2.2 批量引物设计举例

Maki-Nevala S等通过对425例非小细胞型肺癌病人样本进行测序,找到了9个复发突变热点[19]。利用MutPrimerDesign的命令行输入“-i”和文件输入“-f”两种方式进行引物设计,引物及探针设计结果(见表1)。运行命令如下所示:

(1)python3 MutPrimerDesign.py -g genome.fa -G gene.gff -k namedb -o lung.fa -i "KRAS:34:2,MET:1124:1,MET:3029:1,EGFR:2573:1,TP53:820:1,PIK3CA:1624:1,EGFR:2235:1,TP53:469:1"

(2)python3 MutPrimerDesign.py -g genome.fa -G gene.gff -k namedb -o lung.fa -f samples.file

2.3 引物重新设计举例

对于已经完成引物设计的基因位点,并且扩增子序列已经保存在result.fa文件中时,如果需要修改引物参数进行重新设计,则可以使用-p参数忽略序列提取过程,仅进行引物重新设计,运行命令如下所示:

(1)python3 MutPrimerDesign.py -g genome.fa -G gene.gff -k namedb -o result.fa -p --primerNum 3 --primer_opt_tm 61 --primer_max_tm 64 --primer_opt_size 23

2.4 软件运行效率测试

MutPrimerDesign在设计引物时消耗内存及计算资源较小,普通的台式机或者笔记本环境下均可以运行。为了测试软件的运行性能和稳定性,以Linux操作系统为例(系统版本:Linux Mint 19.3 Cinnamon;CPU:Intel Core i7-9700;内存:24 GB;存储:1T机械硬盘),采用MutPrimerDesign软件默认参数进行了性能测试:系统开机后,首次完成8个突变位点的引物设计耗时为1 m 33 s。而后当系统自动加载了基因组信息缓存后,无论是多基因还是单基因的100个突变位点,设计引物只需要30 s即可完成。

3 结 论

通过Python,开发了MutPrimerDesign引物设计软件,可专门用于人类基因编码区的突变位点引物设计。通过对基因名称进行解析,MutPrimerDesign将自动选择HGNC给定的标准转录本信息,完成基因编码区坐标到基因组坐标的转换以及基因组序列的提取,从而能够批量、自动化地完成基因编码区突变位点的引物及探针序列的设计。目前软件的不足之处是输出格式较为简单,输出结果可以更加丰富全面。

4 讨 论

以Primer3, Oligo为首的引物设计软件的出现,使得引物设计相关工作变得越来越简单。但是,伴随着生物技术的不断发展,生物学问题越来越多,引物设计的需求也越来越细化。比如高通量测序平台的不断发展,突变位点检测等相关的下游应用将会变得越来越多,对此,WASP,MutScreener等特定的引物设计软件一定程度下缓解了这些需求。但针对突变位点设计引物时,用户输入基因的名称可能来自不同数据库,如何自动地转换基因名称,对含有多个转录本的基因进行标准转录本的选择,以及如何根据基因的编码区位置自动定位到基因组上相应的位置,这些看似简单的问题却没有完善及考虑。MutPrimerDesign通过对不同数据库的整合以及基因结构的解析解决了这些特定的问题。另外,引物设计开发的一个重要指标是如何能够更合理地减少用户的工作量,辅助用户完成批量、自动化的引物设计。MutPrimerDesign试图通过最简洁的输入来完成多种情况下突变位点的引物设计,也是对该指标的一次尝试。在将来,MutPrimerDesign将会考虑整合HGVS(Human Genome Variation Society)[20]的突变标准规则,进一步直接对接测序平台的突变检测报告,丰富并完善突变序列与参考序列的对比信息,更加方便、合理地完成突变位点检测的引物设计工作。另外,MutPrimerDesign将会考虑应用到更多的物种,实现多物种的突变引物设计。

猜你喜欢
基因组位点编码
镍基单晶高温合金多组元置换的第一性原理研究
牛参考基因组中发现被忽视基因
CLOCK基因rs4580704多态性位点与2型糖尿病和睡眠质量的相关性
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
科学家找到母爱改变基因组的证据
血清HBV前基因组RNA的研究进展
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
二项式通项公式在遗传学计算中的运用*
Genome and healthcare