超快超省存储的三维基因组分析方法

三维互作这块的两大巨头是juicer 和 hic-pro,这两个东西确实都很久了,一个基于BWA一个基于Bowtie。说实话个人很讨厌这种把比对软件捆绑在一起的pipeline,特别不灵活,所以我在想有没有办法能够把这两块拆开来,看看这两年有没有更好的更顺手的三维互作这块的工具。你别说,还真找到了。

全文新版发在git上了(https://github.com/gotouerina/3dpipeline),这个是当时做的笔记,部分可能改了,以git上的为准;

比对这块先选chromap。 chromap也是李恒写的,质量有保障,支持多线程比对。

先对参考基因组建索引

chromap -i -r ref.fasta     -o index

再比对

chromap  --preset hic -r ref.fasta   -x index  R1.fq.gz    -2 R2.fq.gz  -t 50    -o aln.pairs  

pair格式长这样

pair格式

输出的是pair格式,pair格式再load进cooler, cooler一行pip就能装,如果环境冲突了conda弄一个新的python环境

先需要一个chrome.size文件,这个很好做

samtools faidx ref.fasta | cuf -f 1,2 >  ref.chrome.size

bgzip aln.pairs.gz

pairix aln.pairs.gz  #pairix需要自己现场下一个

cooler cload pairix ref.chrome.size:50000 aln.pairs.gz ref.cool #这一步需要索引,需要用pairix建

下游的分析考虑用hicexplorer做一下, hicexplore应该可以同时做AB区室, loop, TAD这三大件。hicexplorer读取的事h5和cool格式,cool格式转H5会出现一点问题,所以暂时不转

继续做一些下游处理

cooler balance ref.cool #标准化
cooler zoomify ref.cool #生成不同窗口大小
cooler ls cahirinus.mcool #查看含有的分辨率情况

最后做个性化分析,前面这几步可通过上面写的3dGenomics.pl脚本实现

一、A/B区室

hicPCA -m ref.cool::/resolutions/50000 --outFileName pca1.bw pca2.bw --format bigwig --pearsonMatrix pearson.h5

这里第一主成分是区室,需要根据基因密度或者GC校正一下符号

二、找TAD

hicFindTADs -m ref.cool::/resolutions/50000 --outPrefix hic_corrected --numberOfProcessors 16 --correctForMultipleTesting fdr

三、找loop

hicDetectLoops -m ref.cool::/resolutions/50000 -o loops.bedgraph --maxLoopDistance 2000000 --windowSize 10 --peakWidth 6 --pValuePreselection 0.05 --pValue 0.05

如果是比较两个样本之间的差异TAD, 则需要对互作进行标准化,用hicNormalize和hicCorrectMatrix,这部分虽然我会但是懒得写,请自行探索

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容