XiaoTaoWang / NeoLoopFinder

A computation framework for genome-wide detection of enhancer-hijacking events from chromatin interaction data in re-arranged genomes
Other
53 stars 16 forks source link

How to output the Regular loop and Tads without SVs #22

Open wzhang42 opened 2 years ago

wzhang42 commented 2 years ago

Hi, Xiaotao. I am now using NeoloopFinder to detect Neoloops/Neotads. But I found one Neoloop was not reported (even the last column tag as 0) from NeoloopFinder. I traced back and found that the SV breakpoint file that we used do not contain the corresponding SV. I manually add that specific SV to the SV file, then NeoloopFinder found back that neoloop and neoTad. My boss asked me to output the regular loops/Tads that do not rely on any SVs. I thought that her requirement is reasonable. However, I could not figure out how to realize it and need your help. Since the regular loop detection is based on a machine learning method, regular Tad detection is based on a boundary detection method. Both of them can be theoretically implemented as the first step without relying the SVs. The loops and Tads associated with SV are called Neoloops and Neotads, can be outputted as the second steps. Thank you in advance

Spartanzhao commented 2 years ago

could you explain why I can't draw my H3K27ac data? why I have this bug?

RuntimeError Traceback (most recent call last)

in 7 vis.matrix_plot(vmin=0) 8 #vis.plot_chromosome_bounds(linewidth=2) ----> 9 vis.plot_signal('H3K27ac', 'BxPC3_H3K27ac_rep_1.bw', color='#6A3D9A') 10 vis.plot_genes(release=75, fontsize=10) 11 vis.outfig('Far_end25k_1.png') /anaconda3/envs/neoloop/lib/python3.7/site-packages/neoloop/visualize/core.py in plot_signal(self, track_name, bw_fil, factor, ax, color, show_data_range, data_range_style, data_range_size, max_value, min_value, y_axis_offset, show_label, label_size, label_pad, nBins, style_params) 555 sigs = SigTrack(bw_fil, self.bounds, self.orients, res=self.res, nBins=nBins, 556 multiply=factor) --> 557 arr = sigs.stats('chrN', 0, self.matrix.shape[0]*self.res, 100) 558 559 if color=='auto': /anaconda3/envs/neoloop/lib/python3.7/site-packages/neoloop/visualize/bigwig.py in stats(self, chrom, start, end, nBins) 79 ''' 80 for si, ei, c, s, e, o in self.blocks: ---> 81 part = np.array(self.bw.stats(c, s, e, nBins=ei-si)).astype(float) 82 if o == '+': 83 self.arr[si:ei] = part
XiaoTaoWang commented 2 years ago

@wzhang42 Hi, sorry for the delay! As you may know, there are a lot of methods/software for genome-wide detection of chromatin loops and TADs that do not rely on any SVs. And on the backend, NeoLoopFinder uses Peakachu (https://github.com/tariks/peakachu) as the core for loop detection and HiTAD (https://xiaotaowang.github.io/TADLib/hitad.html) for TAD detection. I think you can give them a try. Let me know if you have any further questions.

XiaoTaoWang commented 2 years ago

@Spartanzhao I've never seen this error before ... can you first check whether your bigwig file is a valid bigwig file?

Spartanzhao commented 2 years ago

Okay, I'll try another way to generate my bigwig file.

在 2022-01-19 08:36:17,"Xiaotao Wang" @.***> 写道:

@Spartanzhao I've never seen this error before ... can you first check whether your bigwig file is a valid bigwig file?

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.Message ID: @.***>