如何使用twobitreader将hg19.bit文件转换为hg19.fa文件?

时间:2015-04-04 12:59:46

标签: python

我在使用windows的pyhthon shell提示符中试过这段代码。但我得到的错误如下

>>> python -m twobitreader hg19.2bit < example.bed
SyntaxError: invalid syntax

我也尝试过你发送的代码

import twobitreader
     with open("fas.fa", "w") as output, open('example.bed') as bedfile:
     twobit = twobitreader.TwoBitFile('hg19.2bit')
     twobitreader.twobit_reader(twobit, input_stream=bedfile, write=output)

当我尝试执行上面的代码时,我收到错误

Traceback (most recent call last):
File "D:/genome/sample6.py", line 3, in <module>
with open("fas.fa", "w") as output, open('example.bed') as bedfile:
IOError: [Errno 2] No such file or directory: 'example.bed'`Filed:

我无法准确追踪错误。

1 个答案:

答案 0 :(得分:0)

您正在尝试在Python解释器中执行 shell命令。解释器一个shell。

在shell中,您仍然可以执行命令行代码所使用的相同代码。 2bit执行任何操作都需要twobit_reader()文件输入流。 first line of the function读取:

if input_stream is None: return

库将hg19.2bit文件作为TwoBitFile对象;根据命令行工具的文档字符串, input_stream 参数必须是使用 BED格式的文件或其他可迭代参数:

  

区域应在stdin上以BED格式提供

chrom    start(0-based)    end(0-based, not included)
     

要使用区域的BED文件,请执行

python -m twobitreader example.2bit < example.bed

从Python脚本中,example.bed输入应该是以input_stream传入的打开文件:

import twobitreader

with open("fas.fa", "w") as output, open('example.bed') as bedfile:
    twobit = twobitreader.TwoBitFile('hg19.2bit')
    twobitreader.twobit_reader(twobit, input_stream=bedfile, write=output)

项目文档提供了BED格式的链接:http://genome.ucsc.edu/FAQ/FAQformat#format1