phyloframe 0.1.0__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 (747) hide show
  1. phyloframe-0.1.0/.editorconfig +17 -0
  2. phyloframe-0.1.0/.github/ISSUE_TEMPLATE.md +15 -0
  3. phyloframe-0.1.0/.github/workflows/ci.yaml +281 -0
  4. phyloframe-0.1.0/.gitignore +232 -0
  5. phyloframe-0.1.0/.readthedocs.yaml +15 -0
  6. phyloframe-0.1.0/AUTHORS.rst +15 -0
  7. phyloframe-0.1.0/CITATION.cff +9 -0
  8. phyloframe-0.1.0/CODE_OF_CONDUCT.md +128 -0
  9. phyloframe-0.1.0/CONTRIBUTING.rst +149 -0
  10. phyloframe-0.1.0/Dockerfile +28 -0
  11. phyloframe-0.1.0/HISTORY.rst +10 -0
  12. phyloframe-0.1.0/LICENSE +25 -0
  13. phyloframe-0.1.0/MANIFEST.in +13 -0
  14. phyloframe-0.1.0/PKG-INFO +117 -0
  15. phyloframe-0.1.0/README.md +45 -0
  16. phyloframe-0.1.0/docs/Makefile +36 -0
  17. phyloframe-0.1.0/docs/_static/theme_override.css +18 -0
  18. phyloframe-0.1.0/docs/_templates/autosummary/class.rst +31 -0
  19. phyloframe-0.1.0/docs/_templates/autosummary/exception.rst +5 -0
  20. phyloframe-0.1.0/docs/_templates/autosummary/function.rst +5 -0
  21. phyloframe-0.1.0/docs/_templates/autosummary/module.rst +102 -0
  22. phyloframe-0.1.0/docs/api.rst +9 -0
  23. phyloframe-0.1.0/docs/authors.rst +1 -0
  24. phyloframe-0.1.0/docs/citing.md +13 -0
  25. phyloframe-0.1.0/docs/conf.py +206 -0
  26. phyloframe-0.1.0/docs/contributing.rst +1 -0
  27. phyloframe-0.1.0/docs/history.rst +1 -0
  28. phyloframe-0.1.0/docs/index_stage1.rst +17 -0
  29. phyloframe-0.1.0/docs/index_stage2.rst +17 -0
  30. phyloframe-0.1.0/docs/indices.rst +6 -0
  31. phyloframe-0.1.0/phyloframe/__init__.py +14 -0
  32. phyloframe-0.1.0/phyloframe/__init__.pyi +9 -0
  33. phyloframe-0.1.0/phyloframe/__main__.py +98 -0
  34. phyloframe-0.1.0/phyloframe/_auxlib/_GetAttrLaunderShim.py +42 -0
  35. phyloframe-0.1.0/phyloframe/_auxlib/_RngStateContext.py +45 -0
  36. phyloframe-0.1.0/phyloframe/_auxlib/__init__.py +4 -0
  37. phyloframe-0.1.0/phyloframe/_auxlib/__init__.pyi +81 -0
  38. phyloframe-0.1.0/phyloframe/_auxlib/_add_bool_arg.py +38 -0
  39. phyloframe-0.1.0/phyloframe/_auxlib/_all_unique.py +15 -0
  40. phyloframe-0.1.0/phyloframe/_auxlib/_begin_prod_logging.py +9 -0
  41. phyloframe-0.1.0/phyloframe/_auxlib/_coerce_to_pandas.py +32 -0
  42. phyloframe-0.1.0/phyloframe/_auxlib/_coerce_to_polars.py +24 -0
  43. phyloframe-0.1.0/phyloframe/_auxlib/_collapse_nonleading_whitespace.py +7 -0
  44. phyloframe-0.1.0/phyloframe/_auxlib/_configure_prod_logging.py +13 -0
  45. phyloframe-0.1.0/phyloframe/_auxlib/_count_leading_blanks.py +3 -0
  46. phyloframe-0.1.0/phyloframe/_auxlib/_delegate_polars_implementation.py +133 -0
  47. phyloframe-0.1.0/phyloframe/_auxlib/_estimate_binomial_p.py +65 -0
  48. phyloframe-0.1.0/phyloframe/_auxlib/_eval_kwargs.py +27 -0
  49. phyloframe-0.1.0/phyloframe/_auxlib/_fit_fblr.py +174 -0
  50. phyloframe-0.1.0/phyloframe/_auxlib/_format_cli_description.py +21 -0
  51. phyloframe-0.1.0/phyloframe/_auxlib/_get_package_name.py +18 -0
  52. phyloframe-0.1.0/phyloframe/_auxlib/_get_phyloframe_version.py +2 -0
  53. phyloframe-0.1.0/phyloframe/_auxlib/_is_in_coverage_run.py +22 -0
  54. phyloframe-0.1.0/phyloframe/_auxlib/_is_subset.py +14 -0
  55. phyloframe-0.1.0/phyloframe/_auxlib/_jit.py +44 -0
  56. phyloframe-0.1.0/phyloframe/_auxlib/_jit_TypingError.py +18 -0
  57. phyloframe-0.1.0/phyloframe/_auxlib/_jit_numba_dict_t.py +25 -0
  58. phyloframe-0.1.0/phyloframe/_auxlib/_jit_numpy_bool_t.py +21 -0
  59. phyloframe-0.1.0/phyloframe/_auxlib/_jit_numpy_int64_t.py +21 -0
  60. phyloframe-0.1.0/phyloframe/_auxlib/_jit_numpy_uint8_t.py +21 -0
  61. phyloframe-0.1.0/phyloframe/_auxlib/_join_paragraphs_from_one_sentence_per_line.py +6 -0
  62. phyloframe-0.1.0/phyloframe/_auxlib/_launder_impl_modules.py +16 -0
  63. phyloframe-0.1.0/phyloframe/_auxlib/_lazy_attach.py +74 -0
  64. phyloframe-0.1.0/phyloframe/_auxlib/_lazy_attach_stub.py +72 -0
  65. phyloframe-0.1.0/phyloframe/_auxlib/_log_context_duration.py +20 -0
  66. phyloframe-0.1.0/phyloframe/_auxlib/_log_memory_usage.py +26 -0
  67. phyloframe-0.1.0/phyloframe/_auxlib/_pairwise.py +23 -0
  68. phyloframe-0.1.0/phyloframe/_auxlib/_seed_random.py +29 -0
  69. phyloframe-0.1.0/phyloframe/_auxlib/_textwrap_respect_indents.py +34 -0
  70. phyloframe-0.1.0/phyloframe/_auxlib/_unfurl_lineage_with_contiguous_ids.py +25 -0
  71. phyloframe-0.1.0/phyloframe/_auxlib/_warn_once.py +8 -0
  72. phyloframe-0.1.0/phyloframe/_auxlib/_with_rng_state_context.py +69 -0
  73. phyloframe-0.1.0/phyloframe/legacy/__init__.py +4 -0
  74. phyloframe-0.1.0/phyloframe/legacy/__init__.pyi +515 -0
  75. phyloframe-0.1.0/phyloframe/legacy/_alifestd_add_global_root.py +191 -0
  76. phyloframe-0.1.0/phyloframe/legacy/_alifestd_add_inner_knuckles_asexual.py +144 -0
  77. phyloframe-0.1.0/phyloframe/legacy/_alifestd_add_inner_leaves.py +134 -0
  78. phyloframe-0.1.0/phyloframe/legacy/_alifestd_add_inner_niblings_asexual.py +133 -0
  79. phyloframe-0.1.0/phyloframe/legacy/_alifestd_aggregate_phylogenies.py +71 -0
  80. phyloframe-0.1.0/phyloframe/legacy/_alifestd_as_newick_asexual.py +256 -0
  81. phyloframe-0.1.0/phyloframe/legacy/_alifestd_as_newick_polars.py +233 -0
  82. phyloframe-0.1.0/phyloframe/legacy/_alifestd_assign_contiguous_ids.py +148 -0
  83. phyloframe-0.1.0/phyloframe/legacy/_alifestd_assign_contiguous_ids_polars.py +91 -0
  84. phyloframe-0.1.0/phyloframe/legacy/_alifestd_assign_root_ancestor_token.py +98 -0
  85. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_clade_lookback_n_asexual.py +39 -0
  86. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_clade_lookback_origin_time_delta_asexual.py +55 -0
  87. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_clade_trait_count_asexual.py +88 -0
  88. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_clade_trait_frequency_asexual.py +51 -0
  89. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_mrca_id_matrix_asexual.py +68 -0
  90. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_mrca_id_vector_asexual.py +90 -0
  91. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_mrca_id_vector_asexual_polars.py +105 -0
  92. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_polytomic_index.py +21 -0
  93. phyloframe-0.1.0/phyloframe/legacy/_alifestd_calc_triplet_distance_asexual.py +53 -0
  94. phyloframe-0.1.0/phyloframe/legacy/_alifestd_categorize_triplet_asexual.py +73 -0
  95. phyloframe-0.1.0/phyloframe/legacy/_alifestd_check_topological_sensitivity.py +100 -0
  96. phyloframe-0.1.0/phyloframe/legacy/_alifestd_check_topological_sensitivity_polars.py +42 -0
  97. phyloframe-0.1.0/phyloframe/legacy/_alifestd_chronological_sort.py +92 -0
  98. phyloframe-0.1.0/phyloframe/legacy/_alifestd_coarsen_dilate_asexual.py +300 -0
  99. phyloframe-0.1.0/phyloframe/legacy/_alifestd_coarsen_dilate_polars.py +294 -0
  100. phyloframe-0.1.0/phyloframe/legacy/_alifestd_coarsen_mask.py +138 -0
  101. phyloframe-0.1.0/phyloframe/legacy/_alifestd_coarsen_taxa_asexual.py +237 -0
  102. phyloframe-0.1.0/phyloframe/legacy/_alifestd_coerce_chronological_consistency.py +103 -0
  103. phyloframe-0.1.0/phyloframe/legacy/_alifestd_collapse_trunk_asexual.py +157 -0
  104. phyloframe-0.1.0/phyloframe/legacy/_alifestd_collapse_unifurcations.py +244 -0
  105. phyloframe-0.1.0/phyloframe/legacy/_alifestd_collapse_unifurcations_polars.py +182 -0
  106. phyloframe-0.1.0/phyloframe/legacy/_alifestd_convert_root_ancestor_token.py +22 -0
  107. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_children_of_asexual.py +27 -0
  108. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_inner_nodes.py +76 -0
  109. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_inner_nodes_polars.py +76 -0
  110. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_leaf_nodes.py +69 -0
  111. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_leaf_nodes_polars.py +82 -0
  112. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_polytomies.py +79 -0
  113. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_polytomies_polars.py +85 -0
  114. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_root_nodes.py +77 -0
  115. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_root_nodes_polars.py +79 -0
  116. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_unifurcating_roots_asexual.py +87 -0
  117. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_unifurcating_roots_polars.py +91 -0
  118. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_unifurcations.py +80 -0
  119. phyloframe-0.1.0/phyloframe/legacy/_alifestd_count_unifurcations_polars.py +86 -0
  120. phyloframe-0.1.0/phyloframe/legacy/_alifestd_delete_trunk_asexual.py +172 -0
  121. phyloframe-0.1.0/phyloframe/legacy/_alifestd_delete_trunk_asexual_polars.py +158 -0
  122. phyloframe-0.1.0/phyloframe/legacy/_alifestd_delete_unifurcating_roots_asexual.py +170 -0
  123. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_asexual.py +176 -0
  124. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_canopy_asexual.py +207 -0
  125. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_canopy_polars.py +252 -0
  126. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_clade_asexual.py +212 -0
  127. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_lineage_asexual.py +386 -0
  128. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_lineage_polars.py +365 -0
  129. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_lineage_stratified_asexual.py +445 -0
  130. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_lineage_stratified_polars.py +450 -0
  131. phyloframe-0.1.0/phyloframe/legacy/_alifestd_downsample_tips_polars.py +223 -0
  132. phyloframe-0.1.0/phyloframe/legacy/_alifestd_drop_topological_sensitivity.py +147 -0
  133. phyloframe-0.1.0/phyloframe/legacy/_alifestd_drop_topological_sensitivity_polars.py +141 -0
  134. phyloframe-0.1.0/phyloframe/legacy/_alifestd_estimate_triplet_distance_asexual.py +143 -0
  135. phyloframe-0.1.0/phyloframe/legacy/_alifestd_find_chronological_inconsistency.py +110 -0
  136. phyloframe-0.1.0/phyloframe/legacy/_alifestd_find_leaf_ids.py +53 -0
  137. phyloframe-0.1.0/phyloframe/legacy/_alifestd_find_leaf_ids_polars.py +61 -0
  138. phyloframe-0.1.0/phyloframe/legacy/_alifestd_find_mrca_id_asexual.py +65 -0
  139. phyloframe-0.1.0/phyloframe/legacy/_alifestd_find_pair_mrca_id_asexual.py +116 -0
  140. phyloframe-0.1.0/phyloframe/legacy/_alifestd_find_pair_mrca_id_polars.py +90 -0
  141. phyloframe-0.1.0/phyloframe/legacy/_alifestd_find_root_ids.py +22 -0
  142. phyloframe-0.1.0/phyloframe/legacy/_alifestd_from_newick.py +509 -0
  143. phyloframe-0.1.0/phyloframe/legacy/_alifestd_from_newick_polars.py +212 -0
  144. phyloframe-0.1.0/phyloframe/legacy/_alifestd_has_compact_ids.py +11 -0
  145. phyloframe-0.1.0/phyloframe/legacy/_alifestd_has_contiguous_ids.py +12 -0
  146. phyloframe-0.1.0/phyloframe/legacy/_alifestd_has_contiguous_ids_polars.py +11 -0
  147. phyloframe-0.1.0/phyloframe/legacy/_alifestd_has_increasing_ids.py +22 -0
  148. phyloframe-0.1.0/phyloframe/legacy/_alifestd_has_multiple_roots.py +17 -0
  149. phyloframe-0.1.0/phyloframe/legacy/_alifestd_is_asexual.py +13 -0
  150. phyloframe-0.1.0/phyloframe/legacy/_alifestd_is_chronologically_ordered.py +105 -0
  151. phyloframe-0.1.0/phyloframe/legacy/_alifestd_is_chronologically_sorted.py +13 -0
  152. phyloframe-0.1.0/phyloframe/legacy/_alifestd_is_sexual.py +9 -0
  153. phyloframe-0.1.0/phyloframe/legacy/_alifestd_is_strictly_bifurcating_asexual.py +28 -0
  154. phyloframe-0.1.0/phyloframe/legacy/_alifestd_is_topologically_sorted.py +72 -0
  155. phyloframe-0.1.0/phyloframe/legacy/_alifestd_is_topologically_sorted_polars.py +27 -0
  156. phyloframe-0.1.0/phyloframe/legacy/_alifestd_is_working_format_asexual.py +25 -0
  157. phyloframe-0.1.0/phyloframe/legacy/_alifestd_join_roots.py +131 -0
  158. phyloframe-0.1.0/phyloframe/legacy/_alifestd_make_ancestor_id_col.py +26 -0
  159. phyloframe-0.1.0/phyloframe/legacy/_alifestd_make_ancestor_list_col.py +31 -0
  160. phyloframe-0.1.0/phyloframe/legacy/_alifestd_make_ancestor_list_col_polars.py +20 -0
  161. phyloframe-0.1.0/phyloframe/legacy/_alifestd_make_balanced_bifurcating.py +51 -0
  162. phyloframe-0.1.0/phyloframe/legacy/_alifestd_make_comb.py +51 -0
  163. phyloframe-0.1.0/phyloframe/legacy/_alifestd_make_empty.py +14 -0
  164. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_ancestor_origin_time_asexual.py +134 -0
  165. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_duration_asexual.py +99 -0
  166. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_duration_ratio_sister_asexual.py +114 -0
  167. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_faithpd_asexual.py +165 -0
  168. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_fblr_growth_children_asexual.py +261 -0
  169. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_fblr_growth_sister_asexual.py +188 -0
  170. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_leafcount_ratio_sister_asexual.py +109 -0
  171. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_logistic_growth_children_asexual.py +291 -0
  172. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_logistic_growth_sister_asexual.py +185 -0
  173. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_nodecount_ratio_sister_asexual.py +114 -0
  174. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_subtended_duration_asexual.py +115 -0
  175. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_clade_subtended_duration_ratio_sister_asexual.py +117 -0
  176. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_colless_index_asexual.py +256 -0
  177. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_colless_index_corrected_asexual.py +160 -0
  178. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_colless_like_index_mdm_asexual.py +342 -0
  179. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_colless_like_index_sd_asexual.py +138 -0
  180. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_colless_like_index_var_asexual.py +137 -0
  181. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_is_left_child_asexual.py +113 -0
  182. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_is_right_child_asexual.py +115 -0
  183. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_leaves.py +91 -0
  184. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_leaves_polars.py +109 -0
  185. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_left_child_asexual.py +140 -0
  186. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_max_descendant_origin_time_asexual.py +147 -0
  187. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_node_depth_asexual.py +126 -0
  188. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_node_depth_polars.py +156 -0
  189. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_num_children_asexual.py +132 -0
  190. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_num_children_polars.py +121 -0
  191. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_num_descendants_asexual.py +139 -0
  192. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_num_leaves_asexual.py +136 -0
  193. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_num_leaves_sibling_asexual.py +112 -0
  194. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_num_preceding_leaves_asexual.py +173 -0
  195. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_oldest_root.py +96 -0
  196. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_origin_time_delta_asexual.py +93 -0
  197. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_ot_mrca_asexual.py +180 -0
  198. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_right_child_asexual.py +143 -0
  199. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_root_id.py +118 -0
  200. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_roots.py +86 -0
  201. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_roots_polars.py +74 -0
  202. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_sackin_index_asexual.py +194 -0
  203. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mark_sister_asexual.py +133 -0
  204. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mask_descendants_asexual.py +81 -0
  205. phyloframe-0.1.0/phyloframe/legacy/_alifestd_mask_monomorphic_clades_asexual.py +166 -0
  206. phyloframe-0.1.0/phyloframe/legacy/_alifestd_parse_ancestor_id.py +13 -0
  207. phyloframe-0.1.0/phyloframe/legacy/_alifestd_parse_ancestor_ids.py +10 -0
  208. phyloframe-0.1.0/phyloframe/legacy/_alifestd_prefix_roots.py +214 -0
  209. phyloframe-0.1.0/phyloframe/legacy/_alifestd_prefix_roots_polars.py +231 -0
  210. phyloframe-0.1.0/phyloframe/legacy/_alifestd_prune_extinct_lineages_asexual.py +242 -0
  211. phyloframe-0.1.0/phyloframe/legacy/_alifestd_prune_extinct_lineages_polars.py +255 -0
  212. phyloframe-0.1.0/phyloframe/legacy/_alifestd_reroot_at_id_asexual.py +168 -0
  213. phyloframe-0.1.0/phyloframe/legacy/_alifestd_sample_triplet_comparisons_asexual.py +132 -0
  214. phyloframe-0.1.0/phyloframe/legacy/_alifestd_screen_trait_defined_clades_fisher_asexual.py +105 -0
  215. phyloframe-0.1.0/phyloframe/legacy/_alifestd_screen_trait_defined_clades_fitch_asexual.py +141 -0
  216. phyloframe-0.1.0/phyloframe/legacy/_alifestd_screen_trait_defined_clades_naive_asexual.py +77 -0
  217. phyloframe-0.1.0/phyloframe/legacy/_alifestd_splay_polytomies.py +275 -0
  218. phyloframe-0.1.0/phyloframe/legacy/_alifestd_sum_origin_time_deltas_asexual.py +28 -0
  219. phyloframe-0.1.0/phyloframe/legacy/_alifestd_test_leaves_isomorphic_asexual.py +160 -0
  220. phyloframe-0.1.0/phyloframe/legacy/_alifestd_to_working_format.py +104 -0
  221. phyloframe-0.1.0/phyloframe/legacy/_alifestd_topological_sensitivity_warned.py +87 -0
  222. phyloframe-0.1.0/phyloframe/legacy/_alifestd_topological_sensitivity_warned_polars.py +86 -0
  223. phyloframe-0.1.0/phyloframe/legacy/_alifestd_topological_sort.py +126 -0
  224. phyloframe-0.1.0/phyloframe/legacy/_alifestd_try_add_ancestor_id_col.py +84 -0
  225. phyloframe-0.1.0/phyloframe/legacy/_alifestd_try_add_ancestor_id_col_polars.py +88 -0
  226. phyloframe-0.1.0/phyloframe/legacy/_alifestd_try_add_ancestor_list_col.py +112 -0
  227. phyloframe-0.1.0/phyloframe/legacy/_alifestd_try_add_ancestor_list_col_polars.py +123 -0
  228. phyloframe-0.1.0/phyloframe/legacy/_alifestd_unfurl_lineage_asexual.py +42 -0
  229. phyloframe-0.1.0/phyloframe/legacy/_alifestd_unfurl_traversal_inorder_asexual.py +80 -0
  230. phyloframe-0.1.0/phyloframe/legacy/_alifestd_unfurl_traversal_postorder_asexual.py +70 -0
  231. phyloframe-0.1.0/phyloframe/legacy/_alifestd_unfurl_traversal_semiorder_asexual.py +172 -0
  232. phyloframe-0.1.0/phyloframe/legacy/_alifestd_validate.py +137 -0
  233. phyloframe-0.1.0/phyloframe/legacy/_alifestd_warn_topological_sensitivity.py +89 -0
  234. phyloframe-0.1.0/phyloframe/legacy/_alifestd_warn_topological_sensitivity_polars.py +55 -0
  235. phyloframe-0.1.0/phyloframe.egg-info/PKG-INFO +117 -0
  236. phyloframe-0.1.0/phyloframe.egg-info/SOURCES.txt +747 -0
  237. phyloframe-0.1.0/phyloframe.egg-info/dependency_links.txt +1 -0
  238. phyloframe-0.1.0/phyloframe.egg-info/requires.txt +51 -0
  239. phyloframe-0.1.0/phyloframe.egg-info/top_level.txt +1 -0
  240. phyloframe-0.1.0/pyproject.toml +112 -0
  241. phyloframe-0.1.0/pytest.ini +14 -0
  242. phyloframe-0.1.0/requirements-dev/py310/regenerate.sh +26 -0
  243. phyloframe-0.1.0/requirements-dev/py310/requirements-all.txt +422 -0
  244. phyloframe-0.1.0/requirements-dev/py310/requirements-docs.txt +274 -0
  245. phyloframe-0.1.0/requirements-dev/py310/requirements-jit.txt +84 -0
  246. phyloframe-0.1.0/requirements-dev/py310/requirements-minimal.txt +77 -0
  247. phyloframe-0.1.0/requirements-dev/py310/requirements-phylo-extra.txt +240 -0
  248. phyloframe-0.1.0/requirements-dev/py310/requirements-release.txt +133 -0
  249. phyloframe-0.1.0/requirements-dev/py310/requirements-testing.txt +186 -0
  250. phyloframe-0.1.0/requirements-dev/py311/regenerate.sh +26 -0
  251. phyloframe-0.1.0/requirements-dev/py311/requirements-all.txt +411 -0
  252. phyloframe-0.1.0/requirements-dev/py311/requirements-docs.txt +271 -0
  253. phyloframe-0.1.0/requirements-dev/py311/requirements-jit.txt +84 -0
  254. phyloframe-0.1.0/requirements-dev/py311/requirements-minimal.txt +77 -0
  255. phyloframe-0.1.0/requirements-dev/py311/requirements-phylo-extra.txt +239 -0
  256. phyloframe-0.1.0/requirements-dev/py311/requirements-release.txt +131 -0
  257. phyloframe-0.1.0/requirements-dev/py311/requirements-testing.txt +179 -0
  258. phyloframe-0.1.0/requirements-dev/py312/regenerate.sh +26 -0
  259. phyloframe-0.1.0/requirements-dev/py312/requirements-all.txt +415 -0
  260. phyloframe-0.1.0/requirements-dev/py312/requirements-docs.txt +271 -0
  261. phyloframe-0.1.0/requirements-dev/py312/requirements-jit.txt +84 -0
  262. phyloframe-0.1.0/requirements-dev/py312/requirements-minimal.txt +77 -0
  263. phyloframe-0.1.0/requirements-dev/py312/requirements-phylo-extra.txt +239 -0
  264. phyloframe-0.1.0/requirements-dev/py312/requirements-release.txt +131 -0
  265. phyloframe-0.1.0/requirements-dev/py312/requirements-testing.txt +184 -0
  266. phyloframe-0.1.0/requirements-dev/py313/regenerate.sh +26 -0
  267. phyloframe-0.1.0/requirements-dev/py313/requirements-all.txt +414 -0
  268. phyloframe-0.1.0/requirements-dev/py313/requirements-docs.txt +270 -0
  269. phyloframe-0.1.0/requirements-dev/py313/requirements-jit.txt +84 -0
  270. phyloframe-0.1.0/requirements-dev/py313/requirements-minimal.txt +77 -0
  271. phyloframe-0.1.0/requirements-dev/py313/requirements-phylo-extra.txt +239 -0
  272. phyloframe-0.1.0/requirements-dev/py313/requirements-release.txt +131 -0
  273. phyloframe-0.1.0/requirements-dev/py313/requirements-testing.txt +184 -0
  274. phyloframe-0.1.0/requirements-dev/py314/regenerate.sh +26 -0
  275. phyloframe-0.1.0/requirements-dev/py314/requirements-all.txt +414 -0
  276. phyloframe-0.1.0/requirements-dev/py314/requirements-docs.txt +270 -0
  277. phyloframe-0.1.0/requirements-dev/py314/requirements-jit.txt +84 -0
  278. phyloframe-0.1.0/requirements-dev/py314/requirements-minimal.txt +77 -0
  279. phyloframe-0.1.0/requirements-dev/py314/requirements-phylo-extra.txt +239 -0
  280. phyloframe-0.1.0/requirements-dev/py314/requirements-release.txt +131 -0
  281. phyloframe-0.1.0/requirements-dev/py314/requirements-testing.txt +184 -0
  282. phyloframe-0.1.0/requirements-dev/regenerate.sh +18 -0
  283. phyloframe-0.1.0/requirements-dev/requirements-all.txt +590 -0
  284. phyloframe-0.1.0/requirements-dev/requirements-docs.txt +433 -0
  285. phyloframe-0.1.0/requirements-dev/requirements-jit.txt +253 -0
  286. phyloframe-0.1.0/requirements-dev/requirements-minimal.txt +236 -0
  287. phyloframe-0.1.0/requirements-dev/requirements-release.txt +292 -0
  288. phyloframe-0.1.0/requirements-dev/requirements-testing.txt +359 -0
  289. phyloframe-0.1.0/setup.cfg +32 -0
  290. phyloframe-0.1.0/setup.py +10 -0
  291. phyloframe-0.1.0/tests/__init__.py +0 -0
  292. phyloframe-0.1.0/tests/test_phyloframe/__init__.py +0 -0
  293. phyloframe-0.1.0/tests/test_phyloframe/conftest.py +13 -0
  294. phyloframe-0.1.0/tests/test_phyloframe/run_tests.sh +16 -0
  295. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/__init__.py +0 -0
  296. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/coarsen_dilate_testphylo.csv +8 -0
  297. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/collapse_unifurcations_testphylo.csv +6 -0
  298. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/empty.csv +1 -0
  299. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-bifurcating-phylogeny.csv +8 -0
  300. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-ancestor_list-syntax1.csv +7 -0
  301. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-ancestor_list-syntax2.csv +7 -0
  302. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-ancestor_list-syntax3.csv +7 -0
  303. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-ancestor_list-syntax4.csv +7 -0
  304. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-duplicate-id1.csv +7 -0
  305. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-duplicate-id2.csv +7 -0
  306. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-duplicate-id3.csv +7 -0
  307. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns1.csv +7 -0
  308. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns2.csv +7 -0
  309. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns3.csv +7 -0
  310. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-missing-ancestor_list-column1.csv +7 -0
  311. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-missing-ancestor_list-column2.csv +7 -0
  312. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-missing-id-column.csv +7 -0
  313. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-negative-id1.csv +7 -0
  314. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-negative-id2.csv +7 -0
  315. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-negative-id3.csv +7 -0
  316. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_id-id1.csv +7 -0
  317. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_id-id2.csv +7 -0
  318. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_id-id3.csv +7 -0
  319. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_id-id4.csv +7 -0
  320. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_list-id.csv +7 -0
  321. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny-empty-list-notation.csv +7 -0
  322. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny-noncompact1.csv +7 -0
  323. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny-noncompact2.csv +7 -0
  324. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny-tworoots.csv +8 -0
  325. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny-uniq.csv +7 -0
  326. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-asexual-phylogeny.csv +7 -0
  327. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-ancestor_list-syntax1.csv +8 -0
  328. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-ancestor_list-syntax2.csv +8 -0
  329. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-ancestor_list-syntax3.csv +8 -0
  330. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-ancestor_list-syntax4.csv +8 -0
  331. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-duplicate-id1.csv +8 -0
  332. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-duplicate-id2.csv +8 -0
  333. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-duplicate-id3.csv +8 -0
  334. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns1.csv +8 -0
  335. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns2.csv +8 -0
  336. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-missing-id-column.csv +8 -0
  337. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-negative-id1.csv +8 -0
  338. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-negative-id2.csv +8 -0
  339. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-negative-id3.csv +8 -0
  340. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny--invalid-nonexistant-ancestor_list-id.csv +8 -0
  341. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny-empty-list-notation.csv +8 -0
  342. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny-noncompact1.csv +8 -0
  343. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny-noncompact2.csv +8 -0
  344. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny-uniq.csv +8 -0
  345. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/example-standard-toy-sexual-phylogeny.csv +8 -0
  346. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandchild.newick +1 -0
  347. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandchild_and_aunt.newick +1 -0
  348. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandchild_and_auntuncle.newick +1 -0
  349. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandtriplets.newick +1 -0
  350. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandtriplets_and_aunt.newick +1 -0
  351. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandtriplets_and_auntuncle.newick +1 -0
  352. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandtwins.newick +1 -0
  353. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandtwins_and_aunt.newick +1 -0
  354. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/grandtwins_and_auntuncle.newick +1 -0
  355. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/greatgrandtwins_and_auntuncle.newick +1 -0
  356. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/justroot.newick +1 -0
  357. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/nk_ecoeaselection-workingformat.csv +493 -0
  358. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/nk_ecoeaselection.csv +493 -0
  359. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/nk_ecoeaselection_tweaked.csv +493 -0
  360. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/nk_lexicaseselection.csv +234 -0
  361. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/nk_tournamentselection.csv +18 -0
  362. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/onlychild.newick +1 -0
  363. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/prunetestphylo.csv +6 -0
  364. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/triplets.newick +1 -0
  365. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/trunktestphylo.csv +323 -0
  366. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/trunktestphylo_with_trunk.csv +5 -0
  367. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/assets/twins.newick +1 -0
  368. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_GetAttrLaunderShim.py +22 -0
  369. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_RngStateContext.py +176 -0
  370. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_add_bool_arg.py +57 -0
  371. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_all_unique.py +36 -0
  372. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_begin_prod_logging.py +16 -0
  373. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_coerce_to_pandas.py +37 -0
  374. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_collapse_nonleading_whitespace.py +48 -0
  375. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_configure_prod_logging.py +5 -0
  376. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_count_leading_blanks.py +29 -0
  377. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_delegate_polars_implementation.py +124 -0
  378. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_estimate_binomial_p.py +58 -0
  379. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_eval_kwargs.py +40 -0
  380. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_fit_fblr.py +50 -0
  381. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_format_cli_description.py +15 -0
  382. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_get_package_name.py +7 -0
  383. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_get_phyloframe_version.py +6 -0
  384. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_is_subset.py +33 -0
  385. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_join_paragraphs_from_once_sentence_per_line.py +31 -0
  386. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_log_context_duration.py +65 -0
  387. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_log_memory_usage.py +22 -0
  388. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_pairwise.py +65 -0
  389. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_seed_random.py +37 -0
  390. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_textwrap_respect_indents.py +46 -0
  391. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_unfurl_lineage_with_contiguous_ids.py +27 -0
  392. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_warn_once.py +20 -0
  393. phyloframe-0.1.0/tests/test_phyloframe/test_auxlib/test_with_rng_state_context.py +42 -0
  394. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/__init__.py +0 -0
  395. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/_impl/__init__.py +3 -0
  396. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/_impl/_enforce_identical_polars_result.py +47 -0
  397. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/coarsen_dilate_testphylo.csv +8 -0
  398. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/collapse_unifurcations_testphylo.csv +6 -0
  399. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/empty.csv +1 -0
  400. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-bifurcating-phylogeny.csv +8 -0
  401. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-ancestor_list-syntax1.csv +7 -0
  402. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-ancestor_list-syntax2.csv +7 -0
  403. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-ancestor_list-syntax3.csv +7 -0
  404. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-ancestor_list-syntax4.csv +7 -0
  405. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-duplicate-id1.csv +7 -0
  406. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-duplicate-id2.csv +7 -0
  407. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-duplicate-id3.csv +7 -0
  408. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns1.csv +7 -0
  409. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns2.csv +7 -0
  410. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns3.csv +7 -0
  411. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-missing-ancestor_list-column1.csv +7 -0
  412. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-missing-ancestor_list-column2.csv +7 -0
  413. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-missing-id-column.csv +7 -0
  414. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-negative-id1.csv +7 -0
  415. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-negative-id2.csv +7 -0
  416. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-negative-id3.csv +7 -0
  417. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_id-id1.csv +7 -0
  418. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_id-id2.csv +7 -0
  419. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_id-id3.csv +7 -0
  420. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_id-id4.csv +7 -0
  421. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny--invalid-nonexistant-ancestor_list-id.csv +7 -0
  422. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny-empty-list-notation.csv +7 -0
  423. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny-noncompact1.csv +7 -0
  424. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny-noncompact2.csv +7 -0
  425. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny-tworoots.csv +8 -0
  426. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny-uniq.csv +7 -0
  427. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-asexual-phylogeny.csv +7 -0
  428. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-ancestor_list-syntax1.csv +8 -0
  429. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-ancestor_list-syntax2.csv +8 -0
  430. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-ancestor_list-syntax3.csv +8 -0
  431. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-ancestor_list-syntax4.csv +8 -0
  432. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-duplicate-id1.csv +8 -0
  433. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-duplicate-id2.csv +8 -0
  434. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-duplicate-id3.csv +8 -0
  435. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns1.csv +8 -0
  436. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-mismatched-ancestor_id-ancestor_list-columns2.csv +8 -0
  437. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-missing-id-column.csv +8 -0
  438. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-negative-id1.csv +8 -0
  439. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-negative-id2.csv +8 -0
  440. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-negative-id3.csv +8 -0
  441. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny--invalid-nonexistant-ancestor_list-id.csv +8 -0
  442. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny-empty-list-notation.csv +8 -0
  443. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny-noncompact1.csv +8 -0
  444. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny-noncompact2.csv +8 -0
  445. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny-uniq.csv +8 -0
  446. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/example-standard-toy-sexual-phylogeny.csv +8 -0
  447. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandchild.newick +1 -0
  448. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandchild_and_aunt.newick +1 -0
  449. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandchild_and_auntuncle.newick +1 -0
  450. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandtriplets.newick +1 -0
  451. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandtriplets_and_aunt.newick +1 -0
  452. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandtriplets_and_auntuncle.newick +1 -0
  453. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandtwins.newick +1 -0
  454. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandtwins_and_aunt.newick +1 -0
  455. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/grandtwins_and_auntuncle.newick +1 -0
  456. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/greatgrandtwins_and_auntuncle.newick +1 -0
  457. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/justroot.newick +1 -0
  458. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/nk_ecoeaselection-workingformat.csv +493 -0
  459. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/nk_ecoeaselection.csv +493 -0
  460. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/nk_ecoeaselection_tweaked.csv +493 -0
  461. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/nk_lexicaseselection.csv +234 -0
  462. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/nk_tournamentselection.csv +18 -0
  463. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/onlychild.newick +1 -0
  464. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/prunetestphylo.csv +6 -0
  465. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/triplets.newick +1 -0
  466. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/trunktestphylo.csv +323 -0
  467. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/trunktestphylo_with_trunk.csv +5 -0
  468. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/assets/twins.newick +1 -0
  469. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_add_global_root.py +641 -0
  470. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_add_global_root_cli.py +111 -0
  471. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_add_inner_knuckles_asexual.py +198 -0
  472. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_add_inner_knuckles_asexual_cli.py +73 -0
  473. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_add_inner_leaves.py +168 -0
  474. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_add_inner_leaves_cli.py +107 -0
  475. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_add_inner_niblings_asexual.py +226 -0
  476. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_add_inner_niblings_asexual_cli.py +73 -0
  477. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_aggregate_phylogenies.py +155 -0
  478. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_as_newick_asexual.py +137 -0
  479. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_as_newick_asexual_cli.py +154 -0
  480. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_as_newick_polars.py +289 -0
  481. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_assign_contiguous_ids.py +122 -0
  482. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_assign_contiguous_ids_cli.py +73 -0
  483. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_assign_contiguous_ids_polars_cli.py +71 -0
  484. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_assign_root_ancestor_token.py +103 -0
  485. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_assign_root_ancestor_token_cli.py +77 -0
  486. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_clade_lookback_origin_time_delta_asexual.py +203 -0
  487. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_clade_lookback_origin_time_n.py +188 -0
  488. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_clade_trait_count_asexual.py +211 -0
  489. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_clade_trait_frequency_asexual.py +201 -0
  490. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_mrca_id_matrix_asexual.py +189 -0
  491. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_mrca_id_vector_asexual.py +191 -0
  492. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_mrca_id_vector_asexual_polars.py +394 -0
  493. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_polytomic_index.py +92 -0
  494. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_calc_triplet_distance_asexual.py +222 -0
  495. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_categorize_triplet_asexual.py +135 -0
  496. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_check_topological_sensitivity.py +273 -0
  497. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_check_topological_sensitivity_polars.py +300 -0
  498. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_chronological_sort.py +85 -0
  499. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_chronological_sort_cli.py +73 -0
  500. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coarsen_dilate_asexual.py +500 -0
  501. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coarsen_dilate_asexual_cli.py +81 -0
  502. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coarsen_dilate_polars.py +351 -0
  503. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coarsen_dilate_polars_cli.py +125 -0
  504. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coarsen_mask.py +363 -0
  505. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coarsen_taxa_asexual.py +434 -0
  506. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coarsen_taxa_asexual_make_agg.py +69 -0
  507. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coerce_chronological_consistency.py +364 -0
  508. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_coerce_chronological_consistency_cli.py +69 -0
  509. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_collapse_trunk_asexual.py +182 -0
  510. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_collapse_trunk_asexual_cli.py +75 -0
  511. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_collapse_unifurcations.py +275 -0
  512. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_collapse_unifurcations_cli.py +111 -0
  513. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_collapse_unifurcations_polars_cli.py +107 -0
  514. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_convert_root_ancestor_token.py +148 -0
  515. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_children_of_asexual.py +59 -0
  516. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_inner_nodes.py +80 -0
  517. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_inner_nodes_cli.py +52 -0
  518. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_inner_nodes_polars.py +71 -0
  519. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_inner_nodes_polars_cli.py +42 -0
  520. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_leaf_nodes.py +80 -0
  521. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_leaf_nodes_cli.py +52 -0
  522. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_leaf_nodes_polars.py +71 -0
  523. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_leaf_nodes_polars_cli.py +42 -0
  524. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_polytomies.py +92 -0
  525. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_polytomies_cli.py +52 -0
  526. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_polytomies_polars.py +81 -0
  527. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_polytomies_polars_cli.py +42 -0
  528. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_root_nodes.py +150 -0
  529. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_root_nodes_cli.py +70 -0
  530. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_root_nodes_polars.py +81 -0
  531. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_root_nodes_polars_cli.py +41 -0
  532. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_unifurcating_roots_asexual.py +177 -0
  533. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_unifurcating_roots_asexual_cli.py +54 -0
  534. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_unifurcating_roots_polars.py +81 -0
  535. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_unifurcating_roots_polars_cli.py +42 -0
  536. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_unifurcations.py +72 -0
  537. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_unifurcations_cli.py +52 -0
  538. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_unifurcations_polars.py +61 -0
  539. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_count_unifurcations_polars_cli.py +42 -0
  540. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_delete_trunk_asexual.py +331 -0
  541. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_delete_trunk_asexual_cli.py +75 -0
  542. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_delete_trunk_asexual_polars_cli.py +76 -0
  543. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_delete_unifurcating_roots_asexual.py +219 -0
  544. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_delete_unifurcating_roots_asexual_cli.py +69 -0
  545. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_asexual.py +93 -0
  546. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_asexual_cli.py +117 -0
  547. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_canopy_asexual.py +217 -0
  548. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_canopy_asexual_cli.py +121 -0
  549. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_canopy_polars.py +259 -0
  550. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_canopy_polars_cli.py +146 -0
  551. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_clade_asexual.py +107 -0
  552. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_clade_asexual_cli.py +113 -0
  553. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_lineage_asexual.py +209 -0
  554. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_lineage_asexual_cli.py +107 -0
  555. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_lineage_polars.py +470 -0
  556. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_lineage_polars_cli.py +111 -0
  557. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_lineage_stratified_asexual.py +575 -0
  558. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_lineage_stratified_asexual_cli.py +115 -0
  559. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_lineage_stratified_polars.py +830 -0
  560. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_lineage_stratified_polars_cli.py +119 -0
  561. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_polars.py +362 -0
  562. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_downsample_tips_polars_cli.py +137 -0
  563. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_drop_topological_sensitivity.py +179 -0
  564. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_drop_topological_sensitivity_polars.py +162 -0
  565. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_estimate_triplet_distance_asexual.py +662 -0
  566. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_find_chronological_inconsistency.py +365 -0
  567. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_find_leaf_ids.py +389 -0
  568. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_find_leaf_ids_polars.py +230 -0
  569. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_find_mrca_id_asexual.py +65 -0
  570. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_find_pair_mrca_id_asexual.py +183 -0
  571. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_find_pair_mrca_id_polars.py +236 -0
  572. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_find_root_ids.py +168 -0
  573. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_from_newick.py +609 -0
  574. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_from_newick_polars.py +245 -0
  575. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_has_compact_ids.py +45 -0
  576. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_has_contiguous_ids.py +45 -0
  577. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_has_contiguous_ids_polars.py +184 -0
  578. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_has_increasing_ids.py +40 -0
  579. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_has_multiple_roots.py +223 -0
  580. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_is_asexual.py +61 -0
  581. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_is_chronologically_ordered.py +327 -0
  582. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_is_chronologically_sorted.py +65 -0
  583. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_is_sexual.py +62 -0
  584. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_is_strictly_bifurcating_asexual.py +52 -0
  585. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_is_topologically_sorted.py +320 -0
  586. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_is_topologically_sorted_polars.py +317 -0
  587. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_is_working_format_asexual.py +59 -0
  588. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_join_roots.py +108 -0
  589. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_join_roots_cli.py +105 -0
  590. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_make_ancestor_id_col.py +52 -0
  591. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_make_ancestor_list_col.py +62 -0
  592. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_make_balanced_bifurcating.py +74 -0
  593. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_make_comb.py +78 -0
  594. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_make_empty.py +16 -0
  595. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_ancestor_origin_time_asexual.py +89 -0
  596. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_ancestor_origin_time_asexual_cli.py +69 -0
  597. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_duration_asexual.py +107 -0
  598. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_duration_asexual_cli.py +69 -0
  599. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_duration_ratio_sister_asexual.py +125 -0
  600. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_duration_ratio_sister_asexual_cli.py +69 -0
  601. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_faithpd_asexual.py +139 -0
  602. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_faithpd_asexual_cli.py +73 -0
  603. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_fblr_growth_children_asexual.py +787 -0
  604. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_fblr_growth_children_asexual_cli.py +69 -0
  605. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_fblr_growth_sister_asexual.py +392 -0
  606. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_fblr_growth_sister_asexual_cli.py +69 -0
  607. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_leafcount_ratio_sister_asexual.py +249 -0
  608. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_leafcount_ratio_sister_asexual_cli.py +69 -0
  609. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_logistic_growth_children_asexual.py +788 -0
  610. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_logistic_growth_children_asexual_cli.py +69 -0
  611. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_logistic_growth_sister_asexual.py +393 -0
  612. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_logistic_growth_sister_asexual_cli.py +69 -0
  613. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_nodecount_ratio_sister_asexual.py +249 -0
  614. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_nodecount_ratio_sister_asexual_cli.py +69 -0
  615. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_subtended_duration_asexual.py +107 -0
  616. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_subtended_duration_asexual_cli.py +69 -0
  617. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_subtended_duration_ratio_sister_asexual.py +135 -0
  618. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_clade_subtended_duration_ratio_sister_asexual_cli.py +69 -0
  619. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_index_asexual.py +672 -0
  620. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_index_asexual_cli.py +79 -0
  621. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_index_corrected_asexual.py +641 -0
  622. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_index_corrected_asexual_cli.py +69 -0
  623. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_like_index_mdm_asexual.py +725 -0
  624. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_like_index_mdm_asexual_cli.py +69 -0
  625. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_like_index_sd_asexual.py +426 -0
  626. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_like_index_sd_asexual_cli.py +69 -0
  627. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_like_index_var_asexual.py +422 -0
  628. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_colless_like_index_var_asexual_cli.py +69 -0
  629. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_is_left_child_asexual.py +163 -0
  630. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_is_left_child_asexual_cli.py +73 -0
  631. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_is_right_child_asexual.py +163 -0
  632. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_is_right_child_asexual_cli.py +69 -0
  633. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_leaves.py +114 -0
  634. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_leaves_cli.py +69 -0
  635. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_leaves_polars.py +313 -0
  636. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_leaves_polars_cli.py +94 -0
  637. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_left_child_asexual.py +163 -0
  638. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_left_child_asexual_cli.py +73 -0
  639. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_max_descendant_origin_time_asexual.py +107 -0
  640. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_max_descendant_origin_time_asexual_cli.py +69 -0
  641. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_node_depth_asexual.py +190 -0
  642. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_node_depth_asexual_cli.py +73 -0
  643. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_node_depth_polars.py +231 -0
  644. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_node_depth_polars_cli.py +92 -0
  645. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_children_asexual.py +120 -0
  646. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_children_asexual_cli.py +73 -0
  647. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_children_polars.py +390 -0
  648. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_children_polars_cli.py +75 -0
  649. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_descendants_asexual.py +120 -0
  650. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_descendants_asexual_cli.py +69 -0
  651. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_leaves_asexual.py +121 -0
  652. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_leaves_asexual_cli.py +73 -0
  653. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_leaves_sibling_asexual.py +188 -0
  654. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_leaves_sibling_asexual_cli.py +69 -0
  655. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_preceding_leaves_asexual.py +247 -0
  656. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_num_preceding_leaves_asexual_cli.py +69 -0
  657. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_oldest_root.py +97 -0
  658. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_oldest_root_cli.py +69 -0
  659. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_origin_time_delta_asexual.py +102 -0
  660. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_origin_time_delta_asexual_cli.py +69 -0
  661. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_ot_mrca_asexual.py +120 -0
  662. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_ot_mrca_asexual_cli.py +73 -0
  663. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_right_child_asexual.py +167 -0
  664. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_right_child_asexual_cli.py +73 -0
  665. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_root_id.py +208 -0
  666. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_root_id_cli.py +69 -0
  667. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_roots.py +135 -0
  668. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_roots_cli.py +69 -0
  669. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_roots_polars.py +306 -0
  670. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_roots_polars_cli.py +75 -0
  671. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_sackin_index_asexual.py +819 -0
  672. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_sackin_index_asexual_cli.py +73 -0
  673. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_sister_asexual.py +163 -0
  674. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mark_sister_asexual_cli.py +73 -0
  675. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mask_descendants_asexual.py +179 -0
  676. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_mask_monomorphic_clades_asexual.py +343 -0
  677. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_parse_ancestor_id.py +25 -0
  678. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_parse_ancestor_ids.py +39 -0
  679. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_prefix_roots.py +285 -0
  680. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_prefix_roots_cli.py +69 -0
  681. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_prefix_roots_polars_cli.py +78 -0
  682. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_prune_extinct_lineages_asexual.py +196 -0
  683. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_prune_extinct_lineages_asexual_cli.py +103 -0
  684. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_prune_extinct_lineages_polars.py +441 -0
  685. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_prune_extinct_lineages_polars_cli.py +123 -0
  686. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_reroot_at_id_asexual.py +102 -0
  687. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_reroot_at_id_asexual_cli.py +81 -0
  688. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_sample_triplet_comparisons_asexual.py +144 -0
  689. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_screen_trait_defined_clades_fisher_asexual.py +235 -0
  690. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_screen_trait_defined_clades_fitch_asexual.py +1119 -0
  691. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_screen_trait_defined_clades_naive_asexual.py +341 -0
  692. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_splay_polytomies.py +339 -0
  693. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_splay_polytomies_cli.py +69 -0
  694. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_sum_origin_time_deltas_asexual.py +74 -0
  695. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_test_leaves_isomorphic_asexual.py +115 -0
  696. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_test_leaves_isomorphic_asexual_cli.py +66 -0
  697. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_to_working_format.py +99 -0
  698. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_to_working_format_cli.py +73 -0
  699. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_topological_sort.py +227 -0
  700. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_topological_sort_cli.py +69 -0
  701. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_try_add_ancestor_id_col.py +69 -0
  702. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_try_add_ancestor_id_col_cli.py +73 -0
  703. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_try_add_ancestor_id_col_polars.py +327 -0
  704. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_try_add_ancestor_id_col_polars_cli.py +69 -0
  705. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_try_add_ancestor_list_col.py +128 -0
  706. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_try_add_ancestor_list_col_cli.py +47 -0
  707. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_try_add_ancestor_list_col_polars.py +447 -0
  708. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_try_add_ancestor_list_col_polars_cli.py +87 -0
  709. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_unfurl_lineage_asexual.py +37 -0
  710. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_unfurl_traversal_inorder_asexual.py +178 -0
  711. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_unfurl_traversal_postorder_asexual.py +136 -0
  712. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_unfurl_traversal_semiorder_asexual.py +195 -0
  713. phyloframe-0.1.0/tests/test_phyloframe/test_legacy/test_alifestd_validate.py +292 -0
  714. phyloframe-0.1.0/tidy/impl/alphabetize_includes.sh +34 -0
  715. phyloframe-0.1.0/tidy/impl/ensure_end_of_file_newlines.sh +14 -0
  716. phyloframe-0.1.0/tidy/impl/generate_boilerplate.sh +4 -0
  717. phyloframe-0.1.0/tidy/impl/generate_boilerplate_headerguards.sh +15 -0
  718. phyloframe-0.1.0/tidy/impl/generate_license_notices.sh +49 -0
  719. phyloframe-0.1.0/tidy/impl/modernize_filename_suffixes.sh +12 -0
  720. phyloframe-0.1.0/tidy/impl/partition_includes.sh +24 -0
  721. phyloframe-0.1.0/tidy/impl/replace_tabs.sh +14 -0
  722. phyloframe-0.1.0/tidy/impl/strip_filename_whitespace.sh +11 -0
  723. phyloframe-0.1.0/tidy/impl/strip_trailing_whitespace.sh +19 -0
  724. phyloframe-0.1.0/tidy/impl/test_type_stubs_up_to_date.py +217 -0
  725. phyloframe-0.1.0/tidy/test_2space_indentation.sh +19 -0
  726. phyloframe-0.1.0/tidy/test_alphabetize_includes.sh +20 -0
  727. phyloframe-0.1.0/tidy/test_boilerplate.sh +20 -0
  728. phyloframe-0.1.0/tidy/test_end_of_file_newlines.sh +21 -0
  729. phyloframe-0.1.0/tidy/test_filename_whitespace.sh +20 -0
  730. phyloframe-0.1.0/tidy/test_lint.sh +7 -0
  731. phyloframe-0.1.0/tidy/test_make_clean.sh +20 -0
  732. phyloframe-0.1.0/tidy/test_merge_conflict_markers.sh +18 -0
  733. phyloframe-0.1.0/tidy/test_modern_suffixes.sh +20 -0
  734. phyloframe-0.1.0/tidy/test_partition_includes.sh +20 -0
  735. phyloframe-0.1.0/tidy/test_tabs.sh +20 -0
  736. phyloframe-0.1.0/tidy/test_tidy.sh +26 -0
  737. phyloframe-0.1.0/tidy/test_trailing_whitespace.sh +17 -0
  738. phyloframe-0.1.0/tidy/test_type_stubs_up_to_date.sh +15 -0
  739. phyloframe-0.1.0/tidy/util/enforce_dependency.sh +20 -0
  740. phyloframe-0.1.0/tidy/util/enforce_git_status.sh +26 -0
  741. phyloframe-0.1.0/tidy/util/enforce_gnu_utils.sh +13 -0
  742. phyloframe-0.1.0/tidy/util/enforce_gnu_version.sh +30 -0
  743. phyloframe-0.1.0/tidy/util/is_gnu_version.sh +28 -0
  744. phyloframe-0.1.0/tidy/util/print_gitignored_files_warning.sh +25 -0
  745. phyloframe-0.1.0/tidy/util/print_nongnu_warning.sh +27 -0
  746. phyloframe-0.1.0/tidy/util/print_uncommitted_changes_warning.sh +23 -0
  747. phyloframe-0.1.0/tox.ini +77 -0
