# Techniques de comparaison des génomes

L’alignement de séquences est une pratique fondamentale pour de nombreuses applications de biologie comme la découverte de gènes et l’analyse phylogénétique.
Une nouvelle discipline est également née de la connaissance de ces séquences complètes de chromosomes, la génomique comparative. Il est maintenant possible de comparer deux organismes vivants à l’échelle de leur génome, de déterminer les gènes qu’ils ont en commun ou qui leur sont propres. Dans le contexte de l’identification sélective de gènes correspondant à des cibles thérapeutiques, en comparant par exemple une bactérie pathogène et une proche cousine non-pathogène, on peut essayer de repérer les gènes impliqués dans la virulence de la souche infectieuse. Ce nouveau domaine d’étude, traite les différents aspects de ce nouveau champ de la connaissance et s’appuie à la fois sur les concepts de la biologie que sur des outils issus de la chimie, de la physique et de l’informatique.
L’accélération du séquençage, permise en particulier par l'automatisation des méthodes d’analyse, nécessite un soutien de plus en plus important des technologies de l’informatique. Dans un premier stade, celui-ci est indispensable pour permettre l’assemblage de la « base de données » que constituent les milliers ou millions de fragments de génome. L’informatique est un outil incontournable pour extraire et analyser l’information contenue dans ces gigabases (1 Gbase =10^9 nucléotides) de séquence. Le volume des données à traiter est considérable. En 2002 les banques de séquences rassemblaient plus de 10^11 nucléotides et leur taille augmente exponentiellement. Les techniques d'accélération des comparaisons de génomes sont l’un des axes les plus importants en bio-informatique qui a pour but de remédier à un problème scientifique posé par la biologie « faire ressortir les régions ou séquences homologues ou différentes » ; on parle donc des méthodes de comparaison de deux ou plusieurs séquences de macromolécules biologiques (ADN, ARN ou protéines) les unes par rapport aux autres.

## Analyse comparative des séquences génomiques

Dite aussi génomique comparative, elle consiste en l'étude comparative des structures et fonctions des différents génomes de différentes espèces en comparant une/des séquences génomiques aux séquences d'autres génomes, il s’agit donc de quantifier la similitude entre les séquences d'ADN/Protéines puis déterminer l'information contenue dans ces portions de génomes.
Les comparaisons peuvent se faire de multiples façons produisant différents types d'information :
* par alignement (que ce soit l'alignement d'une portion d'un génome ou d'un génome complet) ;
* en comparant l'ordre de certains gènes ;
* en comparant la composition des séquences constituant le gènes ;
* etc.

### Définitions
#### Séquençage

Le séquençage de génome est l’un des champs d’application ou une sous-discipline de la bio-informatique, qui traite de l’analyse de données issues de l'information génétique contenue dans la séquence de l'ADN ou dans celle des protéines qu'il code. Cette branche s'intéresse en particulier à l'identification des ressemblances entre les séquences, à l'identification des gènes ou de régions biologiquement pertinentes dans l'ADN ou dans les protéines, en se basant sur l'enchaînement ou séquence de leurs composants élémentaires (nucléotides,acides aminés).

#### Séquence

Une Séquence génomique est l'enchaînement de molécules qui constituent une macromolécule, d'acide nucléique ou de protéine. Elle est généralement représentée sous forme d'une chaîne de caractères stockée dans un fichier informatique au format texte utilisant (dans le cas d'une séquence d'ADN) l'alphabet des quatre lettres A, C, G et T, initiales des bases azotées - Adénine, Cytosine, Guanine et Thymine - qui distinguent les quatre types de nucléotides.
Et c'est l'enchaînement des vingt types d'acides aminés le long d'un polypeptide, classiquement représentée par une chaîne de caractères qui utilise un alphabet de vingt lettres dans le cas d'une séquence protéique.

### Méthodes de séquençage

* méthode de Sanger (1975),
* Méthode de séquençage Maxam–Gilbert (en)(1977),
* Automatisation de Sanger (de ~1980 à 2005) au cours des dernières années, grâce à plusieurs avancées technologiques importantes dont l'utilisation de séquenceurs automatiques de gènes$^,$,
* Nouvelles générations de séquenceurs (depuis 2005)
** Séquençage de l'ADN#Comparaison des méthodes de séquençage nouvelle-générationNGS : Séquençage de nouvelle génération (désormais largement utilisés);
** HTS : Séquençage haut débit,
* NNGS : Séquençage nouvelle-nouvelle Generation (en cours)
** en particulier technologie SMS (Séquençage Moléculaire Unique)$^,$.

### Analyse de séquences génomiques

Après la sélection d'un organisme, les projets génomiques partent sur trois procédures: le séquençage de l'ADN, l'assemblage de cette séquence pour créer une représentation du chromosome original, ainsi que l'annotation et l'analyse de celle-ci. L'analyse exploratoire peut être conduite soit sur la base de résultats expérimentaux soit par analogie avec des organismes modèles.
Les difficultés résident dans La disponibilité des données génomiques permettant de vérifier et/ou de tester beaucoup d'hypothèses et dans l’organisation de telle masses énormes d'informations pour offrir un accès aisé, à l'ensemble de la communauté des chercheurs, aux informations désirées. Cela a été rendu possible grâce à différentes bases de données, accessibles en lignes.
À l'échelle mondiale, trois grandes institutions sont chargées de l'archivage de ces données : le NCBI aux États-Unis « Centre national 'américain' pour les informations biotechnologiques », l'Institut européen de bio-informatique (EBI) en Europe et le DDBJ au Japon « Banque de données génétiques du Japon». Ces institutions se coordonnent pour gérer les grandes bases de données de séquences nucléotidiques comme GenBank ou l'EMBL database, ainsi que les bases de données de séquences protéiques comme UniProt ou TrEMBL.
Alors il est indispensable parfois, pour les chercheurs, d’exprimer leur besoin de logiciels et/ou d'algorithmes et de nouveaux outils d'analyse de séquences pour l’étude d’un problème donné, afin de pouvoir déterminer certaines propriétés, comme :
* La recherche d'une séquence dans une banque de données à partir d'une autre séquence ou d'un fragment de séquence. Les logiciels les plus fréquemment utilisés sont de la famille BLAST (blastn, blastp, blastx, tblastx et leurs dérivés),
* L'alignement de séquences pour trouver les ressemblances entre deux séquences et déterminer leurs éventuelles homologies. Les alignements sont à la base de la construction de parentés suivant des critères moléculaires, ou encore de la reconnaissance de motifs particuliers dans une protéine à partir de la séquence de celle-ci,
* La recherche de motifs ou structures qui permettent de caractériser les séquences,
* , etc.
Pour qu’ensuite, développer des Recherches sur les protéines à partir de la traduction de séquences nucléiques connues.

### Comparaison de séquences

Dans la plupart des cas, le problème auquel l'utilisateur est confronté est formalisé comme suit: une nouvelle séquence est disponible et il est souhaitable de rechercher dans la base de données et de savoir si un ou des proches parents de cette séquence ont déjà été signalés. Si oui, on peut déduire par comparaison quelques-unes des données expérimentales recueillies de cette façon à la nouvelle séquence. Dans un tel cas, la solution consiste à comparer les séquences d'intérêt à toutes les séquences contenues dans la base de données, en gardant la trace de la plus semblable. Deux outils très populaires sont utilisés pour effectuer de telles recherches de similarité de base dans une base de données: FASTA et BLAST$^,$$^,$. C'est par exemple l'une des idées développées dans la base de données PROSITE.

#### Alignement de séquences

Quand on parle de la comparaison de séquences on parle de l’Alignement qui est le processus par lequel deux ou plusieurs séquences sont comparées afin d'obtenir le plus de correspondances possibles entre les lettres qui les composent.
Les différents alignements sont :
* L'alignement local : consiste en l’alignement des séquences sur une partie de leur longueur,
* L'alignement global : consiste en l’alignement des séquences sur toute leur longueur,
* L'alignement optimal : consiste en l’alignement des séquences qui produit le plus haut score possible,
* L'alignement multiple : consiste en l’alignement global de trois séquences ou plus à la fois,
* Brèches ou gap : c’est un espace artificiel introduit dans une séquence pour contrebalancer et matérialiser une insertion dans une autre séquence. Il permet d'optimiser l'alignement entre les séquences$^,$.

#### Annotation

