一种基于自然语言处理的GWAS基因编码方式

未命名 08-02 阅读:70 评论:0

一种基于自然语言处理的gwas基因编码方式
技术领域
1.本发明涉及一种基于自然语言处理的gwas基因编码方式。


背景技术:

2.全基因组关联分析,英文是genome-wideassociation study,简称gwas。实质是在探究一种因果关系,也就是说x的变化,是否会引起y的变化。在gwas里,x一般指的是snp,即单核苷酸多态性,而y是观察到的表型。snp,一般通过芯片或测序方式得到。换而言之,gwas是确定300万个snp位点中那些部分对某些人类表型,如身高、是否双眼皮、头发颜色、瞳孔颜色的有影响,并从数据角度分析这些snp如何影响人类表型,snp序列原始数据一般是acgt四种不同的碱基组成的位点序列,比如“acgggttaaccaatt”。
3.在现有的技术解决方案中,一般针对该基因序列进行简单编码或独热(one-hot)编码,将其编码为0123或00 01 10 11格式。但是这种技术方案存在一个先验假设,否定了基因序列的时序性,而事实上,相邻区域的snp位点很有可能会互相影响,例如,基因区域casc17通过转录因子与相邻的sox9相互作用,共同影响人类面部的骨骼形成。


技术实现要素:

4.本发明的目的是克服现有的全基因组关联分析存在的否定了基因序列的时序性,且相邻区域的snp位点很有可能会互相影响的缺陷。
5.为达上述目的,本发明提供了一种基于自然语言处理的gwas基因编码方法,其特殊之处在于,对基因组最原始的.bed、.bid或.fam文件使用plink v1.9软件的raw命令进行处理以得到最原始的snp序列,即aagctaaggtcccaa;然后,将所述snp序列通过python中的scikit-learn库的自然语言处理工具编码为若干个词汇,该词汇同时包含了时序性的特征和snp序列数据本质的特征;之后,使用scikit-learn下的countvectorizert包,对所述词汇建立单词袋模型,countvectorizer包会将输入的文档中的关键词进行对比,得到一个包含权重的编码字袋,终而得到该snp序列对应的特征矩阵,以使用该特征矩阵进行后续分析处理。
6.所述词汇为一个atgcat序列,且选择进制为5的词汇,则所述snp序列被分割为atgca和tgcat两种不同的hexamer words。
7.克服现有的全基因组关联分析存在的否定了基因序列的时序性的缺陷,尤其是与现有的全基因组关联分析相比,所获得的数据具有更高的准确度。
8.以下将结合附图对本发明做进一步详细说明。
附图说明
9.图1为一种基于自然语言处理的gwas基因编码方法流程图。
具体实施方式
10.为进一步阐述本发明达成预定目的所采取的技术手段及功效,以下结合附图及实施例对本发明的具体实施方式、结构特征及其功效,详细说明如下。
11.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“垂直”、“水平”、“对齐”、“重叠”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征;在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
12.为了克服现有的全基因组关联分析存在的否定了基因序列的时序性,且相邻区域的snp位点很有可能会互相影响的缺陷,本实施例提供了一种图1所示的基于自然语言处理的gwas基因编码方法,从基因组最原始.bed、.bid、.fam文件开始处理,经过plink v1.9软件的raw处理命令可以得到最原始的snp序列,这种格式的数据类似于dna序列的fasta格式,即每个样本均为一行,其数据大致为“aagctaaggtcccaa”形式,代表该样本的snp基因型数据。
13.然后,使用k-mer计数法来将冗长的snp序列编码为若干个“词汇”,这里可以使用python中的scikit-learn库的自然语言处理工具(natural language processing,nlp),例如一个atgcat序列,若选择进制为5的词汇,那么该序列就会被分割为atgca和tgcat两种不同的hexamer words,这些词汇同时包含了时序性的特征和snp序列本质的特征。
14.之后,使用scikit-learn下的countvectorizert包,对这些词汇建立单词袋模型,countvectorizer包会将输入的文档中的关键词进行对比,得到一个包含权重的编码字袋,终而得到该snp序列对应的特征矩阵(基因特征矩阵),之后便可以使用该特征矩阵进行后续分析处理。
15.以下是数据处理代码:
16.[0017][0018]
采用前述实施例提供的基于自然语言处理的gwas基因编码方法进行数据分析时,可以根据已有的实验数据,将多个不同物种的snp序列经由如上述数据代码处理,获得了一个特征矩阵词袋,然后送入lstm模型进行训练,得到的结果如下表:
[0019]
编码方式顺序独热nlpaccuracy0.9230.9310.939precision0.9240.9330.937recall0.9230.9290.93f10.9230.9280.938
[0020]
由此表不难发现,经过本实施例提供的基于自然语言处理的gwas基因编码方法进行数据处理,具有更高的准确度。
[0021]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。


技术特征:
1.一种基于自然语言处理的gwas基因编码方法,其特征在于:1)、对基因组最原始的.bed、.bid或.fam文件使用plink v1.9软件的raw命令进行处理以得到最原始的snp序列,即aagctaaggtcccaa;2)、然后,将所述snp序列通过python中的scikit-learn库的自然语言处理工具编码为若干个词汇,该词汇同时包含了时序性的特征和snp序列数据本质的特征;3)、之后,使用scikit-learn下的countvectorizert包,对所述词汇建立单词袋模型,countvectorizer包会将输入的文档中的关键词进行对比,得到一个包含权重的编码字袋,终而得到该snp序列对应的特征矩阵,以使用该特征矩阵进行后续分析处理。2.根据权利要求1所述的基于自然语言处理的gwas基因编码方法,其特征在于:所述词汇为一个atgcat序列,且选择进制为5的词汇,则所述snp序列被分割为atgca和tgcat两种不同的hexamer words。

技术总结
本发明涉及一种基于自然语言处理的GWAS基因编码方法,对基因组最原始的.bed、.bid或.fam文件进行raw命令处理以得到最原始的SNP序列,即AAGCTAAGGTCCCAA;然后,将SNP序列通过Python中的scikit-learn库的自然语言处理工具编码为若干个词汇,再使用scikit-learn下的CountVectorizert包,对词汇建立单词袋模型,得到一个包含权重的编码字袋,终而得到该SNP序列对应的特征矩阵,以使用该特征矩阵进行后续分析处理,所获得的数据具有更高的准确度。所获得的数据具有更高的准确度。所获得的数据具有更高的准确度。


技术研发人员:江梓赫 范虹 范晓诺
受保护的技术使用者:陕西师范大学
技术研发日:2023.04.28
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