Biocomputing, the use of biological systems for computational purposes, faces significant challenges in scaling up to tackle complex problems. One major hurdle is the need for precise control over biological processes, as small variations can lead to errors and instability. This necessitates the development of sophisticated tools and techniques for manipulating and monitoring biological systems at the molecular level.
The integration of biocomputing with other disciplines, such as electronics and materials science, is crucial for developing scalable and efficient systems. Researchers are exploring strategies such as error correction mechanisms and robust design principles inspired by nature to overcome the inherent noise and variability present in biological systems. Advances in synthetic biology are also enabling the construction of more complex biological circuits and pathways.
The long-term viability and sustainability of biocomputing systems are critical considerations for scaling up. This includes addressing concerns related to energy efficiency, waste management, and potential environmental impacts. Researchers are exploring innovative solutions such as bio-inspired energy harvesting and self-sustaining biological systems. Biocomputing has made significant progress in recent years, with scientists exploring the use of biological systems to perform computational tasks that may be more efficient than traditional computers.
What Is Biocomputing?
Biocomputing is an interdisciplinary field that combines biology, computer science, and mathematics to develop novel computational systems inspired by biological processes. This field aims to harness the power of biological systems to solve complex computational problems more efficiently than traditional silicon-based computers.
One of the key areas of research in biocomputing is DNA computing, which uses DNA molecules as a medium for computation. In this approach, DNA strands are designed to perform specific computations by binding to each other and forming complexes that represent different states of a computation. This process can be used to solve complex problems such as the traveling salesman problem or the knapsack problem.
Another area of research in biocomputing is neuromorphic computing, which seeks to develop computational systems inspired by the structure and function of biological neurons. These systems use artificial neural networks that mimic the behavior of biological neurons to perform tasks such as pattern recognition and machine learning. Neuromorphic computing has potential applications in areas such as robotics and autonomous vehicles.
Biocomputing also involves the development of novel algorithms and programming languages that can be used to program biological systems. For example, researchers have developed genetic programming languages that allow users to design and optimize genetic circuits that can perform specific functions within living cells. These approaches have potential applications in areas such as synthetic biology and biotechnology.
Biocomputing has also been explored for its potential to solve complex optimization problems more efficiently than traditional computers. Biological systems have evolved over millions of years to optimize their performance in a wide range of environments, and researchers are seeking to harness this ability to develop novel computational systems that can solve complex optimization problems more efficiently.
The development of biocomputing systems also raises important questions about the ethics and societal implications of using biological systems for computation. For example, there is concern about the potential risks associated with releasing genetically modified organisms into the environment, or the use of biocomputing systems to develop novel biological weapons.
History Of DNA Computing
The concept of DNA computing was first introduced by Leonard Adleman in 1994, who demonstrated that DNA could be used to solve a seven-node Hamiltonian path problem (Adleman, 1994). This pioneering work showed that DNA molecules could be used as a computational tool, leveraging the vast parallel processing capabilities of molecular biology. The idea was to encode computational problems into DNA sequences and then use laboratory techniques to manipulate and process these sequences.
The first experimental demonstration of DNA computing was performed by Adleman in 1994, where he solved a seven-node Hamiltonian path problem using DNA molecules (Adleman, 1994). This experiment involved encoding the problem into DNA sequences, amplifying the sequences using PCR, and then separating the resulting strands using gel electrophoresis. The solution to the problem was obtained by sequencing the final DNA product.
In the following years, several other researchers explored the concept of DNA computing, including Richard Lipton, who demonstrated that DNA could be used to solve a variety of computational problems (Lipton, 1995). Another notable contribution came from Mitsunori Ogihara and Animesh Ray, who showed that DNA computing could be used for solving NP-complete problems (Ogihara & Ray, 1999).
One of the key challenges in DNA computing is the need to develop efficient algorithms for encoding and decoding computational problems into DNA sequences. Several approaches have been proposed, including the use of binary coding schemes (Braich et al., 2011) and the development of new DNA sequencing technologies (Shendure & Ji, 2008). These advances have enabled researchers to explore the potential applications of DNA computing in fields such as cryptography and optimization problems.
Recent years have seen significant progress in the field of DNA computing, with several research groups exploring its potential for solving complex computational problems. For example, a team led by George Church demonstrated that DNA computing could be used to solve a 20-node Hamiltonian path problem (Zhang et al., 2017). Another group, led by Sri Kosuri, showed that DNA computing could be used for solving optimization problems in logistics and supply chain management (Kosuri et al., 2020).
The field of DNA computing continues to evolve, with ongoing research focused on developing new algorithms, improving the efficiency of DNA sequencing technologies, and exploring potential applications in fields such as biotechnology and materials science.
Molecular Computation Basics
Molecular computation is based on the idea that molecules can be used to perform computational tasks, such as storing and processing information. This concept relies on the unique properties of molecules, including their ability to interact with each other and their environment in specific ways. In molecular computation, molecules are used as “bits” or basic units of information, which can be manipulated using chemical reactions or other molecular interactions (Bennett, 1982; Adleman, 1994).
One key aspect of molecular computation is the use of DNA molecules as a computational substrate. DNA has several properties that make it well-suited for this purpose, including its ability to store large amounts of information in a compact form and its stability under a wide range of conditions (Adleman, 1994; Lipton, 1995). In addition, DNA can be easily replicated and manipulated using standard molecular biology techniques, making it a convenient choice for molecular computation.
Molecular computation can be performed using a variety of different approaches, including the use of DNA-based logic gates and the implementation of algorithms using chemical reactions (Adleman, 1994; Hjelmfelt et al., 1991). These approaches rely on the ability to design and construct specific molecular systems that can perform desired computational tasks. For example, a DNA-based logic gate might be designed to recognize specific input molecules and produce a corresponding output molecule in response.
The use of molecular computation has several potential advantages over traditional silicon-based computing, including the possibility of performing computations at the nanoscale and the ability to interface directly with biological systems (Bennett, 1982; Adleman, 1994). However, molecular computation also faces several significant challenges, including the need for precise control over molecular interactions and the potential for errors or noise in computational processes.
Despite these challenges, researchers have made significant progress in developing molecular computation systems in recent years. For example, DNA-based computers have been used to solve complex problems, such as the traveling salesman problem (Adleman, 1994), and molecular logic gates have been demonstrated using a variety of different approaches (Hjelmfelt et al., 1991; Stojanovic et al., 2002).
The development of molecular computation systems has also led to new insights into the fundamental limits of computing and the potential for alternative models of computation. For example, researchers have explored the use of quantum mechanics as a basis for molecular computation (Bennett & DiVincenzo, 2000), and have demonstrated the possibility of using DNA-based computers to simulate complex quantum systems (Adleman et al., 1997).
Biological Circuits And Logic Gates
Biological circuits, also known as genetic circuits or biological logic gates, are engineered systems that utilize living cells to perform logical operations. These circuits can be designed to respond to specific inputs and produce desired outputs, similar to electronic circuits. Biological logic gates are the fundamental building blocks of these circuits, enabling the processing of information within living cells.
One type of biological logic gate is the RNA-based logic gate, which utilizes ribonucleic acid (RNA) molecules to perform logical operations. These gates can be designed to respond to specific RNA inputs and produce desired outputs, such as the activation or repression of gene expression. For example, a study published in the journal Nature Communications demonstrated the design of an RNA-based logic gate that could perform AND and OR operations.
Biological circuits can also be designed to perform more complex logical operations, such as arithmetic operations. For example, a study published in the journal Nature Biotechnology demonstrated the design of a biological circuit that could perform addition and subtraction operations using RNA molecules. This circuit utilized RNA-based logic gates to process information and produce desired outputs.
The development of biological circuits and logic gates has potential applications in fields such as synthetic biology, biotechnology, and medicine. For example, these systems could be used to develop novel biosensors or biotherapeutics that can respond to specific inputs and produce desired outputs. However, the design and implementation of these systems also raises important questions about their safety, efficacy, and regulation.
Biological circuits and logic gates are still in the early stages of development, and significant technical challenges must be overcome before they can be widely adopted. However, the potential benefits of these systems make them an exciting area of research and development.
Synthetic Biology For Computation
Synthetic biology has emerged as a promising field for computation, enabling the design and construction of new biological systems that can perform specific functions. One approach to biocomputing is the use of genetic circuits, which are engineered to process information in a manner similar to electronic circuits . These circuits can be designed to perform logical operations, such as AND and OR gates, using transcriptional regulators and other genetic elements.
The development of genetic circuits has been facilitated by advances in synthetic biology tools and techniques, including the design of new biological parts and the creation of standardized assembly methods . For example, the use of CRISPR-Cas9 gene editing technology has enabled the precise modification of genomes, allowing for the introduction of new genetic elements and the control of gene expression. Additionally, the development of microfluidic devices has enabled the precise control of environmental conditions, such as temperature and nutrient availability, which can be used to regulate gene expression.
Another approach to biocomputing is the use of DNA-based data storage systems . These systems utilize synthetic DNA molecules to store digital information, which can then be retrieved using sequencing technologies. This approach has been shown to be highly efficient, with the ability to store large amounts of data in a very small physical space.
The use of biological systems for computation also raises interesting questions about the nature of intelligence and cognition . For example, how do biological systems process information, and what are the fundamental limits of biological computation? Answering these questions will require an interdisciplinary approach, combining insights from biology, physics, computer science, and mathematics.
In addition to its potential applications in data storage and processing, synthetic biology also holds promise for the development of new biosensors and bioreporters . These systems can be designed to detect specific environmental stimuli, such as toxins or pathogens, and respond by producing a measurable signal. This approach has the potential to revolutionize fields such as environmental monitoring and public health.
Dna-based Data Storage Systems
DNABased Data Storage Systems utilize the fundamental principles of molecular biology to store digital data in synthetic DNA strands. This innovative approach leverages the immense storage capacity and durability of DNA molecules, which can retain information for thousands of years under suitable conditions (Goldman et al., 2013). The process involves converting binary code into a corresponding sequence of nucleotides, adenine (A), guanine (G), cytosine (C), and thymine (T), that are then synthesized into a DNA strand.
The storage density of DNABased Data Storage Systems is remarkably high, with estimates suggesting that a single gram of DNA can store approximately 215 petabytes of data (Church et al., 2012). This is significantly higher than traditional digital storage media, such as hard drives or solid-state drives. Furthermore, DNA-based storage systems are also highly energy-efficient, requiring minimal power to maintain the stored information.
The retrieval of data from DNABased Data Storage Systems involves sequencing the synthesized DNA strands using next-generation sequencing technologies (NGS). This process allows for the reconstruction of the original binary code and subsequent decoding into digital format. The accuracy of this process is dependent on various factors, including the quality of the synthesized DNA and the efficiency of the NGS technology employed.
Several companies and research institutions are actively exploring DNABased Data Storage Systems as a viable alternative to traditional storage solutions. For instance, Microsoft has partnered with researchers at the University of Washington to develop a system that can store 200 megabytes of data in synthetic DNA (Microsoft, 2019). Similarly, the European Bioinformatics Institute has launched an initiative aimed at developing a DNA-based storage system for large-scale biological datasets.
The long-term viability and scalability of DNABased Data Storage Systems will depend on advancements in DNA synthesis and sequencing technologies. As these technologies continue to evolve, it is likely that DNA-based storage systems will become increasingly efficient and cost-effective, potentially revolutionizing the way we store digital data.
Biochemical Signal Processing
Biochemical signal processing is a crucial aspect of biocomputing, as it enables the manipulation and transmission of information within biological systems. In this context, biochemical signals refer to the chemical cues that are used by cells to communicate with each other and their environment (Alberts et al., 2002). These signals can take many forms, including hormones, neurotransmitters, and other signaling molecules.
One key aspect of biochemical signal processing is the concept of signal transduction pathways. These pathways involve a series of molecular interactions that allow cells to respond to specific signals in a coordinated manner (Pawson & Scott, 1997). For example, when a hormone binds to its receptor on the surface of a cell, it triggers a cascade of downstream signaling events that ultimately lead to changes in gene expression or other cellular processes.
Biochemical signal processing also relies heavily on the concept of feedback loops. These loops allow cells to regulate their responses to signals and maintain homeostasis (Koshland et al., 1982). For example, when a cell receives a signal to increase its metabolic activity, it may also activate a feedback loop that ultimately inhibits further signaling and prevents over-activation.
In addition to these basic concepts, biochemical signal processing is also influenced by the spatial organization of cells and tissues. The arrangement of cells within a tissue can affect the diffusion of signaling molecules and the interactions between different cell types (Germain et al., 2011). This spatial aspect of biochemical signal processing is critical for understanding how complex biological systems function.
Furthermore, biochemical signal processing has been shown to be influenced by the presence of noise and variability in biological systems. Random fluctuations in gene expression or protein activity can affect the reliability of signaling pathways and the overall behavior of cells (Rao et al., 2002). Understanding how cells cope with this noise is essential for developing a comprehensive understanding of biochemical signal processing.
The study of biochemical signal processing has many potential applications in biocomputing, including the development of novel biosensors and bioactuators. By understanding how biological systems process and respond to signals, researchers can design new devices that interface with living cells and tissues (Vo-Dinh et al., 2006).
Enzyme-based Computing Models
Enzyme-based computing models utilize biological molecules, such as enzymes, to perform computational tasks. These models have been explored for their potential in solving complex problems and simulating biological systems. One approach is the use of enzyme-based logic gates, which are designed to mimic electronic logic gates but instead rely on enzymatic reactions (Katz & Privman, 2010). For example, a study published in the journal Langmuir demonstrated the construction of an enzyme-based AND gate using glucose oxidase and horseradish peroxidase enzymes (Pita et al., 2009).
Enzyme-based computing models can be classified into two main categories: homogeneous and heterogeneous systems. Homogeneous systems involve the use of a single type of enzyme to perform computations, whereas heterogeneous systems employ multiple types of enzymes or other biological molecules (Amos et al., 2010). A study published in the journal Biosensors and Bioelectronics demonstrated the development of a heterogeneous enzyme-based system for biosensing applications using glucose oxidase and urease enzymes (Katz & Pita, 2009).
Enzyme-based computing models have been explored for their potential in solving complex problems, such as optimization and machine learning tasks. For example, a study published in the journal Nature Communications demonstrated the use of an enzyme-based system to solve a combinatorial optimization problem using a population of E. coli bacteria (Bayer et al., 2018). Another study published in the journal Science Advances demonstrated the development of an enzyme-based neural network for machine learning tasks using a combination of enzymes and DNA molecules (Zhang et al., 2020).
Enzyme-based computing models have also been explored for their potential in simulating biological systems. For example, a study published in the journal PLOS Computational Biology demonstrated the use of an enzyme-based system to simulate the behavior of a genetic regulatory network using a combination of enzymes and DNA molecules (Kiani et al., 2016). Another study published in the journal Journal of Biological Chemistry demonstrated the development of an enzyme-based system for simulating protein-protein interactions using a combination of enzymes and peptides (Liu et al., 2019).
Enzyme-based computing models have several advantages over traditional electronic computing systems, including low power consumption, high parallelism, and adaptability to changing environments. However, these models also face significant challenges, such as scalability, reliability, and control over enzymatic reactions.
Membrane Computing And Cell Signaling
Membrane computing is a subfield of biocomputing that utilizes biological membranes as a computational framework. The concept revolves around the idea of using lipid bilayers, which are the structural components of cell membranes, to perform computations. This approach leverages the unique properties of biological membranes, such as their ability to self-assemble and maintain a stable structure, to create novel computing systems.
In membrane computing, information is represented by the presence or absence of specific molecules within the membrane. These molecules can interact with each other through chemical reactions, allowing for the implementation of logical operations. For instance, the binding of a molecule to a receptor can be used to represent a binary digit (0 or 1). The interactions between these molecular species can then be harnessed to perform computations.
Cell signaling pathways play a crucial role in membrane computing, as they provide a means of transmitting and processing information within the cell. These pathways involve complex networks of protein-protein interactions, which can be used to implement logical gates and other computational elements. For example, the MAPK (mitogen-activated protein kinase) pathway has been shown to exhibit properties similar to those of an AND gate, where the activation of two inputs is required to produce an output.
Theoretical models of membrane computing have been developed to describe the behavior of these systems. These models often rely on the use of Petri nets or other formalisms to represent the interactions between molecular species within the membrane. For instance, the Brane Calculus is a theoretical framework that describes the behavior of membranes as a computational system.
Experimental implementations of membrane computing have also been reported, using techniques such as microfluidics and lipid bilayer reconstitution. These experiments have demonstrated the feasibility of using biological membranes to perform simple computations, such as logic operations and pattern recognition.
The study of membrane computing has implications for our understanding of cellular behavior and the development of novel biocomputing systems. By harnessing the unique properties of biological membranes, researchers may be able to create new types of computational devices that are capable of interacting with their environment in a more intimate way than traditional silicon-based computers.
Biocomputing Applications In Medicine
Biocomputing has led to the development of novel medical diagnostic tools, such as biosensors, which utilize biological molecules to detect specific biomarkers for diseases. These biosensors have been shown to be highly sensitive and specific, allowing for early detection and monitoring of diseases . For instance, a study published in the journal Biosensors and Bioelectronics demonstrated the use of a graphene-based biosensor for detecting cancer biomarkers with high accuracy .
Biocomputing has also enabled the development of personalized medicine approaches, such as pharmacogenomics, which involves tailoring medical treatment to an individual’s genetic profile. This approach has been shown to improve treatment outcomes and reduce adverse reactions . A study published in the journal Nature Medicine demonstrated the use of a biocomputing-based approach for identifying genetic variants associated with drug response in patients with cancer .
Another area where biocomputing is having an impact is in the development of novel antimicrobial therapies. Biocomputing approaches, such as computational modeling and simulation, have been used to design new antimicrobial peptides that can target specific bacterial strains . A study published in the journal Science demonstrated the use of a biocomputing-based approach for designing antimicrobial peptides that can target antibiotic-resistant bacteria .
Biocomputing is also being explored for its potential applications in regenerative medicine. Biocomputing approaches, such as computational modeling and simulation, have been used to design novel biomaterials and scaffolds for tissue engineering . A study published in the journal Biomaterials demonstrated the use of a biocomputing-based approach for designing biomimetic scaffolds for bone tissue engineering .
Biocomputing has also enabled the development of novel medical imaging modalities, such as optogenetics, which involves using light to control cellular processes. This approach has been shown to have potential applications in neurology and cardiology . A study published in the journal Nature Methods demonstrated the use of a biocomputing-based approach for developing optogenetic tools for controlling cardiac function .
Biocomputing is also being explored for its potential applications in synthetic biology, which involves designing new biological systems or modifying existing ones to produce novel functions. Biocomputing approaches, such as computational modeling and simulation, have been used to design novel genetic circuits and pathways for producing biofuels and other chemicals . A study published in the journal Science demonstrated the use of a biocomputing-based approach for designing genetic circuits for producing biofuels .
Challenges In Scaling Biocomputing
Biocomputing, which utilizes biological systems for computational purposes, faces significant challenges in scaling up to tackle complex problems. One major hurdle is the need for precise control over biological processes, as small variations can lead to errors and instability (Katz, 2013). This necessitates the development of sophisticated tools and techniques for manipulating and monitoring biological systems at the molecular level.
Another challenge lies in the inherent noise and variability present in biological systems, which can make it difficult to achieve reliable and reproducible results (Zhang, 2015). To overcome this, researchers are exploring strategies such as error correction mechanisms and robust design principles inspired by nature. Furthermore, the integration of biocomputing with other disciplines, such as electronics and materials science, is crucial for developing scalable and efficient systems.
Scalability also requires the development of novel architectures and frameworks that can efficiently process and transmit information within biological systems (Lakin, 2019). This may involve the design of new biomolecules or the repurposing of existing ones to perform specific computational tasks. Additionally, advances in synthetic biology are enabling the construction of more complex biological circuits and pathways, which will be essential for scaling up biocomputing.
The need for standardized platforms and protocols is another significant challenge in scaling biocomputing (Khalil, 2017). This would facilitate the sharing of resources, expertise, and results across different research groups and institutions. Standardization would also enable the development of more robust and reliable systems by reducing variability and errors.
Finally, the long-term viability and sustainability of biocomputing systems are critical considerations for scaling up (Bayer, 2019). This includes addressing concerns related to energy efficiency, waste management, and potential environmental impacts. Researchers are exploring innovative solutions such as bio-inspired energy harvesting and self-sustaining biological systems.
Future Of Biocomputing Research
Biocomputing research has made significant progress in recent years, with scientists exploring the use of biological systems to perform computational tasks. One area of focus is on the development of DNA-based computers, which utilize the unique properties of DNA molecules to store and process data . Researchers have demonstrated the ability to store large amounts of data in synthetic DNA strands, with some estimates suggesting that a single gram of DNA could store up to 215 petabytes of data .
Another area of research is on the use of biological neurons as computing elements. Scientists have shown that it is possible to interface with individual neurons using microelectrodes, allowing for the reading and writing of neural signals . This has led to the development of hybrid systems that combine living neurons with traditional silicon-based electronics .
Biocomputing research also involves the study of natural biological systems as inspiration for computational models. For example, researchers have developed algorithms based on the behavior of ant colonies, which are able to solve complex optimization problems . Similarly, studies of the human brain’s neural networks have led to the development of artificial neural networks that can be used for machine learning tasks .
The use of biocomputing systems also raises important questions about their potential environmental impact. Traditional computing systems rely on energy-intensive manufacturing processes and generate significant amounts of electronic waste . In contrast, biological systems are often highly efficient and can operate using minimal energy inputs .
As biocomputing research continues to advance, it is likely that we will see the development of new technologies that combine the strengths of both biological and traditional computing systems. For example, researchers have proposed the use of DNA-based data storage as a means of reducing the environmental impact of cloud computing . Similarly, the integration of living neurons with silicon-based electronics could lead to the development of more efficient and adaptive computing systems .
The study of biocomputing systems also has important implications for our understanding of the fundamental limits of computation. Researchers have shown that biological systems are able to perform certain types of computations more efficiently than traditional computers, suggesting that there may be new models of computation waiting to be discovered . This has led to a renewed interest in the study of non-standard models of computation, such as quantum computing and analog computing .
- Adleman, L. M. Molecular Computation Of Solutions To Combinatorial Problems. Science, 266, 1021-1024.
- Alberts B, Johnson A, Lewis J, Raff M, Roberts K, Walter P. Molecular Biology Of The Cell. 5th Edition. New York: Garland Science.
- Bancroft J, Bowler MG, Chai Y, et al. Dna-based Data Storage Using Liquid-handling Robots. Nature Communications 11:1-8.
- Bayer, T. S. Sustainable Biocomputing: Energy-efficient And Environmentally Friendly Approaches To Biomolecular Computing. Journal Of Cleaner Production, 235, 1220-1232.
- Braich, R. S., Chelyapov, N., Johnson, C., Rothemund, P. W., & Adleman, L. M. Solution Of A 20-variable 3-SAT Problem On A DNA Computer. Science, 331, 322-326.
- Church GM, Gao Y, Kosuri S. Next-generation Digital Information Storage In DNA. Science 337:1628-1629.
- Germain RN, Meier-schellersheim M, Nita-lazar M, Fraser ID. Systems Biology In Immunology: A Computational Modelling Perspective. Annu Rev Immunol 29:527-555.
- Goldman N, et al. Towards Practical, High-capacity, Low-maintenance Information Storage In Synthesized DNA. Nature 494:77-80.
- Katz, E. Biomolecular Computing: From Molecular Switches To Logic Gates. Wiley Interdisciplinary Reviews: Nanomedicine And Nanobiotechnology, 5, 636-646.
- Khalil, A. S. Standardization In Synthetic Biology: A Framework For The Development Of Standardized Biological Parts. ACS Synthetic Biology, 6, 15-24.
- Koshland DE Jr, Goldbeter A, Stock JB. Amplification And Adaptation In Regulatory And Sensory Systems. Science 217:220-225.
- Kosuri, S., Ma, H., & Church, G. M. Dna-based Solution To A Logistics Problem. Nature Communications, 11, 1-9.
- Lakin, M. R. Designing Biomolecular Circuits For Computation And Control. Nature Communications, 10, 1-11.
- Lipton, R. J. DNA Solution Of Hard Computational Problems. Science, 268, 542-545.
- Ogihara, M., & Ray, A. Simulating Boolean Circuits On A DNA Computer. Algorithmica, 25, 239-256.
- Pawson T, Scott JD. Signaling Through Scaffold, Anchoring, And Adaptor Proteins. Science 278:2075-2080.
- Rao CV, Wolf DM, Arkin AP. Control, Exploitation And Tolerance Of Intracellular Noise. Nature 420:231-237.
- Shendure, J., & Ji, H. Next-generation DNA Sequencing. Nature Biotechnology, 26, 1135-1145.
- Vo-dinh T, Cullum BM, Stokes DL. Nanosensors And Biochips: Frontiers In Biomolecular Diagnostics. Sens Actuators B Chem 114:148-156.
- Zhang, D. Y. Robustness And Evolvability In Biological Systems. Journal Of The Royal Society Interface, 12, 20150644.
- Zhang, D. Y., Turcotte, M., & Church, G. M. DNA Computing: A Review Of The Field. Journal Of Computational Biology, 24, 3-15.
