phykit 2.1.47__tar.gz → 2.1.48__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. {phykit-2.1.47 → phykit-2.1.48}/PKG-INFO +1 -1
  2. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/quartet_utils.py +5 -4
  3. {phykit-2.1.47 → phykit-2.1.48}/phykit/phykit.py +4 -2
  4. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/quartet_pie.py +3 -2
  5. phykit-2.1.48/phykit/version.py +1 -0
  6. {phykit-2.1.47 → phykit-2.1.48}/phykit.egg-info/PKG-INFO +1 -1
  7. phykit-2.1.47/phykit/version.py +0 -1
  8. {phykit-2.1.47 → phykit-2.1.48}/LICENSE.md +0 -0
  9. {phykit-2.1.47 → phykit-2.1.48}/README.md +0 -0
  10. {phykit-2.1.47 → phykit-2.1.48}/phykit/__init__.py +0 -0
  11. {phykit-2.1.47 → phykit-2.1.48}/phykit/__main__.py +0 -0
  12. {phykit-2.1.47 → phykit-2.1.48}/phykit/cli_registry.py +0 -0
  13. {phykit-2.1.47 → phykit-2.1.48}/phykit/errors.py +0 -0
  14. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/__init__.py +0 -0
  15. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/boolean_argument_parsing.py +0 -0
  16. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/caching.py +0 -0
  17. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/discrete_models.py +0 -0
  18. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/files.py +0 -0
  19. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/json_output.py +0 -0
  20. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/parallel.py +0 -0
  21. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/plot_config.py +0 -0
  22. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/stats_summary.py +0 -0
  23. {phykit-2.1.47 → phykit-2.1.48}/phykit/helpers/streaming.py +0 -0
  24. {phykit-2.1.47 → phykit-2.1.48}/phykit/service_factories.py +0 -0
  25. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/__init__.py +0 -0
  26. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/__init__.py +0 -0
  27. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/alignment_entropy.py +0 -0
  28. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/alignment_length.py +0 -0
  29. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/alignment_length_no_gaps.py +0 -0
  30. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/alignment_outlier_taxa.py +0 -0
  31. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/alignment_recoding.py +0 -0
  32. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/base.py +0 -0
  33. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/column_score.py +0 -0
  34. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/composition_per_taxon.py +0 -0
  35. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/compositional_bias_per_site.py +0 -0
  36. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/create_concatenation_matrix.py +0 -0
  37. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/dna_threader.py +0 -0
  38. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/evolutionary_rate_per_site.py +0 -0
  39. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/faidx.py +0 -0
  40. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/gc_content.py +0 -0
  41. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/mask_alignment.py +0 -0
  42. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/occupancy_per_taxon.py +0 -0
  43. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/pairwise_identity.py +0 -0
  44. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/parsimony_informative_sites.py +0 -0
  45. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/plot_alignment_qc.py +0 -0
  46. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/rcv.py +0 -0
  47. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/rcvt.py +0 -0
  48. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/rename_fasta_entries.py +0 -0
  49. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/sum_of_pairs_score.py +0 -0
  50. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/alignment/variable_sites.py +0 -0
  51. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/base.py +0 -0
  52. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/__init__.py +0 -0
  53. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/ancestral_reconstruction.py +0 -0
  54. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/base.py +0 -0
  55. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/bipartition_support_stats.py +0 -0
  56. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/branch_length_multiplier.py +0 -0
  57. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/collapse_branches.py +0 -0
  58. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/concordance_asr.py +0 -0
  59. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/consensus_network.py +0 -0
  60. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/consensus_tree.py +0 -0
  61. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/cont_map.py +0 -0
  62. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/cophylo.py +0 -0
  63. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/covarying_evolutionary_rates.py +0 -0
  64. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/density_map.py +0 -0
  65. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/discordance_asymmetry.py +0 -0
  66. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/dvmc.py +0 -0
  67. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/evo_tempo_map.py +0 -0
  68. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/evolutionary_rate.py +0 -0
  69. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/fit_continuous.py +0 -0
  70. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/fit_discrete.py +0 -0
  71. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/hidden_paralogy_check.py +0 -0
  72. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/independent_contrasts.py +0 -0
  73. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/internal_branch_stats.py +0 -0
  74. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/internode_labeler.py +0 -0
  75. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/kf_distance.py +0 -0
  76. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/last_common_ancestor_subtree.py +0 -0
  77. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/lb_score.py +0 -0
  78. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/ltt.py +0 -0
  79. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/monophyly_check.py +0 -0
  80. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/nearest_neighbor_interchange.py +0 -0
  81. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/network_signal.py +0 -0
  82. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/ou_shift_detection.py +0 -0
  83. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/ouwie.py +0 -0
  84. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/parsimony_score.py +0 -0
  85. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/patristic_distances.py +0 -0
  86. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/phenogram.py +0 -0
  87. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/phylo_heatmap.py +0 -0
  88. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/phylogenetic_glm.py +0 -0
  89. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/phylogenetic_ordination.py +0 -0
  90. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/phylogenetic_regression.py +0 -0
  91. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/phylogenetic_signal.py +0 -0
  92. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/phylomorphospace.py +0 -0
  93. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/polytomy_test.py +0 -0
  94. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/print_tree.py +0 -0
  95. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/prune_tree.py +0 -0
  96. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/quartet_network.py +0 -0
  97. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/rate_heterogeneity.py +0 -0
  98. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/relative_rate_test.py +0 -0
  99. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/rename_tree_tips.py +0 -0
  100. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/rf_distance.py +0 -0
  101. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/root_tree.py +0 -0
  102. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/saturation.py +0 -0
  103. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/spectral_discordance.py +0 -0
  104. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/spurious_sequence.py +0 -0
  105. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/stochastic_character_map.py +0 -0
  106. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/terminal_branch_stats.py +0 -0
  107. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/threshold_model.py +0 -0
  108. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/tip_labels.py +0 -0
  109. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/tip_to_tip_distance.py +0 -0
  110. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/tip_to_tip_node_distance.py +0 -0
  111. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/total_tree_length.py +0 -0
  112. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/treeness.py +0 -0
  113. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/treeness_over_rcv.py +0 -0
  114. {phykit-2.1.47 → phykit-2.1.48}/phykit/services/tree/vcv_utils.py +0 -0
  115. {phykit-2.1.47 → phykit-2.1.48}/phykit.egg-info/SOURCES.txt +0 -0
  116. {phykit-2.1.47 → phykit-2.1.48}/phykit.egg-info/dependency_links.txt +0 -0
  117. {phykit-2.1.47 → phykit-2.1.48}/phykit.egg-info/entry_points.txt +0 -0
  118. {phykit-2.1.47 → phykit-2.1.48}/phykit.egg-info/requires.txt +0 -0
  119. {phykit-2.1.47 → phykit-2.1.48}/phykit.egg-info/top_level.txt +0 -0
  120. {phykit-2.1.47 → phykit-2.1.48}/setup.cfg +0 -0
  121. {phykit-2.1.47 → phykit-2.1.48}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: phykit
