Bonjour,

Je souhaite remplacer les bases A et G situé dans une position précise par T dans une séquence donnée
Je souhaite remplacer les A et G par T pour les positions entre 11-20; 34-57 et 105-116

fichier de la séquence
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
>seq
CGCCTGACTGGAGGCGGATCCAGCCGGCCAGCTGCCTCTCTGGAGCCCAGCTCTTGGGCCCCCTGCACTCACCTGCTCTTCCTGGGCTGGCTGTCTCCTGCTCATCCAGCCATGCGGT
fichier position
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
11   20
34   57
105   116
Ainsi obtenir au final :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
CGCCTGACTGNNNNNNNNNNCAGCCGGCCAGCTNNNNNNNNNNNNNNNNNNNNNNNNGCCCCCTGCACTCACCTGCTCTTCCTGGGCTGGCTGTCTCCTGCTCANNNNNNNNNNNN
Ce que j'ai fait :
J'extrais les sous-séqueces correspondant aux différentes positions puis je remplace A et G par T dans ses sous séquences. Mais, je coince car je n'ai pas la séquence finale

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
for line in open(file_position):	
        line = line.replace('\n', '')	
	element = line.split("\t")
	start_results=int(element[1])	
 
        seq = ''.join(name2seq.values()) # séquence
 
        sous_seq = seq[start_results-1:stop_results:1]  # extraction de la sous-séquence
        mask = {'A':'T','G':'T'}
        print (''.join([ e.replace(e, mask[e]) for e in sous_seq])
Je pense que ce n'est pas la bonne méthode mais comment remplacer plusieurs caractère dans un texte à une position donnée?