Vous commencez votre premier job de bioinformaticien.ne. La personne précédente vous a laissé un code quasi sans commentaire et sans test, et votre chef est biologiste et n'y comprend rien. Il sait seulement que ce code était très pratique pour rechercher des k-mer dans des jeux de données.
Vous allez améliorer la situation pour que l'équipe puisse se servir du code de manière pérenne.
1. Décrivez à quoi sert `class SimpleBloomFilter`. Ecrivez les doctests pour cette classe.
2. Décrivez à quoi sert `class StructureNode`.
3. Décrivez à quoi sert `class Structure`. Ecrivez les doctests pour cette classe.
4. Cette structure mélange donc deux structures de données que nous avons vues. Quelles sont elles ?
4. D'après vous, que peut-on dire sur la complexité de la requête de cette structure ?
5. Quelles sont les différences avec la table basée sur une MPHF que nous avons vu ?
6. Bonus : Pouvez-vous retracer de quel papier de bioinformatique vient cette idée ?
Vous commencez votre premier job de bioinformaticien.ne. La personne précédente vous a laissé un code quasi sans commentaire et sans test, et votre chef est biologiste et n'y comprend rien. Il sait seulement que ce code était très pratique pour rechercher des k-mer dans des jeux de données.
Vous allez améliorer la situation pour que l'équipe puisse se servir du code de manière pérenne.
1. Décrivez à quoi sert `class SimpleBloomFilter`. Ecrivez les doctests pour cette classe.
2. Décrivez à quoi sert `class StructureNode`.
3. Décrivez à quoi sert `class Structure`. Ecrivez les doctests pour cette classe.
4. Cette structure mélange donc deux structures de données que nous avons vues. Quelles sont elles ?
-----
### La stucture Structure mélange deux structures de données principales:
*** 1-Filtre de Bloom:
Utilisé pour représenter les k-mers de chaque jeu de données. Le filtre de Bloom permet de tester
rapidement si un k-mer est potentiellement présent dans un jeu de donnnées, avec un certain taux de
faux positifs.
*** 2-Arbre binaire:
La structure est organisée sous forme d'arbre binaire, où chaque noeud interne présente l'union
des filtres de Bloom de ses enfants. Les feuilles de l'arbre correspondent aux jeux de données
individuels.
-----
5.D'après vous, que peut-on dire sur la complexité de la requête de cette structure ?
6.Quelles sont les différences avec la table basée sur une MPHF que nous avons vu ?
7.Bonus : Pouvez-vous retracer de quel papier de bioinformatique vient cette idée ?