通过吸管快速从Juicebox HIC文件中提取数据
hic-straw的Python项目详细描述
吸管
straw允许对.hic
文件进行编程访问。
.hic
文件存储hi-c实验的接触矩阵和
规范化和期望向量,以及头中的元数据。
主要函数straw接受规范化、文件名或URL, 染色体1(可选范围)、染色体2(可选范围) 所需的bin是以片段还是以基对分隔,以及bin大小
然后读取报头,跟随各种指向所需矩阵的指针 和标准化向量,存储为[x,y,count]
Usage: straw <NONE/VC/VC_SQRT/KR> <hicFile(s)> <chr1>[:x1:x2] <chr2>[:y1:y2] <BP/FRAG> <binsize>
有关更多文档,请参见https://github.com/theaidenlab/straw/wiki/Python
安装
Straw使用requests library来支持url确保已安装
示例
在本地文件“hic001.hic”中以1MB分辨率提取X染色体上的所有读取,不进行规范化
fromstrawimportstrawresult=straw.straw('NONE','HIC001.hic','X','X','BP',1000000)# the values returned are in x / y / countsforiinrange(len(result[0])):print("{0}\t{1}\t{2}".format(result[0][i],result[1][i],result[2][i]))
从Rao和Huntley等人的MAPQ 30组合图中提取500KB分辨率下的所有读取数据,并进行VC(覆盖率)标准化2014年
fromstrawimportstrawresult=straw.straw('VC','https://hicfiles.s3.amazonaws.com/hiseq/gm12878/in-situ/combined_30.hic','4','4','BP',500000)# the values returned are in x / y / countsforiinrange(len(result[0])):print("{0}\t{1}\t{2}".format(result[0][i],result[1][i],result[2][i]))
用KR(平衡)规范化以25KB分辨率提取1号染色体上介于1MB和7.5MB之间的读取并写入文件:
fromstrawimportstrawstraw.printme("KR","HIC001.hic","1:1000000:7500000","1:1000000:7500000","BP",25000,'out.txt')
用VC(香草覆盖率)标准化,以500片段分辨率提取5号染色体和12号染色体之间的所有染色体间读数:
fromstrawimportstrawresult=straw.straw("VC","HIC001.hic","5","12","FRAG",500)# the values returned are in resultsforiinrange(len(result[0])):print("{0}\t{1}\t{2}".format(result[0][i],result[1][i],result[2][i]))
有关如何将结果打印到文件的示例,请参见脚本straw.py。
读取标题
有关读取hic文件头并输出信息(包括分辨率)的python脚本,请参见文件read_hic_header.py。