Split et "merge"

Fermé
new_26 Messages postés 15 Date d'inscription samedi 9 août 2014 Statut Membre Dernière intervention 14 septembre 2015 - 14 sept. 2015 à 17:52
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 - 22 sept. 2015 à 07:06
Bonjour à tous,

j'ai passé la journée sur mon script et j'avoue que je suis un peu désoeuvrée!!!
voilà mon problème, j'ai deux fichiers:

fichier_1:
Ch Sp Allele1 Pop1 Pop2 PopS Allele2 Pop1 Pop2 PopS Scaffold Position
- - G 10 8 3 A 0 1 12 S01 2506
- - A 10 8 3 G 0 1 12 S01 2600
- - G 10 9 13 A 0 0 2 S01 9941
- - T 10 4 3 C 0 5 12 S20 9851

fichier_2:
CHROM POS REF X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
S01 1734 T T C C T C C C C C C T
S01 2506 G A G G A G G G G G G A
S01 2520 G A G G A G G G G G G A
S01 2600 G A G G A G G G G G G A
S15 7693 C T C C T C C C C C C T
S20 9851 A G G G G G G G G G G G

Je voudrai accoler à la suite de chaque ligne du fichier_1 la ligne correspondante du fichier_2, c'est à dire: si "Scaffold Position" du fichier_1 == "CHROM POS" du fichier_2 alors output:

- - G 10 8 3 A 0 1 12 S01 2506 G A G G A G G G G G G A

j'ai essayé ceci en python:

for m in fichier_1:
if "Scaffold" in m:
pass
if "Position" in m:
pass

for n in fichier_2:
if "CHROM" in n:
pass
if "POS" in n:
pass

else:
fichier_1_Scaffold_Pos=[]
fichier_2_Scaffold_Pos=[]

for i in fichier_1:
spt_1=i.split("\t")
var = spt_1[10] + spt_1[11]
#print spt_1
fichier_1_Scaffold_Pos.append(var)
#print fichier_1_Scaffold_Pos

for k in fichier_2:
spt_2=k.split("\t")
var2 = spt_2[0] + spt_2[1]
#print var2
fichier_2_Scaffold_Pos.append(var)
#print fichier_2_Scaffold_Pos


for j in fichier_2_Scaffold_Pos.append:
#print j
for p in fichier_1_Scaffold_Pos.append:
if j==p:
for x in fichier_2:
for y in fichier_1:
print y + x

Mais bien sûr ça ne marche pas, j'ai cherché trop compliqué comem d'habitude!!!
un premier problème que j'ai c'est le split, je voudrais récupérer les colonnes comme ceci:" S01 2506" mais avec mon split j'ai: "S012506" parce que ce que je recherche ensuite c'est si "S01 2506" du fichier_1 est retrouvé dans le fichier_2 alors print la totalité de la ligne du fichier_1 suivie de la ligne du fichier_2

Je ne sais pas si je suis bien claire, j'avoue que je débute et j'ai le cerveau un peu fatigué après une journée sur mon script :/

Merci d'avance de votre aide ;)
A voir également:

1 réponse

new_26 Messages postés 15 Date d'inscription samedi 9 août 2014 Statut Membre Dernière intervention 14 septembre 2015
14 sept. 2015 à 17:53
bien sûr il y a des indentation qui n'apparaissent pas ici avec le copier-coller!
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 482
22 sept. 2015 à 07:06
0