2022-07-25 TAD-InsulationScore

Cworld matrix2insulation.pl

hicpro matrix 转换

python  ~/hic-pro/HiC-Pro_2.11.4/bin/utils/sparseToDense.py -b abs.bed iced.matrix -o name -c -d ##perchr
for i in `ls chr*`;do cut -f 4- ${i} >${i}.matrix;done
image.png
image.png

addHeader

for i in `ls 3.TAD.insulationScore/0.denseMatrix/chr*`;do  n=${i##*\/};  n=${n%%_*};  awk '{print "HiC|hg19|"$1":"$2+1"-"$3}' ${i} >3.TAD.insulationScore/1.Header/${n}.txt;done
##需要在输出目录下进行
cd 2.addHeader/
perl Tools/1.hictools/Dekker-TAD_insulationScore/scripts/perl/addMatrixHeaders.pl -i ../../../3.TAD.insulationScore/0.denseMatrix/chrX.matrix --xhf ../../../3.TAD.insulationScore/1.Header/chrX.txt --yhf ../../../3.TAD.insulationScore/1.Header/chrX.txt

matrix2insulation

#需要在输出目录下进行
# TAD最小为200k
for i in `ls 3.TAD.insulationScore/2.addHeader/*/*gz`;do n=${i##*\/};n=${n%%_me*};sample=${n##*_};echo "cd 1.Hi-C/matrix/3.TAD.insulationScore/3.insulation/${sample}";echo "perl Tools/1.hictools/Dekker-TAD_insulationScore/scripts/perl/matrix2insulation.pl --is 1000000 --ids 200000 -i 1.Hi-C/matrix/${i} -v -o --nt 0.2 -o ${n} 2>${n}.log";done  >3.TAD.insulationScore/3.insulation/0.run.sh ##is 大于ids ,且均为分辨率的整数倍

结果文件

image.png

1.insulation


image.png

2.bedGraph


image.png
  1. insulation.boundaries


    image.png

    4.insulation.boundaries.bed (最后一列为boundary strength)


    image.png

结果 TAD

perl 3.TAD.insulationScore/3.insulation/0.boundaries2bed.pl 3.TAD.insulationScore/3.insulation/${i}/${chr}*boundaries ${line} > 3.TAD.insulationScore/3.insulation/${i}/${chr}.TAD.bed
image.png

绘制TAD边界强度

for i in BLEO CTRL RAD;
do 
echo "cat 3.TAD.insulationScore/3.insulation/${i}/chr*is1000000*boundaries.bed | cut -f 4,5 | grep -v \"track\" | cut  -d \"|\" -f 3 | tr \":-\" \"\\t\" | sort -Vk 1 -k2,2n >3.TAD.insulationScore/5.TADboundryStrengh/${i}.TAD.bed";
echo "cat 3.TAD.insulationScore/3.insulation/${i}/chr*is1000000*bedGraph| grep -v \"track\"  | sort -Vk 1 -k2,2n | grep -v \"chrY\" >3.TAD.insulationScore/5.TADboundryStrengh/${i}.insulationscore.bedgraph";
##TAD Center 上下游500k
echo "cat 3.TAD.insulationScore/5.TADboundryStrengh/${i}.TAD.bed | awk 'BEGIN{FS=OFS=\"\\t\"}{\$2=\$2-480000;\$3=\$3+480000}{print \$0}' > 3.TAD.insulationScore/5.TADboundryStrengh/${i}.boundary.bed";
echo "cat 3.TAD.insulationScore/5.TADboundryStrengh/${i}.boundary.bed | while read id; do echo \$id | tr \" \" \"\\t\" > 3.TAD.insulationScore/5.TADboundryStrengh/${i}_tmp;intersectBed -a 3.TAD.insulationScore/5.TADboundryStrengh/${i}_tmp -b 3.TAD.insulationScore/5.TADboundryStrengh/${i}.insulationscore.bedgraph -wa -wb|sort -k 6,6n | cut -f 8 | xargs | tr \" \" \"\\t\" >> 3.TAD.insulationScore/5.TADboundryStrengh/${i}.boundary.matrix;done";
done >3.TAD.insulationScore/5.TADboundryStrengh/0.run.sh
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容