|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 |
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 121 ![]() |
Bonjour,merci pour ton aide si precieuse (mme la bioinformaticienne), le but c'est a partir du premier programme le hash , on a construit le hash des introns identifier par l'identifiant Aster-***** avec le numero d'acide amine (position) qui donne la taille, pareil pour CV-****, ensuite je fais un blast qui fait un blast des orthologues grace au fichier reciprocal best blast hits;
Donc je dois apres les commandes que je lance recuperer le fichier out.bl, En fait mon programme doit a partir de collection de position de deux sequences pour query my @positions=(24,48,54,92,137,235,275,324) et subject my @positions=(25,60,80,192), aller verifier si ces positions existent sur l'alignement et si ces positions sont l'une face a l'autre. Je m'explique mieux: on prend un exemple si je prend le premier bloc Query: 160 DSVIAAMSKRGQDRLHHVIRILAEKGHVKELATAFYGNYTVQDLLDATHXXXXXXXXXXX 219 + I A+ ++ +L V+ IL E G V EL T ++GNY++QDL++A Sbjct: 264 EQAINALQRKSYQKLTRVVDILIESGKVPELVTHYFGNYSIQDLMEACFKLRKSFEKQGR 323 je dois prendre en premier l'index de chaque sequence : 160 pour query et 264 pour subject ,ceci nous permet de nous positionner sur les sequences en effet, lorsque nous allons commencer le lecture des tables, on saura que la lettre D est positionne a 160, puis S a 161 ainsi de suite pour query , et E 264 pour subject. ENsuite pour chque position je verifie si cette position nexiste pas dans ma collection,ainsi si par exemple javais une lettre qui etait a la position 54 pour query et qu'en face(Ceci est important, il faut que la lettre de subject soit en face) j'ai une lettre qui est a la position 80, donc comme deux positions qui existent dans les tables positions et quils sont en face l'une a lautre alors cest bon je renvoi ces deux valeurs 54 et 80, et je continue la lecture jusqua la fin du bloc et puis je continue la meme chose pour les autres blocs recursivement. EN faisant attention que si jai un x ou - soit sur query ou subject je passe et je fais avancer mes curseurs en meme temps, donc je saute la partie ou il y a X ou - sur la sequence ou il ya mais aussi sur la sequence den face meme si ces des lettres je dois avancer de la meme facon sur les deux sequences; En fait, si je prend les deux sequences d'un bloc je mets dans une table et javance les curseurs en meme temps position un par un je pourrai faire ceci. Donc je dois automatiser le systeme en construisant les hashs je les laisse , ensuite pour chaque couple Aster-*** CV-**** je fais le bast, sorti out;bl je bloque le systeme , je cherche les introns orthologues, ensuite si il existe je renvoi la taille des intron qui correspondent $hash{$id}{$aa}=$taille; Pour chaque couple, et je recommence pour les autres couples. |
|
|
00
|
|
|
#22 | ||
|
Membre Expert
![]() ![]() Jasmine Inscription : octobre 2006 Messages : 2 814 ![]() |
Donc, si j'ai bien compris
On a deux séquences alignées avec des positions variable et il faut retrouver les positions correspondantes. Ainsi dans ton exemple : Code :
Si on tombe sur un gap, on passe la position pour les 2 séquences est-ce bien ça?
__________________
-- Jasmine -- Merci de poser les questions dans le forum, je ne répondrai pas aux MP. |
||
|
|
00
|
|
|
#23 | ||
|
Membre Expert
![]() ![]() Jasmine Inscription : octobre 2006 Messages : 2 814 ![]() |
A ta place, j'essaierais quelque chose dans ce genre :
Code :
__________________
-- Jasmine -- Merci de poser les questions dans le forum, je ne répondrai pas aux MP. |
||
|
|
00
|
|
|
#24 |
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 121 ![]() |
En fait, les lettres on ne se sert a rien.En fait, le plus important ces les positions des lettres.
JE prend les blocs des deux sequences je mets dans une table, ensuite jecommence la lecture des deux sequences l'une comme l'autre. Cest a dire, les curseurs de chaue table doit avancer de la meme facon., en meme temps. Et je regarde mes hash, et les positions, en fait cest un aligenement d'aa qui doit etre en face lune a lautre, si jai correspondance dans ma collection je regarde si ils sont alignes. Et si il ya correspondance et aligenement des deux positionnement je renvoi la tailles des introns correspondant, pour Aster-*** et CV-***, et je passe a lautre bloc, ensuite des que jai fini , je recommence le blast, puis out.bl puis on recommence la correspondance et a chaque fois je renvoi les tailles des introns a chaque fois JE ne sais pas comment je vais mettre le calcul dans lalgo et ensuite lui dire de faire le calcul des que cest fini je passe a lautre en faisant la correspondance des ID merci |
|
|
00
|
|
|
#25 | ||||
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 121 ![]() |
Voici un code qui marche, mais jarrive pas a la faire pour tous les blocs:
Code :
Voila ce que j'ai essaye de faire pour un grand fichier: Code :
|
||||
|
|
00
|
|
|
#26 | ||
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 121 ![]() |
Bonjour, voici un code exhaustive que j'ai fait avec un pote, maitenant faut que je l'ajoute dans le premier programme en affichant a la fin un exemple
C169v2-04488 [les differents tailles des introns] Aster-06787[les differents tailles des introns]... Ainsi de suiteil faut que je l'automatise pour le premier code: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com