Page 1 sur 5

Trouver plusieurs chaîne différentes dans une séquence...

Posté : 08 mai 2010, 21:44
par Pinoche29
Bien le bonjour chers amis.

Je viens à vous pour implorer votre aide (lol). En effet, dans le cadre de mes études, j'ai une option informatique où je dois programmer un site avec du css de l'html et du php. (Mais je n'en connais vraiment que les rudiments, donc j'ai beaucoup de mal à comprendre toutes les infos que je trouve sur le net).

Alors je me décide enfin à exposer clairement mon problème, qui sait, quelqu'un pourra peut-être m'aider.

Je travaille sur l'adn, et je voudrais faire un "graphique" (à l'aide de Jpgraph) pour afficher le brin d'adn entré par l'utilisateur sous la forme d'un rectangle plein de couleur claire avec des rectangle de couleur foncée par dessus au niveau de chaque ORF (cadre de lecture sur un brin d'adn).
En fait, pour cela je pense pouvoir me débrouiller mais je vous explique ça pour que vous compreniez mieux mon vrai problème qui est le suivant :

J'ai ma séquence adn qui ressemble à ceci par exemple :

"AUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAU"

et je dois réussir à trouver la position de tous les différents orf dans cette séquence grâce à un code php. (Un orf commençant par "AUG" et finissant par "UAG" mais qui peut avoir n'importe nombre ou type de lettre au milieu).

En comment faire pour que l'ordinateur donne "un nom de variable" à chaque orf qu'il trouve dans la séquence ?

(Je pense qu'il faut que j'utilise les regex mais j'y comprends rien :( ).

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 09 mai 2010, 00:33
par visualight
Il faut que tu utilises preg_match_all qui te fournira tes brins ADN dans un tableau.

Exemple :
// La prochaine fois que tu poste un tel message, assures toi au préalable de fournir une chaine adn correcte.
// Il manquait en effet l'orf UAG et je me suis tiré les cheveux pendant 1 heure...

$adn = 'AUGCAGAUGCACAGCAGCAUACCAGCAUAGUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACUAGCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAUGCAGAUGCACAGCAGCAUACCAGCAUAG';

// Ceci n'est pas nécessaire mais permet de découper une longue chaine tous les 3 caractères
// Je m'en suis servi pour faire des test
// $string = wordwrap ( $adn , 3 , " " , 1 ); 

preg_match_all('/AUG([\w]+)UAG/iU', $adn, $tableau);

print_r ($tableau);
Comme le print_r l'indique, les donnés sont sauvegardés dans un tableau (array).

Dans mon exemple tu as le résultat du filtrage dans le tableau[0][0] au tableau[0][2]


Bonne prog,

A+ ;)

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 09 mai 2010, 01:33
par pinoche29
Oh super merci !! Oui c'est nécessaire que le nombre de lettre entre AUG et UAG soit un multiple de 3 en fait, j'avais oublié de le préciser. Et je suis vraiment désolée pour mon exemple sans UAG, je suis franchement tête en l'air. ^^'

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 09 mai 2010, 02:26
par stealth35
pinoche29 > juste par curiosité, t'es étudiant en quoi ?

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 09 mai 2010, 05:37
par blof
Bonjour,
(Je pense qu'il faut que j'utilise les regex mais j'y comprends rien :( ).
http://lumadis.be/regex/tuto_pcre.php

tu ne pourras plus jamais dire ça ... :)

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 10 mai 2010, 21:57
par pinoche29
pinoche29 > juste par curiosité, t'es étudiant en quoi ?
Je suis étudiante en biologie/Biochimie. :)

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 10 mai 2010, 22:47
par stealth35
Oh super merci !! Oui c'est nécessaire que le nombre de lettre entre AUG et UAG soit un multiple de 3 en fait, j'avais oublié de le préciser. Et je suis vraiment désolée pour mon exemple sans UAG, je suis franchement tête en l'air. ^^'
comme ca ca devrait allé

Code : Tout sélectionner

AUG(\w{3})+UAG

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 12 mai 2010, 17:20
par pinoche29
Euh... quand je lui demande de m'afficher $tableau il me marque juste "array"... ???

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 12 mai 2010, 17:21
par stealth35
print_r($tableau);

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 12 mai 2010, 17:26
par pinoche29
Bas là il m'affiche "print_r (Array)". lol

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 12 mai 2010, 17:30
par stealth35
Bas là il m'affiche "print_r (Array)". lol
c'est qu'il a rien trouver, essaye ton expression avec ca http://gskinner.com/RegExr/

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 12 mai 2010, 17:33
par pinoche29
AAaaaah je suis sensée faire quoi avec ce truc ? J'y comprends rien. lol

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 12 mai 2010, 17:38
par stealth35
AAaaaah je suis sensée faire quoi avec ce truc ? J'y comprends rien. lol
tu met ta chaine dedans, et ton expression régulière en haut (sans les délimiteurs)

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 12 mai 2010, 17:49
par Pinoche29
Ca me donne ça :
RegExp: //AUG(\w{3})+UAG/iU/g
pattern: /AUG(\w{3})+UAG/iU
flags: g
1 capturing groups:
group 1: (\w{3})

Re: Trouver plusieurs chaîne différentes dans une séquence...

Posté : 12 mai 2010, 17:50
par stealth35
ouai mais ta tes groupes en bleu ?