Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1381 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Aide Script PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide Script PHP

n°1697249
Cachouguin​teur
Yippie ki yay
Posté le 04-03-2008 à 23:20:00  profilanswer
 

Bonjour :)
Voilà j'essai de faire un petit outil de traduction de l'ADN, mais voilà ça ne marche pas, maitres du php je réclame votre aide, j'ai dû faire plein de conneries... voici mon script :
 
<?
$sequ=$_POST['sequence']; //renomme la variable sequence
$sequ=strtoupper($sequ); //toute la sequence est mise en majuscule
 
echo "voici la séquence que vous avez entré : $sequ <br>";
 
$code=array("GCT"=>"A","GCC"=>"A","GCA"=>"A","GCG"=>"A","CGT"=>"R","CGC"=>"R","CGA"=>"R","CGG"=>"R",
"AGA"=>"R","AGG"=>"R","AAT"=>"N","AAC"=>"N","GAT"=>"D","GAC"=>"D","TGT"=>"C","TGC"=>"C","CAA"=>"E",
"CAG"=>"E","GAA"=>"Q","GAG"=>"Q","GGT"=>"G","GGC"=>"G","GGA"=>"G","GGG"=>"G","CAT"=>"H","CAA"=>"H",
"ATT"=>"I","ATC"=>"I","ATA"=>"I","TTA"=>"L","TTG"=>"L","CTT"=>"L","CTC"=>"L","CTA"=>"L","CTG"=>"L",
"AAA"=>"K","AAG"=>"K","ATG"=>"M","TTT"=>"F","TTC"=>"F","CCT"=>"P","CCC"=>"P","CCA"=>"P","CCG"=>"P",
"TCT"=>"S","TCC"=>"S","TCA"=>"S","TCG"=>"S","AGT"=>"S","AGC"=>"S","ACT"=>"T","ACC"=>"T","ACA"=>"T",
"ACG"=>"T","TGG"="W","TAT"=>"Y","TAC"=>"Y","GTT"=>"V","GTC"=>"V","GTA"=>"V","GTG"=>"V" );
 
$long=strlen($sequ);
for ($i=0; $i<$long; $i+=3)
{
 $codon=substr($sequ,$i,3);
 $aa=$code[$codon];
 $traduction=$traduction.$aa;
 echo "$traduction";
}
?>

mood
Publicité
Posté le 04-03-2008 à 23:20:00  profilanswer
 

n°1697260
theredled
● REC
Posté le 04-03-2008 à 23:36:51  profilanswer
 

Hellow

 

plusieurs trucs :
- $traduction est pas initialisée, met un

Code :
  1. $traduction='';

avant le for(), sinon il arrive sur

Code :
  1. $traduction=$traduction.$aa;

alors qu'il n'a jamais entendu parler de $traduction.
- prévois le cas où le $codon de 3 lettres n'est pas présent dans le tableau $code, et affiche au moins un message, d'erreur par ex.
- mets des espaces de temps en temps :o

 

Sinon ça a l'air de marcher.


Message édité par theredled le 04-03-2008 à 23:43:29

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1697276
Cachouguin​teur
Yippie ki yay
Posté le 05-03-2008 à 00:58:33  profilanswer
 

merci de ton aide, mais ça ne fonctionne toujours pas.
Je comprend pas comment définir le $traduction, à quoi sert de mettre $traduction=' ' ? je suis désolé hein, je débute en php :)

n°1697277
theredled
● REC
Posté le 05-03-2008 à 01:13:11  profilanswer
 

Qu'est ce qui ne fonctionne pas ? qu'est ce que ça fait ?

 

Pour le $traduction :

 

Quand tu fais

Code :
  1. $traduction=$traduction.$aa;


Tu concatènes la valeur actuelle de $traduction avec la valeur actuelle de $aa, et tu écris le tout dans $traduction, on est d'accord ?

 

Seulement la première fois où tu arrives dans la boucle, $traduction n'a pas de "valeur actuelle", puisqu'il n'existe pas. Du coup ça peut pas marcher.
C'est pour ça que tu dois mettre $traduction = ''; avant le for. Comme ça $traduction existe, et il a une valeur (la valeur '')

 

edit: attention c'est bien '' (2 apostrophes = chaine vide, ou "" c'est pareil), et pas ' ' (= une chaine contenant un espace)


Message édité par theredled le 05-03-2008 à 01:17:10

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1697483
Cachouguin​teur
Yippie ki yay
Posté le 05-03-2008 à 12:00:38  profilanswer
 

ben mon probleme vient de là aussi : je suis sous mac os X et j'ai MAMP comme APACHE,  
et mon souci c'est qu'il n'affiche pas les erreurs quand la page php se charge après la page html, la pge reste blanche...

n°1697488
theredled
● REC
Posté le 05-03-2008 à 12:13:26  profilanswer
 

