vanheeringen-lab / ANANSE

Prediction of key transcription factors in cell fate determination using enhancer networks. See full ANANSE documentation for detailed installation instructions and usage examples.
http://anansepy.readthedocs.io
MIT License
77 stars 16 forks source link

Missing optional dependency 'openpyxl'. #93

Closed siebrenf closed 3 years ago

siebrenf commented 3 years ago

Occurred in ananse binding, latest version. I think the enhancer region file (-r) was edited with excel, and python recognized this. Question is: should we add the dependency, or is the error clear enough on its own?

2021-06-15 17:48:58 | DEBUG | Using default motif file
Traceback (most recent call last):
 File "/mbshome/acanosancho/miniconda3/envs/ananse/bin/ananse", line 318, in <module>
  args.func(args)
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/ananse/commands/binding.py", line 11, in binding
  predict_peaks(
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/ananse/peakpredictor.py", line 676, in predict_peaks
  p = PeakPredictor(
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/ananse/peakpredictor.py", line 59, in __init__
  self._load_motifs(factors=factors)
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/ananse/peakpredictor.py", line 236, in _load_motifs
  self.f2m = self._load_factor2motifs(
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/ananse/peakpredictor.py", line 198, in _load_factor2motifs
  valid_factors = self._load_human_factors()
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/ananse/peakpredictor.py", line 170, in _load_human_factors
  valid_factors = pd.read_excel(
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/pandas/util/_decorators.py", line 299, in wrapper
  return func(*args, **kwargs)
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/pandas/io/excel/_base.py", line 336, in read_excel
  io = ExcelFile(io, storage_options=storage_options, engine=engine)
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/pandas/io/excel/_base.py", line 1131, in __init__
  self._reader = self._engines[engine](self._io, storage_options=storage_options)
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/pandas/io/excel/_openpyxl.py", line 474, in __init__
  import_optional_dependency("openpyxl")
 File "/mbshome/acanosancho/miniconda3/envs/ananse/lib/python3.9/site-packages/pandas/compat/_optional.py", line 109, in import_optional_dependency
  raise ImportError(msg) from None
ImportError: Missing optional dependency 'openpyxl'. Use pip or conda to install openpyxl.
Maarten-vd-Sande commented 3 years ago

Seems unrelated to being opened with excel, it just tries to open this file: https://github.com/vanheeringen-lab/ANANSE/blob/master/ananse/db/lovering.tfs.xlsx

Seems like it is some resource from another paper, this dependency should just be added

Maarten-vd-Sande commented 3 years ago

Is in the setup.py (https://github.com/vanheeringen-lab/ANANSE/blob/master/setup.py#L46), not in the bioconda recipe.

I made a PR: https://github.com/bioconda/bioconda-recipes/pull/29028

siebrenf commented 3 years ago

nicely spotted!