Bonjour à tous,
j'ai script dont le but est de récupérer des données dans un fichier d'entrée (file_in) et d'écrire sous un format différent un fichier de sortie (file_out).
Au passage j'ajoute un autre fichier qui contient des données qui m’intéresse et dont je souhaite récupérer certaines valeurs à écrire dans le fichier de sortie.
Cela fonctionne...partiellement...car je récupère bien tout ce qu'il me faut sauf que j'ai une boucle qui se "forme" et donc toutes mes lignes de mon fichier d'entrée sont dupliquées.
Je pense que cela peut éventuellement venir d'un problème d'indentation mais je n'arrive pas à le solutionner.
Merci d'avance pour votre aide
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 def Cluster (file_in,file_out): with open (file_in,"r") as f, open (file_out,"w") as g: for line in f: linesplit=line.split("\t") Gene=linesplit[0] Sequence=linesplit[1].split(":") Sequencefinal=Sequence[0].replace("+","").replace("-","").strip() FamilleATB=linesplit[5] Mechanisms=linesplit[6] if FamilleATB == "NA": FamilleATB=Mechanisms else: FamilleATB=FamilleATB Taxon=linesplit[7].strip("\n") with open("DB.txt","r") as h: for line in h: linesplitDB=line.split("\t") GeneDB=linesplitDB[0].strip("*") Groupe=linesplitDB[1].strip('\n') if Gene == GeneDB: Cluster=Groupe else: Cluster="." g.write(f"{Gene}_{Sequencefinal}\t1\t0\t.\t{Cluster}\t{FamilleATB}_{Taxon}\n")
Partager