aertslab / scenicplus

SCENIC+ is a python package to build gene regulatory networks (GRNs) using combined or separate single-cell gene expression (scRNA-seq) and single-cell chromatin accessibility (scATAC-seq) data.
Other
162 stars 27 forks source link

How to open pkl file generated by old scenicplus package? #414

Open AIBio opened 3 weeks ago

AIBio commented 3 weeks ago

Hi,

SCENIC+ is a very useful software that has brought new insights to my research.

I downloaded the unpublished version of SCENIC+ around January 2023, but then the hard disk of our laboratory server was damaged, so the software information was lost.

I re-analyzed with the new software, but could not reproduce the previous results, especially the number of eRegulons (the new software only obtained a small amount of eRegulons). I want to re-analyze my data, so I would like to consult you which version of the software should we download?

In addition, how to open the pkl file of the SCENIC+ object generated by the previous software? I tried to reload it, but failed.

I look forward to your reply and help. Because, this problem has troubled me for nearly two weeks.

SeppeDeWinter commented 2 weeks ago

Hi @AIBio

That very sad to hear ... What error did you get when trying to load the old pkl file?

Best,

Seppe

AIBio commented 2 weeks ago

Hi @AIBio

That very sad to hear ... What error did you get when trying to load the old pkl file?

Best,

Seppe

Here is my error. However, I can address this problem by installing SCENIC+ package (version 1.0.0). It seems that the new version software cannot open the old pkl files.


ModuleNotFoundError Traceback (most recent call last) Cell In[2], line 1 ----> 1 scplus_obj = dill.load(open("/home/yhw/bioinfo/project-mine/MultiOmics/scenic_plus/hs_hindbrain/scplus/scplus_obj.pkl", 'rb'))

File ~/software/anaconda3/envs/scplus.p39/lib/python3.9/site-packages/dill/_dill.py:287, in load(file, ignore, kwds) 281 def load(file, ignore=None, kwds): 282 """ 283 Unpickle an object from a file. 284 285 See :func:loads for keyword arguments. 286 """ --> 287 return Unpickler(file, ignore=ignore, **kwds).load()

File ~/software/anaconda3/envs/scplus.p39/lib/python3.9/site-packages/dill/_dill.py:442, in Unpickler.load(self) 441 def load(self): #NOTE: if settings change, need to update attributes --> 442 obj = StockUnpickler.load(self) 443 if type(obj).module == getattr(_main_module, 'name', 'main'): 444 if not self._ignore: 445 # point obj class to main

File ~/software/anaconda3/envs/scplus.p39/lib/python3.9/site-packages/dill/_dill.py:432, in Unpickler.find_class(self, module, name) 430 return type(None) #XXX: special case: NoneType missing 431 if module == 'dill.dill': module = 'dill._dill' --> 432 return StockUnpickler.find_class(self, module, name)

ModuleNotFoundError: No module named 'pyranges.pyranges'

AIBio commented 2 weeks ago

Hi @AIBio

That very sad to hear ... What error did you get when trying to load the old pkl file?

Best,

Seppe

But the most terrible problem is that I can't repeat the previous analysis results with the old version of the software, and I can't find the problem.

I used the feather file and single cell data h5ad file used in the previous analysis, and then tried to install the software in the conda environment to a version around January 2023.

All my efforts failed to solve this problem.

Meanwhile, I found that there are other people who have the same problem and this as me.

Can you help me solve this problem? I really have no idea.

These are my config files (configure), running codes (run.sh and code) and logs (nohup.out).

data.zip

My multiome data is here (https://github.com/AIBio/Pictures_for_Markdown/blob/master/Hs_hindbrain.zip).

Best Hanwen