CN117424600A - 基于德布鲁因剪接轮转图实现dna存储编码的方法 - Google Patents

基于德布鲁因剪接轮转图实现dna存储编码的方法 Download PDF

Info

Publication number
CN117424600A
CN117424600A CN202311342916.0A CN202311342916A CN117424600A CN 117424600 A CN117424600 A CN 117424600A CN 202311342916 A CN202311342916 A CN 202311342916A CN 117424600 A CN117424600 A CN 117424600A
Authority
CN
China
Prior art keywords
sequence
debrucine
binary
exclusive
dna
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.)
Pending
Application number
CN202311342916.0A
Other languages
English (en)
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.)
Dalian University
Original Assignee
Dalian 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 Dalian University filed Critical Dalian University
Priority to CN202311342916.0A priority Critical patent/CN117424600A/zh
Publication of CN117424600A publication Critical patent/CN117424600A/zh
Pending legal-status Critical Current

Links

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
    • G16B50/50Compression of genetic data
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3077Sorting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Genetics & Genomics (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明公开了基于德布鲁因剪接轮转图实现DNA存储编码的方法,包括:先将原始二进制分成两部分进行异或,按照动态二进制的生成规则找到对应的动态二进制。其次,将异或后的二进制序列和动态二进制序列再次异或,异或后按照碱基映射规则得到德布鲁因序列,构造出德布鲁因剪接图并进行压缩得到DNA序列。然后,将第二部分二进制和动态二进制序列进行分组转化成十进制,按照顺序找出对应的频率;最后,按照原始分组得到的十进制数找到索引树中所对应的码字,在轮转矩阵中找到码字对应的碱基对。合并两部分得到DNA序列。本方法在提高稳定性和纠错能力方面表现出了较好的性能,使得数据在存储过程中具有更高的可靠性和安全性。

Description

基于德布鲁因剪接轮转图实现DNA存储编码的方法
技术领域
本发明涉及DNA存储技术领域,具体涉及基于德布鲁因剪接轮转图实现DNA存储编码的方法。
背景技术
DNA存储是一项前沿性的新兴技术,其基本思想是利用DNA分子的稳定性和大容量存储能力来实现数字信息的长期保存。与传统的数字存储介质相比,DNA存储具有更高的密度、更长的寿命和更好的安全性,因此在数据存储领域具有广阔的应用前景。
DNA存储的发展始于20世纪80年代,当时科学家们已经意识到DNA分子的独特性质和应用潜力。DNA分子的碱基序列可以记录数字信息,而且它们稳定、紧密排列,不受光、磁等外部干扰,可以保持数百年不变,这为数字信息的长期保存提供了一种新的思路。DNA存储的实现需要经过多个环节,包括信息编码、数据读取和解码等。其中,最关键的环节是信息编码。在信息编码方面,科学家们通常采用二进制编码方式将数字信息转换为DNA序列,以便存储和读取。目前,DNA存储已经在实验室中得到了广泛应用。例如,哈佛大学的研究人员利用DNA存储技术成功地将50,000个单词的英文文本、11幅黑白图片和一个计算机程序存储到了一毫升的DNA溶液中,并通过DNA测序技术对其进行了恢复。这一成果表明,DNA存储已经具备了实际应用的潜力,未来有望在各个领域推动数字信息的长期保存和安全传输。
目前的DNA存储方案在实现高编码率方面做得相对较好,但对于DNA序列的稳定性考虑不足,这可能会导致存储的数据损坏或丢失。因此,需要进一步改进DNA存储方案以提高其稳定性和可靠性。
发明内容
本发明的目的在于,提出基于德布鲁因剪接轮转图实现DNA存储编码的方法,该方法通过动态二进制得到满足局部和全局约束的序列,减少了易错相邻碱基的出现次数。
为实现上述目的,本申请提出的基于德布鲁因剪接轮转图实现DNA存储编码的方法,包括:
步骤1:将原始二进制序列分割成序列C1和序列C2进行异或,异或后与动态二进制序列进行异或:
步骤2:通过“两位二进制映射成一个碱基”的规则,将第二次异或后的序列映射成德布鲁因序列;
步骤3:将所述德布鲁因序列k-mer化,每3-mer作为图的一个节点,构造成德布鲁因剪接图;
步骤4:所述德布鲁因剪接图中每两个相邻节点都有一个相邻碱基对,故可以进行压缩,相邻节点中重复的碱基对只保留一个,得到压缩后的DNA序列;
步骤5:将序列C1和动态二进制序列进行分组,按照分组顺序将二进制转成十进制和对应的频率;
步骤6:根据频率的大小按照从小到大排序,构造成索引树,该索引树包括频率、十进制数和码字,码字是[0,10]范围内的整数;
步骤7:按十进制数的顺序找到索引树中对应的码字,根据码字找到轮转矩阵中对应的碱基对,得到轮转编码后的序列:
步骤8:合并压缩后的DNA序列和轮转编码后的序列。
进一步地,还包括:
步骤9:在合并后的序列中引入RS码,加入纠错位进行检验和纠错。
进一步地,动态二进制序列获取方式为:二进制序列被分成每六位二进制为一组,找到能够与第一组二进制序列异或和映射成碱基后满足约束的动态二进制,从第二组开始,每组的前两个碱基与上一组的后两个碱基相同,第三个碱基根据约束条件以及非期望相邻碱基生成,依次进行得到动态二进制序列。
进一步地,假设德布鲁因序列S=s1s2...sn,将序列S划分成步长为3的滑动窗口序列,具体为:
w1=s1s2s3,w2=s4s5s6,...,wk=sn-2sn-1sn (1)
(si+1,si+2)=(si+3,si+4),i=1,4,7,...,n-5 (2)
其中,wk表示第k个滑动序列窗口,k的范围是从1到n/3,n为序列中碱基的个数。
进一步地,所述轮转矩阵由式(3)-(4)表示,
(Mi1,Mi2,...,Mi12)=(xi,xi+1,...,x12,x1,x2,...,xi-1) (3)
其中,Matrix为轮转矩阵,Mij表示第i行第j列的元素集合x包含四个碱基:{A,C,G,T},其中xi表示两个碱基的不同组合。
进一步地,所述德布鲁因剪接图获取方式为:将德布鲁因序列划分为长度为3的不重叠碱基序列,以此构建德布鲁因剪接图;在这个有向图中,每三个k-mer作为一个节点,按照顺序进行连边。相邻两个节点之间存在重复的碱基对,其中的冗余碱基对被剪除,以压缩序列。因此,基于3-mer划分的德布鲁因剪接图构建方法可以有效地压缩序列。
本发明采用的以上技术方案,与现有技术相比,具有的优点是:
1、本发明提出的动态二进制序列使得编码后的序列局部和全局GC含量保持在49%-51%、均聚物长度最大为2,并且编码后的序列易错相邻碱基的个数更少,因此在编码后的序列局部稳定性更好。
2、通过提出动态约束序列后将编码后的序列划分3-mer构建成了德布鲁因剪接图,每两个相邻节点都有重复的碱基对,只保留一个碱基对,实现了对序列的压缩,有效地减小了存储空间,提高了编码率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为基于德布鲁因剪接轮转图实现DNA存储编码的方法原理图;
具体实施方法
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
本发明中所涉及的约束条件有GC含量在49%-51%之间和均聚物运行长度不能超过2,易错相邻碱基的个数较少。其中,GC含量指的是在一条DNA序列中,碱基G和碱基C所占整个DNA序列中碱基的百分比;均聚物运行长度不能超过2表示在一个DNA序列中相同的碱基不能连续出现2次及以上。
本发明的实施例是在以本发明技术方案为前提下进行实施的,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述实施例。实施例中用上述方法对一个大小为510KB的图片进行编码,且满足的约束条件如上所述,具体包括:
步骤1:将原始二进制序列分割成序列C1和序列C2进行异或,异或后与提出的动态二进制序列进行异或
步骤2:通过“两位二进制映射成一个碱基”的规则,将第二次异或后的序列映射成德布鲁因序列;
步骤3:将所述德布鲁因序列k-mer化,每3-mer作为图的一个节点,构造成德布鲁因剪接图;
步骤4:由于德布鲁因剪接图中每两个相邻节点都有一个相邻碱基对,所以可以进行压缩,相邻节点中重复的碱基对只保留一个,得到压缩后的DNA序列;
步骤5:步骤1中的序列C1和动态二进制序列进行分组,按照分组顺序将二进制转成十进制和对应的频率;
步骤6:根据频率的大小按照从小到大排序,构造成索引树,该索引树包括频率、十进制数和码字,码字是[0,10]范围内的整数;
步骤7:按照步骤6中十进制数的顺序找到索引树中对应的码字,根据码字找到轮转矩阵中对应的碱基对,得到轮转编码后的序列;
步骤8:合并步骤4中压缩后的DNA序列和步骤7中轮转编码后的序列;
步骤9:在合并的序列中引入RS码,加入纠错位进行检验和纠错。
具体的编码DNA序列如表1所示:
表1 DNA序列
以上描述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
虽然在本申请中权利要求书已针对特征的特定组合而制定,但是应当理解,本公开的范围还包括本文所公开的明确或隐含或对其任何概括的任何新颖特征或特征的任何新颖的组合,不论他是否涉及目前所要求保护的任何权利要求中的相同方案。

Claims (6)

1.基于德布鲁因剪接轮转图实现DNA存储编码的方法,其特征在于,包括:
步骤1:将原始二进制序列分割成序列C1和序列C2进行异或,异或后与动态二进制序列进行异或:
步骤2:通过“两位二进制映射成一个碱基”的规则,将第二次异或后的序列映射成德布鲁因序列;
步骤3:将所述德布鲁因序列k-mer化,每3-mer作为图的一个节点,构造成德布鲁因剪接图;
步骤4:所述德布鲁因剪接图相邻节点中重复的碱基对只保留一个,得到压缩后的DNA序列;
步骤5:将序列C1和动态二进制序列进行分组,按照分组顺序将二进制转成十进制和对应的频率;
步骤6:根据频率的大小按照从小到大排序,构造成索引树,该索引树包括频率、十进制数和码字;
步骤7:按十进制数的顺序找到索引树中对应的码字,根据码字找到轮转矩阵中对应的碱基对,得到轮转编码后的序列:
步骤8:合并压缩后的DNA序列和轮转编码后的序列。
2.根据权利要求1所述基于德布鲁因剪接轮转图实现DNA存储编码的方法,其特征在于,还包括:
步骤9:在合并后的序列中引入RS码,加入纠错位进行检验和纠错。
3.根据权利要求1所述基于德布鲁因剪接轮转图实现DNA存储编码的方法,其特征在于,动态二进制序列获取方式为:二进制序列被分成每六位二进制为一组,找到能够与第一组二进制序列异或和映射成碱基后满足约束的动态二进制,从第二组开始,每组的前两个碱基与上一组的后两个碱基相同,第三个碱基根据约束条件以及非期望相邻碱基生成,依次进行得到动态二进制序列。
4.根据权利要求1所述基于德布鲁因剪接轮转图实现DNA存储编码的方法,其特征在于,假设德布鲁因序列S=s1s2...sn,将序列S划分成步长为3的滑动窗口序列,具体为:
w1=s1s2s3,w2=s4s5s6,...,wk=sn-2sn-1sn (1)
(si+1,si+2)=(si+3,si+4),i=1,4,7,...,n-5 (2)
其中,wk表示第k个滑动序列窗口,k的范围是从1到n/3,n为序列中碱基的个数。
5.根据权利要求1所述基于德布鲁因剪接轮转图实现DNA存储编码的方法,其特征在于,所述轮转矩阵由式(3)-(4)表示,
(Mi1,Mi2,...,Mi12)=(xi,xi+1,...,x12,x1,x2,...,xi-1) (3)
其中,Matrix为轮转矩阵,Mij表示第i行第j列的元素集合x包含四个碱基:{A,C,G,T},其中xi表示两个碱基的不同组合。
6.根据权利要求1所述基于德布鲁因剪接轮转图实现DNA存储编码的方法,其特征在于,所述德布鲁因剪接图获取方式为:将德布鲁因序列划分为长度为3的不重叠碱基序列,以此构建德布鲁因剪接图;在这个有向图中,每三个k-mer作为一个节点,按照顺序进行连边。
CN202311342916.0A 2023-10-17 2023-10-17 基于德布鲁因剪接轮转图实现dna存储编码的方法 Pending CN117424600A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311342916.0A CN117424600A (zh) 2023-10-17 2023-10-17 基于德布鲁因剪接轮转图实现dna存储编码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311342916.0A CN117424600A (zh) 2023-10-17 2023-10-17 基于德布鲁因剪接轮转图实现dna存储编码的方法

Publications (1)

Publication Number Publication Date
CN117424600A true CN117424600A (zh) 2024-01-19

Family

ID=89522141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311342916.0A Pending CN117424600A (zh) 2023-10-17 2023-10-17 基于德布鲁因剪接轮转图实现dna存储编码的方法

Country Status (1)

Country Link
CN (1) CN117424600A (zh)

Similar Documents

Publication Publication Date Title
Takishima et al. Reversible variable length codes
Song et al. Codes with run-length and GC-content constraints for DNA-based data storage
Crochemore et al. A subquadratic sequence alignment algorithm for unrestricted scoring matrices
US7358874B2 (en) Data compression using a stream selector with edit-in-place capability for compressed data
US9454552B2 (en) Entropy coding and decoding using polar codes
CN105684316B (zh) 一种Polar码编码方法、装置
KR20190117652A (ko) 압축된 게놈 서열 리드로부터 게놈 참조 서열의 복원 방법 및 시스템
KR100484137B1 (ko) 개선된 허프만 디코딩 방법 및 장치
US9236881B2 (en) Compression of bitmaps and values
CN114598331A (zh) Polar码的编码方法、编译码方法及装置
CN114268323B (zh) 支持行存的数据压缩编码方法、装置及时序数据库
Cai et al. Coding for segmented edits with local weight constraints
US7898444B2 (en) Decoding method
CN102255617B (zh) 哈夫曼树的存储方法及利用数组进行数据解码的方法
CN117424600A (zh) 基于德布鲁因剪接轮转图实现dna存储编码的方法
Danciu et al. Topology-based sparsification of graph annotations
US20120319875A1 (en) Method for storing node information of huffman tree and corresponding decoding method
Wu et al. HD-code: End-to-end high density code for DNA storage
Con et al. Explicit and efficient constructions of linear codes against adversarial insertions and deletions
US9235610B2 (en) Short string compression
Hou et al. Toward optimality in both repair and update via generic MDS code transformation
CN112506876B (zh) 一种支持sql查询的无损压缩查询方法
US7663512B2 (en) Decoder and method for decoding a message using an arbitrary-side growing Huffman tree
KR20030016859A (ko) 허프만 부호의 복호화 방법
Khuat et al. New binary code design to correct one deletion and one insertion error

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