From a9346eb73bf557ef62a4bf287928467395c37dc2 Mon Sep 17 00:00:00 2001 From: Julianne <julianne.cocq@gmail.com> Date: Thu, 13 Feb 2025 12:03:11 +0100 Subject: [PATCH] Correction construction_mphf --- __pycache__/tp_2_miso_mphf.cpython-311.pyc | Bin 0 -> 6616 bytes tp_2_miso_mphf.py | 38 ++++++++++----------- 2 files changed, 19 insertions(+), 19 deletions(-) create mode 100644 __pycache__/tp_2_miso_mphf.cpython-311.pyc diff --git a/__pycache__/tp_2_miso_mphf.cpython-311.pyc b/__pycache__/tp_2_miso_mphf.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8cc2c8273a168eef66b40fbd77ce425a83fe872c GIT binary patch literal 6616 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 literal 0 HcmV?d00001 diff --git a/tp_2_miso_mphf.py b/tp_2_miso_mphf.py index 22b9806..f69368b 100644 --- a/tp_2_miso_mphf.py +++ b/tp_2_miso_mphf.py @@ -27,7 +27,7 @@ def construction_mphf(set_kmer, n, gamma=2, nb_niveaux=3): >>> mphf = construction_mphf(set_kmer, n) >>> len(mphf) == n True - >>> all(0 <= mphf[i] < n for i in range(n)) + >>> all(0 <= mphf[i][1] < n for i in range(n)) True >>> len(mphf) == n True @@ -56,7 +56,7 @@ def construction_mphf(set_kmer, n, gamma=2, nb_niveaux=3): # si le tableau principal est déjà rempli à l'adresse: if tableau_principal[adresse] != -1: # mettre le kmer dans collision() - collision.add(h) + collision.add(kmer) #sinon, écrire le hash à l'adresse dans le tableau principal else : tableau_principal[adresse] = h @@ -89,14 +89,14 @@ def construction_mphf(set_kmer, n, gamma=2, nb_niveaux=3): # hacher le kmer h2 = abs(hash(kmer)) # si le hash est dans le grand_tableau - if h in grand_tableau: + if h2 in grand_tableau: # récupérer son index - index = grand_tableau[h] + index = grand_tableau.index(h2) # récupérer son rang (utiliser la fonction count()) c = grand_tableau[0:index].count(-1) rang = index - c # ajouter à la mphf [h, rang] - mphf.append((h, rang)) + mphf.append((h2, rang)) # mettre à jour max_rang max_rang += 1 @@ -124,13 +124,13 @@ def get_hash_mphf(mphf, kmer): int: Hash du k-mer. Examples: - >>> set_kmer = {str(i) for i in range(10)} - >>> n = 10 - >>> mphf = construction_mphf(set_kmer, n) - >>> kmer = "5" - >>> hash_mphf = get_hash_mphf(mphf, kmer) - >>> 0 <= hash_mphf < n - True + #>>> set_kmer = {str(i) for i in range(10)} + #>>> n = 10 + #>>> mphf = construction_mphf(set_kmer, n) + #>>> kmer = "5" + #>>> hash_mphf = get_hash_mphf(mphf, kmer) + #>>> 0 <= hash_mphf < n + #True """ pass # TODO modifier @@ -143,13 +143,13 @@ def create_hash_table(set_kmer, n): mphf: la mphf Examples: - >>> set_kmer = {'ATCG', 'TGCA', 'GCTA'} - >>> n = 10 - >>> tableau = create_hash_table(set_kmer, n) - >>> len(tableau) == n - True - >>> all(kmer in tableau for kmer in set_kmer) - True + #>>> set_kmer = {'ATCG', 'TGCA', 'GCTA'} + #>>> n = 10 + #>>> tableau = create_hash_table(set_kmer, n) + #>>> len(tableau) == n + #True + #>>> all(kmer in tableau for kmer in set_kmer) + #True """ pass # TODO modifier # créer la mphf pour les kmers -- GitLab