A Uniform Molecular Low-Density Parity Check Decoder - ACS

Dec 4, 2018 - Error correction codes, such as low-density parity check (LDPC) codes, are required to be larger scale to meet the increasing demands fo...
0 downloads 0 Views 1MB Size
Subscriber access provided by YORK UNIV

Article

A Uniform Molecular Low-Density Parity-Check Decoder Chuan Zhang, Lulu Ge, Xingchi Zhang, Wei Wei, Jing Zhao, Zaichen Zhang, Zhongfeng Wang, and Xiaohu You ACS Synth. Biol., Just Accepted Manuscript • DOI: 10.1021/acssynbio.8b00304 • Publication Date (Web): 04 Dec 2018 Downloaded from http://pubs.acs.org on December 5, 2018

Just Accepted “Just Accepted” manuscripts have been peer-reviewed and accepted for publication. They are posted online prior to technical editing, formatting for publication and author proofing. The American Chemical Society provides “Just Accepted” as a service to the research community to expedite the dissemination of scientific material as soon as possible after acceptance. “Just Accepted” manuscripts appear in full in PDF format accompanied by an HTML abstract. “Just Accepted” manuscripts have been fully peer reviewed, but should not be considered the official version of record. They are citable by the Digital Object Identifier (DOI®). “Just Accepted” is an optional service offered to authors. Therefore, the “Just Accepted” Web site may not include all articles that will be published in the journal. After a manuscript is technically edited and formatted, it will be removed from the “Just Accepted” Web site and published as an ASAP article. Note that technical editing may introduce minor changes to the manuscript text and/or graphics which could affect content, and all legal disclaimers and ethical guidelines that apply to the journal pertain. ACS cannot be held responsible for errors or consequences arising from the use of information contained in these “Just Accepted” manuscripts.

is published by the American Chemical Society. 1155 Sixteenth Street N.W., Washington, DC 20036 Published by American Chemical Society. Copyright © American Chemical Society. However, no copyright claim is made to original U.S. Government works, or works produced by employees of any Commonwealth realm Crown government in the course of their duties.

Page 1 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

A Uniform Molecular Low-Density Parity-Check Decoder† Chuan Zhang,∗,‡,¶,§ Lulu Ge,‡,¶,§ Xingchi Zhang,‡,¶,§ Wei Wei,∥,⊥ Jing Zhao,∥,⊥ Zaichen Zhang,¶,§ Zhongfeng Wang,# and Xiaohu You§ ‡Lab of Efficient Architectures for Digital-communication and Signal-processing (LEADS) ¶Quantum Information Center of Southeast University §National Mobile Communications Research Laboratory, Southeast University, China ∥State Key Laboratory of Coordination Chemistry, School of Chemistry and Chemical Engineering, Nanjing University, China ⊥State Key Laboratory of Pharmaceutical Biotechnology, School of Life Sciences, Nanjing University, China #School of Electronic Science and Engineering, Nanjing University, Nanjing, China E-mail: [email protected]

Abstract Error correction codes, such as low-density parity check (LDPC) codes, are required to be larger-scale to meet the increasing demands for reliable and massive data transmission. However, the construction of such a large-scale decoder will result in high complexity and hinder its silicon implementation. Thanks to the advantages of natural computing in high parallelism and low power, we propose a method to synthesize a uniform molecular LDPC decoder by implementing the belief-propagation algorithm †

Chuan Zhang and Lulu Ge contributed equally to this work.

1

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

with chemical reaction networks (CRNs). This method enables us to flexibly design the LDPC decoder with arbitrary code length, code rate, and node degrees. Compared with existing method, our proposal reduces the number of reactions to update the variable nodes by 42.86% and the check nodes by 47.37%. Numerical results are presented to show the feasibility and validity of our proposal.

Keywords Molecular computing; chemical reaction networks (CRNs); chemical kinetics; low-density parity check (LDPC) codes; belief-propagation algorithm. For large-scale systems, the error correction codes are in the ever-increasing demand than before. 1 Among all these codes, low-density parity check (LDPC) code attracts more interests for its capacity-approaching property, 2 simple decoding process, and easy implementation. However, constructing such a large-scale LDPC decoder renders high complexity to its silicon implementation, which is especially challenging when resources constraints exist. To this end, a nascent field—molecular computing 3 —emerges as a promising solution due to its high parallelism, high programmability, and low power. So far, molecular computing has obtained a myriad of achievements, 4 –10 ranging from basic logic operations 11 –18 towards more complex circuits, and signal processing modules. 19 –25 In this promising field, chemical reaction networks (CRNs) have been applied as an almostperfect programmable language, 21 ,26 ,27 which are also employed in this paper. With CRNs’ computing capability, it is convenient for designers to engineer CRNs for a given goal. CRNto-DNA tasks aiming to realize specific designs have been investigated. 21 ,28 –30 Among them, the authors of ref 21 prove the feasibility of implementing nearly arbitrary formal CRNs with DNA strand displacement reactions with certain constraints. 31 –34 Hence, in this paper we only design formal CRNs according to the goal, leaving the CRN-to-DNA task to the professional biologists and chemists.

2

ACS Paragon Plus Environment

Page 2 of 34

Page 3 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

Representing probabilities by molecular concentrations through the designed evolution, 36 ,37 CRNs can be programmed to realize message-passing algorithms based on factor graph. 35 Based on this, ref 38 extends LDPC decoder from a silicon substrate to chemical kinetics. However, ref 38 can only handle the factor graph with check nodes of degree three and variable nodes of degree at most two

39

. To address the applications with higher degrees, this

paper devotes itself in proposing a method to flexibly synthesize molecular LDPC decoders for check nodes and variable nodes with any degrees. Moreover, our proposal requires fewer reactions than ref 38 . In this paper, two molecules are used to represent a single probability value. Inspired by the derivation in ref 35 , we mathematically derive the generalized equivalent equations of message-passing algorithm for LDPC decoding. Such derivation is the foundation of our theoretical implementation and simplifies the CRN synthesis with fewer chemical reactions. Ignoring species required to be eliminated, our proposal is able to reduce the number of reactions for the update of two-degree variable nodes by 42.86% and the update of threedegree check nodes by 47.37%. The rest of this paper is organized as follows. Preliminaries are given first, including the detailed message-passing algorithm for LDPC decoder. The Molecular LDPC Decoder section elaborates how to synthesize the target molecular LDPC decoder with CRNs step by step. Two cases of LDPC codes are studied, namely (8, 4) and (20, 4) codes. A complexity comparison with ref 38 is also given.

Preliminaries Probability Representation with Molecules We employ the fractional representation in ref 40 to represent a single probability value [A1 ] . Two molecules A0 and A1 are used. Note, in our design, the sum PA = [A1 ] + [A0 ] of their concentrations is 100. Multiplying such probability with 100 gives the molecular 3

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Page 4 of 34

concentration. Take PA = 0.65 as an example. Since the sum of the two concentrations should be 100, the concentrations for molecules A1 and A0 are 65 and 35, respectively.

Simulation Model This paper adopts a deterministic simulation model. Ordinary differential equations (ODEs) are employed to depict the dynamic evolution of CRNs. 41 –45 Three simulation parameters are taken into consideration, including reactants, products, and rate constants. As rate constants in this paper are all 100 except those involved in the generation of an 8-phase oscillation, we omit them in our reaction formulas. Conforming to ref 46 , all the simulations are based on “unitless time” and “unitless concentration”, because the formal CRN owns the same tendency of the time evolution with real DNA reactions but different scales. 21