Alors le problème vient *surtout* de là :D
 
S'il n'affiche pas les erreurs, c'est soit qu'il les ignore, soit il les logge, bref ; va faire un tour du côté de ton php.ini (fichier de configuration de php), et vérifie déja que "display_errors" est à "on" et que "error_reporting" est à E_ALL.
 
ps: Pour ton info MAMP ça veut dire "MacOS + Apache + Mysql + PHP"


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1698056
Cachouguin​teur
Yippie ki yay
Posté le 06-03-2008 à 10:59:48  profilanswer
 

comment tu fais pour ouvrir php.ini?

n°1698058
theredled
● REC
Posté le 06-03-2008 à 11:01:20  profilanswer
 

Tu dois avoir un truc dans MAMP, sinon tu cherches sur le disque dur...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1698082
Cachouguin​teur
Yippie ki yay
Posté le 06-03-2008 à 11:19:13  profilanswer
 

ben je vois que dans phpinfo, le display_errors est sur off mais je ne sais pas comment le modifier...

n°1698098
theredled
● REC
Posté le 06-03-2008 à 11:30:12  profilanswer
 

Bah tu remplaces "off" par "on" et tu enregistres :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le 06-03-2008 à 11:30:12  profilanswer
 

n°1698477
Cachouguin​teur
Yippie ki yay
Posté le 06-03-2008 à 18:42:37  profilanswer
 

oui c'est bon j'y suis enfin arrivé malgré mes 2 mains gauches... c'est sur on :)

n°1698483
theredled
● REC
Posté le 06-03-2008 à 18:56:31  profilanswer
 

Bon alors du coup c'est quoi cette erreur :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1699491
Cachouguin​teur
Yippie ki yay
Posté le 09-03-2008 à 13:36:46  profilanswer
 

re salut, l'erreur c'est : Parse error: syntax error, unexpected '=', expecting ')' in /Applications/MAMP/htdocs/tests-php/projet.php on line 7

n°1699506
theredled
● REC
Posté le 09-03-2008 à 14:28:16  profilanswer
 

Je suis désolé de t'apprendre que tu as une erreur de syntaxe à la ligne 7 de ton fichier projet.php, aux alentours d'un signe "=" [:dawa]
 
Vérifie tout seul, moi je la vois.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1699514
Cachouguin​teur
Yippie ki yay
Posté le 09-03-2008 à 14:50:46  profilanswer
 

maintenat que j'ai réparé, j'ai ça...
Notice: Undefined index: traduction in /Applications/MAMP/htdocs/tests-php/projet.php on line 10
 
Fatal error: Call to undefined function str_substr() in /Applications/MAMP/htdocs/tests-php/projet.php on line 13

n°1699515
Cachouguin​teur
Yippie ki yay
Posté le 09-03-2008 à 14:53:09  profilanswer
 

la ligen 10 c'est bon mais la ligne 13 je comprend pas

n°1699525
theredled
● REC
Posté le 09-03-2008 à 15:43:45  profilanswer
 

t'as pas de "str_substr()" ligne 13 ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1699538
Cachouguin​teur
Yippie ki yay
Posté le 09-03-2008 à 16:58:59  profilanswer
 

si... :) mais je vois pas le souci, désolé de t'embeter mais je suis un noob en php

n°1699540
theredled
● REC
Posté le 09-03-2008 à 17:18:18  profilanswer
 

ben cette fonction n'existe pas en php... :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1708081
Cachouguin​teur
Yippie ki yay
Posté le 26-03-2008 à 14:34:56  profilanswer
 

re bonjour :), j'ai encore besoin d'aide pour mon petit script biologique...
en fait j'ai fait un tableau à deux dimensions de cette forme là :  
 

Code :
  1. $codeinv=array("A"=>array("GCT","GCC","GCA","GCG" ),"R"=>array("CGT","CGC","CGA","CGG","AGA","AGG" ),"N"=>array("AAT","AAC" ),"D"=>array("GAT","GAC" ),"C"=>array("TGT","TGC" ),"E"=>array("CAA","CAG" ),"Q"=>array("GAA","GAG" ),"G"=>array("GGT","GGC","GGA","GGG" ),"H"=>array("CAT","CAA" ),"I"=>array("ATT","ATC","ATA" ),"L"=>array("TTA","TTG","CTT","CTC","CTA","CTG" ),"K"=>array("AAA","AAG" ),"M"=>array("ATG" ),"F"=>array("TTT","TTC" ),"P"=>array("CCT","CCC","CCA","CCG" ),"S"=>array("TCT","TCC","TCA","TCG", "AGT","AGC" ),"T"=>array("ACT","ACC","ACA","ACG" ),"W"=>array("TGG" ),"Y"=>array("TAT","TAC" ),"V"=>array("GTT","GTC","GTA","GTG" )); //definit un tableau indicé à deux dimensions associant à un acide aminé plusieurs codons


 
