我有一個試圖使用Galaxy在線工具使用的BED間隔文件。當前,文件中的每一行都以一個數字開頭(代表染色體編號)。為了正確上載它,我需要每一行以“ chr”開頭,然后以數字開頭。因此,例如以“ 2L”開頭的行,我需要進行更改,以使它們以“ chr2L”開頭,并對以數字開頭的其他所有行都執行同樣的操作(不僅是2L,還有許多不同的數字)。我在想是否可以在每行的開頭添加一個“ chr”而不影響其他列,那太好了,但是我不知道該怎么做(python的新手)請您幫我一下出去?
2 回答

侃侃無極
TA貢獻2051條經驗 獲得超10個贊
第一步打開文件
file = open("somefile.txt")
步驟2
lines = list(file.readlines())
file.close()
第3步:使用列表理解
new_lines = ["chr"+line for line in lines]
步驟4將新行寫回文件
with open("somefile.txt","w") as f:
f.writelines(new_lines)
為了不將所有行存儲在內存中
file1 = open("some.txt")
file2 = open("output.txt","w")
for line in file1:
print >> file2, "chr"+ line
file1.close()
file2.close()
然后只需復制output.txt到您的原始文件名
添加回答
舉報
0/150
提交
取消