小编vis*_*226的帖子

如何聚合超过RAM gzip'ed csv文件的值?

对于初学者我不熟悉生物信息学,特别是编程,但我已经构建了一个脚本,它将通过一个所谓的VCF文件(只包括个体,一个clumn =一个人),并使用搜索字符串来查找对于每个变体(系),个体是纯合的还是杂合的.

这个脚本起作用,至少在小子集上,但我知道它将所有东西都存储在内存中.我想在非常大的压缩文件(甚至整个基因组)上做这个,但我不知道如何将这个脚本转换成一个逐行完成所有操作的脚本(因为我想要计算整列,我只是不要看看如何解决这个问题.

因此,每个人的输出是5件事(总变体,数字纯合子,数字杂合子,以及同源和杂合子的比例).请参阅以下代码:

#!usr/bin/env python
import re
import gzip

subset_cols = 'subset_cols_chr18.vcf.gz'
#nuc_div = 'nuc_div_chr18.txt'

gz_infile = gzip.GzipFile(subset_cols, "r")  
#gz_outfile = gzip.GzipFile(nuc_div, "w") 

# make a dictionary of the header line for easy retrieval of elements later on

headers = gz_infile.readline().rstrip().split('\t')             
print headers                                                   

column_dict = {}                                        
for header in headers:
        column_dict[header] = []                        
for line in gz_infile:                                     
        columns = line.rstrip().split('\t')             
        for i in range(len(columns)):                   
                c_header=headers[i]                     
                column_dict[c_header].append(columns[i])
#print column_dict

for key in column_dict:                         
        number_homozygotes = 0          
        number_heterozygotes = 0        

        for …
Run Code Online (Sandbox Code Playgroud)

python csv gzip bioinformatics

6
推荐指数
2
解决办法
347
查看次数

我可以在 vcf.gz 文件上使用 tabix 吗?

作为初学者,我可能有一个愚蠢的问题,但我有几个不同个人的 VCF 文件,它们被压缩 (.vcf.gz)。我想使用 vcf-merge 将这些文件合并为一个包含所有个人的 VCF 文件。

但是,这需要使用 bgzip 实际压缩文件并使用 tabix 进行索引。有谁知道我是否可以从 .vcf.gz 文件转到 tabix 索引和 bgzip 文件而不先解压缩它(它需要大量存储空间,文件非常大)。

谢谢!

indexing merge gzip vcf-vcard

1
推荐指数
1
解决办法
3171
查看次数

标签 统计

gzip ×2

bioinformatics ×1

csv ×1

indexing ×1

merge ×1

python ×1

vcf-vcard ×1