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 :

Question fonction split


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 61
    Par défaut Question fonction split
    Bonjour à tous,

    J'essaie de splitter cette ligne : L=[tta,ttg,ctt,ctc,cta,ctg].

    afin d'obtenir : L=["tta","ttg","ctt","ctc","cta","ctg"].

    J'ai essayé avec le commande suivante : matchnt=re.split("[,]",ligne).

    et me donne le résultat suivant : ['L=[tta', 'ttg', 'ctt', 'ctc', 'cta', 'ctg]'].

    Pouvez-vous m'aider svp ?

    Merci

  2. #2
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> s = 'L=[tta,ttg,ctt,ctc,cta,ctg]'
    >>> locals()[s[:s.find('=')]] = [n.strip() for n in s[s.find('[')+1:-1].split(',')]
    >>> L
    ['tta', 'ttg', 'ctt', 'ctc', 'cta', 'ctg']
    Maintenant pourquoi as-tu ce genre de valeur stockée comme chaîne de caractères ? Car ce n'est pas vraiment une bonne solution de stocker des valeurs ainsi.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 61
    Par défaut
    Merci pour votre réponse rapide !

    Je suis étudiant en Bioinformatique et on me demande de créer un algorithme afin de vérifier que l'étape de traduction des nucléotides en chaîne d'acides aminés s'est déroulée avec succès.

    Pour ce faire, je me suis crée un fichier texte avec le code génétique qui se présente sous cette forme :

    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
    F=[ttt,ttc]
    S=[tct,tcc,tca,tcg,agt,agc]
    Y=[tat,tac]
    C=[tgt,tgc]
    L=[tta,ttg,ctt,ctc,cta,ctg]
    *=[taa,tga,tag]
    W=[tgg]
    P=[cct,ccc,cca,ccg]
    H=[cat,cac]
    R=[cgt,cgc,cga,cgg,aga,agg]
    Q=[caa,cag]
    I=[att,atc,ata]
    T=[act,acc,aca,acg]
    N=[aat,aac]
    K=[aaa,aag]
    M=[atg]
    V=[gtt,gtc,gta,gtg]
    A=[gct,gcc,gca,gcg]
    D=[gat,gac]
    G=[ggt,ggc,gga,ggg]
    E=[gaa,gag]
    Je voulais donc créer un dictionnaire avec pour clé l'acide aminé (la lettre majuscule) et en valeur le ou les codons correspondants (les trois lettres minuscules).

    Je ne sais pas si mes explications sont très claires ^^

  4. #4
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    En effet, le format choisi n'est pas le meilleur, il n'y a pas trop d'intérêts à utiliser des crochets.

    S=tct,tcc,tca,tcg,agt,agc
    Serait beaucoup plus simple et ne gènerait pas la lisibilité.
    Et puis oui, mieux vaudrait mettre tes valeurs dans un dictionnaire plutôt que de faire X variables distinctes.

    Sinon il y a d'autres formats de fichiers standards comme le csv, xml, json, le csv étant le plus simple, le json quant à lui gère les listes. Bon ce sera beaucoup moins lisible que des valeurs inlines, c'est sûr

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 61
    Par défaut
    Je vais essayer de modifier mon programme pour arranger ça alors

    Une dernière question que je me pose; j'ai une séquence nucléotidique (par exemple : atcgtaccatgccatccg) et je cherche à diviser cette chaine de caractère par lettres de 3 pour pouvoir faire un nouveau dictionnaire avec des codons et l'acide aminé que la traduction à produit (je vais par la suite comparer mon dictionnaire "code génétique" avec ce nouveau dictionnaire) Je cherche donc à obtenir "atc","gta","cca","tgc","cat" et "ccg".

    Une idée ?

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2014
    Messages : 15
    Par défaut
    Tu fais un for qui t'apprends les mots dans une liste avec un pas de 3 et ensuite tu utilises les slices sur les chaines de caractère.

Discussions similaires

  1. question fonction split
    Par fessebleu dans le forum Langage
    Réponses: 2
    Dernier message: 28/05/2006, 02h33
  2. Réponses: 5
    Dernier message: 13/10/2005, 12h46
  3. [String] fonction split
    Par tck-lt dans le forum Langage
    Réponses: 2
    Dernier message: 19/07/2005, 17h45
  4. procedure stockée et fonction "split"
    Par wehtam dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/07/2005, 16h21
  5. [Fortran 90] Fonction Split()
    Par gchazelle dans le forum Fortran
    Réponses: 2
    Dernier message: 02/03/2005, 10h16

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