gpt4 book ai didi

Python脚本制作带有染色体信息的基本文件

转载 作者:行者123 更新时间:2023-11-30 23:43:12 25 4
gpt4 key购买 nike

我正在尝试制作一些用于遗传分析的 .bed 文件。我是一个Python初学者。我想要制作的文件应该是 3 列,制表符分隔,第一列始终相同(染色体编号),第二列和第三列窗口大小为 200,从零开始,到染色体末端结束。例如:

chr20 0 200
chr20 200 400
chr20 400 600
chr20 600 800
...

我有染色体的大小,所以现在我想说“当第2列<(染色体的大小)打印行”。我有一个脚本的框架,但由于我缺乏经验,它不太有效。这是我到目前为止所拥有的:

output = open('/homw/genotyping/wholegenome/Chr20.bed', 'rw') 

column2 = 0
column1 = 0
while column2 < 55268282:
for line in output:
column1 = column1 + 0
column2 = column2 + 100

print output >> "chr20" + '\t' + str(column1) + '\t' + str(column2)

如果有人可以修复这个简单的脚本,使其按照我的描述进行操作,或者编写一个更好的解决方案,我们将非常感激。我考虑制作一个可以输出 20 条染色体和 chrX 的所有文件的脚本,但由于我需要指定染色体的大小,我想我必须单独处理每个文件。

提前致谢!

最佳答案

这个怎么样:

step = 200 # change values by this amount
with open('Chr20.bed', 'w') as outfp:
for val in range(0, 1000, step): #increment by step, max value 1000
outfp.write('{0}\t{1:d}\t{2:d}\n'.format('chr20', val, val+step))

根据要求提供制表符分隔的输出

chr20   0   200
chr20 200 400
chr20 400 600
chr20 600 800
chr20 800 1000

注意:使用 with 会在完成后或遇到异常时自动关闭文件。

这提供了有关 .format() 的更多信息如果您好奇的话,可以使用该函数。

关于Python脚本制作带有染色体信息的基本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com