programme pour rechercher un codon stop sur une chaine d'adn sous perl
Bonjour je suis entrain de realiser un petit programme sous perl qui recherche sur une chaine d'adn les codons stop et qui signale l'emplacement de ces codons sur la chaine. le probleme est que on ne me retourne que le 1er codon stop.
exemple si la chaine est cgtccgtauuaaccgtacugaacc
Rmq: y a deux codons stop mon prog ne me retourne que le 1er :(
voila mon programme
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| #!/usr/bin/perl -w
use Tk;
sub adntoarn
{
$adn=$zone_saisie -> get ( ) ;
$t="";
for ($x=0;$x<length($adn);$x=$x+1)
{
$base=substr($adn,$x,1);
$y=index($adn,$base);
$a=$y+1;
$b=$y+2;
if(($base eq "u") and (substr($adn,$a,1) eq "a") and (substr($adn,$b,1) eq "a"))
{
$u1=index($adn,$base)+1;
$ki=("codon stop uaa en position").$u1;
}
elsif(($base eq "u") and (substr($adn,$a,1) eq "a") and (substr($adn,$b,1) eq "g"))
{
$u2=index($adn,$base)+1;
$ki=("codon stop uag en postion:").$u2;
}
elsif(($base eq "u") and (substr($adn,$a,1) eq "g") and (substr($adn,$b,1) eq "a"))
{
$u3=index($adn,$base)+1;
$ki=("codon stop uga en postion:").$u3;
}
else {next}
}
$t=$t.("\n").$ki;
}
$fenetre = new MainWindow ( ) ;
$fenetre -> title ( "Verification codon stop") ;
$message = $fenetre -> Label ( -textvariable => \$t ) ;
$btn_modif = $fenetre -> Button ( -text => 'Modifier' , -command => \&adntoarn) ;
$zone_saisie = $fenetre -> Entry ( ) ;
$message -> pack ( ) ;
$btn_modif -> pack ( ) ;
$zone_saisie -> pack ( ) ;
MainLoop ( ) ; |
Merci d'avance pour votre aide