Coverage for /home/deng/Projects/ete4/hackathon/ete4/ete4/smartview/renderer/layouts/eggnog6_layouts.py: 86%

21 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2024-03-21 09:19 +0100

1from ..treelayout import TreeLayout, _LayoutNodeProperty, cased_name 

2from ..faces import TextFace 

3 

4from ..draw_helpers import summary, Padding 

5from .evol_events_layouts import LayoutEvolEvents 

6from .ncbi_taxonomy_layouts import LayoutLastCommonAncestor 

7from .domain_layouts import LayoutPfamDomains, LayoutSmartDomains 

8 

9 

10def create_property_layout(prop, name, color, pos, active, column): 

11 # branch_right; column 2; color black 

12 class Layout(_LayoutNodeProperty): 

13 def __init__(self, prop=prop, name=name, pos=pos, column=column, color=color, 

14 *args, **kwargs): 

15 super().__init__(prop=prop, name=name, pos=pos, column=column, color=color, 

16 *args, **kwargs) 

17 self.active = active 

18 

19 def __name__(self): 

20 return layout_name 

21 

22 layout_name = "Layout" + cased_name(name) 

23 Layout.__name__ = layout_name 

24 globals()[layout_name] = Layout 

25 return Layout 

26 

27 

28prop_layout_args = [ 

29 [ "sci_name", "Scientific name", "black", "branch_right", True ], 

30 [ "best_name", "Best name", "black", "aligned", False ], 

31 [ "prot_name", "Protein name", "gray", "aligned", False ], 

32 [ "cazy", "Cazy", "gray", "aligned", False ], 

33 [ "card", "CARD", "gray", "aligned", False ], 

34 [ "pdb", "PDB", "gray", "aligned", False ], 

35 [ "bigg", "BIGG", "gray", "aligned", False ], 

36 [ "kegg_number", "KEGG number", "gray", "aligned", False ], 

37 [ "kegg_pathway", "KEGG pathway", "gray", "aligned", False ], 

38 [ "kegg_module", "KEGG module", "gray", "aligned", False ], 

39 [ "kegg_enzyme", "KEGG enzyme", "gray", "aligned", False ], 

40 # [ "GOslim", "GOslim", "gray", "aligned", False ], 

41 ] 

42 

43col0 = 2 

44prop_layouts = [ create_property_layout(*args, i+col0)\ 

45 for i, args in enumerate(prop_layout_args) ] 

46 

47 

48__all__ = [ *[layout.__name__ for layout in prop_layouts], 

49 "LayoutEvolEvents", "LayoutLastCommonAncestor", 

50 "LayoutPfamDomains", "LayoutSmartDomains" ]