Frage:wiederholen Python-Befehl auf mehrere Spalten
Wie kann ich den gleichen Python-Code, um mehrere Datenspalten anzuwenden.
Datenformat:
Ich lerne gerade Python, und ich habe ein Skript geschrieben, um meine Daten umformatieren. Mein aktuelles Format beginnt mit 4 beschreibenden Spalten von vielen Datenspalten gefolgt (zB 1/1)
#CHROM POS REF ALT IND_1 IND_2 IND_3 IND_4
2L 6631 A G 1/1 0/0 0/0 0/0
2L 6633 T C 0/0 1/0 0/0 0/0
2L 6637 C G 1/1 0/0 0/0 0/0
Ich versuche, die 0 und 1 zu den Werten in der REF und ALT Spalten zu ändern, das jeweils mit der gewünschte Endformat aussehen:
2L 6631 A G G/G A/A A/A A/A
2L 6633 T C T/T C/T T/T T/T
2L 6637 C G G/G C/C C/C C/C
Was ich habe, so weit:
ich ein Skript geschrieben haben, dass dies für eine einzelne Spalte tun, aber ich habe mehr als 100 Spalten von Daten, damit ich fragte sich, ob es einen Weg zu einem gibt ply dieses Skript zu mehreren Spalten, anstatt es für jedes spezifisch zu schreiben.
for line in openfile:
## skip header
if line.startswith("#CHROM"):
continue
columns = line.rstrip().split("\t")
CHROM = columns[0]
POS = columns[1]
REF = columns[2]
ALT = columns[3]
ALLELES1 = columns[4].replace("0",REF).replace("1",ALT).replace(".","0")
ALLELES2 = columns[5].replace("0",REF).replace("1",ALT).replace(".","0")
print CHROM, POS, REF, ALT, ALLELES1, ALLELES2
Lesen Sie über Funktionen. Ich denke, sie machen was du willst. – tburrows13
Danke für den Vorschlag! – user4670961