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

PHP & Base de données Discussion :

fusionner deux tableaux par une variable commune pour faire un tuple unique


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 44
    Points : 30
    Points
    30
    Par défaut fusionner deux tableaux par une variable commune pour faire un tuple unique
    Bonjour tout le monde,

    Voila je débute sur php et cela fait 2 jours que je bloque sur un tri de tableaux.
    Je vous explique. Je dois parser deux fichiers de maniere a implémenter une base de données : Un fichier fasta et un fichier texte.
    Une fois parsé, le fichier fasta me donne :
    -> l'identifiant de la proteine
    -> l'organisme
    -> la sequence

    Une fois parsé, le fichier texte me donne :
    ->l'identifiant de la proteine
    ->la base de données de référence
    ->le nom de la protéine

    J'ai réussi a parser les 2 fichiers individuellements. Tout marche tres bien. Sauf que je veux faire un code unique ou je pourrai fusionner ces deux tableaux par l'identifiant de la proteine de maniere a ce qu'a chaque fois que l'identifiant est le meme dans les 2 fichiers, j'affiche tous les attributs des 2 fichiers soit :
    Identifiant Proteine -> organisme, sequence, base de données de référence, nom de la proteine.

    Voici mon code fasta :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
     
    //Parseur pour Leishmania
     
    //Chargement du fichier fasta 
    $fichier_Leishmania = 'LmajorAnnotatedProteins_TriTrypDB-2.0.fasta';
     
    //On teste l'ouverture du fichier
    if (!$f = fopen("$fichier_Leishmania","rb")) 
      { echo "Echec de l'ouverture de $fichier_Leishmania "; }
     
    //On parcourt le fichier fasta
    while (!feof($f))
    {
     //On regarde si la ligne commence par un chevron
      if(preg_match('/^>/',$line))
        {
         $proteine = explode ('|', $line);
     
         //On recupere l'id de la proteine et le nom de l'organisme (qui est toujours le meme donc gain de temps en le definissant une fois!)
         echo "Identifiant : ".$proteine[1]."<br />\n"."Organisme : Leishmania_major"."<br />\n";
     
         //On saute une ligne pour recuperer la sequence
         $line = fgets($f);
     
         //Printage des lignes jusqu'au prochain chevron correspondantes a la sequence
         while ($line{0} != '>' && !feof($f))
            {
            // On lit une ligne et on passe à la ligne suivante tout en la printant
     
            echo ($sequence = $line);
            $line = fgets($f);
     
            }
     
        }
        else $line=fgets($f);
        echo "<br>";
        echo "<br>";
    }
     
    ?>
    Cela donne un resultat du genre :

    identifiant : LmjF09.0003
    Organisme : Leishmania_major
    MGKESTVPTGCGAVNREVVLERMLVEEVAKRDDAERAAEELRKQMQLLKAEALDLRQARD LTKGSVLCTAAAHEGTAVSTVRDAECAESRESALKGENHRLRQLVKRQNALIDVLRRQKV LLEASAAINISVRDFDKQLEIHKV

    Identifiant : LmjF09.0005
    Organisme : Leishmania_major
    MTCVTGDDTGVVKIWDISKSSGATLKFSFGEQSRKRAIMGMCWQDSSTSSVAFSSSNGVL SVLDINDYVVSSSVKANTVAGLPNAMSFVKGKLVVVSKDGEASIFSSDLTSSSCFSGNGP IDAVHIHRKFGMVAMGGRENDLCVYDLASDSLEEPVFKARNVRDHILDVPFPVFVTGACI VNPYVFATCTAYHQVRFYDRRSNDRPVQEFEISREIERRPTTMLQWNANKFLIGEASGDV HLYDTRRGFCSRAKLRGGVGSVRCMCKHPAGHQILGVTGLDRKARLYHVPTGKLLMSVYV KQKANCVLLDKQLPMRDRVAVFSGVVNTKQPEKANTLGDALWDDMDPVLDDLDEKAMVAD TVAENRRKVQRKE

    Voici mon code texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
     
    //Parseur pour Leishmania
     
    //Chargement du fichier texte
    $fichier_LeishmaniaNom = 'LmajorInterpro_TriTrypDB-1.1.txt';
     
    //On teste l'ouverture du fichier
    if (!$fp = fopen("$fichier_LeishmaniaNom","rb")) 
      { echo "Echec de l'ouverture de $fichier_LeishmaniaNom "; }
     
    //On parcourt le fichier texte
    while (!feof($fp))
    {
      $line=fgets($fp);
      $nom=preg_split('/\t/', $line, -1);
      if(preg_match('/\D/',$nom[3]))
        { echo "IdProteine : ".$nom[0]."<br />\n"."BD de reference : ".$nom[1]."<br />\n"."NomProteine : ".$nom[3];} 
     
      else {echo "IdProteine : ".$nom[0]."<br />\n"."BD de reference : ".$nom[1]."<br />\n"."NomProteine : None";}  
     
      echo "<br>\n";
      echo "<br>\n";         
     
    }

    ce qui donne comme resultat un truc du genre :


    IdProteine : LmjF36.6990
    BD de reference : PFAM
    NomProteine : zf-C2H2

    IdProteine : LmjF36.6990
    BD de reference : PFAM
    NomProteine : MOZ_SAS

    Voila ce qui est commun aux deux fichiers, c'est l'identifiant de la proteine et je voudrais recuperer tous les attributs pour en faire un tuple unique. J'ai essaye avec array_merge mais cela ne marche pas.

    Merci a tous ceux qui pourront m'aider.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 44
    Points : 30
    Points
    30
    Par défaut
    N'importe quelle idee serait la bienvenue please

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/01/2013, 13h16
  2. Une variable commune pour deux classes
    Par hichemnho dans le forum Qt
    Réponses: 8
    Dernier message: 25/02/2012, 18h01
  3. Réponses: 13
    Dernier message: 01/09/2007, 20h49
  4. Réponses: 4
    Dernier message: 07/06/2007, 11h40
  5. [Tableaux] récuperer une variable tableau passé par URL
    Par molesqualeux dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2005, 01h12

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