L'annotation des génomes est une analyse informatique des séquences obtenues lors du séquençage permettant d'identifier les séquences informatives des génomes. Ces séquences sont principalement les gènes, on parle alors de prédiction de gènes. La plupart de ceux-ci sont identifiés soit par leur similitude avec des gènes déjà connus, soit par une prédiction en fonction de la séquence c'est-à-dire: présence d'un cadre de lecture ouvert caractérisée par un codon d'initiation de la traduction, puis au moins 100 codons et enfin un codon stop. Mais il existe aussi des « gènes morcelés » ou codons des ARN fonctionnels, ceux-ci doivent être prédits par des algorithmes différents.
Les gènes ne sont pas les seules cibles de l'annotation des génomes, il existe de nombreux autres types de séquences importantes dans les génomes, les séquences régulatrices, les éléments transposables, etc.$^,$

### Objectif du séquençage et de la comparaison des séquences génomiques

Le séquençage du génome est une étape importante vers sa compréhension et la séquence du génome peut être considérée comme un raccourci du chemin aidant les scientifiques à trouver des gènes beaucoup plus facilement et rapidement. Une séquence génomique peut contenir même des indices sur l'endroit où se trouvent les gènes, comprendre comment le génome dans son ensemble fonctionne et comment les gènes travaillent ensemble pour diriger la croissance, le développement et le maintien d'un organisme entier,
En médecine, elle peut être utilisée pour identifier, diagnostiquer et potentiellement trouver des traitements à des maladies génétiques, en observant les mutations temporelles qui peuvent avoir des incidents sur les protéines et donc leurs rôles (rôles des protéines/fonction des protéines) et voir aussi dans quel gène elles apparaissent, permet d’induire les dysfonctionnements, identification des gènes spécifique à une espèce (Pathogénicité, ...), retrouver des régions de synténie (conservation de l'ordre de gènes homologues dans le génome d’espèces différentes).
La comparaison de séquences est la tâche informatique la plus utilisée par les biologistes. Il s'agit de déterminer dans quelle mesure deux séquences, génomiques ou protéiques, se ressemblent.
La motivation première est d'inférer des connaissances sur une séquence à partir des connaissances attachées à une autre. Ainsi, si deux séquences sont très similaires et si l'une est connue pour être codante, l'hypothèse que la seconde le soit aussi peut être avancée. De même, si deux séquences protéiques sont similaires, il est souvent fait l'hypothèse que les protéines correspondantes assument des fonctions semblables ; si la fonction de l'une est connue, la fonction de la seconde peut ainsi s'en déduire.
Un biologiste qui détient une nouvelle séquence s'intéresse en premier temps à parcourir ces bases de données, à fin de trouver les séquences similaires et de faire hériter à la nouvelle séquence les connaissances qui leur sont associées. C'est également en comparant des séquences de génomes d'espèces actuelles qu'il est possible de reconstruire un arbre phylogénétique qui rend compte de l'histoire évolutive.
Il existe plusieurs bases de données qui contiennent l'ensemble des séquences nucléiques publiques avec leurs annotations (par exemple GenBank), ou l'ensemble des séquences protéiques expertisées (SwissProt).

### Profits tirés de la comparaison des génomes
#### En médecine

* Aide à la création de nouveaux médicaments (prédiction de structure, d'interactions).
La greffe d'organes (ou transplantation d'organes) a pour but de remplacer un organe défaillant par un organe sain (cœur, foi, etc.) en cas de provenance externe, c'est-à-dire qu'il y a un donneur en question et on parle donc de l'allogreffe non pas de l'autogreffe,
* Recherche dans un laboratoire (entreprise publique, biotechs, pharmaceutique, etc.).
* Aide à la création de tests et de systèmes de diagnostics destinés aux laboratoires d'analyses médicales, aux centres de transfusion sanguine et aux laboratoires de contrôle industriel, estimation de la probabilité et la rapidité de propagation des maladies.

#### En science

* Étudier et déduire les différences entre les fonctionnements des cellules des différentes espèces,
* Étudier et comprendre l’être vivant.

#### En informatique

* Développement de logiciels pour l'analyse et prédiction de données biologiques (génomique, transcriptomique, protéomique, etc.), par exemple la prédiction de gènes,
* Développement de logiciels pour la biologie : (LIMS, interface web, etc.),
* Adaptation de technologies informatiques au domaine de la biologie,
* Nouvelle étude : reconstruction phylogénétique.

## Algorithmes de comparaison des séquences génomiques
### Méthodes de programmation dynamique

L'Algorithme Needleman-Wunsch est utilisé pour obtenir l'alignement global de deux séquences protéiques ou d'acides nucléiques et l'algorithme de Smith et Waterman est utilisé pour obtenir l'alignement local de deux séquences protéiques ou d'acides nucléiques.
En informatique, l'algorithme de Hirschberg (en), baptisé d'après son inventeur, Dan Hirschberg (en), est un algorithme de programmation dynamique qui trouve l'alignement optimal de séquences entre deux chaînes. L'optimalité est mesurée à l'aide de la distance de Levenshtein, définie comme étant la somme des coûts des insertions, des remplacements, des suppressions et des actions nulles nécessaires pour changer une chaîne par une autre. L'algorithme de Hirschberg est simplement décrit comme une version concurrente de l'algorithme Needleman-Wunsch. Et il est couramment utilisé en bio-informatique pour trouver des alignements globaux maximaux de séquences d'ADN et de protéines.

### Méthodes heuristiques

Ce sont des méthodes qui recherchent des similitudes dans une base de séquences. Les programmes des familles Fasta et BLAST sont des heuristiques qui réduisent le facteur temps en se basant sur l’idée de filtrage. Les deux simplifient le problème :
* en pré-sélectionnant les séquences de la banque susceptibles de présenter une similarité significative avec la séquence requête,
* et en localisant les régions potentiellement similaires dans les séquences.
Ces étapes sélectives permettent :
* de n'appliquer les méthodes de comparaison, coûteuses en temps, qu'à un sous-ensemble des séquences de la banque,
* et de restreindre le calcul de l'alignement optimal à des parties des séquences.
Le Programme FASTA$^,$$^,$ ne considère que les séquences présentant une région de forte similitude avec la séquence recherchée. Il applique ensuite localement à chacune de ces meilleures zones de ressemblance un algorithme d'alignement optimal. La codification numérique des séquences, c'est-à-dire la décomposition de la séquence en courts motifs transcodés en entiers, confère à l'algorithme l'essentiel de sa rapidité.
Les programmes BLAST$^,$ « Recherche de Régions de Similarité Locales » sont une méthode heuristique qui utilise la méthode de Smith & Waterman. C'est un programme qui effectue un alignement local entre deux séquences nucléiques ou protéiques. La rapidité de BLAST permet la recherche des similarités entre une séquence requête et toutes les séquences d'une base de données.

### Méthode d’apprentissage machine

L'apprentissage machine ou l'apprentissage automatique est un processus par lequel un ordinateur accroît ses connaissances et modifie son comportement à la suite de ses expériences et de ses actes passés. Cette méthode consiste en la conception, l'analyse, le développement et l'implémentation de méthodes permettant à une machine de réaliser des tâches difficiles que les algorithmiques classiques ne peuvent réaliser. Parmi les méthodes d'apprentissage machine :
* les réseaux de neurones ;
* les SVM machine à vecteur de support ;
* les k plus proches voisins ;
* l'algorithme espérance-maximisation EM ;
* le modèle de Markov caché.
Elles sont applicables dans plusieurs domaines tels que : la reconnaissance d'objets (visages, schémas, langages naturels, écriture, formes syntaxiques…) ; moteurs de recherche ; aide aux diagnostics, médical notamment, bio-informatique, chémoinformatique, , etc.

## Accélération matérielle de la comparaison des séquences génomiques
### Matériels de comparaison

Le traitement des données pour les applications de bio-informatique se fait actuellement par des logiciels, ce qui prend souvent beaucoup de temps, même aligner quelques centaines de séquences à l'aide d'outils d'alignement multiple consomme plusieurs heures CPU sur des postes de travail ultramodernes. L'analyse de séquences à grande échelle, qui implique souvent des dizaines de millions de séquences, est devenue un pilier, ainsi qu'un des principaux goulets d'étranglement dans la voie de la découverte scientifique. Le domaine de bio-informatique moléculaire héberge également un ensemble d'applications à forte intensité de calcul dans lesquelles les problèmes sous-jacents sont prouvés être intraitables en calcul (par exemple le calcul des arbres phylogénétiques, le repliement des protéines).
En outre, des techniques de séquençage d'ADN à haut débit, qui ont permis de grandes avancées (séquençage complet du génome humain, projet d'annotation du génome des plantes) sont apparues. D’une autre vision ces progrès se sont traduits par le grand volume de données génomiques (ADN, protéines) disponibles pour la communauté, et qui est interprété par l'évolution des banques NCBI GenBank (pour l’ADN) UniProt (pour les protéines).
Les chercheurs se voient confrontés à un grand défi qui est l’extraction d’informations utiles à la compréhension de phénomènes biologiques, de ces volumes de données innombrables. Les outils classiques utilisés en bio-informatique ne sont pas conçus pour fonctionner sur de telles masses de données, et les volumes de calculs mis en jeu dans ces outils d'analyses sont devenus trop importants au point de devenir un goulot d'étranglement même pour les solutions offertes par l’informatique.
De nombreux travaux se sont donc intéressés à l'utilisation de machines parallèles pour réduire ces temps de calcul ; on parle alors de l'utilisation d'accélérateurs matériels spécialisés à base de logique programmable avec la possibilité de profiter des capacités d'accélération très élevées à consommation électrique réduite et des coûts de maintenance très raisonnables.
Pour accélérer les méthodes d'alignement des séquences, elles sont mises en œuvre sur diverses plates-formes matérielles disponibles, qui promettent un gain de performance énorme. Et plusieurs accélérateurs matériels ont été proposés dont : SAMBA, FPGA, les GPU, les CPU, et ASIC.