donc en fait mon but est de dire que pour chaque acide aminé (càd A,R,N...) quel est le pourcentage de chaque codon qui lui est associé (GCT,GCC,GCA,...)
 
Ce qui donnerait cela :
Dans la séquence que vous avez soumis, les A sont codés à 32% par GCT, à 20% par GCC, etc...
 
donc il faudrait que j'arrive à isoler chaque acide aminé comme un tableau à part avec les codons qui lui sont associés.
 
Mais mon souci c'est que j'ai du mal à parcourir ces tableau et je ne m'y retrouve plus vraiment. Je ne vous demande pas de tout me faire, mais juste de me mettre sur la voie... Merci bcp :)


Message édité par Cachouguinteur le 26-03-2008 à 14:35:44
n°1708116
Cachouguin​teur
Yippie ki yay
Posté le 26-03-2008 à 14:59:36  profilanswer
 

s'il vous plait, j'ai vraiment besoin d'aide...

n°1708124
skeye
Posté le 26-03-2008 à 15:04:20  profilanswer
 

et t'es obligé d'upper au bout de 20 minutes?[:mlc]


---------------
Can't buy what I want because it's free -
n°1708156
art_dupond
je suis neuneu... oui oui !!
Posté le 26-03-2008 à 15:23:39  profilanswer
 

Si tu veux te retrouver avec des tableaux du genre :

"A"=>array("GCT","GCC","GCA","GCG" )


puis  

"R"=>array("CGT","CGC","CGA","CGG","AGA","AGG" )


puis...
 
tu peux parcourir ton ton tableau avec foreach():
 

Code :
  1. foreach($codeinv AS $acideAmine=>$codons)
  2. {
  3.    // dans la première boucle
  4.    // $acideAmine contient "A"
  5.    // $codons contient array("GCT","GCC","GCA","GCG" )
  6. }


 
 
 
par contre je n'ai pas compris pourquoi "les A sont codés à 32% par GCT, à 20% par GCC, etc... "


---------------
oui oui
n°1708167
Cachouguin​teur
Yippie ki yay
Posté le 26-03-2008 à 15:37:55  profilanswer
 

ben en fait je voudrais que mon programme fasse ça :  
l'utilisateur rentre sa séquence dans le fichier html (une succession de codons) et le prog le convertit en acides aminés. et je veux que pour chaque acide aminé, il me dise combien il y a de codons (en %)

n°1708195
art_dupond
je suis neuneu... oui oui !!
Posté le 26-03-2008 à 16:02:57  profilanswer
 

t'aurais un exemple avec ce que l'utilisateur entre, ce que tu connais et le résultat attendu ?

 


à partir de

Code :
  1. $codeinv=array("A"=>array("GCT","GCC","GCA","GCG" ),"R"=>array("CGT","CGC","CGA","CGG","AGA","AGG" ),"N"=>array("AAT","AAC" ),"D"=>array("GAT","GAC" ),"C"=>array("TGT","TGC" ),"E"=>array("CAA","CAG" ),"Q"=>array("GAA","GAG" ),"G"=>array("GGT","GGC","GGA","GGG" ),"H"=>array("CAT","CAA" ),"I"=>array("ATT","ATC","ATA" ),"L"=>array("TTA","TTG","CTT","CTC","CTA","CTG" ),"K"=>array("AAA","AAG" ),"M"=>array("ATG" ),"F"=>array("TTT","TTC" ),"P"=>array("CCT","CCC","CCA","CCG" ),"S"=>array("TCT","TCC","TCA","TCG", "AGT","AGC" ),"T"=>array("ACT","ACC","ACA","ACG" ),"W"=>array("TGG" ),"Y"=>array("TAT","TAC" ),"V"=>array("GTT","GTC","GTA","GTG" )); //definit un tableau indicé à deux dimensions associant à un acide aminé plusieurs codons


je ne comprends pas comment tu détermines que "les A sont codés à 32% par GCT" (mais j'ai sans doute loupé quelque chose).

 


Message édité par art_dupond le 26-03-2008 à 16:05:11

---------------
oui oui
n°1708237
Cachouguin​teur
Yippie ki yay
Posté le 26-03-2008 à 16:38:20  profilanswer
 

ben exemple, l'utilisateur rentre : GCTGCCCCTCCCGCG (ça c'est une succession de codons, le programme les sépare 3 par 3), ensuite il y a une traduction en acides aminés : ce qui donne AAPPA
 
Il y a donc 3 fois l'acide aminé A et deux fois le P.
Je voudrais que le programme me dise que A est codé à 33% par GCT, 33% par GCC et 33% par GCG, et que P est codé à 50% par CCT et 50% par CCC. Voilà
 
