python脚本慢读写gz文件

2024-09-30 06:24:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个xxx.wig.gz文件,其中有3000000000行,格式如下:

fixedStep chrom=chr1 start=1 step=1
0
0
0
0
0
1
2
3
4
5
6
7
8
9
10
...
fixedStep chrom=chr2 start=1 step=1
0
0
0
0
0
11
12
13
14
15
16
17
18
19
20
...

我想

  1. 用“色度”来分解它。所以每当我读到以“fixedstep”开头的行时,我都会创建一个新文件并关闭旧文件。在
  2. 我想要0/1输出,通过比较每个值与一个“阈值”,pass=1否则为0

下面是我的python脚本,它运行得非常慢(我计划它完成大约10个小时,到目前为止,2个染色体在~1个小时后完成)

有人能帮我改进一下吗?在

^{pr2}$

我想awk可以做得更快,但我不擅长awk


Tags: 文件格式stepstartxxx小时chr1gz
1条回答
网友
1楼 · 发布于 2024-09-30 06:24:46

感谢Summer编辑文本。
我在脚本中添加了缓冲读/写功能,现在它的速度快了好几倍(不过还是比较慢):

import io    
f  = io.BufferedReader( gzip.open(fn) )    
fo   = io.BufferedWriter( gzip.open(fo_base + "." + fon + fo_ext,'wb') )    

相关问题 更多 >

    热门问题