Skip to content
Snippets Groups Projects
Commit 71e10205 authored by Sania Mekchiche's avatar Sania Mekchiche
Browse files

fini

parent 750e3771
Branches
No related tags found
No related merge requests found
......@@ -14,30 +14,30 @@ Vous devez
Ecrivez vos réponses et commentaires dans ce document.
# Explication de tableaux.append(tableau_principal)
### Explication de tableaux.append(tableau_principal)
Cette ligne permet d'ajouter le tableau principal (actuel) à la liste des tableaux.
On fait cela car on va réduire la taille de la table de hachage à plusieurs reprise, nous allons donc stocker dans cette liste les table au fur et à mesure.
# Explication de set_kmer_courant = collision.copy()
### Explication de set_kmer_courant = collision.copy()
Après un niveau il se peut qu'il y ait des k-mers en collision ceux-ci sont enregistré dans 'collision'.
Ensuite set_kmer_courant est mis à jour pour qu'il contienne les k-mers qui ont subi une collison.
L'objectif est d'essayer d'insérer ces k-mer en collision pour les intégrer dans le prochain niveau de la table de hachage.
#Explication de collision = set()
### Explication de collision = set()
Cette ligne permet de vider collision. En effet après avoir copié les valeurs de collision dans set_kmer_courant,
on va réinitialiser collision pour le prochain niveau de la table de hashage.
On recommence avec une liste collision qui contient les éléments à traiter.
# Explication de grand_tableau.extend(tableau)
### Explication de grand_tableau.extend(tableau)
Nous avons des tableaux crée à chaque niveau pour contenir les résultats intermédiaire du hachage.
Cette ligne permet d'ajouter tout les éléments stockée dans tableau dans seul grand_tableau. Ca sert à regrouper toute les tables intermédiaires dans un seul grand tableau.
On va pouvoir ainsi récupérer les indices des k-mers dans un seul tableau.
# Explication de:
### Explication de:
for kmer in set_kmer_courant:
max_rang += 1
h = abs(hash(kmer))
......@@ -47,7 +47,7 @@ Ce bloc permet de donner un rang aux k-mer qui sera donc unique pour les cas où
On parcours tous les kmers et on leurs attribut un rang +1 par au precedent.
On recupère le hash du k-mer puis on l'ajoute avec le rang à la MPHF
# Explication de pourquoi ici on ne mesure pas juste la taille en mémoire du tableau ?
### Explication de pourquoi ici on ne mesure pas juste la taille en mémoire du tableau ?
table_size.append(sys.getsizeof(tableau) + sys.getsizeof(mphf))
Cette ligne permet de calculer la taille de tableau qui contient les k-mers placé à la position de leurs hash respectif
......@@ -57,7 +57,7 @@ Nous pourrons ensuite comparer avec la taille des dictionnaire python.
Puis décommenter `compare_taille` à la fin et expliquer les résultats.
# Explication du graphique mphf.png
### Explication du graphique mphf.png
Ce graphique permet d'observer l'évolution de la taille mémoire utilisée par une table MPHF (en bleu) et un dictionnaire python en orange pour un nombre 'n' de k-mer.
On observe que la courbe MPHF augmente progressivement de manière linéaire tandis que la courbe 'dict' augmente en escalier.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment