AlphaGenes / AlphaPeel

AlphaPeel: calling, phasing, and imputing genotype and sequence data in pedigrees
MIT License
2 stars 11 forks source link

AlphaPeel fails due to missing tinypeel.tinyhouse module #4

Closed Npaffen closed 1 year ago

Npaffen commented 1 year ago

I installed AlphaPeel following the build_pipeline.sh file. After the wheel was generated I used pip install AlphaPeel-1.1.0-py3-none-any.whl to install AlphaPeel from Dash (since my System runs on MINT 21). But when I try to call AlphaPeel the executable stops with the following error code :

AlphaPeel Traceback (most recent call last): File "/home/oem/anaconda3/bin/AlphaPeel", line 5, in <module> from tinypeel.tinypeel import main File "/home/oem/anaconda3/lib/python3.9/site-packages/tinypeel/tinypeel.py", line 8, in <module> from .tinyhouse import Pedigree ModuleNotFoundError: No module named 'tinypeel.tinyhouse'

I checked the tinypeel python modules and found some unknown module .tinyhouse which I could not locate in the tinypeel package.

Then I checked your commits and I found that this commit might indeed break something, despite commit message indicates otherwise.

To me the problem looks like the following. You merged the functions from tinyhouse with tinypeel. But tinypeel and Pedigree still tries to call .tinyhouse. Since the tinyhouse reference inside the tinypeel package was deleted due to merging this reference is not available so that the python interpreter has to fail. I may have overlooked something here, please let me know if this problems occurs due to some mishandling on my side.

If not I would suggest to reverse the merging between tinyhouse and tinypeel if this does not lead to some other error I'm unaware at the moment. From my point of view the better coding practice is often to outsource as many functions as possible and import them when needed. There might be some possibility where one could define the functions inside tinypeel and Pedigree instead of loading them from .tinyhouse but I would not recommend this because this might lead to redundancies in the package which could be avoided using the outsourcing strategy.

I will post here again when I reversed your merge between tinyhouse and tinypeel and will report if this solves the error!

gregorgorjanc commented 1 year ago

@Npaffen I had the same issue as you.

I have now done some updates to AlphaPeel and tinyhouse - see the latest commits - and got it to work out of the box.

Let me know if things don't work out for you and I will reopen the issue.