IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] traduction des séquences


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut [Tableaux] traduction des séquences
    vous pouvez m'expliquer comment concatener les valeurs d'un tableau, j'ai un tableau ou il y a plusieurs valeurs d'aa et je vais les rassembler dans une sequence $seq par exemple,quand j'utilise le point de concaténation ça me fait genre
    v
    vk
    vkd
    vkdc
    ça concatene pas tout à la fois?
    merci de me repondre.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Points : 275
    Points
    275
    Par défaut
    c'est pas très explicite, on peut avoir un bout de code?

  3. #3
    Membre habitué Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Points : 138
    Points
    138
    Par défaut
    tu iteres sur ton tableau et à chaque boucle tu fais un .= sur ta variable.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    voilà!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if($_POST['initiationcode']=='initiation' and $_POST['readingframe']=='direct1' and $_POST['strand']=='direct')
    {
    	for ($i=0;$i<strlen($sequence);$i=$i+3)// on extrait le triplet suivant dans la séquence
    	{
    	$triplet=substr($sequence,$i,3);
    		if(strlen($triplet)==3)
    		{
    		$aa=$code[$triplet];
    		echo $aa;
    		}	
    		else
    		{
    		}
    maintenant je veux concaténuer tous les $aa dans une variable $seq.

  5. #5
    Membre habitué Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Points : 138
    Points
    138

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    c ce ke j'ai fait mais àa me donne genre
    $aa1
    $aa1$aa2
    $aa1$aa2$aa3
    si comme si il concatène 1 par 1 à chaque ligne?!!
    moi je veux que ça me donne une suite d'aa

  7. #7
    Membre habitué Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Points : 138
    Points
    138
    Par défaut
    ben à chaque fois qu'il passe dans ton for, il ajoute un bout à $seq.

    Je ne comprends pas ton probleme,

    à la sortie de ta boucle for tu devrais avoir ta variable $seq contenant toutes tes variables $aa

  8. #8
    Membre habitué Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Points : 138
    Points
    138
    Par défaut
    ton echo il faut le mettre apres le for

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut traducteur
    salut,
    j'ai une séquence par exemple de cette forme :
    ATCDQGMAGWSSVVAKLI*LKPIKLCG[COLOR[/COLOR]="Blue"]M[/COLOR]KKLEQDS*
    avec ce code :
    $is_orf=FALSE;// l'opération suivante renvoie les ORFs souhaités.
    for ($i=0;$i<strlen($seq);$i++)// on parcourt la séquence protéique ranvoyée.

    {
    $aa=substr($seq,$i,1);
    if($aa=='M')
    {
    $is_orf=TRUE;
    }
    elseif($aa=='*')
    {
    $is_orf=FALSE;
    }
    if($is_orf==TRUE)
    {
    $ORF=$ORF.$aa;
    }
    else
    {
    ;
    }
    }
    je prend seulemnt les parties qui commence par un M et qui finissent pas un *
    le problème que je bloque sur le fait de lui dicter comment passe à la deuxième partie en rouge, ça veut dire envoyer les deux celle en rouge et celle en jaune chacune separement?
    je en sais pas si je me suis bien fais comprendre

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    On doit pouvoir simplifier la chose en utilisant directement les expressions régulières :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $seq = "ATCDQGMAGWSSVVAKLI*LKPIKLCGMKKLEQDS*";
    preg_match_all('/M(.*)\*/U', $seq, $m, PREG_SET_ORDER);
    foreach ($m as $orf) {
        echo $orf[1] . '<br/>';
    }
    Je vous recommande de lire : Initiation aux expressions régulières en PHP, si besoin.

  11. #11
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    Au lieur de te prendre la tete comme ca, pourquoi est-ce que tu n'exploses pas ta chaine selon les *. Deja tu obtiens tes proteines potentielles. Ensuite, pour chacune d'elle tu lis du premier M a la fin....
    Sohnic

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    ,waw!
    tu peux pas seulement m'aider à rectifier mon code pour que ça marche?

  13. #13
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    C'est plus rectifier, c'est voir autrement !
    En plus reinventer la roue ....

    Bon, allez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $seq = "ATCDQGMAGWSSVVAKLI*LKPIKLCGMKKLEQDS*";
    $tab_prot=explode('*',$seq);
    foreach($tab_prot as $prot_potentielle)
    {
          $pos_premier_M=strpos($prot_potentielle,'M');
          $prot=substr($prot_potentielle,$pos_premier_M);
          echo $prot;
    }
    A peu de chose pres ca doit ressembler a ca. Personnellement je ferais aussi un test sur la taille de la proteine obtenue....

    Par curiosité, c'est un stage de quoi que tu fais ?

    Sohnic

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    merci shonic , en fait c'est un projet en PHP : creer un site web interactif, et j'ai choisi de faire un traducteur de séquences d'ADN

  15. #15
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Mais, c'est un projet specifique a la bioinfo ? Pour une entreprise ? Et quel niveau (BTS, master) ?
    Je sais que je suis curieuse, mais ca me permet aussi de savoir quel sont les stages en vogue cette année.

    Bon courage pour la suite,

    Sohnic

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    non e n'est pas un stage, en fait je suis en biologie celluleire, et j'ai choisie comme unité libre programation de sites web, alors j'ai un projet à faire et à faire et à rendre le 21 mai,voilà
    pas de problèmes je suis prêt à repondre a toutes questions

  17. #17
    Membre averti Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Points : 434
    Points
    434
    Par défaut
    Ok, merci pour l'info. Je ne savais pas qu'on proposait cette option en bio cel. Mais ca me semble etre une evolution logique des programmes vue l'importance que prend l'informatique dans ce domaine.

    Bonne continuation....

    Sohnic

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Points : 16
    Points
    16
    Par défaut
    merci a toi aussi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] gestion des connexions
    Par zahiton dans le forum Langage
    Réponses: 3
    Dernier message: 02/11/2005, 14h37
  2. [Tableaux] Alignement des champs d'un formulaire
    Par jack554 dans le forum Langage
    Réponses: 7
    Dernier message: 15/09/2005, 15h30
  3. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41
  4. Réponses: 6
    Dernier message: 04/04/2003, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo