c'est que je te disais avec chunk_splitEntre les orf qu'il trouve.
Exemple :
AGC AUG AAA AGC UAG AGC AUG AGC GGA UAG
Là il m'affiche : AUGAAAAGCUAGAUGAGCGGAUAG
Et je voudrais : AUGAAAAGCUAG AUGAGCGGAUAG
le 3 c'est que tout les 3 caractères il va faire un espaceAh ok, dsl, mais à quoi servait ton "3" alors ?
arf ca se compliqueEncore un problème, en réalité le codon stop peut-être soit UAG soit UGA soit UAA... Et dans ce cas là /AUG(?:[ACGU]{3}(?<!UAG))+UAG/u devient quoi ?
Il faut faire intervenir des barres verticales (dont je ne connais pas le nom lol) non ?
Code : Tout sélectionner
preg_match_all('/AUG(?:[ACGU]{3}(?<!U(?:AG|GA|AA)))+U(?:AG|GA|AA)/u',
$arn, $tableau);
foreach ($tableau[0] as &$value);
echo "<br/><br/><div id='orf'><h1>ORF : </h1>ORF obtenus :
$value<br/><br/>";
CCCAUGGGGGGGGGGUAGCCCAUGAAAAAAAAAUGACCCAUGGGGGGGUAACCC
Voilà normalement tu obtiens 3 séquences et aucun C.
$arn = 'CCCAUGGGGGGGGGGUAGCCCAUGAAAAAAAAAUGACCCAUGGGGGGGUAACCC';
preg_match_all('/AUG(?:[ACGU]{3}(?<!U(?:AG|GA|AA)))+U(?:AG|GA|AA)/u', $arn, $tableau);
foreach ($tableau[0] as $value)
{
$orf = chunk_split($value, 3, ' ');
echo "<br/><br/><div id='orf'><h1>ORF : </h1>ORF obtenus : $orf<br/><br/>";
}
Code : Tout sélectionner
ORF :
ORF obtenus : AUG GGG GGG GGG UAG
ORF :
ORF obtenus : AUG AAA AAA AAA UGA
ORF :
ORF obtenus : AUG GGG GGG UAA
fais un var_dump($tableau)J'ai oublié le "?"... Ca vient pas du $tableau(0) ? lol (Je mets pas des parenthèses dans mon code mais j'ai un mac donc je ne les ai pas sur mon clavier lol)
Code : Tout sélectionner
preg_match_all('/AUG(?:[ACGU]{3}(?<!U(?:AG|GA|AA)))+U(?:AG|GA|AA)/u',
$arn, $tableau);
foreach ($tableau[0] as &$value);
{
echo "<br/><br/><div id='orf'><h1>ORF : </h1>ORF obtenus : $value<br/><br/>";
}Code : Tout sélectionner
foreach ($tableau[0] as &$value)
{
echo "$value";
}
ca serais comme caJ'ai cette regexp là pour le start AUG et le stop UAG ou UGA ou UAA : '/AUG(?:[ACGU]{3}(?<!U(?:AG|GA|AA)))+U(?:AG|GA|AA)/u'
Par contre si le stop peut être : UGA ou AGA ou AGG que devient " !U(?:AG|GA|AA)))+U(?:AG|GA|AA) " ?
2 solutions sois tu crees un valiable $compteur par exemple et tu addition les valeuret ma dernière question : Comment puis-je obtenir la longueur de tous les orfs ? (La longueur de chacun des orfs additionnée)
Je sais que pour avoir la longueur d'une chaîne la fonction c'est strlen($chaine) mais si je fais strlen($value) je n'ai que la longueur du premier orf...
Exemple :La si je mets ensuite strlen($value) il va correspondre qu'a la longueur d'un seul orf non ?Code : Tout sélectionner
foreach ($tableau[0] as &$value) { echo "$value"; }
$compteur = 0;
foreach ($tableau[0] as &$value)
{
$compteur += strlen($value);
}
echo $compteur;
sois avec les fonctions de tableauecho array_sum(array_map('strlen', $tableau[0]));