Skip to main content
留学咨询

辅导案例-L3 BISM

By May 15, 2020No Comments

UE Bioinformatique BISM Projet Needleman-Wunsch – L3 BISM 2019-2020 A` rendre le 31/03/2020, heure limite 23:59. -1 point pour chaque jour de retard. Deposer vos fichiers sur CLaroline dans le zone de depot ”rendu NW” dans une archive zip nomme´e nom prenom NW.zip. Chacun des noms de vos fichier devra contenir votre pre´nom et votre nom. Objectif: imple´mentez l’algorithme de Needleman-Wunsch en python. Re`gles a` suivres : 1. Les deux se´quences a` aligner se trouveront dans deux fichiers au format fasta (un par se´quence). Il faudra donc lire et stocker les se´quences de ces fichiers. 2. Votre algorithme doit eˆtre capable d’aligner des se´quences nucle´otidiques compose´es de A, a, C, c, G, g, T, t, U, u. 3. Par de´faut, votre matrice de substitution doit : donner un score de 2 a` un match, un score de 1 a` un mismatch purine/purine (A et G) ou pyrimidine/pyrimidine (C et T) et retirer une penalite´ de -1 aux autres mismatches. Vous pouvez en plus donner la possibilite´ a` l’utilisateur d’entrer sa propre matrice de substitution, au format de votre choix. 4. Par de´faut, une ouverture de gap doit retirer une penalite´ de -10. Ce parame`tre doit pouvoir eˆtre modifie´. 5. Par de´faut, une extension de gap doit retirer une penalite´ de -1. Ce parame`tre doit pouvoir eˆtre modifie´. 6. L’algorithme doit trouver au moins un des meilleurs alignements. 7. Cet alignement doit eˆtre affiche´ avec les informations suivantes au moins : les se´quences, les symboles d’alignement, le score final de l’alignement et le nombre de match/mis- match/gap. Les se´quences et les symboles d’alignements peuvent par exemple ressem- bler a` c¸a : 1 ATGGCGT |||: || ATGA-GT Ceci n’est qu’un exemple, vous pouvez proposer votre propre affichage tant que celui-ci est claire et que toutes les informations requises y figure. 8. Votre algorithme doit retourner les matrices de score et de traceback au moins. 9. Votre code doit eˆtre fait pour faciliter sa compre´hension par d’autres programmeurs. C’est a` dire, clair (nommage rationnel des variables) et commente´ : le roˆle et les entre´es/sorties de chaque fonction, classe, me´thode, parame`tre ou partie de code complique´ doit eˆtre pre´cise´. 10. Votre code doit eˆtre facile a` exe´cuter pour quelqu’un d’exte´rieur (par exemple, un util- isateur qui n’a jamais programme´ en python, mais qui veux aligner deux se´quences). 11. Vous devez cre´er un fichier README qui explique ce que fait votre algorithme et quels sont les parame`tres modifiables par l’utilisateur ainsi que leurs valeurs par de´faut. Ce fichier doit aussi contenir un exemple fonctionnel d’utilisation de votre script python, ainsi qu’une explication de ce qui est affiche´ et retourne´. Fonctionnalite´ a` ajouter: 1. L’utilisateur doit pouvoir re´aliser un alignement prote´ique. Vous devez de´terminer quelle sera alors la matrice de substitution a` utiliser. 2. L’alignement prote´ique doit eˆtre fonctionnel. Fonctionnalite´es bonus: 1. L’utilisateur doit pouvoir spe´cifier si il pre´fe`re re´aliser un alignement global (Needleman- Wunsch) ou local (Smith-Waterman). Quelles sont les modifications a` apporter a` votre code pour que celui-ci re´alise un alignement local ? 2. Imple´menater ces modifications. 3. Trouver l’ensemble des alignements optimaux (ca`d retourner les ex aequo si il y en a). 2

admin

Author admin

More posts by admin