LDPC Code Figure 1 shows an (n, k) LDPC code, of fixed length n with k information bits and n − k = r check bits, transmitted over a noisy channel. In the parity-check matrix H, the rows represent the parity check equations realizing modulo 2 addition among code symbols, and the columns represent digits in the codeword. The value in the ith row and j th column of the matrix is “1” if and only if the ith code digit exists in the j th equation. LDPC Encoder

Transmitter

{0,1}

{-1,1}

c

x

Channel Signal

Receiver

Received Signal y

Noise Source n

Figure 1: An LDPC code transmitted over a noisy channel. To further elaborate this process, for a codeword c of the form {c1 , c2 , c3 , c4 , c5 , c6 }, its 4

ACS Paragon Plus Environment

Page 5 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

parity check equations and parity check matrix H are shown in Eq. (1).    c1 ⊕ c2 ⊕ c3 ⊕ c4 = 0,     c3 ⊕ c4 ⊕ c6 = 0,       c1 ⊕ c4 ⊕ c5 = 0.





 1 1 1 1 0 0     H =  0 0 1 1 0 1 .   1 0 0 1 1 0

(1)

Once H is designated, both information digits and check digits are fixed. Therefore, parity check matrix H is the start point of our CRN design.

Message-Passing Algorithm In general, LDPC codes can be decoded iteratively over a factor graph. Two-type nodes are employed, namely the variable nodes xi and check nodes fj , where i = 1, 2, · · · n − 1 and j = 1, 2, · · · , r − 1. Here, red nodes show the message regarding the probability that the transmitted symbol ci is b, where b ∈ {0, 1}. Figure 2 shows a factor graph for a general LDPC decoder. Once H is given, the factor graph is well-determined. f0

fj

f1

fr-1

qij

rji

yi

x0 y0

x1 y1

xi-1 yi-1

xi yi

xi+1 yi+1

xn-2 yn-2

xn-1

Pi

yn-1

Figure 2: A factor graph for decoding LDPC code.

Based on the received symbol yi , we can estimate the probability that its corresponding transmitted symbol ci is b, where b ∈ {0, 1}. If ci = 1, Pr(ci = 1|yi ) is denoted as Pi , otherwise Pr(ci = 0|yi ) is denoted as (1 − Pi ). The decoding process starts from initializing qij according to the probability Pi obtained at the receiver. As shown in Figure 3, four steps are required to iteratively decode LDPC

5

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

f0

fj

f1

Page 6 of 34

f0

fr-1

qijj

x0 y0

xi-1

x1 y1

yi-1

xi

Pi

rji

xi+1

yi

xn-2 yn-2

yi+1

xn-1

x0 y0

yn-1

xi-1

x1 y1

yi-1

(a) Step 1: initialize q ij . f0

rj ,i x0 y0

xi-1

x1 y1

yi-1

xi+1

yi

xn-2 yn-2

yi+1

xn-1 yn-1

f0

fr-1

fj

f1

qijj rji

xi P xi+1 i yi

xi

qi ,j

(b) Step 2: compute rji . fr-1

fj

f1

fr-1

fj

f1

xn-2 yn-2

yi+1

xn-1

x0 y0

yn-1

(c) Step 3: compute q ij .

xi-1

x1 y1

yi-1

Pi xi yi xi+1 yi

xn-2

yi+1

yn-2

xn-1 yn-1

(d) Step 4: compute y i .

Figure 3: Iterative decoding for an LDPC based on a factor graph. codes. 1). Step 1 initializes message qij with probability Pi or (1−Pi ). 2). In Step 2, message rji is calculated based on the already obtained message(s) qi′ j sent to check node fj , excluding the message qij coming from variable node xi . 3). Once all messages rji are calculated, Step 3 starts to compute message qij using messages rj ′ i with rji unemployed. The calculation of message qij is also related to the probability Pi . 4). Step 4 harnesses messages rji and probability Pi to compute yi . Step 2 to Step 4 will be carried out iteratively. A decision is made to terminate the iteration when the preset maximum iteration number is reached. This calculation process is summarized in Algorithm 1. Details of the derivation and proofs of the algorithm can be found in ref 47 .

6

ACS Paragon Plus Environment

Page 7 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

Algorithm 1 Message-passing algorithm in probability domain. Require: An estimated probability Pi for yi . 1: Step 1: Initialization qij :  1  ,  qij (0) = 1 − Pi = Pr(xi = +1|yi ) = −2y 1 + e i /σ2 1   qij (1) = Pi . = Pr(xi = −1|yi ) = 1 + e2yi /σ2 where σ 2 is an empirical value. 2: Step 2: Compute rji :  1 1 ∏   (1 − 2qi′ j (1)), rji (0) = +   2 2 i′ ∈R  j\i

1 1 ∏   − (1 − 2qi′ j (1)). r (1) =    ji 2 2 i′ ∈R

(2)

(3)

j\i

where Rj\i denotes the set of column locations of the 1’s in the j th row, excluding location i. 3: Step 3: Compute qij :

∏  = K (1 − P ) rj ′ i (0), q (0)  ij i ij    j ′ ∈Ci\j ∏   q (1) = K P rj ′ i (1), ij ij i  

(4)

j ′ ∈Ci\j



where constants Kij ensure b qij (b) = 1, b ∈ {0, 1}, and Ci\j represents the set of row locations of the 1’s in the ith column, excluding location j. 4: Step 4: Compute yi :  ∏  rji (0), y (0) = K (1 − P )  i i i   j∈Ci (5) ∏   yi (1) = Ki Pi rji (1),   ∑

where constants Ki ensure in the ith column. 5: Step 5: Make a decision: ∀i,

j∈Ci

b yi (b)