@@ -0,0 +1,17 @@
1
+ # http://editorconfig.org
2
+
3
+ root = true
4
+
5
+ [*]
6
+ indent_style = space
7
+ trim_trailing_whitespace = true
8
+ insert_final_newline = true
9
+ charset = utf-8
10
+ end_of_line = lf
11
+
12
+ [*.bat]
13
+ indent_style = tab
14
+ end_of_line = crlf
15
+
16
+ [Makefile]
17
+ indent_style = tab
@@ -0,0 +1,15 @@
1
+ * phyloframe version:
2
+ * Python version:
3
+ * Operating System:
4
+
5
+ ### Description
6
+
7
+ Describe what you were trying to get done.
8
+ Tell us what happened, what went wrong, and what you expected to happen.
9
+
10
+ ### What I Did
11
+
12
+ ```
13
+ Paste the command(s) you ran and the output.
14
+ If there was a crash, please include the traceback here.
15
+ ```
@@ -0,0 +1,281 @@
1
+ name: ci
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ tags:
8
+ - '*'
9
+ pull_request:
10
+ branches:
11
+ - '*'
12
+ schedule:
13
+ - cron: '0 0 * * 1' # weekly
14
+ workflow_dispatch:
15
+ jobs:
16
+ test:
17
+ runs-on: ubuntu-24.04
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
22
+ subdivision:
23
+ - "test_legacy"
24
+ - "test_auxlib"
25
+
26
+ steps:
27
+ - uses: actions/checkout@v1
28
+ - name: Set up Python ${{ matrix.python-version }}
29
+ uses: actions/setup-python@v2
30
+ with:
31
+ python-version: ${{ matrix.python-version }}
32
+ - name: Install dependencies
33
+ run: |
34
+ python -m pip install --upgrade pip setuptools
35
+ pip install tox tox-gh-actions
36
+ - name: Test with tox
37
+ run: |
38
+ export PHYLOFRAME_TESTS_SUBDIVISION=${{ matrix.subdivision }}
39
+ tox
40
+
41
+ cli-smoke:
42
+ runs-on: ubuntu-24.04
43
+ steps:
44
+ - uses: actions/checkout@v1
45
+ - name: Set up Python 3.10
46
+ uses: actions/setup-python@v2
47
+ with:
48
+ python-version: "3.10"
49
+ - name: Install Python dependencies
50
+ uses: py-actions/py-dependency-install@v4
51
+ with:
52
+ path: "requirements-dev/requirements-testing.txt"
53
+ - name: Run examples
54
+ run: |
55
+ python3 -m phyloframe
56
+ python3 -m phyloframe.legacy._alifestd_as_newick_asexual --help
57
+ python3 -m phyloframe.legacy._alifestd_downsample_tips_asexual --help
58
+ python3 -m phyloframe.legacy._alifestd_try_add_ancestor_list_col --help
59
+
60
+ coverage:
61
+ runs-on: ubuntu-24.04
62
+ strategy:
63
+ fail-fast: false
64
+ matrix:
65
+ subdivision:
66
+ - "test_legacy"
67
+ - "test_auxlib"
68
+ steps:
69
+ - uses: actions/checkout@v1
70
+ - name: Set up Python 3.12
71
+ uses: actions/setup-python@v2
72
+ with:
73
+ python-version: "3.12"
74
+ - name: Install dependencies
75
+ run: |
76
+ python -m pip install --upgrade pip setuptools
77
+ python -m pip install -r requirements-dev/py312/requirements-testing.txt
78
+ - name: Log coverage configuration
79
+ run: coverage debug sys
80
+ - name: Run tests with coverage report
81
+ run: coverage run -m pytest tests/test_phyloframe/${{ matrix.subdivision }}
82
+ - uses: codecov/codecov-action@v4
83
+ with:
84
+ token: ${{ secrets.CODECOV_TOKEN }}
85
+ flags: tests
86
+ fail_ci_if_error: true
87
+ verbose: true
88
+
89
+ tidy:
90
+ runs-on: ubuntu-24.04
91
+ steps:
92
+ - name: Install apt dependencies
93
+ run: sudo apt-get install -y rename
94
+ - uses: actions/checkout@v1
95
+ - name: Set up Python 3.10
96
+ uses: actions/setup-python@v2
97
+ with:
98
+ python-version: "3.10"
99
+ - name: Install dependencies
100
+ run: |
101
+ python -m pip install --upgrade pip setuptools
102
+ python -m pip install -r requirements-dev/py310/requirements-testing.txt
103
+ - name: Test isort tidyness
104
+ uses: jamescurtin/isort-action@master
105
+ with:
106
+ requirementsFiles: "requirements-dev/py310/requirements-testing.txt"
107
+ - name: Test Black tidyness
108
+ uses: psf/black@27d20144a7517594e24a1649451177b2a11284be
109
+ with:
110
+ version: "22.10.0"
111
+ - uses: editorconfig-checker/action-editorconfig-checker@main
112
+ - name: Test editorconfig tidyness
113
+ run: editorconfig-checker
114
+ - name: Test tidy/ tidyness
115
+ run: ./tidy/test_tidy.sh
116
+
117
+ packaging-bdist:
118
+ runs-on: ubuntu-24.04
119
+ steps:
120
+ - name: Checkout
121
+ uses: actions/checkout@v2
122
+ - name: Build bdist
123
+ run: |
124
+ python3 -m venv env
125
+ source env/bin/activate
126
+ python3 -m pip install -r requirements-dev/requirements-release.txt
127
+ python3 setup.py bdist_wheel
128
+ tree dist
129
+ deactivate
130
+ - name: Upgrade pip
131
+ run: python3 -m pip install pip --upgrade
132
+ - name: Install from bdist
133
+ run: python3 -m pip install dist/*.whl
134
+ - name: Test install
135
+ run: |
136
+ find . -type f -name '*.py' -exec rm {} \;
137
+ find . -type f -name '*.pyi' -exec rm {} \;
138
+ python3 -c "import phyloframe; print(phyloframe.__version__)"
139
+
140
+ packaging-sdist:
141
+ runs-on: ubuntu-24.04
142
+ steps:
143
+ - name: Checkout
144
+ uses: actions/checkout@v2
145
+ - name: Build sdist
146
+ run: |
147
+ python3 -m venv env
148
+ source env/bin/activate
149
+ python3 -m pip install -r requirements-dev/requirements-release.txt
150
+ python3 setup.py sdist
151
+ tree dist
152
+ deactivate
153
+ - name: Upgrade pip
154
+ run: python3 -m pip install pip --upgrade
155
+ - name: Install from sdist
156
+ run: python3 -m pip install dist/*.tar.gz
157
+ - name: Test install
158
+ run: |
159
+ find . -type f -name '*.py' -exec rm {} \;
160
+ find . -type f -name '*.pyi' -exec rm {} \;
161
+ python3 -c "import phyloframe; print(phyloframe.__version__)"
162
+
163
+ packaging-source:
164
+ runs-on: ubuntu-24.04
165
+ steps:
166
+ - name: Checkout
167
+ uses: actions/checkout@v2
168
+ - name: Upgrade pip
169
+ run: python3 -m pip install pip --upgrade
170
+ - name: Install from source
171
+ run: python3 -m pip install .
172
+ - name: Test install
173
+ run: |
174
+ rm -rf *
175
+ cd
176
+ python3 -c "import phyloframe; print(phyloframe.__version__)"
177
+
178
+ deploy-ghcr:
179
+ name: Docker Image Deploy
180
+ runs-on: ubuntu-latest
181
+ steps:
182
+ - uses: actions/checkout@v4
183
+ - name: Log in to GitHub Container Registry
184
+ uses: docker/login-action@v3
185
+ with:
186
+ registry: ghcr.io
187
+ username: ${{ github.actor }}
188
+ password: ${{ secrets.GITHUB_TOKEN }}
189
+ - name: Set up Docker Buildx
190
+ uses: docker/setup-buildx-action@v3
191
+ - name: Set Tags
192
+ id: set_tags
193
+ run: |
194
+ if [[ "${GITHUB_REF_NAME}" != *merge ]]; then
195
+ echo "TAGS=ghcr.io/mmore500/phyloframe:latest,ghcr.io/mmore500/phyloframe:${GITHUB_REF_NAME}" >> $GITHUB_ENV
196
+ else
197
+ echo "TAGS=ghcr.io/mmore500/phyloframe:latest" >> $GITHUB_ENV
198
+ fi
199
+ - name: Build and Push to GitHub Container Registry
200
+ uses: docker/build-push-action@v6
201
+ with:
202
+ context: .
203
+ push: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v') }}
204
+ tags: ${{ env.TAGS }}
205
+
206
+ build_sdist:
207
+ name: Build source distribution
208
+ runs-on: ubuntu-latest
209
+ steps:
210
+ - uses: actions/checkout@v4
211
+ - name: Build sdist
212
+ run: pipx run build --sdist
213
+
214
+ - uses: actions/upload-artifact@v4
215
+ with:
216
+ name: cibw-sdist
217
+ path: dist/*.tar.gz
218
+
219
+ deploy-test:
220
+ runs-on: ubuntu-24.04
221
+ steps:
222
+ - uses: actions/checkout@v1
223
+ - name: Set up Python 3.10
224
+ uses: actions/setup-python@v2
225
+ with:
226
+ python-version: "3.10"
227
+ - name: Install dependencies
228
+ run: |
229
+ python -m pip install --upgrade pip
230
+ python -m pip install -r requirements-dev/py310/requirements-release.txt
231
+ - name: Build package
232
+ run: python setup.py egg_info --tag-build=".post${{github.run_number}}" sdist bdist_wheel
233
+ - name: Test publish package
234
+ uses: pypa/gh-action-pypi-publish@release/v1
235
+ with:
236
+ user: __token__
237
+ password: ${{ secrets.TEST_PYPI_API_TOKEN }}
238
+ repository-url: https://test.pypi.org/legacy/
239
+ verbose: true
240
+ - name: Install from test PyPI
241
+ run: |
242
+ rm -rf *
243
+ python3 -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ phyloframe
244
+ - name: Test install
245
+ run: |
246
+ python3 -c "import phyloframe; print(phyloframe.__version__)"
247
+
248
+ deploy:
249
+ if: startsWith(github.ref, 'refs/tags/v')
250
+ needs:
251
+ - build_sdist
252
+ - coverage
253
+ - cli-smoke
254
+ - deploy-test
255
+ - packaging-bdist
256
+ - packaging-sdist
257
+ - packaging-source
258
+ - test
259
+ - tidy
260
+ runs-on: ubuntu-24.04
261
+ steps:
262
+ - uses: actions/checkout@v1
263
+ - name: Set up Python 3.10
264
+ uses: actions/setup-python@v2
265
+ with:
266
+ python-version: "3.10"
267
+ - name: Install dependencies
268
+ run: |
269
+ python -m pip install --upgrade pip setuptools
270
+ python -m pip install -r requirements-dev/py310/requirements-release.txt
271
+ - uses: actions/download-artifact@v4
272
+ with:
273
+ pattern: cibw-*
274
+ path: dist
275
+ merge-multiple: true
276
+ - name: Publish package
277
+ uses: pypa/gh-action-pypi-publish@release/v1
278
+ with:
279
+ user: __token__
280
+ password: ${{ secrets.PYPI_API_TOKEN }}
281
+ verbose: true
@@ -0,0 +1,232 @@
1
+ # documentation
2
+ docs/_autosummary/
3
+ docs/api
4
+ docs/_modules
5
+ docs/_build
6
+ docs/readme.rst
7
+ docs/citing.rst
8
+ docs/projects.rst
9
+ docs/publications.rst
10
+ docs/index.rst
11
+
12
+ joss/paper.pdf
13
+
14
+ # test output
15
+ teeplots/
16
+
17
+ # Created by https://www.toptal.com/developers/gitignore/api/python
18
+ # Edit at https://www.toptal.com/developers/gitignore?templates=python
19
+
20
+ ### Python ###
21
+ # Byte-compiled / optimized / DLL files
22
+ __pycache__/
23
+ *.py[cod]
24
+ *$py.class
25
+
26
+ # C extensions
27
+ *.so
28
+
29
+ # Distribution / packaging
30
+ .Python
31
+ build/
32
+ develop-eggs/
33
+ dist/
34
+ downloads/
35
+ eggs/
36
+ .eggs/
37
+ lib/
38
+ lib64/
39
+ parts/
40
+ sdist/
41
+ var/
42
+ wheels/
43
+ share/python-wheels/
44
+ *.egg-info/
45
+ .installed.cfg
46
+ *.egg
47
+ MANIFEST
48
+
49
+ # PyInstaller
50
+ # Usually these files are written by a python script from a template
51
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
52
+ *.manifest
53
+ *.spec
54
+
55
+ # Installer logs
56
+ pip-log.txt
57
+ pip-delete-this-directory.txt
58
+
59
+ # Unit test / coverage reports
60
+ htmlcov/
61
+ .tox/
62
+ .nox/
63
+ .coverage
64
+ .coverage.*
65
+ .cache
66
+ nosetests.xml
67
+ coverage.xml
68
+ *.cover
69
+ *.py,cover
70
+ .hypothesis/
71
+ .pytest_cache/
72
+ cover/
73
+
74
+ # Translations
75
+ *.mo
76
+ *.pot
77
+
78
+ # Django stuff:
79
+ *.log
80
+ local_settings.py
81
+ db.sqlite3
82
+ db.sqlite3-journal
83
+
84
+ # Flask stuff:
85
+ instance/
86
+ .webassets-cache
87
+
88
+ # Scrapy stuff:
89
+ .scrapy
90
+
91
+ # Sphinx documentation
92
+ docs/_build/
93
+
94
+ # PyBuilder
95
+ .pybuilder/
96
+ target/
97
+
98
+ # Jupyter Notebook
99
+ .ipynb_checkpoints
100
+
101
+ # IPython
102
+ profile_default/
103
+ ipython_config.py
104
+
105
+ # pyenv
106
+ # For a library or package, you might want to ignore these files since the code is
107
+ # intended to run in multiple environments; otherwise, check them in:
108
+ # .python-version
109
+
110
+ # pipenv
111
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
112
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
113
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
114
+ # install all needed dependencies.
115
+ #Pipfile.lock
116
+
117
+ # poetry
118
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
119
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
120
+ # commonly ignored for libraries.
121
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
122
+ #poetry.lock
123
+
124
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
125
+ __pypackages__/
126
+
127
+ # Celery stuff
128
+ celerybeat-schedule
129
+ celerybeat.pid
130
+
131
+ # SageMath parsed files
132
+ *.sage.py
133
+
134
+ # Environments
135
+ .env
136
+ .venv
137
+ env/
138
+ venv/
139
+ ENV/
140
+ env.bak/
141
+ venv.bak/
142
+
143
+ # Spyder project settings
144
+ .spyderproject
145
+ .spyproject
146
+
147
+ # Rope project settings
148
+ .ropeproject
149
+
150
+ # mkdocs documentation
151
+ /site
152
+
153
+ # mypy
154
+ .mypy_cache/
155
+ .dmypy.json
156
+ dmypy.json
157
+
158
+ # Pyre type checker
159
+ .pyre/
160
+
161
+ # pytype static type analyzer
162
+ .pytype/
163
+
164
+ # Cython debug symbols
165
+ cython_debug/
166
+
167
+ # PyCharm
168
+ # JetBrains specific template is maintainted in a separate JetBrains.gitignore that can
169
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
170
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
171
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
172
+ #.idea/
173
+
174
+ # End of https://www.toptal.com/developers/gitignore/api/python
175
+
176
+ # Compiled Object files
177
+ **/.DS_Store
178
+ *.slo
179
+ *.lo
180
+ *.o
181
+ *.obj
182
+
183
+ # Precompiled Headers
184
+ *.gch
185
+ *.pch
186
+
187
+ # Compiled Dynamic libraries
188
+ *.so
189
+ *.dylib
190
+ *.dll
191
+
192
+ # Fortran module files
193
+ *.mod
194
+ *.smod
195
+
196
+ # Compiled Static libraries
197
+ *.lai
198
+ *.la
199
+ *.a
200
+ *.lib
201
+
202
+ # Executables
203
+ *.exe
204
+ *.out
205
+ *.app
206
+
207
+ **/cmake-build-debug
208
+ **/CMakeCache.txt
209
+ **/cmake_install.cmake
210
+ **/install_manifest.txt
211
+ **/CMakeFiles/
212
+ **/CTestTestfile.cmake
213
+ **/Makefile
214
+ **/*.cbp
215
+ **/CMakeScripts
216
+ **/compile_commands.json
217
+
218
+ include/divisible/*
219
+
220
+
221
+ ## Local
222
+
223
+ .idea/*.xml
224
+
225
+ build/**/*
226
+
227
+ include/*
228
+ lib/*
229
+ bin/*
230
+ test/test_runner
231
+
232
+ **/.rendered*.cpp
@@ -0,0 +1,15 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: "ubuntu-22.04"
5
+ apt_packages:
6
+ - pandoc
7
+ tools:
8
+ python: "3.11"
9
+ commands:
10
+ - pip install -r requirements-dev/requirements-docs.txt
11
+ - pip install . --no-deps
12
+ - make -C docs/ html
13
+ - mkdir -p _readthedocs
14
+ - rm -rf _readthedocs/html
15
+ - cp -r docs/_build/html _readthedocs/
@@ -0,0 +1,15 @@
1
+ =======
2
+ Credits
3
+ =======
4
+
5
+ Development Lead
6
+ ----------------
7
+
8
+ * Matthew Andres Moreno <m.more500@gmail.com>
9
+
10
+ Contributors
11
+ ------------
12
+
13
+ * Connor Yang
14
+ * Santiago Rodriguez-Papa
15
+ * Vivaan Singhvi
@@ -0,0 +1,9 @@
1
+ cff-version: 0.1.0
2
+ message: "If you use this software, please cite it as below."
3
+ authors:
4
+ - family-names: Moreno
5
+ given-names: Matthew Andres
6
+ orcid: https://orcid.org/0000-0003-4726-4479
7
+ title: "phyloframe"
8
+ version: 0.1.0
9
+ url: "https://github.com/mmore500/phyloframe"