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 :

remplacer chaines de caractères dans un fichier


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 47
    Par défaut remplacer chaines de caractères dans un fichier
    Bonjour,

    Je chercher à remplacer des chaines de caractères en fonction de plusieurs conditions, voilà mon code:
    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
    pos=[]
    ref=[]
    alt=[]	
    test=[16842,'G','C'],[16844,'T','G'],[16839,'C','T'],[16830,'T','ACCCC'],[16820,'T','GCC']
    test2=[]
    for x in test:
    	pos.append(x[0])
    	ref.append(x[1])
    	alt.append(x[2])
     
    fasta=open('rCRS.txt','r')
    seq=""
    name=""
    tmp=fasta.readlines()
    fasta.close()
    name=tmp[0][1:-1]
    count=0
    newfa=[">",name,"\n"]
    for x in tmp[1:] :
    	for y in x:
    		count+=1
    		if count in pos:
    			if y == 'G' and 'C' in alt:
    				newfa.append('W')
    			elif y == 'T' and 'G' in alt:
    				newfa.append('Z')
    			elif y == 'C' and  'T' in alt:
    				newfa.append('Y')
     
    		else:
    			newfa.append(y)
    print ''.join(newfa)
    voilà le résulat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CTGGTTCCTACTTCAGGGTCATAAAGCCTAAATAGCCCACACGTZCCCCTTAAAZAAGAC
    ATYACWAZG
    Le problème est que la lettre Z (ma seconde condition) apparaît à trois reprises alors qu'elle devrait être présente seulement une seule fois....
    De même si j'ai par exemple ce motif 'ACCCC' je dois le remplacer à la position 16830 si on a bien un T dans notre fichier input..

    Si quelqu’un à une idée?
    encore merci pour votre aide.
    Piotreee
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Débutant] Remplacer chaine de caractères dans un fichier
    Par bezourox dans le forum VB.NET
    Réponses: 3
    Dernier message: 08/04/2014, 08h02
  2. Remplacement de chaine de caractères dans un fichier
    Par koKoTis dans le forum Langage
    Réponses: 4
    Dernier message: 13/09/2008, 18h36
  3. Remplacer une chaine de caractère dans un fichier texte.
    Par Empty_body dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/01/2008, 11h16
  4. Réponses: 14
    Dernier message: 15/06/2007, 13h59
  5. Réponses: 4
    Dernier message: 18/07/2006, 16h31

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