En réalité les séquences soumises sont bcp plus longue et c'est pour ça que je souhaiterais établir ces statistiques.

n°1708246
art_dupond
je suis neuneu... oui oui !!
Posté le 26-03-2008 à 16:53:41  profilanswer
 

je dirais de créer un tableau comme ça :

  
Code :
  1. $code=array("GCT"=>"A","GCC"=>"A","GCA"=>"A","GCG"=>"A","CGT"=>"R","CGC"=>"R","CGA"=>"R","CGG"=>"R",
  2. "AGA"=>"R","AGG"=>"R","AAT"=>"N","AAC"=>"N","GAT"=>"D","GAC"=>"D","TGT"=>"C","TGC"=>"C","CAA"=>"E",
  3. "CAG"=>"E","GAA"=>"Q","GAG"=>"Q","GGT"=>"G","GGC"=>"G","GGA"=>"G","GGG"=>"G","CAT"=>"H","CAA"=>"H",
  4. "ATT"=>"I","ATC"=>"I","ATA"=>"I","TTA"=>"L","TTG"=>"L","CTT"=>"L","CTC"=>"L","CTA"=>"L","CTG"=>"L",
  5. "AAA"=>"K","AAG"=>"K","ATG"=>"M","TTT"=>"F","TTC"=>"F","CCT"=>"P","CCC"=>"P","CCA"=>"P","CCG"=>"P",
  6. "TCT"=>"S","TCC"=>"S","TCA"=>"S","TCG"=>"S","AGT"=>"S","AGC"=>"S","ACT"=>"T","ACC"=>"T","ACA"=>"T",
  7. "ACG"=>"T","TGG"="W","TAT"=>"Y","TAC"=>"Y","GTT"=>"V","GTC"=>"V","GTA"=>"V","GTG"=>"V" );
  8. //(Boucler sur chaque groupe de 3)
  9. if(!isset($AA[$code[$codon]][$codon])
  10. {
  11.    $AA[$code[$codon]][$codon] = 1;
  12. }
  13. else
  14. {
  15.    $AA[$code[$codon]][$codon]++;
  16. }
  17. // donc par exemple, si le codon est "GCT", tu auras $AA['A']['GCT'] = 1; la première fois qu'il en trouve un, puis il incrémentera chaque fois qu'il en trouve un autre
  18. // on fait de même pour avoir le nombre total de "A" trouvés (tu peux aussi le calculer par après si tu veux)
  19. if(!isset($AA[$code[$codon]]['total'])
  20. {
  21.    $AA[$code[$codon]]['total'] = 1;
  22. }
  23. else
  24. {
  25.    $AA[$code[$codon]]['total']++;
  26. }
 

A à la fin, pour savoir combien de "A" ont été codés par "GCT", il suffit de faire

 
Code :
  1. if(isset($AA['A']['GCT']) && isset($AA['A']['total'])
  2. {
  3.     $pourcentage = $AA['A']['GCT'] / $AA['A']['total'];
  4. }
  5. else
  6. {
  7.    $pourcentage = 0;
  8. }
 



Message édité par art_dupond le 26-03-2008 à 16:59:26

---------------
oui oui
n°1708307
Cachouguin​teur
Yippie ki yay
Posté le 26-03-2008 à 18:40:40  profilanswer
 

ça correspond à quoi isset? désolé, je suis débutant :)

n°1708329
skeye
Posté le 26-03-2008 à 19:06:43  profilanswer
 

lis la doc?


---------------
Can't buy what I want because it's free -
n°1708373
Cachouguin​teur
Yippie ki yay
Posté le 26-03-2008 à 20:25:23  profilanswer
 

merci pour ton aide art_dupond, j'ai fait une face pour tester ta solution, en définissant les variables mais il me dit : "Parse error: syntax error, unexpected '{' " qui se situe dans la ligne 13 sur ton exemple, j'avoue que je comprend pas trop...

n°1708394
art_dupond
je suis neuneu... oui oui !!
Posté le 26-03-2008 à 21:33:18  profilanswer
 

j'ai oublié une " )" juste avant.


---------------
oui oui
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Aide Script PHP

 

Sujets relatifs
aide pour programmer en PL/SQL[PHP:TCPDF] Utilisations de caractères grecques
[PHP] Après update serveur. Script de log ne fonctionne plus[PHP + Apache] Protéger le listage d'un dossier mais pas les élements
Php / Java bridge : Vous connaissez ?Je recherche des programmeurs PHP pour un site de généalogie/histoire
[PHP] contrôle de saisie - expression régulières[Aide] Insertion MySQL à partir d'un fichier .CVS depuis un script PHP
[AIDE PHP] manque une ou 2 commandes sur mon script...Aide pour amelioration script PHP
Plus de sujets relatifs à : Aide Script PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR