# A Framework for Enhancing Big Data Integration in Biological Domain Using Distributed Processing
## 2 Background
### Gene Ontology  
Gene Ontology (GO) is a valuable resource in bioinformatics. GO provides a shared, structured, precisely defined, and controlled vocabulary of terms to describe genes and gene products across different organisms. The main reason to build the Gene Ontology (GO) was the finding that similar genes in different organisms have the same functions [15]. So, there is a need to have one single source that combines these different genes to be able to compare genes and their products. Combining genes from different organisms into one single data source will facilitate finding the relationship and similarities between genes, integrating more gene-related information from various data sources, and finding new genes and functions.  
Before going into details, some essential molecular biology knowledge is necessary [16]:  
* A gene is a region of DNA that encodes instructions for the cell to make a large molecule or potentially multiple different macromolecules.
* A macromolecule is a gene product that is generated according to the gene instructions; it can be a protein or a non-coding RNA.
* A gene product can work as a molecular machine, such as by performing a chemical action that is called an activity.
* A macromolecular complex is a set of gene products from different genes combined to represent a larger molecular machine.  
In GO, a term is categorized according to three different biological aspects: biological process (BP), molecular function (MF), and cellular components (CC) [17]. Each of the biological aspects is represented by a separate ontology of terms: for example, \"rooted Directed Acyclic Graph\" (r DAG) [18]. Terms are the nodes, and edges are the relationships that are either \"is a,\" \"part of,\" \"has part,\" or \"regulates.\" Parents refer to the more general terms and child to the more specific terms. Terms located close together are more similar than those which are farther apart. The current version of GO has 43,835 terms; 73,776 \"is a\" relations; 7436 \"part of\" relations; and 8263 \"regulates\", \"negativelyregulates\", or \"positively regulates relations\" [15]. Frequent revisions and maintenance of terms and relationships are done to maintain the correctness of GO. Furthermore, old terms are not deleted but marked with \"Obsoletion,\" and any relation related to them is removed [15].  
GO was built by GO Consortium, a set of databases working together to define standards and annotations [15]. GO Consortium includes UniProt [19], Mouse Genome Informatics [20], Saccharomyces Genome Database [21], Wormbase [22], Flybase [23], dictyBase [24], and TAIR [25]. Other contributions have been made by EcoCyc and the Functional Gene Annotation group at the University College of London [26].  
Each term in GO is associated with annotations describing MF, biological role, and localization. Annotation is defined to represent the association between the gene product and a GO term. Evidence is provided in the annotation to support the association. There are two formats for storing the same information: the association Gene Association File (GAF) and the Gene Product Association Data (GPAD). The annotation object can be a gene, protein, nonprotein-coding RNA, macromolecular complex, or another gene product. Each annotation consists of seventeen fields, seven of which describe the annotation object. Two fields represent the unique identifier, which consists of the database number the annotation is associated with and the database association number. One field represents the gene product form ID. Three fields specify the annotation function. Three more fields are used to describe the evidence that asserts the annotation. An additional field combines more than one term [15].  
Annotation can be computationally inferred, i.e., inferred from electronic annotation (IEA), or experimentally determined, which is indicated by an evidence code (EC). EC is more reliable than IEA in representing the type of process that generates the annotation [27].