nservant / HiC-Pro

HiC-Pro: An optimized and flexible pipeline for Hi-C data processing
Other
372 stars 181 forks source link

Error 1 at ICE Normalization #499

Open husseinao opened 2 years ago

husseinao commented 2 years ago

Hello,

I am new to analyzing Hi-C data. The pipeline works well until the ICE Normalization step, where I get this error: make: *** [/usr/local/bin/HiC-Pro_3.0.0/bin/../scripts//Makefile:194: ice_norm] Error 1

Also in hic_results/matrix/data/raw, there are empty .matrix files.

This is what the ice_10000 log says:

ice --results_filename hic_results/matrix/data/iced/10000/data_10000_iced.matrix --filter_low_counts_perc 0.02 --filter_high_counts_perc 0 --max_iter 100 --eps 0.1 --remove-all-zeros-loci --output-bias 1 hic_results/matrix//data/raw/10000/data_10000.matrix

/usr/local/anaconda/lib/python3.7/site-packages/iced/normalization/_ca_utils.py:9: UserWarning: The API of this module is likely to change. Use only for testing purposes

"The API of this module is likely to change. "

Assuming the file is 1-based. If this is not the desired option, set option --base to 0

Traceback (most recent call last):

File "/usr/local/anaconda/bin/ice", line 82, in

counts = load_counts(filename, base=base)

File "/usr/local/anaconda/lib/python3.7/site-packages/iced/io/_io_pandas.py", line 34, in load_counts

dataframe = pd.read_csv(filename, sep="\t", comment="#", header=None)

File "/usr/local/anaconda/lib/python3.7/site-packages/pandas/util/_decorators.py", line 311, in wrapper

return func(*args, **kwargs)

File "/usr/local/anaconda/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 586, in read_csv

return _read(filepath_or_buffer, kwds)

File "/usr/local/anaconda/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 482, in _read

parser = TextFileReader(filepath_or_buffer, **kwds)

File "/usr/local/anaconda/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 811, in init

self._engine = self._make_engine(self.engine)

File "/usr/local/anaconda/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 1040, in _make_engine

return mapping[engine](self.f, **self.options)  # type: ignore[call-arg]

File "/usr/local/anaconda/lib/python3.7/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 69, in init

self._reader = parsers.TextReader(self.handles.handle, **kwds)

File "pandas/_libs/parsers.pyx", line 549, in pandas._libs.parsers.TextReader.cinit

pandas.errors.EmptyDataError: No columns to parse from file.

How can I fix this error?

Thank you, Amina

nservant commented 2 years ago

Hi, If the raw matrix files are empty it means that the issue comes from a previous step in the pipeline. What about .allvalidPairs files ? are they empty too ? Best

husseinao commented 2 years ago

Hello,

There are non-empty bed_files in hic_results/matrix/data/raw along with the empty matrix-files. The .allvaidPairs files is not empty.

Best, Amina

nservant commented 2 years ago

I think it comes from the chromosome size file. Could you check how it looks like ?

Gabrielheyi commented 1 year ago

I agree with @nservant . Maybe you could remove "chr" in the size file.

CiboFeng commented 7 months ago

Hi. In your script (/usr/local/anaconda/bin/ice), there is a function "load_counts" used. Before using it, there is a command "from iced.io import load_counts". Your results seem to import this function successfully. But when I run HiC-Pro, it always reports "there is no module named load_counts". And I really didn't find this function in iced.io. I wonder whether you encountered this problem, too. Thanks.

arodel21 commented 1 month ago

Hello!

I am encountering the same issue. I understand that this could be due to the data that I am using not having the required resolution -- I am trying to extract the HiC matrixes at 5 KB. As I am using a public HiC dataset, how could I verify that the dataset actually has that resolution?

Thanks in advance.