2014-04-08 67 views
1

我一直在嘗試使用twobitreader軟件包(http://pythonhosted.org//twobitreader/)來提取DNA序列信息,但是我遇到了一個問題。每當我使用twobitreader.twobit_reader()模塊時,我只能獲得打印輸出。我想要做的是將輸出寫入一個新的文件。將模塊的輸出從打印模式轉換爲寫入模式

這是從http://pythonhosted.org//twobitreader/此模塊上的信息: twobit_reader花費(類TwoBitFile的)一個twobit_file和一個「INPUT_STREAM」,它可以是任何可迭代寫入輸出(FASTA格式),使用寫入(包括類文件對象)。 (打印如果寫=無)記錄錯誤/警告到stderr

可能,我對python編程的知識有限,阻礙了我完成這項任務。

例如,這裏是一些代碼,我寫道:

def get_a(n): 
     """get sequences from genome""" 
     genome = twobitreader.TwoBitFile('hg19.2bit') 
     bedfile = open(n+'.bed', 'r') 
     o_f = open(n+'_FASTA.txt', 'w') 
     twobitreader.twobit_reader(genome, bedfile) 
     bedfile.close() 
     o_f.close() 

這結束了打印我的序列。

如果我試圖將twobitreader行更改爲:twobitreader.twobit_reader(genome, bedfile, o_f),試圖將數據寫入文件o_f,我得到錯誤'file' object is not callable

+1

嘗試:'twobitreader.twobit_reader(基因組,bedfile,o_f.write)' – Harpal

+0

這工作,謝謝。 – user3511825

+0

好的,我會寫一個答案 – Harpal

回答

0

OP證實了這一工作:

twobitreader.twobit_reader(genome, bedfile, o_f.write)