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

Python Discussion :

comment arriver a parser un document de type .txt et en sortir un tableau dans un fichier de sortie


Sujet :

Python

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut comment arriver a parser un document de type .txt et en sortir un tableau dans un fichier de sortie
    Bonjour à tous , je suis novice dans python , mais je souhaite vraiment progresser , mon fichier est de type , et je souhaiterai le parser pour en sortir un fichier de sortie sous forme de tableau ,
    seulement je n'ai pour le moment les outils que pour le lire , le decouper , mais je n'arrive pas à realiser et a bien raisonner pour sortir le resultat voulu ,
    mon fichier de depart est de ce type : ce que j'essaye de faire est de recuperer les molecules dans chaque bloc , 1QMF 1X7Z........etc il y'en a 7 et afficher en correspondance guanidinium les recuperer avec les acides amines et leurs valeurs mais j'y arrive pas
    1QMF: PEPTIDOGLYCAN SYNTHESIS - PENICILLIN-BINDING PROTEIN 2X (PBP-2X)
    ACYL-ENZYME COMPLEX
    1QMF: PEPTIDOGLYCAN SYNTHESIS - PENICILLIN-BINDING PROTEIN 2X (PBP-2X)
    ACYL-ENZYME COMPLEX

    corrected number of sumo groups = (3.22631, 3.22631)
    number of PDB groups = (4, 4)
    patch radius = (3.71683, 3.71683)
    score = 3.22631

    rmsd = 0
    penalty = 0

    guanidinium ARG 426 A {1.0} 0.00 0.000
    ARG 426 A

    hyd_ali [cd] ARG 426 A {0.6} 0.00 0.000
    [cd] ARG 426 A

    bb [backbone] GLY 647 A {0.5} 0.00 0.000
    [backbone] GLY 647 A

    hyd_ali ALA 650 A {0.6} 0.00 0.000
    ALA 650 A

    hyd_ali [cbcg2] VAL 662 A {0.6} 0.00 0.000
    [cbcg2] VAL 662 A


    ------------------------------------------------------------------------------
    1QMF: PEPTIDOGLYCAN SYNTHESIS - PENICILLIN-BINDING PROTEIN 2X (PBP-2X)
    ACYL-ENZYME COMPLEX
    1X7Z: OXIDOREDUCTASE - CRYSTAL STRUCTURE OF THE HUMAN MITOCHONDRIAL
    BRANCHED-CHAIN KETOACID DEHYDROGENASE

    number of sumo groups = 2.1201
    corrected number of sumo groups = (2.1201, 2.1201)
    number of PDB groups = (3, 3)
    patch radius = (3.01092, 3.26716)
    score = 2.1201

    rmsd = 0
    penalty = 0.0582108

    guanidinium ARG 426 A {1.0} 0.21 0.046
    ARG 220 A

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Tu peux montrer un exemple de tableau attendu avec le texte que tu nous montres ?

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour et bienvenue sur le forum.

    Ce serait bien de donner le tableau résultat voulu en rapport avec le texte fourni. Et avec quelques commentaires: on peut te donner des solutions Python, à condition qu'on comprenne bien l'algorithme à utiliser pour passer du fichier au tableau.

    Et comme on n'est pas forcément spécialiste de ton domaine, il faut éviter des phrases du genre "afficher en correspondance guanidinium les récupérer avec les acides amines": on voit bien le mot "guanidinium" mais on ne sait pas derrière ce que sont les acides aminés.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut
    bonjour à tous et merci d'avoir répondu ,
    mon format de sortie devrait a priori ressembler a ceci


    1QMF 1X7Z 2ZI6 3A9E 2NT7 3U2V 2F6Z

    guanidinium ARG et la # ceque j'essaye de faire est de recuperer ici les valeurs respectives entre la molecule de refernce 1QMF et les autres mol
    hyd_ali [cd] ARG
    [cd] ARG
    bb [backbone] GLY
    [backbone] GLY
    hyd_ali ALA
    hyd_ali [cbcg2] ALA

    [cbcg2] VAL
    [cb] VAL
    [cb] MET

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut
    malheureusement c'est decaller lorsque j'essaye d'ecrir , sur le forum , je viens de poster le fichier a quoi il devrai ressembler
    fichier de sortie ,
    1QMF 1X7Z 2ZI6 3A9E 2NT7 3U2V 2F6Z

    guanidinium ARG 426 ## et la j'essaye de faire est de recuperer ici les valeurs respectives entre la molecule de refernce 1QMF et les autres mol
    hyd_ali [cd] ARG 220 ......
    [cd] ARG ......
    bb [backbone] GLY
    [backbone] GLY
    hyd_ali ALA
    hyd_ali [cbcg2] ALA

    [cbcg2] VAL
    [cb] VAL
    [cb] MET
    Fichiers attachés Fichiers attachés

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut
    ce que j'ai pu faire pour le moment ,
    1) ouverture du fichier ,
    2)lecture du fichier
    3)j'ai pu extraire les lignes dont j'ai besoin ,

    fichier = open('sumo.txt', 'r')
    filin =fichier.readlines()

    for ligne in fichier.readlines():



    print(ligne.rstrip())


    acide_amine=[]

    for lines in filin:
    if lines[5:10].strip()=="":
    if lines[3:10].strip()=="":
    acide_amine=acide_amine +[lines]
    print lines.rstrip()


    mais le soucis est de tout stoké dans un tableau en fichier de sortie et cela est une autre paire de manche

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    OK, ton tableau est comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                                1QMF   1X7Z   2ZI6   3A9E   2NT7  3U2V  2F6Z   
     
    guanidinium      ARG          ?      ?      ?      ?     ?      ?     ?                      
    hyd_ali [cd]     ARG 
            [cd]     ARG
    bb [backbone]    GLY
       [backbone]    GLY
       hyd_ali       ALA
    hyd_ali [cbcg2]  ALA
     
            [cbcg2]  VAL
            [cb]     VAL
            [cb]     MET
    Mais qu'est-ce qui doit venir dans les colonnes ?

    On a des valeurs comme "426 A {1.0} 0.00 0.000" et qu'est-ce qui doit correspondre à quoi ?




    Pour poster du code, utilise la balise code, le # dans la barre d'outils d'édition.

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut
    au faite , dans le tableau sur les colonnes normallement je dois recuperer les valeurs de la colonne , 426 , 647 , 650 , 662
    426
    220
    647
    192
    650
    195

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Reprend mon tableau et remplace les points d'interrogation par les données de ton exemple.

    Celui-là:
    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
     
    1QMF: PEPTIDOGLYCAN SYNTHESIS - PENICILLIN-BINDING PROTEIN 2X (PBP-2X)
    ACYL-ENZYME COMPLEX
    1QMF: PEPTIDOGLYCAN SYNTHESIS - PENICILLIN-BINDING PROTEIN 2X (PBP-2X)
    ACYL-ENZYME COMPLEX
     
    corrected number of sumo groups = (3.22631, 3.22631)
    number of PDB groups = (4, 4)
    patch radius = (3.71683, 3.71683)
    score = 3.22631
     
    rmsd = 0
    penalty = 0
     
    guanidinium ARG 426 A {1.0} 0.00 0.000
    ARG 426 A
     
    hyd_ali [cd] ARG 426 A {0.6} 0.00 0.000
    [cd] ARG 426 A
     
    bb [backbone] GLY 647 A {0.5} 0.00 0.000
    [backbone] GLY 647 A
     
    hyd_ali ALA 650 A {0.6} 0.00 0.000
    ALA 650 A
     
    hyd_ali [cbcg2] VAL 662 A {0.6} 0.00 0.000
    [cbcg2] VAL 662 A

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/07/2014, 09h15
  2. Réponses: 3
    Dernier message: 14/05/2014, 13h56
  3. Réponses: 0
    Dernier message: 13/05/2014, 17h15
  4. Parser un tableau dans un fichier JSON
    Par L'aigle de Carthage dans le forum jQuery
    Réponses: 8
    Dernier message: 25/03/2014, 16h59
  5. Comment creer un tableau dans 1 fichier excel (vb.net)
    Par lolymeupy dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/01/2009, 10h08

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