phykit 2.1.81__tar.gz → 2.1.83__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.81 → phykit-2.1.83}/PKG-INFO +1 -1
- {phykit-2.1.81 → phykit-2.1.83}/phykit/cli_registry.py +6 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/phykit.py +144 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/service_factories.py +2 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/__init__.py +2 -0
- phykit-2.1.83/phykit/services/tree/phylo_path.py +821 -0
- phykit-2.1.83/phykit/services/tree/simmap_summary.py +604 -0
- phykit-2.1.83/phykit/version.py +1 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit.egg-info/PKG-INFO +1 -1
- {phykit-2.1.81 → phykit-2.1.83}/phykit.egg-info/SOURCES.txt +2 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit.egg-info/entry_points.txt +6 -0
- {phykit-2.1.81 → phykit-2.1.83}/setup.py +6 -0
- phykit-2.1.81/phykit/version.py +0 -1
- {phykit-2.1.81 → phykit-2.1.83}/LICENSE.md +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/README.md +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/__init__.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/__main__.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/errors.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/__init__.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/boolean_argument_parsing.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/caching.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/circular_layout.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/color_annotations.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/discrete_models.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/files.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/json_output.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/parallel.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/parsimony_utils.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/plot_config.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/quartet_utils.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/stats_summary.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/helpers/streaming.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/__init__.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/__init__.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/alignment_entropy.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/alignment_length.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/alignment_length_no_gaps.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/alignment_outlier_taxa.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/alignment_recoding.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/alignment_subsample.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/base.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/column_score.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/composition_per_taxon.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/compositional_bias_per_site.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/create_concatenation_matrix.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/dfoil.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/dna_threader.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/dstatistic.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/evolutionary_rate_per_site.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/faidx.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/gc_content.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/identity_matrix.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/mask_alignment.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/occupancy_per_taxon.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/pairwise_identity.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/parsimony_informative_sites.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/phylo_gwas.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/plot_alignment_qc.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/rcv.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/rcvt.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/rename_fasta_entries.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/sum_of_pairs_score.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/taxon_groups.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/alignment/variable_sites.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/base.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/ancestral_reconstruction.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/base.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/bipartition_support_stats.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/branch_length_multiplier.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/character_map.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/collapse_branches.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/concordance_asr.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/consensus_network.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/consensus_tree.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/cont_map.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/cophylo.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/covarying_evolutionary_rates.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/density_map.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/discordance_asymmetry.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/dvmc.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/evo_tempo_map.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/evolutionary_rate.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/fit_continuous.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/fit_discrete.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/hidden_paralogy_check.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/hybridization.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/independent_contrasts.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/internal_branch_stats.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/internode_labeler.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/kf_distance.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/last_common_ancestor_subtree.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/lb_score.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/ltt.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/monophyly_check.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/nearest_neighbor_interchange.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/neighbor_net.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/network_signal.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/ou_shift_detection.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/ouwie.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/parsimony_score.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/patristic_distances.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phenogram.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylo_anova.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylo_heatmap.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylo_impute.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylo_logistic.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylogenetic_glm.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylogenetic_ordination.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylogenetic_regression.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylogenetic_signal.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/phylomorphospace.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/polytomy_test.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/print_tree.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/prune_tree.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/quartet_network.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/quartet_pie.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/rate_heterogeneity.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/relative_rate_test.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/rename_tree_tips.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/rf_distance.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/root_tree.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/saturation.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/spectral_discordance.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/spr.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/spurious_sequence.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/stochastic_character_map.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/terminal_branch_stats.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/threshold_model.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/tip_labels.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/tip_to_tip_distance.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/tip_to_tip_node_distance.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/total_tree_length.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/trait_correlation.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/trait_rate_map.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/tree_space.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/treeness.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/treeness_over_rcv.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit/services/tree/vcv_utils.py +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit.egg-info/dependency_links.txt +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit.egg-info/requires.txt +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/phykit.egg-info/top_level.txt +0 -0
- {phykit-2.1.81 → phykit-2.1.83}/setup.cfg +0 -0
|
@@ -55,6 +55,9 @@ ALIAS_TO_HANDLER: Dict[str, str] = {
|
|
|
55
55
|
"sum_of_pairs_score": "sum_of_pairs_score",
|
|
56
56
|
"sops": "sum_of_pairs_score",
|
|
57
57
|
"sop": "sum_of_pairs_score",
|
|
58
|
+
"phylo_path": "phylo_path",
|
|
59
|
+
"ppath": "phylo_path",
|
|
60
|
+
"phylopath": "phylo_path",
|
|
58
61
|
"phylo_anova": "phylo_anova",
|
|
59
62
|
"panova": "phylo_anova",
|
|
60
63
|
"phylo_manova": "phylo_anova",
|
|
@@ -118,6 +121,9 @@ ALIAS_TO_HANDLER: Dict[str, str] = {
|
|
|
118
121
|
"casr": "concordance_asr",
|
|
119
122
|
"simmap": "stochastic_character_map",
|
|
120
123
|
"scm": "stochastic_character_map",
|
|
124
|
+
"simmap_summary": "simmap_summary",
|
|
125
|
+
"smsummary": "simmap_summary",
|
|
126
|
+
"describe_simmap": "simmap_summary",
|
|
121
127
|
"contmap": "cont_map",
|
|
122
128
|
"cmap": "cont_map",
|
|
123
129
|
"densitymap": "density_map",
|
|
@@ -250,10 +250,14 @@ class Phykit:
|
|
|
250
250
|
- fit phylogenetic GLM for binary (logistic) or count (Poisson) data
|
|
251
251
|
phylo_anova (alias: panova; phylo_manova; pmanova)
|
|
252
252
|
- phylogenetic ANOVA / MANOVA using RRPP (Adams & Collyer 2018)
|
|
253
|
+
phylo_path (alias: ppath; phylopath)
|
|
254
|
+
- phylogenetic path analysis (von Hardenberg & Gonzalez-Voyer 2013)
|
|
253
255
|
phylo_logistic (alias: phylo_logreg; plogreg)
|
|
254
256
|
- fit phylogenetic logistic regression (Ives & Garland 2010)
|
|
255
257
|
stochastic_character_map (alias: simmap; scm)
|
|
256
258
|
- stochastic character mapping (SIMMAP) of discrete traits
|
|
259
|
+
simmap_summary (alias: smsummary; describe_simmap)
|
|
260
|
+
- per-branch SIMMAP summary with node posteriors
|
|
257
261
|
cont_map (alias: contmap; cmap)
|
|
258
262
|
- continuous trait map (contMap) visualization on a phylogeny
|
|
259
263
|
trait_rate_map (alias: rate_map; branch_rates)
|
|
@@ -2087,6 +2091,65 @@ class Phykit:
|
|
|
2087
2091
|
_add_json_argument(parser)
|
|
2088
2092
|
_run_service(parser, argv, PhyloAnova)
|
|
2089
2093
|
|
|
2094
|
+
@staticmethod
|
|
2095
|
+
def phylo_path(argv):
|
|
2096
|
+
parser = _new_parser(
|
|
2097
|
+
description=textwrap.dedent(
|
|
2098
|
+
f"""\
|
|
2099
|
+
{help_header}
|
|
2100
|
+
|
|
2101
|
+
Phylogenetic path analysis (von Hardenberg & Gonzalez-Voyer
|
|
2102
|
+
2013). Compare competing causal DAGs using d-separation
|
|
2103
|
+
tests via PGLS with Pagel's lambda, rank models by CICc,
|
|
2104
|
+
and estimate model-averaged path coefficients.
|
|
2105
|
+
|
|
2106
|
+
Aliases:
|
|
2107
|
+
phylo_path, ppath, phylopath
|
|
2108
|
+
Command line interfaces:
|
|
2109
|
+
pk_phylo_path, pk_ppath, pk_phylopath
|
|
2110
|
+
|
|
2111
|
+
Usage:
|
|
2112
|
+
phykit phylo_path -t <tree> --traits <traits_file>
|
|
2113
|
+
--models <models_file> [--best-only]
|
|
2114
|
+
[--plot-output <file>] [--csv <file>] [--json]
|
|
2115
|
+
|
|
2116
|
+
Options
|
|
2117
|
+
=====================================================
|
|
2118
|
+
-t/--tree species tree (required)
|
|
2119
|
+
|
|
2120
|
+
--traits TSV file with taxon and
|
|
2121
|
+
continuous trait columns
|
|
2122
|
+
(required)
|
|
2123
|
+
|
|
2124
|
+
--models model definition file
|
|
2125
|
+
with candidate DAGs
|
|
2126
|
+
(required). Format:
|
|
2127
|
+
name: A->B, B->C, ...
|
|
2128
|
+
|
|
2129
|
+
--best-only report only best model
|
|
2130
|
+
coefficients (default:
|
|
2131
|
+
model averaging)
|
|
2132
|
+
|
|
2133
|
+
--plot-output output DAG plot file
|
|
2134
|
+
|
|
2135
|
+
--csv output CSV with model
|
|
2136
|
+
comparison and path
|
|
2137
|
+
coefficients
|
|
2138
|
+
|
|
2139
|
+
--json output results as JSON
|
|
2140
|
+
"""
|
|
2141
|
+
),
|
|
2142
|
+
)
|
|
2143
|
+
parser.add_argument("-t", "--tree", type=str, required=True, help=SUPPRESS, metavar="")
|
|
2144
|
+
parser.add_argument("--traits", type=str, required=True, help=SUPPRESS, metavar="")
|
|
2145
|
+
parser.add_argument("--models", type=str, required=True, help=SUPPRESS, metavar="")
|
|
2146
|
+
parser.add_argument("--best-only", action="store_true", help=SUPPRESS)
|
|
2147
|
+
parser.add_argument("--plot-output", type=str, default=None, help=SUPPRESS, metavar="")
|
|
2148
|
+
parser.add_argument("--csv", type=str, default=None, help=SUPPRESS, metavar="")
|
|
2149
|
+
add_plot_arguments(parser)
|
|
2150
|
+
_add_json_argument(parser)
|
|
2151
|
+
_run_service(parser, argv, PhyloPath)
|
|
2152
|
+
|
|
2090
2153
|
@staticmethod
|
|
2091
2154
|
def alignment_subsample(argv):
|
|
2092
2155
|
parser = _new_parser(
|
|
@@ -4796,6 +4859,79 @@ class Phykit:
|
|
|
4796
4859
|
_add_json_argument(parser)
|
|
4797
4860
|
_run_service(parser, argv, StochasticCharacterMap)
|
|
4798
4861
|
|
|
4862
|
+
@staticmethod
|
|
4863
|
+
def simmap_summary(argv):
|
|
4864
|
+
parser = _new_parser(
|
|
4865
|
+
description=textwrap.dedent(
|
|
4866
|
+
f"""\
|
|
4867
|
+
{help_header}
|
|
4868
|
+
|
|
4869
|
+
Run N stochastic character maps and summarize per-branch
|
|
4870
|
+
dwelling time proportions, expected transitions, and
|
|
4871
|
+
posterior state probabilities at each node.
|
|
4872
|
+
|
|
4873
|
+
This extends stochastic_character_map by providing a
|
|
4874
|
+
detailed per-branch summary analogous to
|
|
4875
|
+
phytools::describe.simmap() in R.
|
|
4876
|
+
|
|
4877
|
+
Aliases:
|
|
4878
|
+
simmap_summary, smsummary, describe_simmap
|
|
4879
|
+
Command line interfaces:
|
|
4880
|
+
pk_simmap_summary, pk_smsummary, pk_describe_simmap
|
|
4881
|
+
|
|
4882
|
+
Usage:
|
|
4883
|
+
phykit simmap_summary -t <tree> -d <trait_data> -c <trait>
|
|
4884
|
+
[-m/--model ER|SYM|ARD] [-n/--nsim <int>]
|
|
4885
|
+
[--seed <int>] [--plot <file>] [--csv <file>] [--json]
|
|
4886
|
+
|
|
4887
|
+
Options
|
|
4888
|
+
=====================================================
|
|
4889
|
+
-t/--tree phylogenetic tree file
|
|
4890
|
+
(required)
|
|
4891
|
+
|
|
4892
|
+
-d/--trait_data tab-delimited trait file
|
|
4893
|
+
with header row (required)
|
|
4894
|
+
|
|
4895
|
+
-c/--trait column name for the
|
|
4896
|
+
discrete character trait
|
|
4897
|
+
(required)
|
|
4898
|
+
|
|
4899
|
+
-m/--model substitution model: ER
|
|
4900
|
+
(equal rates), SYM
|
|
4901
|
+
(symmetric), or ARD (all
|
|
4902
|
+
rates different). Default: ER
|
|
4903
|
+
|
|
4904
|
+
-n/--nsim number of stochastic maps
|
|
4905
|
+
to simulate (default: 100)
|
|
4906
|
+
|
|
4907
|
+
--seed random seed for
|
|
4908
|
+
reproducibility
|
|
4909
|
+
|
|
4910
|
+
--plot output plot file showing
|
|
4911
|
+
tree with posterior pie
|
|
4912
|
+
charts at nodes
|
|
4913
|
+
|
|
4914
|
+
--csv output CSV file with
|
|
4915
|
+
per-branch dwelling
|
|
4916
|
+
proportions and node
|
|
4917
|
+
posteriors
|
|
4918
|
+
|
|
4919
|
+
--json output results as JSON
|
|
4920
|
+
"""
|
|
4921
|
+
),
|
|
4922
|
+
)
|
|
4923
|
+
parser.add_argument("-t", "--tree", type=str, required=True, help=SUPPRESS, metavar="")
|
|
4924
|
+
parser.add_argument("-d", "--trait_data", type=str, required=True, help=SUPPRESS, metavar="")
|
|
4925
|
+
parser.add_argument("-c", "--trait", type=str, required=True, help=SUPPRESS, metavar="")
|
|
4926
|
+
parser.add_argument("-m", "--model", type=str, required=False, default="ER", help=SUPPRESS, metavar="")
|
|
4927
|
+
parser.add_argument("-n", "--nsim", type=int, required=False, default=100, help=SUPPRESS, metavar="")
|
|
4928
|
+
parser.add_argument("--seed", type=int, required=False, default=None, help=SUPPRESS, metavar="")
|
|
4929
|
+
parser.add_argument("--plot", type=str, required=False, default=None, help=SUPPRESS, metavar="")
|
|
4930
|
+
parser.add_argument("--csv", type=str, required=False, default=None, help=SUPPRESS, metavar="")
|
|
4931
|
+
add_plot_arguments(parser)
|
|
4932
|
+
_add_json_argument(parser)
|
|
4933
|
+
_run_service(parser, argv, SimmapSummary)
|
|
4934
|
+
|
|
4799
4935
|
@staticmethod
|
|
4800
4936
|
def cont_map(argv):
|
|
4801
4937
|
parser = _new_parser(
|
|
@@ -8772,6 +8908,10 @@ def phylo_anova(argv=None):
|
|
|
8772
8908
|
Phykit.phylo_anova(sys.argv[1:])
|
|
8773
8909
|
|
|
8774
8910
|
|
|
8911
|
+
def phylo_path(argv=None):
|
|
8912
|
+
Phykit.phylo_path(sys.argv[1:])
|
|
8913
|
+
|
|
8914
|
+
|
|
8775
8915
|
def dfoil(argv=None):
|
|
8776
8916
|
Phykit.dfoil(sys.argv[1:])
|
|
8777
8917
|
|
|
@@ -8897,6 +9037,10 @@ def stochastic_character_map(argv=None):
|
|
|
8897
9037
|
Phykit.stochastic_character_map(sys.argv[1:])
|
|
8898
9038
|
|
|
8899
9039
|
|
|
9040
|
+
def simmap_summary(argv=None):
|
|
9041
|
+
Phykit.simmap_summary(sys.argv[1:])
|
|
9042
|
+
|
|
9043
|
+
|
|
8900
9044
|
def cont_map(argv=None):
|
|
8901
9045
|
Phykit.cont_map(sys.argv[1:])
|
|
8902
9046
|
|
|
@@ -45,6 +45,7 @@ RelativeCompositionVariabilityTaxon = _LazyServiceFactory("phykit.services.align
|
|
|
45
45
|
RenameFastaEntries = _LazyServiceFactory("phykit.services.alignment.rename_fasta_entries", "RenameFastaEntries")
|
|
46
46
|
SumOfPairsScore = _LazyServiceFactory("phykit.services.alignment.sum_of_pairs_score", "SumOfPairsScore")
|
|
47
47
|
PhyloAnova = _LazyServiceFactory("phykit.services.tree.phylo_anova", "PhyloAnova")
|
|
48
|
+
PhyloPath = _LazyServiceFactory("phykit.services.tree.phylo_path", "PhyloPath")
|
|
48
49
|
PhyloGwas = _LazyServiceFactory("phykit.services.alignment.phylo_gwas", "PhyloGwas")
|
|
49
50
|
TaxonGroups = _LazyServiceFactory("phykit.services.alignment.taxon_groups", "TaxonGroups")
|
|
50
51
|
VariableSites = _LazyServiceFactory("phykit.services.alignment.variable_sites", "VariableSites")
|
|
@@ -76,6 +77,7 @@ Phylomorphospace = _LazyServiceFactory("phykit.services.tree.phylomorphospace",
|
|
|
76
77
|
PhylogeneticRegression = _LazyServiceFactory("phykit.services.tree.phylogenetic_regression", "PhylogeneticRegression")
|
|
77
78
|
PhylogeneticGLM = _LazyServiceFactory("phykit.services.tree.phylogenetic_glm", "PhylogeneticGLM")
|
|
78
79
|
PhyloLogistic = _LazyServiceFactory("phykit.services.tree.phylo_logistic", "PhyloLogistic")
|
|
80
|
+
SimmapSummary = _LazyServiceFactory("phykit.services.tree.simmap_summary", "SimmapSummary")
|
|
79
81
|
StochasticCharacterMap = _LazyServiceFactory("phykit.services.tree.stochastic_character_map", "StochasticCharacterMap")
|
|
80
82
|
ContMap = _LazyServiceFactory("phykit.services.tree.cont_map", "ContMap")
|
|
81
83
|
DensityMap = _LazyServiceFactory("phykit.services.tree.density_map", "DensityMap")
|
|
@@ -40,6 +40,7 @@ _EXPORTS = {
|
|
|
40
40
|
"RobinsonFouldsDistance": "rf_distance",
|
|
41
41
|
"RootTree": "root_tree",
|
|
42
42
|
"Saturation": "saturation",
|
|
43
|
+
"SimmapSummary": "simmap_summary",
|
|
43
44
|
"Spr": "spr",
|
|
44
45
|
"SpuriousSequence": "spurious_sequence",
|
|
45
46
|
"TerminalBranchStats": "terminal_branch_stats",
|
|
@@ -53,6 +54,7 @@ _EXPORTS = {
|
|
|
53
54
|
"ConcordanceAsr": "concordance_asr",
|
|
54
55
|
"PhyloLogistic": "phylo_logistic",
|
|
55
56
|
"PhyloAnova": "phylo_anova",
|
|
57
|
+
"PhyloPath": "phylo_path",
|
|
56
58
|
"PhyloImpute": "phylo_impute",
|
|
57
59
|
"TraitCorrelation": "trait_correlation",
|
|
58
60
|
"TraitRateMap": "trait_rate_map",
|