### GPU

Spécialisés pour des traitements synchrones de grosses quantités de données, les GPUs possèdent nativement une structure de cœurs massivement parallèle et offrent des puissances brutes de calcul largement supérieures aux processeurs. Dans le domaine de la bio-informatique, les GPUs sont aussi prisés pour le traitement des séquences ADN. Avec quelques milliards de nucléotides, les GPUs permettent de réduire significativement les temps de traitements algorithmiques de ces chaînes, notamment pour les tris de très gros volumes de données (tris par base).

### FPGA

Les tendances récentes de la technologie informatique ont connu une progression rapide, comme les FPGA.
La mise en œuvre de la bio-informatique liée au FPGA et des applications de calculs en biologie est largement abordée.
L'augmentation de la densité et de la vitesse des circuits FPGA a ainsi favorisé l'émergence d'accélérateurs matériels reconfigurables orientés vers le domaine du calcul haute performance (HPC), avec plusieurs applications comme le calcul financier, grâce à sa fonctionnalité re-programmable, des développements de diverses applications biologiques sont possibles sur la même puce de silicium.
Ainsi ils se sont avérés être des architectures matérielles bien adaptées à la mise en œuvre de traitements de type bio-informatique.
La mise en œuvre FPGA utilise Xilinx Virtex II XC2V6000, une plate-forme pouvant accueillir 92 éléments de traitement avec une vitesse d'horloge maximale de 34 MHz. Et sur les périphériques FPGA, la complexité d'une opération détermine directement la quantité consommée, de la surface de la puce.