3
- Version: 2.1.47
3
+ Version: 2.1.48
4
4
  Home-page: https://github.com/jlsteenwyk/phykit
5
5
  Author: Jacob L. Steenwyk
6
6
  Author-email: jlsteenwyk@gmail.com
@@ -2,8 +2,8 @@
2
2
  Shared utilities for quartet concordance factor computation and ASTRAL parsing.
3
3
 
4
4
  Provides gene concordance factor (gCF/gDF1/gDF2) computation via the
5
- four-group bipartition decomposition, and parsing of ASTRAL -t 2
6
- q1/q2/q3 annotations from Newick node labels.
5
+ four-group bipartition decomposition, and parsing of ASTRAL -t 2 or
6
+ wASTRAL --support 3 q1/q2/q3 annotations from Newick node labels.
7
7
  """
8
8
  from typing import Dict, List, Optional, Tuple
9
9
 
@@ -93,10 +93,11 @@ def compute_gcf_per_node(
93
93
  def parse_astral_annotations(
94
94
  tree,
95
95
  ) -> Dict[int, Tuple[float, float, float]]:
96
- """Parse q1/q2/q3 annotations from ASTRAL -t 2 Newick node labels.
96
+ """Parse q1/q2/q3 annotations from ASTRAL/wASTRAL Newick node labels.
97
97
 
98
- ASTRAL annotates internal nodes with formats like:
98
+ Supports ASTRAL -t 2 and wASTRAL --support 3 output formats:
99
99
  '[q1=0.5;q2=0.3;q3=0.2;f1=50;...]'
100
+ '[CULength=2.6;f1=108;...;q1=0.96;q2=0.03;q3=0.01]'
100
101
  'q1=0.5;q2=0.3;q3=0.2'
101
102
 
102
103
  Returns dict mapping clade id -> (q1, q2, q3).
@@ -4747,7 +4747,8 @@ class Phykit:
4747
4747
  In native mode (-g provided), computes gene concordance
4748
4748
  factors (gCF, gDF1, gDF2) from a species tree and gene
4749
4749
  trees via bipartition matching. In ASTRAL mode (no -g),
4750
- parses q1/q2/q3 annotations from ASTRAL -t 2 output.
4750
+ parses q1/q2/q3 annotations from ASTRAL -t 2 output or
4751
+ wASTRAL --support 3 output.
4751
4752
 
4752
4753
  Pie slices show: concordant (blue), discordant alt 1
4753
4754
  (red), discordant alt 2 (gray).
@@ -4773,7 +4774,8 @@ class Phykit:
4773
4774
 
4774
4775
  -g/--gene-trees gene trees file, one Newick
4775
4776
  tree per line (optional;
4776
- if omitted, ASTRAL -t 2
4777
+ if omitted, ASTRAL -t 2 or
4778
+ wASTRAL --support 3
4777
4779
  annotations are parsed)
4778
4780
 
4779
4781
  -o/--output output figure path (required;
@@ -5,7 +5,7 @@ Draws a phylogram with pie charts at internal nodes showing the
5
5
  proportion of gene trees supporting the species tree topology (gCF)
6
6
  versus the two NNI alternative topologies (gDF1, gDF2). Supports
7
7
  both native computation from gene trees and parsing of ASTRAL -t 2
8
- annotations.
8
+ or wASTRAL --support 3 annotations.
9
9
  """
10
10
  import sys
11
11
  from typing import Dict, List, Tuple
@@ -50,7 +50,8 @@ class QuartetPie(Tree):
50
50
  [
51
51
  "No ASTRAL q1/q2/q3 annotations found in the tree.",
52
52
  "Either provide gene trees with -g, or use an ASTRAL",
53
- "-t 2 output tree with quartet annotations.",
53
+ "-t 2 or wASTRAL --support 3 output tree with quartet",
54
+ "annotations.",
54
55
  ],
55
56
  code=2,
56
57
  )
@@ -0,0 +1 @@
1
+ __version__ = "2.1.48"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: phykit
3
- Version: 2.1.47
3
+ Version: 2.1.48
4
4
  Home-page: https://github.com/jlsteenwyk/phykit
5
5
  Author: Jacob L. Steenwyk
6
6
  Author-email: jlsteenwyk@gmail.com
@@ -1 +0,0 @@
1
- __version__ = "2.1.47"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes