Software Engineering and Genomics: The Two Sides of the Same Coin?

Programs are historically the basic notion in Software Engineering (SE) that represent the final artefact to be executed in a machine. These programs have been created by humans, using a silicon-based code, whose final components use a binary code represented by 0s and 1s. If we look at life as a program with a DNAbased genetic code and a final representation that uses four essential units (A, C, G and T), one challenging question emerges. Can we establish a correspondence between life -from a genomic perspectiveand programs -from a Software Engineering perspective-? This paper assumes a positive answer to this question and goes further into this mapping by proposing how conceptual models (CM) are not only required to understand life but to manage the huge amount of data generated in the genomic domain day after day. The main contributions focus on i) showing how to design such a Conceptual Model of the Human Genome (CMHG), analysing how it evolves as knowledge accumulates on the domain, and ii) how these ideas can be applied in an advanced, genome-based, precision medicine, under the assumption that this medicine will only reach our health systems if these sound SE practices are properly applied in the genomic domain.