### ASIC

Un composant ASIC « circuit intégré propre à une application » est une puce dédiée à une seule fonction (ou à une classe restreinte de fonctions). Une fois conçu et fabriqué, il ne peut pas être modifié.
Dans les systèmes ASIC dédiés pour la comparaison de séquences, le calcul est généralement effectué par un réseau linéaire de processeurs ASIC identiques. La performance maximale de ces machines est impressionnante car tous les processeurs (quelques centaines) travaillent simultanément et de manière synchrone. La machine BioSCAN et la machine BISP appartiennent à cette catégorie. La puissance de calcul de ces machines dépend directement de la vitesse d'horloge et du nombre de processeurs.
En termes de vitesse, Il est reconnu qu'un ASIC est typiquement, 3 à 10 fois, plus rapide qu'un FPGA. Ainsi, on peut conclure que généralement les FPGAs peuvent fournir plus de vitesse que les processeurs, mais ne réalisent guère mieux les traitements que les ASIC. Le coût initial de conception et de production d'une unité FPGA est beaucoup plus faible que pour un ASIC, puisque le coût d'ingénierie non récurrente (NRE) d'un ASIC peut atteindre des millions de dollars. NRE représente le coût ponctuel correspondant à la conception et au test d'une nouvelle puce.

### SAMBA

