.dockerignore
.gitignore
.pre-commit-config.yaml
.zenodo.json
AGENTS.md
AGENTS_CN.md
CHANGELOG.md
CHANGELOG_CN.md
CITATION.cff
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT_CN.md
CONTRIBUTING.md
Dockerfile
GOVERNANCE.md
GOVERNANCE_CN.md
LICENSE
NOTICE
README.md
README_CN.md
RELEASE.md
config.example.yaml
environment.yml
mkdocs.yml
pyproject.toml
.github/PULL_REQUEST_TEMPLATE.md
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/feature_request.md
.github/workflows/ci.yml
.github/workflows/docs.yml
.github/workflows/publish.yml
benchmarks/_bench_utils.py
benchmarks/benchmark_accuracy_simulation.py
benchmarks/benchmark_api.py
benchmarks/benchmark_itol_acceptance.py
benchmarks/benchmark_monophyly_comparison.py
benchmarks/benchmark_pyiTOL_extreme.py
benchmarks/benchmark_scalability.py
benchmarks/extreme_scale_results.json
benchmarks/generate_synthetic_case.py
benchmarks/monophyly_comparison_results.json
benchmarks/plot_monophyly_comparison.py
benchmarks/render_large_tree_figure.py
benchmarks/template_scalability_results.json
benchmarks/watch_itol_project.py
benchmarks/accuracy_results/accuracy_summary.json
benchmarks/accuracy_results/balanced_n2048_seed0/result.csv
benchmarks/accuracy_results/balanced_n2048_seed0/taxonomy.csv
benchmarks/accuracy_results/balanced_n2048_seed0/tree.nwk
benchmarks/accuracy_results/balanced_n2048_seed1/result.csv
benchmarks/accuracy_results/balanced_n2048_seed1/taxonomy.csv
benchmarks/accuracy_results/balanced_n2048_seed1/tree.nwk
benchmarks/accuracy_results/balanced_n2048_seed2/result.csv
benchmarks/accuracy_results/balanced_n2048_seed2/taxonomy.csv
benchmarks/accuracy_results/balanced_n2048_seed2/tree.nwk
benchmarks/accuracy_results/balanced_n2048_seed3/result.csv
benchmarks/accuracy_results/balanced_n2048_seed3/taxonomy.csv
benchmarks/accuracy_results/balanced_n2048_seed3/tree.nwk
benchmarks/accuracy_results/balanced_n2048_seed4/result.csv
benchmarks/accuracy_results/balanced_n2048_seed4/taxonomy.csv
benchmarks/accuracy_results/balanced_n2048_seed4/tree.nwk
benchmarks/accuracy_results/balanced_n8192_seed0/result.csv
benchmarks/accuracy_results/balanced_n8192_seed0/taxonomy.csv
benchmarks/accuracy_results/balanced_n8192_seed0/tree.nwk
benchmarks/accuracy_results/balanced_n8192_seed1/result.csv
benchmarks/accuracy_results/balanced_n8192_seed1/taxonomy.csv
benchmarks/accuracy_results/balanced_n8192_seed1/tree.nwk
benchmarks/accuracy_results/balanced_n8192_seed2/result.csv
benchmarks/accuracy_results/balanced_n8192_seed2/taxonomy.csv
benchmarks/accuracy_results/balanced_n8192_seed2/tree.nwk
benchmarks/accuracy_results/balanced_n8192_seed3/result.csv
benchmarks/accuracy_results/balanced_n8192_seed3/taxonomy.csv
benchmarks/accuracy_results/balanced_n8192_seed3/tree.nwk
benchmarks/accuracy_results/balanced_n8192_seed4/result.csv
benchmarks/accuracy_results/balanced_n8192_seed4/taxonomy.csv
benchmarks/accuracy_results/balanced_n8192_seed4/tree.nwk
benchmarks/accuracy_results/random_n2048_seed0/result.csv
benchmarks/accuracy_results/random_n2048_seed0/taxonomy.csv
benchmarks/accuracy_results/random_n2048_seed0/tree.nwk
benchmarks/accuracy_results/random_n2048_seed1/result.csv
benchmarks/accuracy_results/random_n2048_seed1/taxonomy.csv
benchmarks/accuracy_results/random_n2048_seed1/tree.nwk
benchmarks/accuracy_results/random_n2048_seed2/result.csv
benchmarks/accuracy_results/random_n2048_seed2/taxonomy.csv
benchmarks/accuracy_results/random_n2048_seed2/tree.nwk
benchmarks/accuracy_results/random_n4096_seed0/result.csv
benchmarks/accuracy_results/random_n4096_seed0/taxonomy.csv
benchmarks/accuracy_results/random_n4096_seed0/tree.nwk
benchmarks/accuracy_results/random_n4096_seed1/result.csv
benchmarks/accuracy_results/random_n4096_seed1/taxonomy.csv
benchmarks/accuracy_results/random_n4096_seed1/tree.nwk
benchmarks/accuracy_results/random_n4096_seed2/result.csv
benchmarks/accuracy_results/random_n4096_seed2/taxonomy.csv
benchmarks/accuracy_results/random_n4096_seed2/tree.nwk
benchmarks/data/FigTree_withLACA_CLK_95CI.tree.recover
benchmarks/data/laca_monophyly_class_strict.csv
benchmarks/data/laca_monophyly_domain_strict.csv
benchmarks/data/laca_monophyly_family_strict.csv
benchmarks/data/laca_monophyly_genus_strict.csv
benchmarks/data/laca_monophyly_order_strict.csv
benchmarks/data/laca_monophyly_phylum_strict.csv
benchmarks/data/laca_tree_taxonomy.csv
benchmarks/itol_acceptance/acceptance_results.json
benchmarks/itol_acceptance/acceptance_test.tree
benchmarks/itol_acceptance/alignment.txt
benchmarks/itol_acceptance/arrows.txt
benchmarks/itol_acceptance/binary.txt
benchmarks/itol_acceptance/boxplot.txt
benchmarks/itol_acceptance/branch.txt
benchmarks/itol_acceptance/collapse.txt
benchmarks/itol_acceptance/color_strip.txt
benchmarks/itol_acceptance/connection.txt
benchmarks/itol_acceptance/domains.txt
benchmarks/itol_acceptance/externalshape.txt
benchmarks/itol_acceptance/gradient.txt
benchmarks/itol_acceptance/heatmap.txt
benchmarks/itol_acceptance/image.txt
benchmarks/itol_acceptance/labels.txt
benchmarks/itol_acceptance/leaf.png
benchmarks/itol_acceptance/linechart.txt
benchmarks/itol_acceptance/manual.txt
benchmarks/itol_acceptance/meme.txt
benchmarks/itol_acceptance/multi_bar.txt
benchmarks/itol_acceptance/pie.txt
benchmarks/itol_acceptance/placement.txt
benchmarks/itol_acceptance/popup_info.txt
benchmarks/itol_acceptance/prune.txt
benchmarks/itol_acceptance/range.txt
benchmarks/itol_acceptance/simple_bar.txt
benchmarks/itol_acceptance/spacing.txt
benchmarks/itol_acceptance/style.txt
benchmarks/itol_acceptance/symbol.txt
benchmarks/itol_acceptance/tanglegram.txt
benchmarks/itol_acceptance/text.txt
benchmarks/itol_acceptance/timescale.txt
benchmarks/itol_acceptance/treestyle.txt
data/gtdb_r232/ar53_r232.tree
data/gtdb_r232/ar53_r232_genera.txt
data/gtdb_r232/ar53_r232_monophyly_genus.csv
data/gtdb_r232/ar53_r232_phylum_strip.txt
data/gtdb_r232/ar53_r232_taxonomy.csv
data/gtdb_r232/bac120_r232.tree
data/gtdb_r232/bac120_r232_genera.txt
data/gtdb_r232/bac120_r232_monophyly_genus.csv
data/gtdb_r232/bac120_r232_phylum_strip.txt
data/gtdb_r232/bac120_r232_taxonomy.csv
docs/api.md
docs/api_en.md
docs/cli.md
docs/cli_en.md
docs/contributing.md
docs/contributing_en.md
docs/error_codes.md
docs/error_codes_en.md
docs/index.md
docs/index_en.md
docs/templates-reference.md
docs/templates-reference_en.md
docs/troubleshooting.md
docs/troubleshooting_en.md
docs/tutorials/quickstart.md
docs/tutorials/quickstart_en.md
docs/tutorials/taxonomy.md
docs/tutorials/taxonomy_en.md
docs/tutorials/templates.md
docs/tutorials/templates_en.md
examples/README.md
examples/README_EN.md
examples/api_demos/01_basic_upload.py
examples/api_demos/02_multi_dataset_publication.py
examples/api_demos/03_advanced_api_operations.py
examples/api_demos/04_batch_format_export.py
examples/data/synthetic_130tips.nwk
examples/data/synthetic_130tips_amr.csv
examples/data/synthetic_130tips_auto_taxonomy.csv
examples/data/synthetic_130tips_enriched.csv
examples/data/synthetic_130tips_taxonomy.csv
examples/data/synthetic_32tips.nwk
examples/data/synthetic_32tips_auto_taxonomy.csv
examples/data/synthetic_32tips_enriched.csv
examples/data/synthetic_32tips_taxonomy.csv
examples/data/synthetic_4096tips.nwk
examples/data/synthetic_4096tips_taxonomy.csv
examples/data/synthetic_4096tips_traits.csv
examples/data/synthetic_5000tips.nwk
examples/data/synthetic_5000tips_taxonomy.csv
examples/data/synthetic_5000tips_traits.csv
examples/template_demos/01_generate_all_template_types.py
examples/template_demos/02_batch_upload_existing_templates.py
examples/template_demos/03_publication_quality_figure.py
examples/template_demos/04_cli_workflow.py
examples/template_demos/05_reverse_learn_template.py
notebooks/01_16s_rrna_annotation.ipynb
notebooks/02_virus_monophyly.ipynb
notebooks/03_batch_workflow.ipynb
scripts/cross_validate_laca.py
scripts/extract_figtree_taxonomy.py
scripts/extract_gtdb_taxonomy.py
src/pyitol/__init__.py
src/pyitol/__main__.py
src/pyitol/_version.py
src/pyitol/exceptions.py
src/pyitol/py.typed
src/pyitol.egg-info/PKG-INFO
src/pyitol.egg-info/SOURCES.txt
src/pyitol.egg-info/dependency_links.txt
src/pyitol.egg-info/entry_points.txt
src/pyitol.egg-info/requires.txt
src/pyitol.egg-info/scm_file_list.json
src/pyitol.egg-info/scm_version.json
src/pyitol.egg-info/top_level.txt
src/pyitol/api/__init__.py
src/pyitol/api/client.py
src/pyitol/cli/__init__.py
src/pyitol/cli/apps.py
src/pyitol/cli/common.py
src/pyitol/cli/config_cmd.py
src/pyitol/cli/learn_cmd.py
src/pyitol/cli/main.py
src/pyitol/cli/task_cmd.py
src/pyitol/cli/taxonomy_cmd.py
src/pyitol/cli/template_advanced.py
src/pyitol/cli/template_cmd.py
src/pyitol/cli/template_datasets.py
src/pyitol/cli/template_tools.py
src/pyitol/cli/template_treeops.py
src/pyitol/cli/tree_cmd.py
src/pyitol/cli/utils_cmd.py
src/pyitol/core/__init__.py
src/pyitol/core/binary_convert.py
src/pyitol/core/column_group.py
src/pyitol/core/connect_convert.py
src/pyitol/core/count_tree.py
src/pyitol/core/monophyly.py
src/pyitol/core/parser.py
src/pyitol/core/taxonomy.py
src/pyitol/core/validator.py
src/pyitol/templates/__init__.py
src/pyitol/templates/generator.py
src/pyitol/templates/learner.py
src/pyitol/templates/presets/__init__.py
src/pyitol/templates/presets/cell.py
src/pyitol/templates/presets/colorblind.py
src/pyitol/templates/presets/nature.py
src/pyitol/templates/schemas/__init__.py
src/pyitol/templates/schemas/annotations.py
src/pyitol/templates/schemas/base.py
src/pyitol/templates/schemas/datasets_advanced.py
src/pyitol/templates/schemas/datasets_simple.py
src/pyitol/templates/schemas/presets.py
src/pyitol/templates/schemas/tree_structure.py
src/pyitol/utils/__init__.py
src/pyitol/utils/color_tools.py
src/pyitol/utils/constants.py
src/pyitol/utils/data_converters.py
src/pyitol/utils/fasta.py
src/pyitol/utils/io.py
src/pyitol/utils/logger.py
src/pyitol/utils/reporter.py
src/pyitol/utils/session.py
src/pyitol/utils/shutdown.py
src/pyitol/utils/tree_info.py
tests/README.md
tests/conftest.py
tests/test_concurrency.py
tests/test_exceptions.py
tests/test_main_entry.py
tests/test_realistic_data.py
tests/api/__init__.py
tests/api/test_client.py
tests/api/test_client_robustness.py
tests/api/test_client_robustness_regression.py
tests/api/test_error_translation.py
tests/cli/__init__.py
tests/cli/test_apps.py
tests/cli/test_common.py
tests/cli/test_config.py
tests/cli/test_force_and_cli_helpers.py
tests/cli/test_force_and_cli_helpers_regression.py
tests/cli/test_learn.py
tests/cli/test_main.py
tests/cli/test_task.py
tests/cli/test_task_run.py
tests/cli/test_taxonomy.py
tests/cli/test_taxonomy_style.py
tests/cli/test_template_advanced.py
tests/cli/test_template_bundle.py
tests/cli/test_template_create.py
tests/cli/test_template_create_all.py
tests/cli/test_template_create_errors.py
tests/cli/test_template_create_extended.py
tests/cli/test_template_datasets.py
tests/cli/test_template_edge_cases.py
tests/cli/test_template_tools.py
tests/cli/test_template_treeops.py
tests/cli/test_template_validate.py
tests/cli/test_tree.py
tests/cli/test_utils.py
tests/core/__init__.py
tests/core/test_binary_convert.py
tests/core/test_column_group.py
tests/core/test_connect_convert.py
tests/core/test_count_tree.py
tests/core/test_monophyly.py
tests/core/test_parser.py
tests/core/test_parser_nhx_determinism.py
tests/core/test_parser_nhx_determinism_regression.py
tests/core/test_taxonomy.py
tests/core/test_validator.py
tests/core/test_validator_nhx_extension.py
tests/core/test_validator_nhx_extension_regression.py
tests/data/4taxa_monophyly.csv
tests/data/4taxa_tax_extract.csv
tests/data/4taxa_taxonomy.csv
tests/data/4taxa_tree.nwk
tests/data/template_bar.txt
tests/data/template_branch.txt
tests/data/template_colorstrip.txt
tests/data/template_heatmap.txt
tests/data/template_style.txt
tests/data/template_symbols.txt
tests/regression/__init__.py
tests/regression/test_phase1_fixes.py
tests/templates/__init__.py
tests/templates/test_base.py
tests/templates/test_boundary_exceptions.py
tests/templates/test_domain_exceptions.py
tests/templates/test_domain_exceptions_regression.py
tests/templates/test_generator.py
tests/templates/test_learner.py
tests/templates/test_merge_embedded_conflict.py
tests/templates/test_presets.py
tests/templates/test_roundtrip.py
tests/templates/test_roundtrip_pie_colors.py
tests/templates/test_schemas_annotations.py
tests/templates/test_schemas_base.py
tests/templates/test_schemas_datasets_advanced.py
tests/templates/test_schemas_datasets_simple.py
tests/templates/test_schemas_presets.py
tests/templates/test_schemas_tree_structure.py
tests/templates/test_taxonomy_check_and_style_refactor.py
tests/utils/__init__.py
tests/utils/test_color_tools.py
tests/utils/test_constants.py
tests/utils/test_data_converters.py
tests/utils/test_fasta.py
tests/utils/test_io.py
tests/utils/test_logger.py
tests/utils/test_reporter.py
tests/utils/test_session.py
tests/utils/test_shutdown.py
tests/utils/test_tree_info.py