我一直在尝试使用twobitreader包(http://pythonhosted.org//twobitreader/)来提取DNA序列信息,但是我遇到了一个问题。每当我使用twobitreader.twobit_reader()模块时,我只能获得打印输出。我想要做的是将输出写入一个新文件。
这是http://pythonhosted.org//twobitreader/中有关此模块的信息: twobit_reader接受一个twobit_file(类TwoBitFile)和一个“input_stream”,它可以是任何可迭代的(包括类文件对象)写入输出(FASTA格式)使用write(print if write = None)将错误/警告记录到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
。
答案 0 :(得分:0)
twobitreader.twobit_reader(genome, bedfile, o_f.write)