= 1, and Ci represents the set of row locations of the 1’s {

cˆi =

1,

if yi (1) >0.5,

0,

if yi (1) ≤ 0.5.

6: if ⃗cˆHT = ⃗0 or #iterations = max_iterations then 7: STOP 8: else 9: Repeat Step 2 to Step 5. 10: end if

7

ACS Paragon Plus Environment

(6)

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Molecular LDPC Decoder In this section, the CRNs for our molecular LDPC decoder is synthesized in step. Each subsection corresponds to a sub CRN to implement Eqs. (3), (4) or (5), respectively.

Rationale The key to synthesizing a molecular LDPC decoder is to implement the message-passing using chemical species. These species’ time-varying concentrations reflect the processes of probabilities being transmitted as messages through variable nodes xi towards check nodes fj , then from fj to xi , back and forth. Such an iterative process requires a chemical oscillator for scheduling. The species employed are summarized in Table 1. Table 1: Species employed for molecular LDPC decoder Species Phi rji (b) rji (0), rji (1) qij (0), qij (1) yi (0), yi (1) Pi (1) Pi (0) S, S1 , S2 , S3 Sr , Sq , Sy Sset1 Sset2 Sset3

Meaning The i phase signal for the employed 8-phase oscillator, where i = 1, 2, · · · 8 Stands for species rji (0) or rji (1), where b ∈ {0, 1} They are used to denote a rji message They are used to denote a qij message They are used to denote a yi message Denotes a Pi message Denotes a (1 − Pi ) message Space species with its concentration 100, representing the probability “1” Space species with its concentration 100, representing the probability “1” A set for species representing the probability “1” for rjin A set for species representing the probability “1” for qijn A set for species representing the probability “1” for yi th

Decoding Schedule Figure 4 introduces an 8-phase chemical oscillator to schedule the iterative decoding process. With such an oscillator, its 1st phase signal, denoted as species Ph1, triggers rji computing. The 4th phase signal Ph4 triggers yi computing and Ph5 computes qij . Note that both yi and qij calculations require the message rji , thus species representing rji cannot be removed 8

ACS Paragon Plus Environment

Page 8 of 34

Page 9 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

remove qij

compute rji

Ph1

Ph2

remove qij

compute qij compute yi

Ph3

space for rji space for qij space for yi

Ph4

Ph5

Ph6

compute qij compute yi

compute rji

Ph7

Ph8

Ph1

Ph2

Ph3

Ph4

space for rji space for qij space for yi

remove rji remove yi

Ph5

Ph6 remove rji

Ph7

remove yi

Figure 4: A diagram for decoding schedule with an 8-phase oscillator. before the computations of yi and qij start. Ph6 removes species denoting rji thus ensuring the next iteration. So does the elimination of species representing qij and yi in the 3rd and 7th phase, respectively. One thing that must be emphasized is that, the repeated creation of the probability “1” space species ensures the feasibility of such iterative decoding. The Whole CRN System Subsection details the specific creation of such space species to recycle the rji , qij and yi computations. This oscillator requires 32 chemical reactions and is synthesized with the method proposed in ref 48 . Constant rates we use to simulate for four-type reactions are {0.1, 104 , 1, 104 }, respectively.

qij Initialization Each qij message is denoted by two species qij (0) and qij (1). From the perspective of factor graph, qij initialization means that probabilities calculated by Eq. (2) are given at node yi in Figure 2. From the CRN perspective, such initialization indicates that we must pour all qij (0) and qij (1) species with their concentrations endowed by Eq. (2) into a chemical system at the very beginning. The specific concentration is calculated by Eq. (2) times 100. For example, to initialize a qij message with probability value 0.92, the initial concentrations of the two associated species qij (1) and qij (0) are 8 and 92, respectively.

9

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Page 10 of 34

rji Computing Problem Analysis. Eq. (3) is not liable to be implemented by CRNs. Even constructed successfully, the number of chemical reactions is very large. This is due to the fact that it covers the synthesis of constant

1 2

as well as many constructions of the term like (1 − 2qij (1)).

Existing literature 38 ,49 ,50 only address the issue of check nodes with the degree of three. They employ Eq. (7) as their theoretical implementing foundation. According to Theorem 1, we know that such equation is essentially derived from Eq. (3). It is symmetric without constant 2, requires no more subtraction and is easy to be synthesized with CRNs. Inspired by this derivation, we successfully derive Eq. (8) in Theorem 2, which is more suitable for CRN synthesis regarding arbitrary n degree check nodes. To the best of our knowledge, such derivation has not been proposed before in other existing literature. At this point, rji computing synthesis is the process of designing CRN according to Eq. (8). Two output species are rjin (0) and rjin (1). Totally 2(n − 1) input species qij (0) and qij (1) are required. Table 2 explicitly shows their relationship. Theorem 1 Eq. (7) can be derived from Eq. (3) with Rj\i having two elements.   

PC = PA (1 − PB ) + PB (1 − PA ),

  1 − PC = (1 − PA )PB + (1 − PB )PA .

(7)

Proof 1 The proof is provided in Appendix. Theorem 2 Eq. (3) is equivalent to Eq. (8) if Rj\i has n terms, where n ≥ 3. rjin (0) = qijn (0)rji(n−1) (0) + qijn (1)rji(n−1) (1),

(8a)

rjin (1) = qijn (0)rji(n−1) (1) + qijn (1)rji(n−1) (0).

(8b)

where rjin indicates the calculation of rji calls for n terms of qij . Proof 2 The proof is provided in Appendix.

10

ACS Paragon Plus Environment

Page 11 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

Table 2: Computing for rjin concerning n degree check node Degree 2 3 4 ··· n

rjin (0) qij2 (0) qij3 (0)rji(2) (0) + qij3 (1)rji2 (1) qij4 (0)rji(3) (0) + qij4 (1)rji3 (1) ··· qijn(0)rji(n−1)(0)+qijn(1)rji(n−1)(1)

rjin (1) qij2 (1) qij3 (0)rji(2) (1) + qij3 (1)rji2 (0) qij4 (0)rji(3) (1) + qij4 (1)rji3 (0) ··· qijn(0)rji(n−1)(1)+qijn(1)rji(n−1)(0)

Our Strategy. Unlike the clumsy synthesized method shown in ref 38 , no term like −2PA PB is constructed by CRNs in our theoretical foundation Eq. (8). In this way, numbers of reactions can be reduced. Figure 5 shows our method to synthesize rjin expressed in Eq. (8), where n indicates the degree of the corresponding check node. All arrows starts from one species to another, with species qijn above or below as catalysts. Both chemical species S and S1 denote the whole probability space “1” whose concentrations are 100. Note that species m z }| { II · · · Ii , where m = 1, 2, · · · , n − 1, and i = 1, 2, · · · , 2m , are intermediate species, denoting n−1 z }| { m terms qij of product. Probability “1” denoted by species S1 is divided with species II · · · Ii as catalysts, where i = 1, 2, · · · , 2n−1 . The final outputs are the target species rjin (0) and rjin (1). Note that whether the product rjin (b) is rjin (0) or rjin (1) depends on the results shown in Table 2.

11

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Page 12 of 34

n-1

qji3(1) qji2(1) qji1(1)

S

Ā1ā q

ji (0) 1

II1 qji (0) 3

qji3(1)

I1 q (0) ji II2 qji (0) 2

I2

3

qji2(1) qji2(0)

II3

qji3(1) qji3(0)

II4 qji (1) 3

qji3(0)

qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1

IIn-1 I1 IIn-1 I2 IIn-1 I3 IIn-1 I4 IIn-1 I5

rijn(0)

n-1

II I1 n-1

S1

II I2

Ā1ā

IIn-1 I6 II I7

rijn(b)

n-1

II I2n-

1

rijn(1)

n-1

II I2n-

1

Figure 5: Diagram to synthesize rjin with CRNs. The species rjin (b) represents rjin (0) or rjin (1). Whether it is rjin (0) or rjin (1) is case by case and based on Table 2. For rjin , the total number of required chemical reactions is (3·2n−1 −2). The sum operation is performed by dividing S1 into totally 2n pieces. Each piece copies the corresponding parts of probability towards the final rjin (0) and rjin (1), respectively. Hence, the concentrations of species rjin (0) and rjin (1) are equal to their probability values times 100.

Ph1 + qij1 (1) + S → I1 + qij1 (1) + Ph1.

(9)

Note that reactions for rji computing should be conducted with the phase signal Ph1 as the catalyst. For example, as to the arrow starting from S to I1 , its corresponding chemical n−1 z }| { reaction should be Eq. (9). Additionally, species rji and II · · · Ii should be removed in the phase signal Ph6, where i = 1, 2, · · · , 2n−1 . This species removal means chemical reactions like Eq. (10) are employed.    Ph6 + rjin (0) → Ph6,   Ph6 + rji (1) → Ph6. n

12

ACS Paragon Plus Environment

(10)

Page 13 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

qij Computing Problem Analysis. Eq. (4) computes the desired qij messages. However, it is too vague because Kij is not clear. Inspired by the derivation in page 15 of ref 35 , Table 3 lists the specific qijn calculation for a variable node with n degree. The term Kij corresponds to the denominator of qijn in Table 3. Such problem is simplified to design a CRN with output species qijn (0) and qijn (1). Input species are 2(n − 1) species rji (0) and rji (1) and two species Pi (0) or Pi (1). Their relationship is well demonstrated in Table 3. Note that species Pi (0) represents the probability (1 − Pi ) in Eq. (4). Table 3: Computing for qijn concerning n degree variable node Degree

qijn (0)

qijn (1)

3

rij1 (0)rij2 (0) rij1 (1)rij2 (1)+rij1 (0)rij2 (0) rij1 (0)rij2 (0)rij3 (0) rij1 (1)rij2 (1)rij3 (1)+rij1 (0)rij2 (0)rij3 (0)

rij1 (1)rij2 (1) rij1 (1)rij2 (1)+rij1 (0)rij2 (0) rij1 (1)rij2 (1)rij3 (1) rij1 (1)rij2 (1)rij3 (1)+rij1 (0)rij2 (0)rij3 (0)

rij1 (0)rij2 (0)···rij(n−1) (0)

rij1 (1)rij2 (1)···rij(n−1) (1)

rij1 (1)rij2 (1)···rij(n−1) (1)+rij1 (0)rij2 (0)···rij(n−1) (0)

rij1 (1)rij2 (1)···rij(n−1) (1)+rij1 (0)rij2 (0)···rij(n−1) (0)

4 ··· n 1

···

···

For qijn (0) (or qijn (1)), its one input species rij (0) (or rij (1))’s concentration is essentially (1 − Pi ) (or Pi ) times 100.

Our Strategy. Figure 6 sketches our CRN diagram corresponding to qijn computing. Its meaning is illustrated as follows. All arrows, dashed or not, starts from one species to another. Species rjin (1) and rjin (0) above or below the arrows are catalysts. Dashed arrows indicates that the products are wasted, namely ϕ. Both the species S2 and S3 represent the whole probability space “1”. The final outputs, the wanted products, are species qijn (0) and qijn (1).

13

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

rji3(1) rji2(1) rji1(1)

I1(1)

S2

Ā1ārji1(0)

I1(0)

I2(1)

rji2(0) ¶ rji2(1) ¶ rji2(0)

I2(0)

I3(1)

rji3(0) ¶

Page 14 of 34

rjin(1)

In(1)

rjin(0) ¶

In(1)

qijn(1)

Ā1ā I (0)

qijn(0)

S3

rji3(1)



rjin(1)



rji3(0)

I3(0)

rjin(0)

In(0)

n

Figure 6: Diagram to synthesize qijn with CRNs. Note that among all catalysts rjin (b), one rji (0) and one rji (1) must be replaced by (1 − Pi ) and Pi . This is coincidence with Eq. (4). For qijn , it requires totally (4n − 4) chemical reactions. Species S3 is divided by In (0) and In (1) to synthesize their corresponding numerator in Table 3. The rationale hidden in this operation is that chemical reactions are fired simultaneously. One molecule of In (1) combines one molecule of S3 , and at the same time one In (0) competitively combines one molecule of S3 as well. Under this circumstance, the concentration of S3 is divided by the proportion of In (1) and In (0). Since qijn (1) and qijn (0) expressed in Table 3 have the same denominator, their proportion is exactly their numerator’s ratio, that is the concentration of species In (1) and In (0). Notice that reactions indicated in Figure 6 should be instructed by the phase signal Ph5 with reactions akin to Eq. (9). Species qij , In (1) and In (0) are cleared out in the phase signal Ph3 by employing reactions like Eq. (10).

yi Computing Akin to qijn computing, the yi computing synthesis follows the diagram shown in Figure 6. The only difference is that for the variable node with the degree n to compute yi , totally (n + 1) terms of product are required, while for the same degree qijn computing requires n terms of product. Additionally, we employ species Ph4 as the catalyst to instruct yi computing with reactions similar to Eq. (9). Species yi , In+1 (1) and In+1 (0) should be 14

ACS Paragon Plus Environment

Page 15 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

eliminated in the phase Ph7 using reactions like Eq. (10).

The Whole CRN System The whole CRN is finally constructed via combining all the chemical reactions implemented from Decoding Schedule Subsection to yi Computing Subsection. To set up such a large CRN system, species Pi (0), Pi (1), qij (0), qij (1) and Sr are poured as the input of our molecular LDPC decoder. The concentrations for the former four-type species are set according to Eq. (2) (mentioned in Decoding Schedule Subsection). Species Sr ’s concentration is 100.    Ph1 + Sr → Ph1 + Sset1 + Sq ,     Ph2 + Sq → Ph2 + Sset2 + Sr + Sy ,       Ph3 + Sy → Ph3 + Sset3 .

(11)

Here we illustrate the repeated creation of space species for decoding schedule with Sr initially poured into the system. As mentioned in Decoding Schedule Subsection, we harness space species Sq , Sr , Sy and three sets of space species Sset1 , Sset2 and Sset3 to realize the iterative decoding process. Here Sset1 , Sset2 and Sset3 are the sets of the species used to represent the probability “1” for rjin , qijn and yi shown in Figures 5 and 6, respectively. The specific reactions like Eq. (11) are employed. Using Eq. (11), we only need to initiate the species Sr with its initial concentration 100. Quantities are copied from Sr in the 1st phase signal to Sq , then producing the species Sr to be used in the next Ph1 and species Sy to be consumed in the 3rd phase Ph3. Thus, In the following clock cycles, species Sq , Sr , Sy and species sets Sset1 , Sset2 and Sset3 can be continuously created with their concentrations 100 in their designed clock phases.

15

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Page 16 of 34

Simulation Results This section offers two case studies to validate our proposal. For the sake of comparison convenience, we employ an example in ref 38 . These simulations demonstrate that our proposal is more generalized for check nodes and variable nodes with higher degrees.

Case Study One: an (8,4) Molecular LDPC Decoder An example of an (8, 4) LDPC decoder with its parity check matrix H is listed in Eq. (12). The transmitted LDPC codeword c is {1, 0, 1, 0, 1, 1, 1, 1}. Figure 7 shows its factor graph.



  1 1 1   0 0 0  H=  1 0 0   0 1 0

0 0 0 0 0   1 1 1 0 0   . 1 0 0 1 0    0 1 0 0 1

(12)

Assume the noise source in Figure 1 is the additive white Gaussian noise (AWGN). The received signal y is {−0.3, −0.1, −0.9, 0.2, 0.2, −1.2, −0.9, −0.8}, where yi = xi + ni , xi = 1 − 2ci ∈ {−1, 1}, ni ∼ N (0, σ 2 ), the variance σ 2 = 0.5. f0

rji

x0 y0

f2

f1

f3

qij

r00 q10 q20

x1 y1

x2 y2

x3

x4

y3

y4

x5 y5

x6 y6

x7 y7

Figure 7: The factor graph corresponding to H. To obtain the target CRN, Table 4 lists the species dependency for rji , qij and yi computing. Take r00 computing as an example. Two species r00 (0) and r00 (1) are used to denote

16

ACS Paragon Plus Environment

Page 17 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

the target output. Four species q10 (0), q10 (1), q20 (0) and q20 (1) are used as inputs. Their relationship is depicted by Eq. (8). Table 4: Species dependency for rji , qij and yi in case study one rji computing calculated by Eq. (8) Input q10 , q20 q32 , q62 q00 , q20 q43 , q73 q00 , q10 q41 , q51 Output r00 r20 r01 r31 r02 r13 Input q02 , q62 q31 , q51 q13 , q73 q31 , q41 q02 , q32 q03 , q43 Output r23 r14 r34 r15 r26 r37 qij computing calculated by Eq. (4) Input r20 , P0 r00 , P0 r31 , P1 r01 , P1 P2 r23 , P3 q00 q02 q10 q13 q20 q31 Output Input q32 q41 q43 q51 q62 q73 Output r13 , P3 r34 , P4 r14 , P4 P5 P6 P7 yi computing calculated by Eq. (5) Output y0 y1 y2 y3 Input r00 , r20 , P0 r01 , r31 , P1 r02 , P2 r13 , r23 , P3 Output y4 y5 y6 y7 Input r14 , r34 , P4 r15 , P5 r26 , P6 r37 , P7 2 Note that rji denotes two species rji (0) and rji (1). The same to qij , yi and Pi . Following the methodology illustrated in Molecular LDPC Decoder Section, the CRN simulation results are shown in Figure 8. They are coincident with the non-CRN theoretical results listed in Table 7 in Appendix, which are simulated by Matlab. To be more specific, species r14 (1), q41 (1) and y4 (1) are selected to validate the availability of our synthesized approach. The time-varying concentrations of these three species correctly reflect their corresponding theoretical results listed in Table 7.

Case Study Two: a (20,4) Molecular LDPC Decoder Here we synthesize a (20, 4) LDPC decoder with its parity check matrix H in Eq. (13). 51 The degree of all check nodes and variable nodes are four and three, respectively. This matrix cannot be decoded with the synthesis method proposed in ref 38 . However, we successfully

17

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Page 18 of 34

Figure 8: Simulation results for case study one. implement the corresponding target CRN LDPC decoder in this paper.                        H=                      

 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0     0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0    0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1     1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0    0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0    0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0  .   0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0    0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1    1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0     0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0    0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0    0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0    0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

(13)

Figure 9 depicts its factor graph. Suppose the transmitted codeword c is {1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0}. Assume the variance σ 2=0.7672 and the received signal y is {−1.315,−0.38,

18

ACS Paragon Plus Environment

Page 19 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

0.24, −2.41, 1.9, 2.28, 1.04, 2.53, −0.86, −0.08, −0.92, −1.29, 1.63, −0.72, 1.36, −1.51, −0.87, − 0.44, −1.666, 0.283}. Due to page limit, the whole calculation list for rji , qij and yi is omitted. Simple analysis is offered. Such factor graph owns check nodes with the degree of four, while the degree of the variable nodes is three. Take the calculation of r00 as an example, it should be computed by Eq. (3) which requires the messages of q10 , q20 and q30 . f0

f1

f2

f3

f4

f5

f6

f7

f8

f10

f9

f11

f12

f13

f14

r00

rji

qij

q10 q20 q30

x0 y0

x1 y1

x2 y2

x3 y3

x4 y4

x5 y5

x6 y6

x7 y7

x8 y8

x9

x10

y9

y10

x11 y11

x12 y12

x13 y13

x14 y14

x15 y15

x16 y16

x17 y17

x18 y18

x19 y19

Figure 9: The factor graph corresponding to H in case study two. Theoretical non-CRN decoding results are listed in Table 5. Figure 10 shows our CRN simulation results.

Figure 10: Simulation results for case study two. According to Figure 10, species r00 (1), q10 (1) and y1 (1) are selected to validate our approach. They are coincident with theoretical non-CRN simulation data in Table 5. 19

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Page 20 of 34

Table 5: Non-CRN theoretical results of r00 , q10 and y ˆ for (20, 4) LDPC decoder

Prob. Index 1 Index 2 Index 3 Index 4 Index 5 Index 6 Bit y

r00 0.431 0.328 0.642 0.996 0.999 0.999

Prob. Index 1 Index 2 Index 3 Index 4 Index 5 Index 6 Bit y

q10 0.284 0.652 0.998 1.00 1.00 1.00 3

Note

Results of the Molecular LDPC Decoder (Part I) y0 y1 y2 y3 y4 y5 y6 y7 y8 0.985 0.182 0.959 0.993 0 0 0 0 0.999 0.995 0.938 0.924 0.997 0 0 0 0 0.999 1.00 1.00 0.999 1.00 0 0 0 0 0.999 1.00 1.00 1.00 1.00 0 0 0 0 1.00 1.00 1.00 1.00 1.00 0 0 0 0 1.00 1.00 1.00 1.00 1.00 0 0 0 0 1.00 1 1 1 1 0 0 0 0 1 Results of the Molecular LDPC Decoder (Part II) y10 y11 y12 y13 y14 y15 y16 y17 y18 0.20 0.96 0 0.998 0.05 0.996 0.960 0.15 0.791 0.10 0.946 0 0.999 0.02 0.992 0.999 0 0.961 0 1.00 0 0.998 0 0.999 1.00 0.01 0.998 0 1.00 0 1.00 0 1.00 1.00 0 1.00 0 1.00 0 1.00 0 1.00 1.00 0 1.00 0 1.00 0 1.00 0 1.00 1.00 0 1.00 0 1 0 1 0 1 1 0 1 Prob. is short for probability. Index indicates iterative index.

y9 0.56 0.11 0 0 0 0 0 y19 0.07 0.05 0 0 0 0 0

Complexity Analysis Table 6 offers a complexity comparison between our proposal and the method in ref 38 , which is also discussed as following. 1). Ref 38 can limitedly synthesize the LDPC decoder whose variable node at most owns the degree of 2 and check node must be with the degree of 3. Our proposed method can easily realize the same goal. 2). Our method can be applied to any code length, code rate and even any degree of both check node and variable node. Ref 38 cannot realize this goal due to the limited theoretical foundation. 3). The method proposed in ref 38 is inflexible due to its limited application. 4). Even in terms of the same application scene, the proposed method in this paper requires fewer chemical reactions than ref 38 . 5). Table 6 specifically lists the chemical reaction numbers for qij2 and rji3 calculation of the two different methods. Ignoring species required to be eliminated, our proposal reduces the reaction number for qij2 by 42.86% and rji3 by 47.37%. If we consider such elimination, the reaction number for ref 38 is reduced by 50% for qij2 and 26.32% for 20

ACS Paragon Plus Environment

Page 21 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

rji3 computation, respectively. Therefore, the proposed method in this paper requires fewer reactions. Table 6: A complexity comparison between two methods Method Ref 38 This paper Method Ref 38 This paper Reduced

Course qualitative comparison Degree of 3 (2) Degree of n Flexibility Reactions yes no low more yes yes high fewer Chemical reaction number comparison Ignore elimination Consider elimination qij2 rji3 qij2 rji3 14 19 20(= 6 + 14) 19(= 0 + 19) 8 10 10(= 2 + 8) 14(= 4 + 10) 42.86% 47.37% 50% 26.32% 4 #Reduced = (#Row7 − #Row8)/#Row7.

Conclusion and Discussion In summary, we propose a method to synthesize a molecular LDPC decoder based on the message-passing algorithm. Thus far, the LDPC decoder has its application to be extended from silicon to chemical kinetics. Such molecular LDPC decoder has its general synthesis method to be consummated in this paper from ref 38 , whose application scene is relatively limited. Compared to ref 38 , our method is not limited by node degree, and can be applied to any code length and code rate. Moreover, in the only application scene—both these two methods can be applied—our proposal can strikingly reduce the number of chemical reactions. To be more specific, compared with ref 38 , the number of chemical reactions is reduced by 42.86% for qij2 calculation and 47.37% for rji3 computation, ignoring the reaction number for some species required to be eliminated. Additionally, we offer our theoretical implementing foundation through transforming Eq. (3) into Eq. (8). Thus rji computing can be easily synthesized on a chemical substrate. This derivation is not given in refs 35 , 38 , 49 , 50 but caters much to our work in this paper.

