Science Current Events | Science News | Brightsurf.com
 
corner top left block corner top right

Biology enters 'The Matrix' through new computer language

July 23, 2008

Ever since the human genome was sequenced less than 10 years ago, researchers have been able to access a dizzying plethora of genomic information with a simple click of a mouse. This digitizing of genomic data-and its public access-is something that would have been unthinkable a generation earlier.

But as molecules go, DNA is pretty straight forward. With its simple composition and linear structure, it easily lends itself to mathematical models. Not so with proteins. In fact, proteins are an order of magnitude more complex than DNA. It is proteins, not DNA, that carry out the cell's heavy lifting. However, with their intricately folded three-dimensional shapes determining a seemingly endless range of possible functions and their manifold interactions with other proteins and with DNA, the leg-work required to mathematically capture the protein universe seems absurd.

And it is.

That is why a team of Harvard Medical School researchers have decided to attack this issue from an entirely new angle. Rather than build a mountain range of proteomic data one grain of dirt at a time, they have developed a computer program that can take on the responsibility of assembling such a gargantuan model.

Enter Little b, a computational language that can penetrate the "mind" of a cell.

"Through incorporating principles of engineering, we've developed a language that can describe biology in the same way a biologist would," says Jeremy Gunawardena, director of the Virtual Cell Program in Harvard Medical School's department of systems biology. "The potential here is enormous. This opens the door to actually performing discovery science, to look at things like drug interactions, right on the computer."

These findings will be published in the July 23 issue of Journal of the Royal Society Interface.

Most current computational methods of modeling biological systems are not unlike writing a document with pen and paper. Each new project starts from scratch; there are no facilities for cutting and pasting, for linking to other texts, for including images, etc.-things that come so "naturally" to electronic documents.

Harvard Medical School researcher Jeremy Gunawardena, a mathematician by training, teamed up with Aneil Mallavarapu, a cell biologist and computer scientist, to lead a project that would bypass these limitations.

"We knew that the secret to doing this would be to assimilate fundamental concepts of engineering, concepts like modularity and abstraction, into the biological realm," says Mallavarapu, who was recently awarded the Merrimack prize by the Council for Systems Biology in Boston for developing this program.

Modularity involves breaking a problem down into separate modules and constructing each module so that it can interact with the others. Abstraction refers to extracting generic biological properties and incorporating them into the modules, so that they can use this abstract information in concrete contexts. Put another way, abstraction means that, unlike the old days of pen and paper, each new model does *not* need to be built from scratch. Models can be built upon each other and their individual modules refined and re-used.

To do this, Mallavarapu used the programming language LISP, a language widely used in artificial intelligence research. LISP is famous among computer scientists due to its ability to write code that, in turn, can write code, enabling a programmer to derive new mini-languages.

"LISP isn't like typical programs, it's more like a conversation," says Gunawardena. "When we input data into Little b, Little b responds to it and reasons over the data."

For example, Gunawardena's lab works on kinases, a kind of protein that transfers phosphate chemicals to other proteins in order to regulate their activity. While this property is common to all kinases, there is a great deal of variety in how particular kinases carry this out. Little b, however, understands this basic property of kinases, this abstraction.

Here, the researchers demonstrated how they were able to interact with Little b to build complex models of kinase activity, using Little b as a kind of scientific collaborator, and not simply a passive tool.

On a larger scale, the researchers also used the program to query the development of fruit fly embryos. As a result, they discovered levels of complexity in these embryonic structures that previous research had missed.

"This language is stepping into an unknown universe, when your computer starts building things for you," says Gunawardena. "Your whole relationship with the computer becomes a different one. You've ceded some control to the machine. The machine is drawing inferences on your behalf and constructing things for you."

The researchers sometimes admit, half-joking, that Little b sometimes feels a little bit like "The Matrix"-referring, of course, to the film trilogy in which human beings lived in a computer-generated virtual world.

Mallavarapu and Gunawardena have a pretty clear vision for this project: they want every biologist in the world to use it.

But in order to bring the program out from the early adopter community, where it is currently being used by colleagues in the Harvard community, it needs to be more accessible.

"The next step is to create an interface that's easy to use," says Gunarwardena. "Think of web page development. Lots of people are creating web pages with little or no knowledge of HTML. They use simple interfaces like Dreamweaver. Once we've developed the equivalent, scientists will be able to use our system without having to learn Little b."

And the more people use it, the smarter it gets. As researchers around the world input their discoveries into Little b, the program will assimilate that information into its language.

The ultimate goal is to have an in silico, virtual cell-a dynamic biological system living in software.

"Sure, it's a long way off," says Gunawardena, "but we're getting there."

Harvard Medical School




Code: The Hidden Language of Computer Hardware and Software

Code: The Hidden Language of Computer Hardware and Software
by Charles Petzold (Author)


What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries.
Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines.
It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs,...

The Absolute Beginner's Guide to Binary, Hex, Bits, and Bytes! How to Master Your Computer's Love Language

The Absolute Beginner's Guide to Binary, Hex, Bits, and Bytes! How to Master Your Computer's Love Language
by MakeRight Publishing


If you truly want to know more about computers, you owe it to yourself to learn your computer's love language!

Perhaps no other topic is ignored in the computer world today than the computer's real and internal language - that is the language of bits and bytes. With visual programming systems and advanced languages putting huge buffers between users, programmers, and the computer itself, all understanding of what the computer is actually doing goes out the window (...or perhaps we should say out the Windows!).

• The simplest way to learn about bits, bytes, and binary is right here! Click to get this book because nothing on the entire planet makes it easier!

• You don't have to be a Vulcan math wizard to master binary numbers! Quite the opposite! If you...

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers)
by Bruce A. Tate (Author)


Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you'll go beyond the syntax-and beyond the 20-minute tutorial you'll find someplace online. This book has an audacious goal: to present a meaningful exploration of seven languages within a single book. Rather than serve as a complete reference or installation guide, Seven Languages hits what's essential and unique about each language. Moreover, this approach will help teach you how to grok new languages.

For each language, you'll solve a nontrivial problem, using techniques that show off the language's most important features. As the book proceeds, you'll discover the strengths and weaknesses of the languages, while dissecting the process of learning languages...

C Programming Language (2nd Edition)

C Programming Language (2nd Edition)
by Brian W. Kernighan (Author), Dennis M. Ritchie (Author)


The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. For years, C programmers have let K&R guide them to building well-structured and efficient programs. Now this same help is available to those working with ANSI compilers. Includes detailed coverage of the C language plus the official C language reference manual for at-a-glance help with syntax notation, declarations, ANSI changes,...

Programming Language Pragmatics, Third Edition

Programming Language Pragmatics, Third Edition
by Michael L. Scott (Author)


Programming Language Pragmatics is the most comprehensive programming language textbook available today. Taking the perspective that language design and language implementation are tightly interconnected, and that neither can be fully understood in isolation, this critically acclaimed and bestselling book has been thoroughly updated to cover the most recent developments in programming language design. With a new chapter on run-time program management and expanded coverage of concurrency, this new edition provides both students and professionals alike with a solid understanding of the most important issues driving software development today.Classic programming foundations text now updated to familiarize students with the languages they are most likely to encounter in the workforce,...

Hello World! Computer Programming for Kids and Other Beginners

Hello World! Computer Programming for Kids and Other Beginners
by Warren Sande (Author), Carter Sande (Author)


"Computer programming is a powerful tool for children to 'learn learning,' that is, to learn the skills of thinking and problem-solving...Children who engage in programming transfer that kind of learning to other things."--Nicholas Negroponte, the man behind the One Laptop Per Child project that hopes to put a computer in the hands of every child on earth, January 2008

Your computer won't respond when you yell at it. Why not learn to talk to your computer in its own language? Whether you want to write games, start a business, or you're just curious, learning to program is a great place to start. Plus, programming is fun!

Hello World! provides a gentle but thorough introduction to the world of computer programming. It's written in language a 12-year-old can follow, but anyone...

Assessing Language through Computer Technology (Cambridge Language Assessment)

Assessing Language through Computer Technology (Cambridge Language Assessment)
by Carol A. Chapelle (Author), Dan Douglas (Author)


In 1998 and 1999, three of the largest providers of educational tests introduced computer-based versions of proficiency tests for English as a foreign language. Around the same time, many institutions began to offer Web-based tests for particular language courses and classes. These two phenomena have greatly added to the momentum of work in computer-assisted testing and mean that assessment through computer technology is becoming a fact for language learners in educational settings and therefore for teachers and researchers. This book is the first to consider the theoretical, methodological and practical issues and their implications for language-teaching professionals wishing to engage with computer-assisted assessment. It overviews the work in the field, evaluates examples of...

Assembly Language for Intel-Based Computers (5th Edition)

Assembly Language for Intel-Based Computers (5th Edition)
by Kip R. Irvine (Author)




Assembly Language for x86 Processors (6th Edition)

Assembly Language for x86 Processors (6th Edition)
by Kip R. Irvine (Author)


Assembly Language for x86 Processors, 6/e is ideal for undergraduate courses in assembly language programming and introductory courses in computer systems and computer architecture.   Written specifically for the Intel/Windows/DOS platform, this complete and fully updated study of assembly language teaches students to write and debug programs at the machine level. Based on the Intel processor family, the text simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture and operating systems courses. Students put theory into practice through writing software at the machine level, creating a memorable experience that gives them the confidence to work in any OS/machine-oriented environment. Proficiency in one other...

Python Programming: An Introduction to Computer Science 2nd Edition

Python Programming: An Introduction to Computer Science 2nd Edition
by John Zelle (Author)


This is the second edition of John Zelle's Python Programming, updated for Python 3. This book is designed to be used as the primary textbook in a college-level first course in computing. It takes a fairly traditional approach, emphasizing problem solving, design, and programming as the core skills of computer science. However, these ideas are illustrated using a non-traditional language, namely Python. Although Python is used as the language, teaching Python is not the main point of this book. Rather, Python is used to illustrate fundamental principles of design and programming that apply in any language or computing environment. In some places, I have purposely avoided certain Python features and idioms that are not generally found in other languages. There are already many good...

corner bottom left corner bottom right
© 2012 BrightSurf.com