eaton-lab / ipcoal

simulation framework for investigating genealogical and sequence variation within and across genomes
MIT License
2 stars 2 forks source link

ImportError from toytree (ScrollableCanvas) #6

Open isaacovercast opened 1 year ago

isaacovercast commented 1 year ago

With current versions of ipcoal (0.4.0) and toytree (2.0.5) on import ipcoal gives this error:

image

isaacovercast commented 1 year ago

If i switch to ipcoal 0.3.1 it fixes this.

antecede commented 11 months ago

but it returns this:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 1
----> 1 import ipcoal
      2 # import toytree
      3 
      4 # generate a random tree with 8 tips and height of 1M generations
   (...)
      7 # # draw tree showing idx labels
      8 # tree1.draw(tree_style='p');

File ~/Software/miniconda3/envs/trans/lib/python3.9/site-packages/ipcoal/__init__.py:11
      8 __version__ = "0.3.1"
      9 __author__ = "Patrick McKenzie and Deren Eaton"
---> 11 from ipcoal.Model import Model  # class clobbers module name on purpose
     12 from ipcoal.utils import utils
     13 from ipcoal.utils.logger_setup import set_loglevel

File ~/Software/miniconda3/envs/trans/lib/python3.9/site-packages/ipcoal/Model.py:18
     15 from loguru import logger
     17 # from ipcoal.markov.SeqModel import SeqModel
---> 18 from ipcoal.phylo.TreeInfer import TreeInfer
     19 from ipcoal.io.writer import Writer
     20 from ipcoal.utils.utils import get_admix_interval_as_gens, IpcoalError

ModuleNotFoundError: No module named 'ipcoal.phylo'
eaton-lab commented 11 months ago

@antecede

Sorry some big updates are on the horizon but yet to be pushed out. Here is the best install instructions currently:

# get dependencies from conda
conda install toytree ipcoal -c conda-forge --only-deps

# pip install from github development branches
git clone https://github.com/eaton-lab/toytree -b toy3
cd toytree/
pip install -e . --no-deps

git clone https://github.com/eaton-lab/ipcoal -b toy3
cd ipcoal/
pip install -e . --no-deps

# Note: it will be available in the near future to simply do:
# conda install ipcoal -c conda-forge
antecede commented 11 months ago

Thank you very much! Great work! I am looking forward to your team's fabulous updates! Keep going and never give these packages up. Additionally, another package is also needed. conda install -c conda-forge loguru

antecede commented 11 months ago

When I try to reproduce according to the tutorial like that below:

# a dictionary of arguments to style the drawings
kwargs = {
    "ts": "c",
    "tip_labels": True,
    "shared_axis": True,
    "width": 600,
    "height": 200,
    "node_sizes": 6,
}

# draw a grid of trees from model 1
toytree.mtree(unlinked.df.genealogy).draw_tree_grid(**kwargs);

# draw a grid of trees from model 2
toytree.mtree(linked.df.genealogy).draw_tree_grid(**kwargs);

I encountered this error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[17], line 12
      2 kwargs = {
      3     "ts": "c",
      4     "tip_labels": True,
   (...)
      8     "node_sizes": 6,
      9 }
     11 # draw a grid of trees from model 1
---> 12 toytree.mtree(unlinked.df.genealogy).draw_tree_grid(**kwargs);
     14 # draw a grid of trees from model 2
     15 toytree.mtree(linked.df.genealogy).draw_tree_grid(**kwargs);

AttributeError: 'MultiTree' object has no attribute 'draw_tree_grid'

Is this tutorial outdated or another error of dependencies?

eaton-lab commented 11 months ago

Yes, sorry the documention updates for this new version are on the way. This function has been renamed to simply ".draw".

D

On Tue, Dec 5, 2023, 3:40 AM minuscule @.***> wrote:

When I try to reproduce according to the tutorial like that below:

a dictionary of arguments to style the drawings

kwargs = { "ts": "c", "tip_labels": True, "shared_axis": True, "width": 600, "height": 200, "node_sizes": 6, }

draw a grid of trees from model 1

toytree.mtree(unlinked.df.genealogy).draw_tree_grid(**kwargs);

draw a grid of trees from model 2

toytree.mtree(linked.df.genealogy).draw_tree_grid(**kwargs);

I encountered this error:


AttributeError Traceback (most recent call last) Cell In[17], line 12 2 kwargs = { 3 "ts": "c", 4 "tip_labels": True, (...) 8 "node_sizes": 6, 9 } 11 # draw a grid of trees from model 1 ---> 12 toytree.mtree(unlinked.df.genealogy).draw_tree_grid(kwargs); 14 # draw a grid of trees from model 2 15 toytree.mtree(linked.df.genealogy).draw_tree_grid(kwargs);

AttributeError: 'MultiTree' object has no attribute 'draw_tree_grid'

Is this tutorial outdated or another error of dependencies?

— Reply to this email directly, view it on GitHub https://github.com/eaton-lab/ipcoal/issues/6#issuecomment-1840272449, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGEVUGYSL5BMZBAYLEQAQATYH3MW5AVCNFSM6AAAAAATIBQHFGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBQGI3TENBUHE . You are receiving this because you commented.Message ID: @.***>

antecede commented 11 months ago

Thank you very much! BTW, merry Christmas 🤶