21

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

It should be noted that this method is just focused on the implementation of the general molecular LDPC decoder. All the proposed CRN construction methods can be readily applied to QC-LDPC codes, which fall in a regularly constructed category of LDPC codes. It is known that, thanks to QC-LDPC’s cyclic structure, QC-LDPC decoder can be efficiently designed by making use of the structure. Since CRN is equivalent to wire connection, molecular QC-LDPC decoder can also enjoy high efficiency by reusing partial CRN to represent the entire CRN. Moreover, this idea is not limited to simple error correction codes and can be easily generalized to more complex networks based on probability. Our future work will devote itself to any baseband processing or any signal processing that is based on belief propagation or even Bayesian network. Our next work will be direct towards the already mentioned generalization and its experimental implementation.

Author Contribution The main idea is proposed by Chuan Zhang. Chuan Zhang and Lulu Ge take the major part of paper writing. Preliminaries of this paper are from Xingchi Zhang’s IEEE ICC conference paper. Wei Wei and Jing Zhao help with the wet implementation feasibilities. Zhongfeng Wang helps with the LDPC BP decoding schedule. Zaichen Zhang and Xiaohu You help with the kinetics from BP decoding to CRNs.

Acknowledgement We would like to thank Chongzhou Fang, Yuchen Zhuang, Zhiwei Zhong and Xiaosi Tan for their discussions, comments and helps. This work is supported in part by NSFC under grants 61871115 and 61501116, Jiangsu Provincial NSF for Excellent Young Scholars under grant BK20180059, the Fundamental Research Funds for the Central Universities, the SRTP of Southeast University, ICRI for MNC, and the Project Sponsored by the SRF for the Returned Overseas Chinese Scholars of MoE. 22

ACS Paragon Plus Environment

Page 22 of 34

Page 23 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

Appendices Proof of Theorem 1 For a check node with the degree of three, the calculation of rji requires two qij , denoted qij1 and qij2 . Thus rji (1) in Eq. (3) can be rewritten as rji (1) =

1 1 ∏ − (1 − 2qi′ j (1)) 2 2 i′ ∈R j\i

1 1 − (1 − 2qij1 (1))(1 − 2qij2 (1)) 2 2 1 1 = − (1 − 2qij2 (1) − 2qij1 (1) − 4qij1 (1)qij2 (1)) 2 2 =

= qij1 (1) + qij2 (1) − 2qij1 (1)qij2 (1) = qij1 (1)(1 − qij2 (1)) + qij2 (1)(1 − qij1 (1)) = qij1 (1)qij2 (0) + qij2 (1)qij1 (0). Similarly, we can also derive out rji (0) = qij1 (0)qij2 (0) + qij2 (1)qij1 (1). Therefore, we could obtain Eq. (14).    rji (1) = qij1 (1)qij2 (0) + qij2 (1)qij1 (0)   rji (0) = qij (0)qij (0) + qij (1)qij (1) 1 2 2 1

(14)

Let PC = rji (1), PA = qij1 (1), PB = qij2 (1), 1−PC = rji (0), 1−PA = qij1 (0), 1−PB = qij2 (0). Then Eq. (14) is exactly Eq. (7).

Proof of Theorem 2 It is easy to prove that when n = 3, Eq. (8) is equivalent to Eq. (3).

23

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Page 24 of 34

Assume when n = k, Eq. (15) could be derived from Eq. (3), we have 1 1∏ rjik (0) = + (1 − 2qijn (1)) 2 2 n=1

(15a)

1 1∏ (1 − 2qijn (1)) rjik (1) = − 2 2 n=1

(15b)

k

k

Let Eq. (15a)×qij(k+1) (0)+ Eq. (15b)×qij(k+1) (1). Thus, rjik (0) × qij(k+1) (0) + rjik (1) × qij(k+1) (1) k ∏ 1 1 (1 − 2qijn (1)) = qij(k+1) (0) + qij(k+1) (0) 2 2 n=1 k ∏ 1 1 + qij(k+1) (1) − qij(k+1) (1) (1 − 2qijn (1)) 2 2 n=1 k ∏ 1 1 = + (qij(k+1) (0) − qij(k+1) (1)) (1 − 2qijn (1)) 2 2 n=1 k ∏ 1 1 (1 − 2qijn (1)) = + (1 − 2qij(k+1) (1)) 2 2 n=1

1 1∏ (1 − 2qijn (1)) = + 2 2 n=1 k+1

= rji(k+1) (0). Similarly, Eq. (8b) can be proved if let Eq. (15a)×qij(k+1) (1)+ Eq. (15b)×qij(k+1) (0). This Theorem 2 is also applied to the condition when n = k + 1. Therefore, we conclude our proof.

24

ACS Paragon Plus Environment

Page 25 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

Non-CRN theoretical results for (8, 4) LDPC decoder Table 7: Non-CRN theoretical results of rji , qij and y ˆ for (8, 4) LDPC decoder

Prob. Index 6 Index 6 Index 6 Index 6 Index 6 Index 6

r00 0.41 0.26 0.40 0.63 0.56 0.43

Prob. Index 1 Index 2 Index 3 Index 4 Index 5 Index 6

q00 0.88 0.77 0.71 0.86 0.91 0.86

5

Note

Theoretical Results of rji r13 r14 r15 r20 r23 r26 r31 r34 0.69 0.69 0.43 0.68 0.25 0.60 0.68 0.41 0.76 0.87 0.30 0.50 0.32 0.50 0.50 0.66 0.53 0.82 0.48 0.42 0.47 0.49 0.27 0.78 0.40 0.71 0.54 0.65 0.32 0.56 0.34 0.66 0.53 0.82 0.48 0.76 0.17 0.69 0.47 0.60 0.60 0.91 0.42 0.65 0.21 0.60 0.34 0.76 Theoretical Results of qij q10 q20 q31 q41 q51 q02 q32 q62 q13 q43 0.75 0.97 0.13 0.24 0.99 0.69 0.50 0.97 0.33 0.50 0.60 0.97 0.17 0.47 0.99 0.54 0.59 0.97 0.20 0.74 0.36 0.97 0.28 0.61 0.99 0.69 0.34 0.97 0.32 0.68 0.43 0.97 0.17 0.47 0.99 0.85 0.23 0.97 0.40 0.53 0.57 0.97 0.08 0.40 0.99 0.81 0.34 0.97 0.22 0.67 0.43 0.97 0.10 0.59 0.99 0.72 0.40 0.97 0.15 0.81 Results of the Molecular LDPC Decoder Bit y0 y1 y2 y3 y4 y5 y6 y7 yi (0) 0.77 0.60 0.97 0.31 0.31 0.99 0.97 0.96 yi (1) 0.83 0.50 0.97 0.24 0.41 0.99 0.98 0.97 yi (2) 0.53 0.20 0.94 0.39 0.85 0.98 0.97 0.96 yi (3) 0.62 0.15 0.97 0.31 0.88 0.99 0.97 0.98 yi (4) 0.91 0.25 0.98 0.12 0.69 0.99 0.98 0.97 yi (5) 0.93 0.20 0.98 0.09 0.75 0.99 0.99 0.96 yi (6) 0.83 0.09 0.97 0.15 0.93 0.99 0.98 0.97 y ˆ 1 0 1 0 1 1 1 1 Prob. is short for probability. Index indicates iterative index. r01 0.25 0.14 0.24 0.31 0.16 0.11

r02 0.45 0.31 0.44 0.56 0.55 0.44

r37 0.54 0.50 0.65 0.56 0.51 0.60 q73 0.96 0.96 0.96 0.96 0.96 0.96

References 1. Hamming, R. W. (1950) Error detecting and error correcting codes. Bell Syst. Tech. J. 29, 147–160. 2. MacKay, D. J., and Neal, R. M. (1996) Near Shannon limit performance of low density parity check codes. Electron. Lett. 32, 1645–1646. 25

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

3. Rozenberg, G., Bck, T., and Kok, J. N. Handbook of natural computing; Springer Publishing Company, Incorporated, 2011. 4. Qian, L., and Winfree, E. (2011) Scaling up digital circuit computation with DNA strand displacement cascades. Science 332, 1196–1201. 5. Qian, L., Soloveichik, D., and Winfree, E. Efficient Turing-universal computation with DNA polymers. International Workshop on DNA-Based Computers. 2010; pp 123–140. 6. Seelig, G., and Soloveichik, D. Time-complexity of multilayered DNA strand displacement circuits. International Workshop on DNA-Based Computers. 2009; pp 144–153. 7. Chen, H.-L., Cummings, R., Doty, D., and Soloveichik, D. Speed faults in computation by chemical reaction networks. International Symposium on Distributed Computing. 2014; pp 16–30. 8. Andréasson, J., and Pischel, U. (2015) Molecules with a sense of logic: a progress report. Chem. Soc. Rev. 44, 1053–1069. 9. Katz, E. (2015) Biocomputingtools, aims, perspectives. Curr. Opin. Biotechnol. 34, 202– 208. 10. Qian, L., Winfree, E., and Bruck, J. (2011) Neural network computation with DNA strand displacement cascades. Nature 475, 368. 11. Senum, P., and Riedel, M. (2011) Rate-independent constructs for chemical computation. PLoS One 6, e21414. 12. Credi, A., Balzani, V., Langford, S. J., and Stoddart, J. F. (1997) Logic operations at the molecular level. An XOR gate based on a molecular machine. J. Am. Chem. Soc. 119, 2679–2681. 13. Andréasson, J., and Pischel, U. (2010) Smart molecules at workmimicking advanced logic operations. Chem. Soc. Rev. 39, 174–188. 26

ACS Paragon Plus Environment

Page 26 of 34

Page 27 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

14. Arkin, A., and Ross, J. (1994) Computational functions in biochemical reaction networks. Biophys. J. 67, 560–578. 15. Cheng, B., and Riedel, M. Biocomputing 2009; World Scientific, 2009; pp 4–14. 16. Credi, A. (2007) Molecules that make decisions. Angew. Chem., Int. Ed. 46, 5472–5475. 17. Balzani, V., Credi, A., and Venturi, M. (2003) Molecular logic circuits. ChemPhysChem 4, 49–59. 18. de Silva, A. P., and McClenaghan, N. D. (2004) Molecular-scale logic gates. Chemistry–A European Journal 10, 574–586. 19. Jiang, H., Riedel, M. D., and Parhi, K. K. Digital logic with molecular reactions. Proceedings of the International Conference on Computer-Aided Design. 2013; pp 721–727. 20. Ge, L., Zhong, Z., Wen, D., You, X., and Zhang, C. (2017) A formal combinational logic synthesis with chemical reaction networks. IEEE Transactions on Molecular, Biological and Multi-Scale Communications 3, 33–47. 21. Soloveichik, D., Seelig, G., and Winfree, E. (2010) DNA as a universal substrate for chemical kinetics. Proceedings of the National Academy of Sciences 107, 5393–5398. 22. Jiang, H., Kharam, A. P., Riedel, M. D., and Parhi, K. K. A synthesis flow for digital signal processing with biomolecular reactions. Proceedings of the International Conference on Computer-Aided Design. 2010; pp 417–424. 23. Raymo, F. M., and Giordani, S. (2001) Signal processing at the molecular level. J. Am. Chem. Soc. 123, 4651–4652. 24. Bradley, R. W., and Wang, B. (2015) Designer cell signal processing circuits for biotechnology. New Biotechnol. 32, 635–643.

27

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

25. Raymo, F. M. (2002) Digital processing and communication with molecular switches. Advanced Materials 14, 401–414. 26. de Silva, A. P. (2008) Molecular computing: A layer of logic. Nature 454, 417. 27. Chen, H.-L., Doty, D., and Soloveichik, D. (2014) Deterministic function computation with chemical reaction networks. Nat. Comput. 13, 517–534. 28. Srinivas, N. Programming chemical kinetics: engineering dynamic reaction networks with DNA strand displacement. Ph.D. thesis, California Institute of Technology, 2015. 29. Chen, Y.-J., Dalchau, N., Srinivas, N., Phillips, A., Cardelli, L., Soloveichik, D., and Seelig, G. (2013) Programmable chemical controllers made from DNA. Nat. Nanotechnol. 8, 755. 30. Cardelli, L. (2013) Two-domain DNA strand displacement. Mathematical Structures in Computer Science 23, 247–271. 31. Yurke, B., and Mills, A. P. (2003) Using DNA to power nanostructures. Genetic Programming and Evolvable Machines 4, 111–122. 32. Zhang, D. Y., and Winfree, E. (2009) Control of DNA strand displacement kinetics using toehold exchange. J. Am. Chem. Soc. 131, 17303–17314. 33. Yurke, B., Turberfield, A. J., Mills Jr, A. P., Simmel, F. C., and Neumann, J. L. (2000) A DNA-fuelled molecular machine made of DNA. Nature 406, 605. 34. Thachuk, C., Winfree, E., and Soloveichik, D. Leakless DNA strand displacement systems. International Workshop on DNA-Based Computers. 2015; pp 133–153. 35. Kschischang, F. R., Frey, B. J., and Loeliger, H.-A. (2001) Factor graphs and the sumproduct algorithm. IEEE Trans. Inf. Theory 47, 498–519.

28

ACS Paragon Plus Environment

Page 28 of 34

Page 29 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

