CN107169315B - 一种海量dna数据的传输方法及系统 - Google Patents

一种海量dna数据的传输方法及系统 Download PDF

Info

Publication number
CN107169315B
CN107169315B CN201710188308.7A CN201710188308A CN107169315B CN 107169315 B CN107169315 B CN 107169315B CN 201710188308 A CN201710188308 A CN 201710188308A CN 107169315 B CN107169315 B CN 107169315B
Authority
CN
China
Prior art keywords
dna sequence
repeated
array
dna
str
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710188308.7A
Other languages
English (en)
Other versions
CN107169315A (zh
Inventor
武文博
徐文涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SYSU CMU Shunde International Joint Research Institute
National Sun Yat Sen University
Original Assignee
SYSU CMU Shunde International Joint Research Institute
National Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SYSU CMU Shunde International Joint Research Institute, National Sun Yat Sen University filed Critical SYSU CMU Shunde International Joint Research Institute
Priority to CN201710188308.7A priority Critical patent/CN107169315B/zh
Publication of CN107169315A publication Critical patent/CN107169315A/zh
Application granted granted Critical
Publication of CN107169315B publication Critical patent/CN107169315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics

Landscapes

  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供的方法借助后缀数组求取DNA序列的最长重复子串,然后将最长重复子串存入数组中,并用数组下标替换DNA序列中的最长重复子串,通过不断的替换最长重复子串而达到压缩传输数据量的目的。

Description

一种海量DNA数据的传输方法及系统
技术领域
本发明涉及生物信息学数据压缩传输领域,更具体地,涉及一种海量DNA数据的传输方法及系统。
背景技术
目前实施的千人基因组计划、国际单体型图计划和孟德尔遗传疾病计划等项目,利用下一代测序技术产生了海量的DNA测序数据,使得生物信息学数据呈现爆炸性增长。这些数据含有人类目前尚未了解的生物学知识,通过对这些数据的分析与处理,揭示其生物学内涵,提取出对人类有用的信息,可以给生物学和医学领域的相关研究带来更大的辅助。但是,在促进生物学和医学发展的同时,不同研究所之间传递数据的成本也高的惊人。如何压缩传输量,较少传输成本成为了当下急需解决的问题。
生物遗传物质的自我复制操作致使在同一个体的DNA序列中存在着大量完全重复的片段,另外还存在特殊的镜像重复、反转重复、互补回文结构等重复片段。人类的不同个体基因的相似程度达99%,而和近亲物种间基因序列的近似程度也可高达98%,植物DNA序列中重复序列含量可达80%以上。因此,DNA序列不仅数据量大且含有很多的冗余信息,这些数据冗余是DNA压缩传输的基础。后缀数组是一种为文本索引设计的数据结构,该结构由记录了字符串的各个后缀的字典序索引的数组构成。利用后缀数组可以快速查找字符串中的最长重复子串。本发明利用后缀数组的这种用途,通过对生物基因序列查找最长重复子串,将查到的最长重复子串生成字典索引,删减重复子串再查找最长重复子串,不断循环该过程。从而实现了对DNA序列的编码压缩过程。
发明内容
本发明为解决以上现有技术在传输DNA数据时传输数据量过大导致传输成本高昂的缺陷,提供了一种海量DNA数据的传输方法,该方法通过对DNA数据进行压缩从而达到降低传输数据量的目的。
为实现以上发明目的,采用的技术方案是:
一种海量DNA数据的传输方法,利用发送客户端、去重服务器和接收客户端进行数据的传输,传输方法具体包括以下步骤:
S1.在发送客户端,读入第一条DNA序列D1;
S2.求取DNA序列D1的后缀数组SA,使用SA[m]记录第m位后缀对应的首字母位置,即Suffix[SA[m]]在所有后缀中是第m小的后缀;
S3.扫描后缀数组SA,通过比较相邻后缀来找出最长的重复字符串Str[k];
S4.在去重服务器上构建数组a,将Str[k]存入数组a的第t个存储单元a[t]中,t表示存储单元的下标,其初始值为1;
S5.使用t替换掉DNA序列D1中出现的所有重复字符串Str[k],DNA序列D1经过替换后形成新的序列D[1];
S6.令t=t+1,然后对D[1]重复执行步骤S2~S5直至D[1]中剩余的碱基小于e个或最长重复子串小于f个,此时在D[1]中剩余的碱基段的开头和结尾分别插入分隔符;
S7.对其余的DNA序列依次执行步骤S8~S9的处理:
S8.读入一条DNA序列Di,对其执行步骤S2~S3的操作,求取到该DNA序列最长的重复字符串Str[h],然后扫描数组a,判断数组a中是否存储有与Str[h]匹配的匹配项,若是则使用匹配项所在的存储单元的下标g替换DNA序列中出现的所有重复字符串Str[h],DNA序列Di经过替换后形成新的序列D[i];否则令t=t+1,然后将重复字符串Str[h]存入数组a的第t个存储单元a[t]中;并使用t替换掉DNA序列Di中出现的所有重复字符串Str[h],DNA序列Di经过替换后形成新的序列D[i];
S9.对D[i]重复执行步骤S8直至D[i]中剩余的碱基小于e个或最长重复子串小于f个,此时在D[i]中剩余的碱基段的开头和结尾分别插入分隔符;
S10.通过步骤S1~S9的处理完成对DNA数据的压缩,将经过压缩的DNA数据和数组a发送到接收客户端;
S11.接收客户端读入DNA序列,然后利用数组a中存储单元t存储的重复字符串替换相邻两个分隔符之间的数字t,然后将分隔符删除,此时完成DNA序列的解压;
S12.传输完成。
上述方案中,本发明提供的方法借助后缀数组求取DNA序列的最长重复子串,然后将最长重复子串存入数组中,并用数组下标替换DNA序列中的最长重复子串,通过不断的替换最长重复子串而达到压缩传输数据量的目的。
优选地,所述步骤S3通过比较相邻后缀来找出最长重复字符串Str[k]的具体过程如下:
(1)比较相邻后缀找出其中的重复子串,若重复子串在相邻后缀对应的其中一条字符串中出现两次以上,则将其长度记为len,否则len为0;
(2)比较找出的所有的重复子串的len值,取最大的len值对应的重复子串S[i]为最长的重复字符串Str[k]。
优选地,所述e为8,f为4。
优选地,所述分隔符为#号。
同时,本发明还提供了一种应用以上方法的系统,其具体的方案如下:
包括发送客户端、去重服务器和接收客户端。
与现有技术相比,本发明的有益效果是:
本发明提供的方法借助后缀数组求取DNA序列的最长重复子串,然后将最长重复子串存入数组中,并用数组下标替换DNA序列中的最长重复子串,通过不断的替换最长重复子串而达到压缩传输数据量的目的。
附图说明
图1为删除最长的重复字符串Str[k]的示意图。
图2为新的序列D1的示意图。
图3为插入分隔符的示意图。
图4为解压缩的示意图。
图5为方法的流程示意图。
图6为传输的示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
如图5、6所示,本发明提供的方法具体包括以下步骤:
第一步:发送客户端读入第一条DNA序列D1:
CTCGATGATTCGATCGATATTCGAA。
第二步、求取DNA序列D1的后缀数组SA,使用SA[m]记录第m位后缀对应的首字母位置,即Suffix[SA[m]]在所有后缀中是第m小的后缀。
SA={24,23,16,12,4,18,7,21,14,10,2,22,15,11,3,6,0,17,20,13,9,1,5,19,8}。
第三步、扫描后缀数组SA,通过比较相邻后缀来找出最长的重复字符串Str[k]:
(1)比较相邻后缀找出其中的重复子串,若重复子串在相邻后缀对应的其中一条字符串中出现两次以上,则将其长度记为len,否则len为0;
比如:S[0]=A,len[0]=1;S[5]=ATTCGA,len[5]=6;S[0]、S[5]表示重复子串。
(2)比较找出的所有的重复子串的len值,取最大的len值对应的重复子串S[i]为最长的重复字符串Str[k]。本实施例中,找到的最长的重复字符串Str[k]为ATTCGA。
第四步、在去重服务器上构建数组a,将Str[k]存入数组a的第t个存储单元a[t]中。如下表所述:
a[0] …… a[n] a[63]
ATTCGA
其中t表示存储单元的下标,其初始值为1,使用t替换掉DNA序列D1中出现的所有重复字符串Str[k],DNA序列D1经过替换后形成新的序列D1。如图1、2所示。
第五步、令t=t+1,然后对D1重复执行步骤S2~S5直至D1中剩余的碱基小于e个或最长重复子串小于f个,此时在D1中剩余的碱基段的开头和结尾分别插入分隔符。如图3所示。
第六步、对其余的DNA序列依次执行第八步、第九步的处理:
第八步、读入一条DNA序列Di,对其执行步骤S2~S3的操作,求取到该DNA序列最长的重复字符串Str[h],然后扫描数组a,判断数组a中是否存储有与Str[h]匹配的匹配项,若是则使用匹配项所在的存储单元的下标g替换DNA序列中出现的所有重复字符串Str[h],DNA序列Di经过替换后形成新的序列Di;否则令t=t+1,然后将重复字符串Str[h]存入数组a的第t个存储单元a[t]中;并使用t替换掉DNA序列Di中出现的所有重复字符串Str[h],DNA序列Di经过替换后形成新的序列Di。
第九步、对Di重复执行步骤S8直至Di中剩余的碱基小于e个或最长重复子串小于f个,此时在Di中剩余的碱基段的开头和结尾分别插入分隔符。
第十步、通过步骤S1~S9的处理完成对DNA数据的压缩,将经过压缩的DNA数据和数组a发送到接收客户端;
第十一步、接收客户端读入DNA序列,然后利用数组a中存储单元t存储的重复字符串替换相邻两个分隔符之间的数字t,然后将分隔符删除,此时完成DNA序列的解压;如图4所示。
第十二步、传输完成。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (4)

1.一种海量DNA数据的传输方法,其特征在于:利用发送客户端、去重服务器和接收客户端进行数据的传输,传输方法具体包括以下步骤:
S1.在发送客户端,读入第一条DNA序列D1;
S2.求取DNA序列D1的后缀数组SA,使用SA[m]记录第m位后缀对应的首字母位置,即Suffix[SA[m]]在所有后缀中是第m小的后缀;
S3.扫描后缀数组SA,通过比较相邻后缀来找出最长的重复字符串Str[k];其中,通过比较相邻后缀来找出最长的重复字符串Str[k]的具体过程如下:
S3.1比较相邻后缀找出其中的重复子串,若重复子串在相邻后缀对应的其中一条字符串中出现两次以上,则将其长度记为len,否则len为0;
S3.2比较找出的所有的重复子串的len值,取最大的len值对应的重复子串S[i]为最长的重复字符串Str[k];
S4.在去重服务器上构建数组a,将Str[k]存入数组a的第t个存储单元a[t]中,t表示存储单元的下标,其初始值为1;
S5.使用t替换掉DNA序列D1中出现的所有重复字符串Str[k],DNA序列D1经过替换后形成新的序列D[1];
S6.令t=t+1,然后对D[1]重复执行步骤S2~S5直至D[1]中剩余的碱基小于e个或最长重复子串小于f个,此时在D1中剩余的碱基段的开头和结尾分别插入分隔符;
S7.对其余的DNA序列依次执行步骤S8~S9的处理:
S8.读入一条DNA序列Di,对其执行步骤S2~S3的操作,求取到该DNA序列最长的重复字符串Str[h],然后扫描数组a,判断数组a中是否存储有与Str[h]匹配的匹配项,若是则使用匹配项所在的存储单元的下标g替换DNA序列中出现的所有重复字符串Str[h],DNA序列Di经过替换后形成新的序列D[i];否则令t=t+1,然后将重复字符串Str[h]存入数组a的第t个存储单元a[t]中;并使用t替换掉DNA序列Di中出现的所有重复字符串Str[h],DNA序列Di经过替换后形成新的序列D[i];
S9.对D[i]重复执行步骤S8直至D[i]中剩余的碱基小于e个或最长重复子串小于f个,此时在D[i]中剩余的碱基段的开头和结尾分别插入分隔符;
S10.通过步骤S1~S9的处理完成对DNA数据的压缩,将经过压缩的DNA数据和数组a发送到接收客户端;
S11.接收客户端读入DNA序列,然后利用数组a中存储单元t存储的重复字符串替换相邻两个分隔符之间的数字t,然后将分隔符删除,此时完成DNA序列的解压;
S12.传输完成。
2.根据权利要求1所述的海量DNA数据的传输方法,其特征在于:所述e为8,f为4。
3.根据权利要求1所述的海量DNA数据的传输方法,其特征在于:所述分隔符为#号。
4.一种根据权利要求1~3任一项方法的系统,其特征在于:包括发送客户端、去重服务器和接收客户端。
CN201710188308.7A 2017-03-27 2017-03-27 一种海量dna数据的传输方法及系统 Active CN107169315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710188308.7A CN107169315B (zh) 2017-03-27 2017-03-27 一种海量dna数据的传输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710188308.7A CN107169315B (zh) 2017-03-27 2017-03-27 一种海量dna数据的传输方法及系统

Publications (2)

Publication Number Publication Date
CN107169315A CN107169315A (zh) 2017-09-15
CN107169315B true CN107169315B (zh) 2020-08-04

Family

ID=59848819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710188308.7A Active CN107169315B (zh) 2017-03-27 2017-03-27 一种海量dna数据的传输方法及系统

Country Status (1)

Country Link
CN (1) CN107169315B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460495B (zh) * 2018-11-07 2022-05-10 南京烽火星空通信发展有限公司 一种基于改进bm算法与后缀数组的冗余字段过滤方法
CN114356220B (zh) * 2021-12-10 2022-10-28 中科碳元(深圳)生物科技有限公司 基于dna存储的编码方法、电子设备及可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1536068A (zh) * 2003-02-03 2004-10-13 ���ǵ�����ʽ���� 编码脱氧核糖核酸序列的方法和装置及计算机可读介质
CN102073740A (zh) * 2011-01-27 2011-05-25 农革 基于基数排序的字符串后缀数组构造方法
CN102081673A (zh) * 2011-01-27 2011-06-01 农革 后缀数组构造方法
CN102081707A (zh) * 2011-01-07 2011-06-01 深圳大学 一种dna序列数据压缩系统
CN102222093A (zh) * 2011-06-09 2011-10-19 中国工程物理研究院计算机应用研究所 一种获取字符串最长公共子串的方法
CN102467616A (zh) * 2010-11-15 2012-05-23 中国科学院计算技术研究所 一种用后缀数组加速大规模蛋白质鉴定的方法及其系统
CN102521213A (zh) * 2011-12-01 2012-06-27 农革 线性时间后缀数组构造方法
CN104156636A (zh) * 2014-07-30 2014-11-19 中南大学 一种基于后缀数组的模糊串联重复序列识别方法
CN105553483A (zh) * 2015-12-09 2016-05-04 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种产生lz77的方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1536068A (zh) * 2003-02-03 2004-10-13 ���ǵ�����ʽ���� 编码脱氧核糖核酸序列的方法和装置及计算机可读介质
CN102467616A (zh) * 2010-11-15 2012-05-23 中国科学院计算技术研究所 一种用后缀数组加速大规模蛋白质鉴定的方法及其系统
CN102081707A (zh) * 2011-01-07 2011-06-01 深圳大学 一种dna序列数据压缩系统
CN102073740A (zh) * 2011-01-27 2011-05-25 农革 基于基数排序的字符串后缀数组构造方法
CN102081673A (zh) * 2011-01-27 2011-06-01 农革 后缀数组构造方法
CN102222093A (zh) * 2011-06-09 2011-10-19 中国工程物理研究院计算机应用研究所 一种获取字符串最长公共子串的方法
CN102521213A (zh) * 2011-12-01 2012-06-27 农革 线性时间后缀数组构造方法
CN104156636A (zh) * 2014-07-30 2014-11-19 中南大学 一种基于后缀数组的模糊串联重复序列识别方法
CN105553483A (zh) * 2015-12-09 2016-05-04 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种产生lz77的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于GWQPSO和BWT的DNA序列压缩算法研究》;谭红艳等;《中国优秀硕士学位论文全文数据库信息科技辑》;20170215;I138-62 *

Also Published As

Publication number Publication date
CN107169315A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
Kuruppu et al. Relative Lempel-Ziv compression of genomes for large-scale storage and retrieval
US8798936B2 (en) Methods and systems for data analysis using the Burrows Wheeler transform
CN106687966B (zh) 用于数据分析和压缩的方法和系统
Grumbach et al. Compression of DNA sequences
US8554492B2 (en) Method and apparatus for searching nucleic acid sequence
WO2016201215A1 (en) Systems and methods for identifying microorganisms
CN105760706B (zh) 一种二代测序数据的压缩方法
CN107169315B (zh) 一种海量dna数据的传输方法及系统
CN109712674B (zh) 注释数据库索引结构、快速注释遗传变异的方法及系统
US11845982B2 (en) Key-value store that harnesses live micro-organisms to store and retrieve digital information
Yang et al. Efficient direct search on compressed genomic data
Reznik Coding of sets of words
CN107633158B (zh) 对基因序列进行压缩和解压缩的方法和设备
KR20130122816A (ko) 유전자 염기서열 압축장치 및 압축방법
WO2011073680A1 (en) Improvements relating to hash tables
Daykin et al. Indeterminate string factorizations and degenerate text transformations
Zahra et al. DNA Compression using an innovative Index based Coding Algorithm
Mehta et al. DNA compression using referential compression algorithm
Glattre et al. γ-Text Found in Species of All Five Kingdoms: A Bio-Linguistic Study.
Zhan et al. A novel method to compress high-throughput DNA sequence read archive
Gupta et al. An efficient compressor for biological sequences
JP7089804B2 (ja) データ作成装置、データ作成方法及びデータ作成プログラムを記憶した記憶媒体
CN111916153B (zh) 一种并行多重序列比对方法
TWI785847B (zh) 用於處理基因定序資料的資料處理系統
Fan et al. Complementary contextual models with FM-Index for DNA compression

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant