Thursday, July 26, 2018

What is a Dependency Graph?

Information Organization

A recent paper, authored by Winston Ewert, uses a dependency graph approach to model the relationships between the species. This idea is inspired by computer science which makes great use of dependency graphs.

Complicated software applications typically use a wealth of lower level software routines. These routines have been developed, tested, and stored in modules for use by higher level applications. When this happens the application inherits the lower-level software and has a dependency on that module.

Such applications are written in human-readable languages such as Java. They then need to be translated into machine language. The compiler tool performs the translation, and the build tool assembles the result, along with the lower level routines, into an executable program. These tools use dependency graphs to model the software, essentially building a design diagram, or blueprint which shows the dependencies, specifying the different software modules that will be needed, and how they are connected together.

Dependency graphs also help with software design. Because they provide a blueprint of the software architecture, they are helpful in designing decoupled architectures and promoting software reuse.

Dependency graphs are also used by so-called “DevOps” teams to assist at deployment time in sequencing and installing the correct modules.

What Ewert has shown is that, as with computer applications which inherit software from a diverse range of lower-level modules, and those lower-level modules likewise feed into a diverse range of applications, biology’s genomes likewise reveal such patterns. Genomes may inherit molecular sequence information from a wide range of genetic modules, and genetic modules may feed into a diverse range of genomes.

Superficially, from a distance, this may appear as the traditional evolutionary tree. But that model has failed repeatedly as scientists have studied the characters of species more closely. Dependency graphs, on the other hand, provide a far superior model of the relationships between the species, and their genetic information flow.

No comments:

Post a Comment