36. Shen, Z., Zhang, C., Ge, L., Zhuang, Y., Yuan, B., and You, X. Synthesis of Probability Theory Based on Molecular Computation. Proc. IEEE International Workshop on Signal Processing Systems (SiPS). 2016; pp 27–32. 37. Salehi, S. A., Riedel, M. D., and Parhi, K. K. Markov chain computations using molecular reactions. Proc. IEEE International Conference on Digital Signal Processing (DSP). 2015; pp 689–693. 38. Zhang, X., Ge, L., You, X., and Zhang, C. IEEE International Conference on Communications (ICC), accepted. 39. Guruswami, V. (2006) Iterative decoding of low-density parity check codes (A Survey). arXiv preprint cs/0610022 40. Salehi, S. A., Parhi, K. K., and Riedel, M. D. (2016) Chemical reaction networks for computing polynomials. ACS Synth. Biol. 6, 76–83. 41. Howard, P. Analysis of ODE Models. 2009. 42. Stan, G.-B. (2017) Modelling in biology. 43. Strogatz, S. H. Nonlinear dynamics and chaos: with applications to physics, biology, chemistry, and engineering; CRC Press, 2018. 44. Zauderer, E. Partial differential equations of applied mathematics; John Wiley & Sons, 2011; Vol. 71. 45. Hale, J. K., and Lunel, S. M. V. Introduction to functional differential equations; Springer Science & Business Media, 2013; Vol. 99. 46. Kharam, A., Jiang, H., Riedel, M., and Parhi, K. Binary counting with chemical reactions. Biocomputing. 2011; pp 302–313.

29

ACS Paragon Plus Environment

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

47. Ryan, W. (2002) A Low-Density Parity-Check Code Tutorial, Part II-The Iterative Decoder. Electrical and Computer Engineering Department, The University of Arizona, Tucson, Ariz, USA 48. Ge, L., Zhang, C., Zhong, Z., and You, X. A formal design methodology for synthesizing a clock signal with an arbitrary duty cycle of M/N. IEEE Workshop on Signal Processing Systems (SiPS). 2015; pp 1–6. 49. Gaudet, V. C., and Rapley, A. C. (2003) Iterative decoding using stochastic computation. Electronics Letters 39, 1. 50. Tehrani, S. S., Gross, W. J., and Mannor, S. (2006) Stochastic decoding of LDPC codes. IEEE Communications Letters 10, 716–718. 51. Gallager, R. (1962) Low-density parity-check codes. IRE Trans. Inf. Theory 8, 21–28.

30

ACS Paragon Plus Environment

Page 30 of 34

Page 31 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

For Table of Contents Use Only Paper Title: A Uniform Molecular Low-Density Parity-Check Decoder Chuan Zhang, Lulu Ge, Xingchi Zhang, Wei Wei, Jing Zhao, Zaichen Zhang, Zhongfeng Wang, and Xiaohu You

LDPC Encoder

Transmitter

{0,1}

{-1,1}

c

x

Receiver

Channel Received Signal

Signal

y

Noise Source n

Figure 1: An LDPC code transmitted over a noisy channel.

f0

fj

f1

fr-1

qij

rji

yi

x0

xi-1

x1

y0

y1

yi-1

xi

xi+1

yi

xn-1

xn-2

yn-1

yn-2

yi+1

Pi

Figure 2: A factor graph for decoding LDPC code.

n-1

qji3(1)

qji1(1)

I1

qji2(1)

II1

qji2(0)

II2

S

Ā1ā q

ji1(0)

I2

qji3(0) qji3(1)

qji2(1)

II3

qji2(0)

II4

qji3(0) qji3(1) qji3(0) qji3(1) qji3(0)

qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1 qjin-1(1) qjin(0) -1

IIn-1 I1 IIn-1 I2 IIn-1 I3 IIn-1 I4 IIn-1 I5

n-1

S1

II I2

Ā1ā

IIn-1 I6 II I7

rijn(b)

n-1

II I2n-

1

rijn(1)

n-1

II I2n-

rijn(0)

n-1

II I1

1

Figure 5: Diagram to synthesize rjin with CRNs. The species rjin (b) represents rjin (0) or rjin (1). Whether it is rjin (0) or rjin (1) is case by case and based on Table 2.

ACS Paragon Plus Environment

1

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

f0

fj

f1

Page 32 of 34

fr-1

qijj

x0 y0

xi-1

x1 y1

xi

yi-1

Pi

xi+1

yi

xn-2 yn-2

yi+1

xn-1 yn-1

(a) Step 1: initialize q ij .

f0

fr-1

fj

f1

rji

x0 y0

xi-1

x1 y1

xi

yi-1

qi ,j

xi+1

yi

yi+1

xn-2 yn-2

xn-1 yn-1

(b) Step 2: compute rji .

f0

rj ,i x0 y0

y1

qijj

xi P xi+1 i

xi-1

x1

fr-1

fj

f1

yi-1

yi

yi+1

xn-2 yn-2

xn-1 yn-1

(c) Step 3: compute q ij .

f0

fr-1

fj

f1

rji x0 y0

x1 y1

xi-1 yi-1

Pi xi yi xi+1 yi

yi+1

xn-2 yn-2

xn-1 yn-1

(d) Step 4: compute y i .

Figure 3: Iterative decoding for an LDPC based on a factor graph. ACS Paragon Plus Environment

2

Page 33 of 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ACS Synthetic Biology

remove qij

compute rji

Ph1

Ph2

remove qij

compute qij compute yi

Ph3

Ph4

Ph5

space for rji space for qij space for yi

compute qij compute yi

compute rji

Ph6

Ph7

Ph8

Ph1

Ph2

Ph3

Ph4

Ph5

space for rji space for qij space for yi

remove rji remove yi

Ph6

Ph7

remove rji

remove yi

Figure 4: A diagram for decoding schedule with an 8-phase oscillator.

I3(1)

rji3(1) rji2(1) rji1(1)

I1

(1)

S2

Ā1ārji1(0)

I1(0)

I2(1)

rji3(0) ¶

rji2(0) ¶ rji2(1) ¶ rji2(0)

In(1)

rjin(1)

rjin(0) ¶

In(1)

qijn(1)

Ā1ā I (0)

qijn(0)

S3

I2

rji3(1)



rjin(1)



rji3(0)

I3(0)

rjin(0)

In(0)

(0)

n

Figure 6: Diagram to synthesize qijn with CRNs. Note that among all catalysts rjin (b), one rji (0) and one rji (1) must be replaced by (1 − Pi ) and Pi . This is coincidence with Eq. (4).

f0

rji

y0

f3

qij

r00 q10 q20

x1

x0

f2

f1

y1

x2 y2

x3

x4

y3

y4

x5

x6

y5

y6

x7 y7

Figure 7: The factor graph corresponding to H.

Figure 8: Simulation results for case study one.

ACS Paragon Plus Environment

3

ACS Synthetic Biology 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

f0

f1

f2

f3

f4

f5

f6

f7

f8

Page 34 of 34

f10

f9

f11

f12

f13

f14

r00

rji

qij

q10 q20 q30

x0 y0

x1 y1

x2 y2

x3 y3

x4 y4

x5 y5

x6 y6

x7 y7

x8 y8

x9

x10

y9

y10

x11 y11

x12

x13

y12

y13

x14

x15

y14

y15

x16 y16

Figure 9: The factor graph corresponding to H in case study two.

Figure 10: Simulation results for case study two.

ACS Paragon Plus Environment

4

x17 y17

x18 y18

x19 y19