Le système SAMBA appartient à la catégorie ASIC, car le cœur du système est une matrice de processeurs VLSI dédiée, mais le système complet contient une interface de mémoire FPGA. Le réseau est connecté au poste de travail hôte par l'intermédiaire d'une carte mémoire FPGA qui agit comme un contrôleur de réseau et un mécanisme à grande vitesse pour alimenter correctement le réseau et filtrer les résultats à la volée.
La matrice du prototype SAMBA est composée de 32 puces identiques personnalisées, qui abritent chacune quatre processeurs, aboutissant à une matrice de processeurs. La puce a été conçue à IRISA et fournit une puissance de calcul de 400 millions d'opérations par seconde. Par conséquent, la matrice est capable d'atteindre 12,8 milliards d'opérations par seconde.

### Processeurs

Les processeurs sont des architectures bien connues, souples et évolutives. En exploitant la répartition d'instructions SIMD extension de SSE montée sur les processeurs modernes, le temps de réalisation des analyses diminue de façon significative, ce qui rend les analyses de problèmes de données intensives, comme l'alignement des séquences, réalisables. De plus, les technologies émergentes du processeur comme le multi-cœur combinent deux processeurs indépendants ou plus.
Le paradigme du flux de données de multiples instructions simples(SIMD) est fortement utilisé dans cette classe de processeurs, ce qui le rend approprié pour les applications parallèles de données comme l'alignement des séquences. SIMD décrit des processeurs avec plusieurs éléments de traitement qui effectuent la même opération sur plusieurs données simultanément.

## Historique

L'essor de cette discipline a été facilité par le développement des techniques de séquençage des génomes et la bio-informatique. En 1869, le Suisse Friedrich Miescher isole une substance riche en phosphore dans le noyau des cellules, qu'il nomme nucléine (le noyau). En 1896, l'Allemand Albrecht Kossel découvre dans l'acide nucléique les 4 bases azotées A, C, T, G. En 1928, Phoebus Levene et Walter Abraham Jacobs (en) (États-Unis) identifient le désoxyribose, et depuis 1935, on parle d'Acide désoxyribonucléique.
En 1944, l'américain Oswald Avery découvre que l'ADN est responsable de la transformation génétique des bactéries. Et certains scientifiques n'abandonnent pas l'idée que les protéines puissent porter l'information génétique.
Les expériences de Hershey et Chase confirment en 1952 l’hypothèse de l’ADN comme porteur de l'information génétique. En 1953 est publié dans Nature, par James Watson et Francis Crick une étude sur la structure de l'ADN en double hélice, grâce à la technique de diffraction des rayons X sur des cristaux de l'ADN, rendue possible par le travail de Rosalind Elsie Franklin.
Entre 1961 et 1965 le code génétique a été déchiffré « trois bases codent un acide aminé » (d'après la suggestion de George Gamow et l'expérience de Crick, Brenner et al., Philip Leder). Il fallait travailler et chercher plusieurs années avant de pouvoir obtenir la première séquence de l’ADN,
En 1972, le premier véritable séquençage d'un génome est publié, avec la lecture de la séquence ARN du gène du virus Bactériophage MS2. Le projet de séquençage du génome humain (HGP) est un projet international lancé en 1990 aux États-Unis et coordonné par l'Institut national de santé (NIH) et par le département de l'Énergie,
Craig Venter en 1998 annonce la création de l’entreprise Celera Genomics, en partenariat avec la multinationale PerkinElmer, spécialisée en électronique et leader mondial de l’équipement d’analyse de l’ADN. Cette même année, le HGP publie le GeneMap’98 qui contient 30 000 marqueurs.
En 1999, un premier chromosome humain est séquencé par une équipe coordonnée par le centre Sanger, en Grande-Bretagne. En janvier 2000, Celera Genomics annonce qu’elle détient dans sa banque de données 97 % des gènes humains, et propose les premiers résultats du séquençage total du génome humain. Et dans la même année, le HGP annonce 90 % du séquençage du génome humain. Les équipes scientifiques l'ont médiatisée par la compétition entre eux qui les a fait publier la première carte du génome humain, le 26 juin 2000 à la fin du XXe siècle par Bill Clinton et Tony Blair.
En février 2001, les séquences du génome humain sont publiées par Nature (résultats du consortium public) et par Science (résultats de Celera Genomics).
Le 14 avril 2003, la fin du séquençage du génome humain est annoncée. Depuis, le séquençage évolue et le nombre de génomes complets séquencés.
En septembre 2007, une équipe menée par le biologiste et entrepreneur Craig Venter a publié le premier génome complet d'un individu qui est de Craig Venter lui-même.