去除宏基因组测序数据中人源基因序列的方法
技术领域
本发明涉及基因工程领域,尤其涉及一种去除宏基因组测序数据中人源基因序列的方法。
背景技术
宏基因组测序目前可应用于肠道菌群状态监测、感染病原微生物检测等方面,相对于其他技术,其具有检测通量高,检测覆盖面广,不需要提前预知微生物种类等优点。随着高通量基因测序成本的快速下降,测序速度的快速提升,宏基因组测序在微生物检测方面的应用会越来越广泛。
宏基因组测序样品的主要来源为人体上不同部位的体液或组织,一般在提取样品中的DNA后,对提取出的DNA进行全基因组或基因组部分区域的基因测序(下文中的宏基因组测序只指微生物全基因组测序)。由于样品来源于人体组织,提取的DNA中往往含有一定比例的人源DNA。在部分组织的样本中,如血浆游离DNA、肺泡灌洗液DNA中,人源DNA往往占有很高的比例,通常可达90%以上,人源DNA的存在会对微生物DNA的分析造成干扰,因此在分析微生物DNA之前通常会使用生物信息学方法将人源DNA去除。
现有去除人源DNA的方法主要是将测序得到基因序列(read)比对到人参考基因组序列上,目前使用的参考基因组为GRCh37或GRCh38,若比对成功则认为该read来源于人的基因组,将其舍去不进行后续的微生物相关分析。但现有方法存在一些不足:
不足1:
由于参考现有的参考基因组(GRCh37或GRCh38)仅来源于数个个体的基因组数据,而人的基因组具有种族特异性,每个种族的个体都存在其特有的基因突变,绝大部分未包含于现有的参考基因组中。另外,除了MHC区域等高度变异的区域,现有参考基因组上的绝大多数区域都为单倍体,其中包括大量含有多态性位点的区域,现有的人参考基因组上未能包括这些基因变异信息。这些变异的存在,有可能造成部分人源的read无法成功比对上参考基因组,而被错误地认为其为微生物的序列。当测序的DNA中,人源的DNA占的比例很高(如98%以上),少量的人源read错误地作为微生物read进行分析即会对后续的分析结果带来重大影响。
不足2:
人的基因组上存在大量的重复序列,即使近年来不同测序技术的出现,使我们可以测出人基因组上大部分的重复序列数据,但仍有一部分的重复序列未能成功测出(如Y染色体上的大量区域),它们即表现为现有人参考基因组上大量的N区。来源于这些区域的read无法比对回人的参考基因组,也有可能会被错误地作为微生物的read进行分析,造成后续分析的假阳性。
因此需要一种新的方法,将人源基因序列更完整准确地去除。
发明内容
针对上述技术中存在的不足之处,本发明提供一种去除宏基因组测序数据中人源基因序列的方法,该方法解决了现有与人参考基因组比对方法去除人源基因组序列不够彻底,造成后续微生物分析较高假阳性的问题。
为实现上述目的,本发明提供一种去除宏基因组测序数据中人源基因序列的方法,包括以下步骤:
步骤1,通过千人基因组计划样本的原始测序数据构建参考基因集,将其下载后,先对数据进行质量控制及低质量值数据的过滤后得到高质量的数据,用于测序read的比对,从而将人源read更好地去除;
步骤2,在得到千人基因组数据的高质量的测序read后,使用基因组组装软件将其组装成较长的基因片段,后续作为参考序列与测序read进行比对,组装完成后,挑选出长度大于150bp的基因片段作为千人基因组的基因片段进行后续处理;
步骤3,提取来源于NCBI数据库中所有非肿瘤样本中的基因片段数据作为NCBIBioproject的基因片段数据用作后续处理;
步骤4,对千人基因组的数据和NCBI Bioproject的数据均进行去冗余处理后,再将千人基因组的数据与NCBI Bioproject的数据合并,去冗余后变成非冗余的基因片段数据集;
步骤5,将非冗余的基因片段数据集中的的病毒基因组序列找出,从基因片段序列中去除;
步骤6,将病毒基因序列组去除后的基因片段序列作为去除宏基因组测序数据中人源序列的参考基因组。
其中,所述步骤1的具体方法为:使用公开的千人基因组计划的pilot研究中180个样本低深度全基因组测序数据,并以之构建了参考基因组,来解决现有参考基因组未包含足够的人群与个体差异的基因突变信息的问题;构建参考基因集使用的是千人基因组计划样本的原始测序数据,将其下载后,先对数据进行质量控制及低质量值数据的过滤,以保证数据的可靠性。
其中,所述在进行质量控制的过程中需要进行参数设置:
允许的序列标签的最小长度为上机测序设定长度的0.7倍;
允许的最小GC含量为25%;
允许的最大GC含量为75%;
序列标签所有碱基中最小质量值至少为10;
序列标签所有碱基平均质量值至少为20;
最多允许10%的碱基序列为'N';
其他参数使用默认值,其中read_length为上机测序设置的read的读长。
其中,所述步骤2中基因组组装软件为公开的SOAPdenovo2,该过程中需要的基因片段文件中的参数设置为:
最大的序列标签(read)长度为200bp;
只进行基因片段的组装(asm_flags=1)
定位基因片段需要的最少的双末端序列标签数为3;
定位序列标签所需的最小的比对长度为32;
而长如片段平均长度与是否取反向互补序列进行组装则根据文库的情况具体设置,随后运行SOAPdenovo2命令进行序列组装,kmer大小设置为25。
其中,所述步骤3中为避免数据特点和分析方法单一造成的数据偏向性,使用公开的多个不同来源并由不同分析方法处理的数据作为参考数据集,其中包括来源于NCBI数据库的Bioproject的项目的数据。
其中,所述步骤4的具体方法为:
步骤41,由于多个样本的基因组装版本中含有大量的同源序列,为减少后续数据处理的计算量,先对数据进行去冗余处理,由于千人基因组的基因片段数据较大,将其分成了十个数据量大小相似的fasta文件,每个fasta文件单独去冗余;
步骤42,每个fasta文件单独去冗余后,将每两个fasta文件的数据合并,再对合并的文件去冗余,之后再合并再去冗余;
步骤43,对Bioproject的基因片段数据中的单个样本进行单独去冗余,
步骤44,将每两个样本的数据合并,再对合并的样本去冗余,之后再合并再去冗余;
步骤45,将千人基因组的数据与NCBI Bioproject的数据合并,去冗余后变成非冗余的基因片段数据集。
其中,去冗余使用开源的工具为Redundans,相关的参数为:
去冗余的相似度阈值为0.97;
不同基因片段的重叠比例阈值为0.10;
重叠长度的阈值为100bp;
其余参数使用默认值。
其中,所述步骤5具体为:病毒可整合入人的基因组中,因此在非冗余的基因片段数据集中很可能包含了病毒的序列,如果这些基因片段集直接作为人的参考基因组用于测序read比对,则病毒的read则因为可比对上参考基因组而当成人的read被错误地去除;为避免发生,将非冗余的基因片段序列中的病毒基因组序列找出,从基因片段序列中去除。
其中,从基因片段序列中去除的方法为:使用NCBI RefSeq数据库中的病毒基因组数据与基因片段序列进行比对,比对使用的工具为公开的软件为Megablast,比对的参数为:
搜索的词的长度为20bp;
输出的数据格式为格式2;
对于每个输入序列,最多输出三个数据库的序列;
最低要求的比对相似性为97%;
其他参数使用默认值;
比对后,对于以200bp以上长度比对上病毒基因组且匹配率大于97%的基因片段上的序列片段,则会认为其为病毒基因组序列,将其从基因片段中去除,不作为后续的参考基因序列。
其中,所述步骤6中去除人源序列的比对方法为:比对前先进行参考序列库(index)的构建,需要输入的数据为得到的基因片段数据的fasta文件,由于基因片段数据太大,将其分成大小约1Gb的文件后进行index构建;然后将宏基因组测序得到的read比对单端比对到参考序列库,比对种子长度设为30bp;最后使用bwa sampe命令生成sam文件,从sam文件中提取出非人源的read进行后续的宏基因组分析。
其中,所述非人源的read定义为未能比对上参考基因组的read,或错配数达到read长度为0.03bp以上的read。
与现有技术相比,本发明提供的去除宏基因组测序数据中人源基因序列的方法,其有益效果为:
1)本发明通过使用千人基因组的数据,构建了覆盖更多种族,包含更多人类基因突变的参考数据集,同时包含了无法在人基因组上定位的重复基因序列片段,使其能更全面地代表人基因组的信息。避免了现有方法只用一个组装参考基因组而带来的缺少不同人群的多态性变异数据或重复序列数据的问题;
2)本发明使用了来源于不同研究机构,使用不同方法产生的不同样本的基因组组装结果,避免了现有方法使用的人参考基因组数据特点单一可能带来的偏向;
3)本发明对数据进行了去冗余处理,节约了计算资源,提升了数据分析的速度;
4)该方法解决了现有与人参考基因组比对方法去除人源基因组序列不够彻底,造成后续微生物分析较高假阳性的问题。
附图说明
图1为本发明的去除宏基因组测序数据中人源基因序列的方法的流程图;
图2为本发明组装得到的千人基因组基因片段及NCBI Bioproject的基因片段去除冗余基因片段的步骤示意图。
具体实施方式
为了更清楚地表述本发明,下面结合附图对本发明作进一步地描述。
请参阅图1,本发明的去除宏基因组测序数据中人源基因序列的方法,包括以下步骤:
步骤S1,通过千人基因组计划样本的原始测序数据构建参考基因集,将其下载后,先对数据进行质量控制及低质量值数据的过滤后得到高质量的数据,用于测序read的比对,从而将人源read更好地去除;
步骤S2,在得到千人基因组数据的高质量的测序read后,使用基因组组装软件将其组装成较长的基因片段,后续作为参考序列与测序read进行比对,组装完成后,挑选出长度大于150bp的基因片段作为千人基因组的基因片段进行后续处理;
步骤S3,提取来源于NCBI数据库中所有非肿瘤样本中的基因片段数据作为NCBIBioproject的基因片段数据用作后续处理;
步骤S4,对千人基因组的数据和NCBI Bioproject的数据均进行去冗余处理后,再将千人基因组的数据与NCBI Bioproject的数据合并,去冗余后变成非冗余的基因片段数据集;
步骤S5,将非冗余的基因片段数据集中的的病毒基因组序列找出,从基因片段序列中去除;
步骤S6,将病毒基因序列组去除后的基因片段序列作为去除宏基因组测序数据中人源序列的参考基因组。
相较于现有技术的情况,本发明提供的去除宏基因组测序数据中人源基因序列的方法,其有益效果为:
1)本发明通过使用千人基因组的数据,构建了覆盖更多种族,包含更多人类基因突变的参考数据集,同时包含了无法在人基因组上定位的重复基因序列片段,使其能更全面地代表人基因组的信息。避免了现有方法只用一个组装参考基因组而带来的缺少不同人群的多态性变异数据或重复序列数据的问题;
2)本发明使用了来源于不同研究机构,使用不同方法产生的不同样本的基因组组装结果,避免了现有方法使用的人参考基因组数据特点单一可能带来的偏向;
3)本发明对数据进行了去冗余处理,节约了计算资源,提升了数据分析的速度;
4)该方法解决了现有与人参考基因组比对方法去除人源基因组序列不够彻底,造成后续微生物分析较高假阳性的问题。
在本实施例中,步骤S1的具体方法为:本发明的主要策略为通过构建更完整、包含更多人类基因组突变信息的非冗余参考数据集,用于测序read的比对,从而将人源read更好地去除;使用公开的千人基因组计(www.internationalgenome.org)的pilot研究中180个样本低深度全基因组测序数据,并以之构建了参考基因组,来解决现有参考基因组未包含足够的人群与个体差异的基因突变信息的问题;构建参考基因集使用的是千人基因组计划样本的原始测序数据(raw data),将其下载后,先对数据进行质量控制及低质量值数据的过滤,以保证数据的可靠性。在进行质量控制的过程中需要进行参数设置:
允许的序列标签的最小长度为上机测序设定长度的0.7倍(-min_len read_length);
允许的最小GC含量为25%(-min_gc);
允许的最大GC含量为75%(-max_gc);
序列标签所有碱基中最小质量值至少为10(-min_qual_score);
序列标签所有碱基平均质量值至少为20(-min_qual_mean)
最多允许10%的碱基序列为'N'(-ns_max_p)
其他参数使用默认值,其中read_length为上机测序设置的read的读长。
在本实施例中,步骤S2中基因组组装软件为公开的SOAPdenovo2(soap.genomics.org.cn),该过程中需要的基因片段(contig)文件中的参数设置为:
最大的序列标签(read)长度为200bp(max_rd_len)
只进行contig的组装(asm_flags=1)
定位contig需要的最少的双末端序列标签数为3(pair_num_cutoff)
定位序列标签所需的最小的比对长度为32(map_len)
而长如片段平均长度(avg_ins)与是否取反向互补序列进行组装(reverse_seq)则根据文库的情况具体设置,随后运行SOAPdenovo命令进行序列组装,kmer大小设置为25(-K)组装完成后,挑选出长度大于150bp的contig作为千人基因组的contig进行后续处理。
在本实施例中,步骤S3中为避免数据特点和分析方法单一造成的数据偏向性,使用公开的多个不同来源并由不同分析方法处理的数据作为参考数据集,其中包括来源于NCBI数据库的Bioproject的项目的数据。NCBI数据库的Bioproject ID为以下编号的项目的数据:PRJNA315896,PRJNA294231,PRJNA291358,PRJNA339314。本发明提取出这些项目中所有非肿瘤样本中的contig数据作为NCBI Bioproject的contig数据用作后续处理。
在本实施例中,步骤S4的具体方法为:组装得到的千人基因组contig及Bioproject的contig去除冗余基因片段的步骤如图2所示:第一,由于多个样本的基因组装版本中含有大量的同源序列,为减少后续数据处理的计算量,先对数据进行去冗余处理,由于千人基因组的基因片段数据较大,将其分成了十个数据量大小相似的fasta文件,每个fasta文件单独去冗余;第二,每个fasta文件单独去冗余后,将每两个fasta文件的数据合并,再对合并的文件去冗余,之后再合并再去冗余;第三,对Bioproject的基因片段数据中的单个样本进行单独去冗余;第四,将每两个样本的数据合并,再对合并的样本去冗余,之后再合并再去冗余;第五将千人基因组的数据与NCBI Bioproject的数据合并,去冗余后变成非冗余的基因片段数据集。
去冗余使用开源的工具:
Redundans(https://github.com/lpryszcz/redundans)完成,相关的参数为:
去冗余的相似度阈值为0.97(--identity)
不同contig的重叠比例阈值为0.10(--overlap)
重叠长度的阈值为100bp(--minLength)
其余参数使用默认值。
在本实施例中,步骤S5具体为:病毒可整合入人的基因组中,因此在非冗余的基因片段数据集中很可能包含了病毒的序列,如果这些基因片段集直接作为人的参考基因组用于测序read比对,则病毒的read则因为可比对上参考基因组而当成人的read被错误地去除;为避免发生,将非冗余的基因片段序列中的病毒基因组序列找出,从基因片段序列中去除。从基因片段序列中去除的方法为:使用NCBI RefSeq数据库中的病毒基因组数据与基因片段序列进行比对,可参照ftp://ftp.ncbi.nlm.nih.gov/refseq/release/viral/)中的病毒基因组数据与contig序列进行比对。比对使用的工具为公开的软件为Megablast,(https://blast.ncbi.nlm.nih.gov/,blast-2.5.0+);比对的参数为:
搜索的词的长度为20bp(-W)
输出的数据格式为格式2(-D)
对于每个输入序列,最多输出三个数据库的序列(-v)
最低要求的比对相似性为97%(-p)
其他参数使用默认值。比对后,对于以200bp以上长度比对上病毒基因组且匹配率大于97%的contig上的序列片段,则会认为其为病毒基因组序列,将其从contig中去除,不作为后续的参考基因序列。
在本实施例中,步骤S6中去除人源序列的比对方法为:比对前先进行参考序列库(index)的构建,需要输入的数据为得到的基因片段数据的fasta文件,由于基因片段数据太大,将其分成大小约1Gb的文件后进行index构建;然后将宏基因组测序得到的read比对单端比对到参考序列库,比对种子长度(-l)设为30bp;最后使用bwa sampe命令(单末端测序使用samse命令)生成sam文件,从sam文件中提取出非人源的read进行后续的宏基因组分析。非人源的read定义为未能比对上参考基因组的read,或错配数达到read长度为0.03bp以上的read。即对于长度为150bp的read,错配数为5bp或更多的read。去除人源序列的比对软件为公开的bwa0.7.13(http://bio-bwa.sourceforge.net/)。
以上公开的仅为本发明的几个具体实施例,但是本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。