phykit 2.1.89__tar.gz → 2.1.90__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.
- {phykit-2.1.89 → phykit-2.1.90}/PKG-INFO +1 -1
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/transfer_annotations.py +8 -0
- phykit-2.1.90/phykit/version.py +1 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit.egg-info/PKG-INFO +1 -1
- phykit-2.1.89/phykit/version.py +0 -1
- {phykit-2.1.89 → phykit-2.1.90}/LICENSE.md +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/README.md +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/__init__.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/__main__.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/cli_registry.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/errors.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/__init__.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/boolean_argument_parsing.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/caching.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/circular_layout.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/color_annotations.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/discrete_models.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/files.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/geological_timescale.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/json_output.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/parallel.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/parsimony_utils.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/pgls_utils.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/plot_config.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/quartet_utils.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/stats_summary.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/streaming.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/helpers/trait_parsing.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/phykit.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/service_factories.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/__init__.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/__init__.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/alignment_entropy.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/alignment_length.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/alignment_length_no_gaps.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/alignment_outlier_taxa.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/alignment_recoding.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/alignment_subsample.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/base.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/column_score.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/composition_per_taxon.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/compositional_bias_per_site.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/create_concatenation_matrix.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/dfoil.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/dna_threader.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/dstatistic.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/evolutionary_rate_per_site.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/faidx.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/gc_content.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/identity_matrix.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/mask_alignment.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/occupancy_filter.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/occupancy_per_taxon.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/pairwise_identity.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/parsimony_informative_sites.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/phylo_gwas.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/plot_alignment_qc.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/rcv.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/rcvt.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/rename_fasta_entries.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/sum_of_pairs_score.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/taxon_groups.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/alignment/variable_sites.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/base.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/__init__.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/ancestral_reconstruction.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/base.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/bipartition_support_stats.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/branch_length_multiplier.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/character_map.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/chronogram.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/collapse_branches.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/concordance_asr.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/consensus_network.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/consensus_tree.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/cont_map.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/cophylo.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/covarying_evolutionary_rates.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/density_map.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/discordance_asymmetry.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/dtt.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/dvmc.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/evo_tempo_map.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/evolutionary_rate.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/fit_continuous.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/fit_discrete.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/hidden_paralogy_check.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/hybridization.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/independent_contrasts.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/internal_branch_stats.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/internode_labeler.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/kf_distance.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/last_common_ancestor_subtree.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/lb_score.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/ltt.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/monophyly_check.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/nearest_neighbor_interchange.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/neighbor_net.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/network_signal.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/ou_shift_detection.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/ouwie.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/parsimony_score.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/patristic_distances.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phenogram.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylo_anova.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylo_heatmap.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylo_impute.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylo_logistic.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylo_path.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylogenetic_glm.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylogenetic_ordination.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylogenetic_regression.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylogenetic_signal.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/phylomorphospace.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/polytomy_test.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/print_tree.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/prune_tree.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/quartet_network.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/quartet_pie.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/rate_heterogeneity.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/relative_rate_test.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/rename_tree_tips.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/rf_distance.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/root_tree.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/saturation.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/simmap_summary.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/spectral_discordance.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/spr.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/spurious_sequence.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/stochastic_character_map.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/terminal_branch_stats.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/threshold_model.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/tip_labels.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/tip_to_tip_distance.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/tip_to_tip_node_distance.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/total_tree_length.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/trait_correlation.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/trait_rate_map.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/tree_space.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/treeness.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/treeness_over_rcv.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit/services/tree/vcv_utils.py +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit.egg-info/SOURCES.txt +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit.egg-info/dependency_links.txt +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit.egg-info/entry_points.txt +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit.egg-info/requires.txt +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/phykit.egg-info/top_level.txt +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/setup.cfg +0 -0
- {phykit-2.1.89 → phykit-2.1.90}/setup.py +0 -0
|
@@ -114,6 +114,12 @@ class TransferAnnotations(Tree):
|
|
|
114
114
|
annotation = clade.comment or clade.name or ""
|
|
115
115
|
if not annotation:
|
|
116
116
|
continue
|
|
117
|
+
# wASTRAL --support 3 wraps annotations as '[key=val;...]'
|
|
118
|
+
# which BioPython parses as a quoted node name including the
|
|
119
|
+
# brackets. Strip them so BioPython's comment writer can
|
|
120
|
+
# re-add proper brackets on output.
|
|
121
|
+
if annotation.startswith("[") and annotation.endswith("]"):
|
|
122
|
+
annotation = annotation[1:-1]
|
|
117
123
|
bp = self._get_bipartition(clade, all_taxa)
|
|
118
124
|
if bp:
|
|
119
125
|
annotations[bp] = annotation
|
|
@@ -149,6 +155,8 @@ class TransferAnnotations(Tree):
|
|
|
149
155
|
content = f.read()
|
|
150
156
|
# Remove the & prefix that BioPython adds
|
|
151
157
|
content = content.replace("[&", "[")
|
|
158
|
+
# BioPython may also backslash-escape brackets inside comments
|
|
159
|
+
content = content.replace("\\[", "[").replace("\\]", "]")
|
|
152
160
|
with open(output_path, "w") as f:
|
|
153
161
|
f.write(content)
|
|
154
162
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.1.90"
|
phykit-2.1.89/phykit/version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.1.89"
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|