gapit 0.6.3__tar.gz → 0.6.4__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.
- {gapit-0.6.3 → gapit-0.6.4}/CHANGELOG.md +12 -0
- {gapit-0.6.3 → gapit-0.6.4}/CITATION.cff +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/PKG-INFO +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/docs/agents.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/docs/agents.zh.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/docs/databases.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/docs/databases.zh.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/docs/datadir.md +2 -2
- {gapit-0.6.3 → gapit-0.6.4}/docs/datadir.zh.md +2 -2
- {gapit-0.6.3 → gapit-0.6.4}/docs/installation.md +2 -2
- {gapit-0.6.3 → gapit-0.6.4}/docs/installation.zh.md +2 -2
- {gapit-0.6.3 → gapit-0.6.4}/docs/mcp.md +5 -5
- {gapit-0.6.3 → gapit-0.6.4}/docs/mcp.zh.md +5 -5
- {gapit-0.6.3 → gapit-0.6.4}/docs/outputs.md +4 -4
- {gapit-0.6.3 → gapit-0.6.4}/docs/outputs.zh.md +4 -4
- {gapit-0.6.3 → gapit-0.6.4}/docs/quickstart.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/docs/quickstart.zh.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/docs/reads.md +6 -6
- {gapit-0.6.3 → gapit-0.6.4}/docs/reads.zh.md +6 -6
- {gapit-0.6.3 → gapit-0.6.4}/docs/screen.md +6 -4
- {gapit-0.6.3 → gapit-0.6.4}/docs/screen.zh.md +5 -4
- {gapit-0.6.3 → gapit-0.6.4}/docs/summary.md +2 -2
- {gapit-0.6.3 → gapit-0.6.4}/docs/summary.zh.md +2 -2
- {gapit-0.6.3 → gapit-0.6.4}/pixi.lock +2 -2
- {gapit-0.6.3 → gapit-0.6.4}/pixi.toml +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/pyproject.toml +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/__init__.py +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_db.py +9 -2
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_screen.py +2 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/db_ops.py +5 -1
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/progress.py +49 -2
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/screening.py +6 -1
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/screening_reads_positional.py +6 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster2_vp_none.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster2_vp_none.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster2_vp_o3k6.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster2_vp_o3k6.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_exact.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_exact.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_fragmented.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_fragmented.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_ambiguous.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_ambiguous.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_cm_exact.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_cm_exact.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_exact.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_exact.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_vc_inaba.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_vc_inaba.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/fragments_merge.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/fragments_merge.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_dec_pic_astA.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_dec_pic_astA.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_doumith_4b.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_doumith_4b.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_serotyping_l4b.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_serotyping_l4b.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_serotyping_mixed.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_serotyping_mixed.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_serotyping_vp_typed.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_serotyping_vp_typed.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_shigella_mixed.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_shigella_mixed.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_typing_exact.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/gene_typing_exact.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/reads_tinyamr.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/reads_tinyamr.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/screen_multi.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/screen_multi.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/summary_multi.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/summary_multi.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/typing_markers.json +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/typing_markers.md +1 -1
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_progress.py +100 -0
- {gapit-0.6.3 → gapit-0.6.4}/.gitattributes +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/.github/workflows/ci.yml +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/.github/workflows/docs.yml +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/.github/workflows/release.yml +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/.gitignore +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/AGENTS.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/CODE_QUALITY_REPORT.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/CONTRIBUTING.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/LICENSE +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/PLAN.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/README.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/SECURITY.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/SPEC.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/custom-db.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/custom-db.zh.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/faq.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/faq.zh.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/gseek-engine.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/gseek-engine.zh.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/index.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/index.zh.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/typing.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/docs/typing.zh.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/mkdocs.yml +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/scripts/cluster_calibration.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/scripts/generate_vp_typing.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/scripts/vp_rules_matrix.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/scripts/vp_typing_support.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/blast.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/bundled.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/bundled_cluster.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cli.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cluster.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cluster_math.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/clusterbuild.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_db_build.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_db_install.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_db_outdated.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_db_search.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_screen_positionals.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_screen_reads_args.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_summary.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/cmd_typing.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/config.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ecoh/bundled.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ecoh/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ecoli_dec/bundled.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ecoli_dec/floors.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ecoli_dec/records.jsonl +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ecoli_dec/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ecoli_dec/typing.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/lm_doumith/bundled.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/lm_doumith/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/lm_doumith/typing.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ncbi/bundled.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/ncbi/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/resfinder/bundled.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/resfinder/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vc_serogroup/bundled.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vc_serogroup/floors.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vc_serogroup/records.jsonl +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vc_serogroup/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vc_serogroup/typing.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vp_ok/bundled.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vp_ok/features.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vp_ok/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/data/dbs/vp_ok/typing.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/db.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/db_build_meta.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/db_build_ops.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/db_query_ops.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/db_txn.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/dbbuild.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/dbcodec.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/dispatch.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/engines.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/errors.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/fasta.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/__init__.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/cluster.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/cluster2.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/cluster_md.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/csvutil.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/json.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/md.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/reads_json.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/reads_tsv.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/schemas.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/summary.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/tsv.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/formats/typing_result.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/fragments.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/gbfeatures.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/gene_floors.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/gffparse.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/gseek_engine.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/hits.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/mcp.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/mcp_schemas.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/mcp_tools.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/minimap.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/minimap2_run.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/paf.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/proctools.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/__init__.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/ab_k.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/ab_o.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/argannot.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/bacmet2.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/card.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/cluster_common.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/common.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/ecoh.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/ecoli_kps.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/ecoli_vf.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/kosc_k.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/kosc_o.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/kpsc_k.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/kpsc_o.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/megares.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/ncbi.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/plasmidfinder.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/resfinder.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/upec_expec_vf.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/vfdb.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/providers/victors.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/py.typed +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/readpairs.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/reads.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/records.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/report.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/screening_cluster.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/screening_reads.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/seqconvert.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/summary.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_cluster2.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_decide.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_engine.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_gene.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_input.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_models.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_ops.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_results.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/src/gapit/typing_rules.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/bundled_differential/resfinder/HEAD.zip +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/bundled_differential/resfinder/README.md +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/bakta_style.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/clusters.gff3 +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/clusters_gz.gff3.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/clusters_sidecar.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/clusters_sidecar.gff3 +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/colliding_genes.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/compound.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/gz_input.gbk.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/kaptive_style.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/nofasta.gff3 +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/screening.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/typing_invalid.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/typing_screen.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/typing_screen_cm.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/typing_screen_v2.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/typing_valid.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/cluster/unnamed_cds.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/contigs/full.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/contigs/gap.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/contigs/none.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/contigs/partial.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/contigs/sort.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/convert/sample.embl +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/convert/sample.embl.bz2 +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/convert/sample.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/convert/sample.fa.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/convert/sample.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/convert/sample.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/convert/sample.gbk.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/db/tinyamr/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/fragments/fragdb/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/fragments/split3040.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/fragments/split4060.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/fragments/split5050.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/argannot/ARG-ANNOT_NT_V6_July2019.txt +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/bacmet2/BacMet2_EXP_database.fasta +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/card/card.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/ecoh/EcOH.fasta +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/ecoli_vf/repaired_ecoli_vfs_shortnames.ffn +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/megares/megares_drugs_demo.fasta +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/ncbi/AMR_CDS.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/ncbi/ReferenceGeneCatalog.txt +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/plasmidfinder/plasmids_a.fsa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/plasmidfinder/plasmids_b.fsa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/resfinder/aminoglycoside.fsa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/resfinder/beta-lactam.fsa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/resfinder/phenotypes.txt +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/upec_expec_vf/UPEC_ExPEC_VF.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/vfdb/VFDB_setA_nt.fas +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/victors/gen_downloads.php +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/providers/victors/gen_downloads_protein.php +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/bla_partial.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/junk.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/s1_1.fq.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/s1_2.fq.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/s2_R1.fq.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/s2_R2.fq.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/suly_partial.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_R1.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_R2.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_full.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_full.fq.gz +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_lane1.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_lane2.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_pe1_R1.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_pe1_R2.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_pe2_R1.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads/tetx_pe2_R2.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads2/ont_homologs.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads2/sr_homologs.fq +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads2_db/homologs/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/reads_db/tinyreads/sequences +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/summary/empty.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/summary/multi_sample.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/summary/sample_a.csv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/summary/sample_a.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/summary/sample_b.csv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/summary/sample_b.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/dec_s1_aggR_pic_uidA.fasta +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/dec_s2_pic_astA_uidA.fasta +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/dec_s3_stx2a_escV_aggR_uidA.fasta +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/exact.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/listeria_1c.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/listeria_4b.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/listeria_nogate.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/markers.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/mutated.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/negative.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/partial.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/cholerae.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/cholerae.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/dec.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/dec.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/doumith.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/doumith.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/lm_doumith.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/lm_doumith.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/meningotype.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/meningotype.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/shigella.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/shigella.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/vp_ok.gbk +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/schemes/vp_ok.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/serotyping.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/typing_markers_v1.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/typing_markers_v2.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/typing_serotyping_v2.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/vp_mixed.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/data/typing/vp_typed.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster2_vp_none.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster2_vp_o3k6.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_exact.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_fragmented.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_ambiguous.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_cm_exact.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_typing_exact.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/cluster_vc_inaba.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/ecoli_dec_typed.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/ecoli_dec_typing.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/features_kaptive_style.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/features_screening.json +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/fragments_merge.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/lm_doumith_typing.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/summary_dutch.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/summary_multi.csv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/summary_multi.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/tinyamr_multi_nopath.csv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/tinyamr_multi_nopath.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/typing_markers.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/golden/typing_serotyping.tsv +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/parity/corpus/01_exact_and_junk.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/parity/corpus/02_mutated.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/parity/corpus/03_truncated.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/parity/corpus/04_reverse.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/parity/corpus/05_threshold.fa +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/parity/make_corpus.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/parity/run_parity.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/parity/run_summary_parity.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_blast_parse.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_blast_pipeline.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_bundled.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_aligner.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_bare_help.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_completion.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_db_build.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_db_build_cluster.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_db_fetch.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_db_path.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_db_query.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_fragments.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_reads.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_reads2.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_reads_glob.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_reads_glob_jobs.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_schema.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_screen.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_screen_jobs.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_setupdb.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_short_options.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cli_summary.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cluster2_build.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cluster_build_validation.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cluster_calibration.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cluster_db.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cluster_math.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cluster_screen.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_cluster_typing.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_config.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_csv_contract.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_db.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_db_fetch.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_db_field_validation.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_db_headers.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_db_list_extras.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_db_txn.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_dbbuild.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_dbcodec.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_error_envelope.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_fasta.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_fragments.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gapit_db_e2e.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gbfeatures.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gene_floors.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gene_floors_e2e.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gene_typing.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gene_typing2.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gffparse.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gseek_engine.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_gseek_parity.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_hits.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_json_format.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_lm_doumith.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_mcp.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_mcp_db_tools.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_mcp_protocol.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_mcp_reads.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_md_format.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_minimap.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_mol_type.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_oversubscription.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_paf.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_paf_identity.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_parser_fuzz.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_argannot.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_bacmet2.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_card.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_ecoh.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_ecoli_vf.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_kaptive.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_megares.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_ncbi.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_plasmidfinder.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_resfinder.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_upec_expec_vf.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_vfdb.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_provider_victors.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_providers_common.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_readpairs.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_reads2_homologs.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_reads2_model.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_reads_aggregate.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_reads_integration.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_reads_interval_union.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_reads_streaming.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_records.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_report.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_screen_integration.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_screening_reads_unit.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_seqconvert.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_seqconvert_differential.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_streaming_chunks.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_summary.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_summary_formats.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_tsv.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_typing_command.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_typing_engine.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_typing_models.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_typing_schemes.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_typing_schemes_cluster.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_typing_stage2.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_vc_serogroup.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_version.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_vp_ok.py +0 -0
- {gapit-0.6.3 → gapit-0.6.4}/tests/test_vp_ok_acceptance.py +0 -0
|
@@ -5,6 +5,18 @@ All notable changes to gapit are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this
|
|
6
6
|
project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.6.4] - 2026-10-27
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Batch progress vs stdout data.** The progress bar now uses the gside/gmlst
|
|
13
|
+
hand-off: `transient=True`, stdout chunks go through `BatchProgress.write`
|
|
14
|
+
(stop -> `sys.stdout.write` + flush -> start), and stderr notices have a
|
|
15
|
+
`notice()` hand-off. The bar is inactive for a single input. On a shared TTY
|
|
16
|
+
data rows no longer start inside the bar line; stdout bytes are unchanged when
|
|
17
|
+
output is piped. Applies to contig batches and positional FASTQ samples;
|
|
18
|
+
`db fetch` receipts use the same suspend/restore path.
|
|
19
|
+
|
|
8
20
|
## [0.6.3] - 2026-10-26
|
|
9
21
|
|
|
10
22
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: gapit
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.4
|
|
4
4
|
Summary: Mass screening of contigs and reads for known genes — agent-first Python reimplementation of abricate
|
|
5
5
|
Project-URL: Homepage, https://github.com/indexofire/gapit
|
|
6
6
|
Project-URL: Documentation, https://indexofire.github.io/gapit/
|
|
@@ -13,7 +13,7 @@ Version, as one JSON line:
|
|
|
13
13
|
|
|
14
14
|
```console
|
|
15
15
|
$ gapit --version --json
|
|
16
|
-
{"schema":"gapit.version/1","name":"gapit","version":"0.6.
|
|
16
|
+
{"schema":"gapit.version/1","name":"gapit","version":"0.6.4"}
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Output schemas. Fifteen documents are introspectable: `report`, `typing_result`,
|
|
@@ -12,7 +12,7 @@ gapit 生来就是被程序驱动的。每个输出都以机器可读为设计
|
|
|
12
12
|
|
|
13
13
|
```console
|
|
14
14
|
$ gapit --version --json
|
|
15
|
-
{"schema":"gapit.version/1","name":"gapit","version":"0.6.
|
|
15
|
+
{"schema":"gapit.version/1","name":"gapit","version":"0.6.4"}
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
输出 schema。十五个文档可自省:`report`、`typing_result`、`reads`、`reads2`、
|
|
@@ -564,7 +564,7 @@ versions. A real one, from the plasmidfinder database:
|
|
|
564
564
|
"upstream_version": "",
|
|
565
565
|
"tool": {
|
|
566
566
|
"name": "gapit",
|
|
567
|
-
"version": "0.6.
|
|
567
|
+
"version": "0.6.4"
|
|
568
568
|
},
|
|
569
569
|
"makeblastdb_version": "blastn: 2.17.0+",
|
|
570
570
|
"minimap2_version": "2.31-r1302"
|
|
@@ -180,7 +180,7 @@ docker run --rm -it \
|
|
|
180
180
|
--user "$(id -u):$(id -g)" \
|
|
181
181
|
-v gapit-data:/data/gapit \
|
|
182
182
|
-e GAPIT_DATADIR=/data/gapit \
|
|
183
|
-
gapit:0.6.
|
|
183
|
+
gapit:0.6.4 gapit db list
|
|
184
184
|
```
|
|
185
185
|
|
|
186
186
|
For CI, mount or cache a workspace directory and pin versions:
|
|
@@ -189,7 +189,7 @@ For CI, mount or cache a workspace directory and pin versions:
|
|
|
189
189
|
docker run --rm \
|
|
190
190
|
-v "$PWD/.gapit-db:/data/gapit" \
|
|
191
191
|
-e GAPIT_DATADIR=/data/gapit \
|
|
192
|
-
gapit:0.6.
|
|
192
|
+
gapit:0.6.4 gapit screen sample.fna --db ecoli_dec
|
|
193
193
|
```
|
|
194
194
|
|
|
195
195
|
You can bake reference databases into an image for **read-only** screening:
|
|
@@ -164,7 +164,7 @@ docker run --rm -it \
|
|
|
164
164
|
--user "$(id -u):$(id -g)" \
|
|
165
165
|
-v gapit-data:/data/gapit \
|
|
166
166
|
-e GAPIT_DATADIR=/data/gapit \
|
|
167
|
-
gapit:0.6.
|
|
167
|
+
gapit:0.6.4 gapit db list
|
|
168
168
|
```
|
|
169
169
|
|
|
170
170
|
CI 中挂载或缓存 workspace 目录,并固定版本:
|
|
@@ -173,7 +173,7 @@ CI 中挂载或缓存 workspace 目录,并固定版本:
|
|
|
173
173
|
docker run --rm \
|
|
174
174
|
-v "$PWD/.gapit-db:/data/gapit" \
|
|
175
175
|
-e GAPIT_DATADIR=/data/gapit \
|
|
176
|
-
gapit:0.6.
|
|
176
|
+
gapit:0.6.4 gapit screen sample.fna --db ecoli_dec
|
|
177
177
|
```
|
|
178
178
|
|
|
179
179
|
可以为**只读**筛查把参考库烤进镜像:
|
|
@@ -48,9 +48,9 @@ gapit --version
|
|
|
48
48
|
|
|
49
49
|
```console
|
|
50
50
|
$ gapit --version
|
|
51
|
-
gapit 0.6.
|
|
51
|
+
gapit 0.6.4
|
|
52
52
|
$ gapit --version --json
|
|
53
|
-
{"schema":"gapit.version/1","name":"gapit","version":"0.6.
|
|
53
|
+
{"schema":"gapit.version/1","name":"gapit","version":"0.6.4"}
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
## Optional gseek engine
|
|
@@ -46,9 +46,9 @@ gapit --version
|
|
|
46
46
|
|
|
47
47
|
```console
|
|
48
48
|
$ gapit --version
|
|
49
|
-
gapit 0.6.
|
|
49
|
+
gapit 0.6.4
|
|
50
50
|
$ gapit --version --json
|
|
51
|
-
{"schema":"gapit.version/1","name":"gapit","version":"0.6.
|
|
51
|
+
{"schema":"gapit.version/1","name":"gapit","version":"0.6.4"}
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
## 可选 gseek 引擎
|
|
@@ -59,7 +59,7 @@ reads-engine parameters); `minid`/`mincov` are ignored by `minimap2`.
|
|
|
59
59
|
Notes:
|
|
60
60
|
|
|
61
61
|
- Screen parameters use snake_case (`merge_fragments`, `min_gene_cov`,
|
|
62
|
-
`min_gene_id`, `min_cluster_cov`). The pre-0.6.
|
|
62
|
+
`min_gene_id`, `min_cluster_cov`). The pre-0.6.4 camelCase spellings are still
|
|
63
63
|
accepted as aliases for compatibility, but new clients should use snake_case.
|
|
64
64
|
- File paths resolve relative to the server's working directory; absolute
|
|
65
65
|
paths are safest.
|
|
@@ -102,7 +102,7 @@ EOF
|
|
|
102
102
|
Response line 1, verbatim:
|
|
103
103
|
|
|
104
104
|
```text
|
|
105
|
-
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{}},"serverInfo":{"name":"gapit","version":"0.6.
|
|
105
|
+
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{}},"serverInfo":{"name":"gapit","version":"0.6.4"}}}
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
Response line 2 (real output, elided in the middle; each tool carries its full
|
|
@@ -125,7 +125,7 @@ the same run):
|
|
|
125
125
|
```json
|
|
126
126
|
{
|
|
127
127
|
"schema": "gapit.report/1",
|
|
128
|
-
"tool": {"name": "gapit", "version": "0.6.
|
|
128
|
+
"tool": {"name": "gapit", "version": "0.6.4"},
|
|
129
129
|
"created_at": "2026-09-19T01:15:44Z",
|
|
130
130
|
"params": {"db": "tinyamr", "minid": 80.0, "mincov": 80.0, "threads": 1},
|
|
131
131
|
"files": [
|
|
@@ -181,7 +181,7 @@ the same run):
|
|
|
181
181
|
```json
|
|
182
182
|
{
|
|
183
183
|
"schema": "gapit.reads/1",
|
|
184
|
-
"tool": {"name": "gapit", "version": "0.6.
|
|
184
|
+
"tool": {"name": "gapit", "version": "0.6.4"},
|
|
185
185
|
"created_at": "2026-09-22T00:07:35Z",
|
|
186
186
|
"params": {
|
|
187
187
|
"db": "tinyreads",
|
|
@@ -256,7 +256,7 @@ hit is the gene the agent just built the database from (real output):
|
|
|
256
256
|
```json
|
|
257
257
|
{
|
|
258
258
|
"schema": "gapit.report/1",
|
|
259
|
-
"tool": {"name": "gapit", "version": "0.6.
|
|
259
|
+
"tool": {"name": "gapit", "version": "0.6.4"},
|
|
260
260
|
"created_at": "2026-09-20T13:38:39Z",
|
|
261
261
|
"params": {"db": "myamr", "minid": 80.0, "mincov": 80.0, "threads": 1},
|
|
262
262
|
"files": [
|
|
@@ -56,7 +56,7 @@ shell 外调或解析终端输出。协议是手写的换行分隔 JSON-RPC 2.0
|
|
|
56
56
|
注意事项:
|
|
57
57
|
|
|
58
58
|
- screen 参数使用 snake_case(`merge_fragments`、`min_gene_cov`、`min_gene_id`、
|
|
59
|
-
`min_cluster_cov`);0.6.
|
|
59
|
+
`min_cluster_cov`);0.6.4 之前的 camelCase 拼写仍作为兼容别名接受,新客户端
|
|
60
60
|
应使用 snake_case。
|
|
61
61
|
- 文件路径相对服务器的工作目录解析;绝对路径最稳妥。
|
|
62
62
|
- 数据目录来自 `--datadir`(可用时),然后 `$GAPIT_DATADIR`,然后
|
|
@@ -98,7 +98,7 @@ EOF
|
|
|
98
98
|
响应第 1 行,原样:
|
|
99
99
|
|
|
100
100
|
```text
|
|
101
|
-
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{}},"serverInfo":{"name":"gapit","version":"0.6.
|
|
101
|
+
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{}},"serverInfo":{"name":"gapit","version":"0.6.4"}}}
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
响应第 2 行(真实输出,中段省略;每个工具携带完整的 `inputSchema`):
|
|
@@ -119,7 +119,7 @@ EOF
|
|
|
119
119
|
```json
|
|
120
120
|
{
|
|
121
121
|
"schema": "gapit.report/1",
|
|
122
|
-
"tool": {"name": "gapit", "version": "0.6.
|
|
122
|
+
"tool": {"name": "gapit", "version": "0.6.4"},
|
|
123
123
|
"created_at": "2026-09-19T01:15:44Z",
|
|
124
124
|
"params": {"db": "tinyamr", "minid": 80.0, "mincov": 80.0, "threads": 1},
|
|
125
125
|
"files": [
|
|
@@ -173,7 +173,7 @@ EOF
|
|
|
173
173
|
```json
|
|
174
174
|
{
|
|
175
175
|
"schema": "gapit.reads/1",
|
|
176
|
-
"tool": {"name": "gapit", "version": "0.6.
|
|
176
|
+
"tool": {"name": "gapit", "version": "0.6.4"},
|
|
177
177
|
"created_at": "2026-09-22T00:07:35Z",
|
|
178
178
|
"params": {
|
|
179
179
|
"db": "tinyreads",
|
|
@@ -246,7 +246,7 @@ export GAPIT_DATADIR=/tmp/gapit-mcp-demo/datadir
|
|
|
246
246
|
```json
|
|
247
247
|
{
|
|
248
248
|
"schema": "gapit.report/1",
|
|
249
|
-
"tool": {"name": "gapit", "version": "0.6.
|
|
249
|
+
"tool": {"name": "gapit", "version": "0.6.4"},
|
|
250
250
|
"created_at": "2026-09-20T13:38:39Z",
|
|
251
251
|
"params": {"db": "myamr", "minid": 80.0, "mincov": 80.0, "threads": 1},
|
|
252
252
|
"files": [
|
|
@@ -141,7 +141,7 @@ Real document, same run as the TSV above:
|
|
|
141
141
|
"schema": "gapit.report/1",
|
|
142
142
|
"tool": {
|
|
143
143
|
"name": "gapit",
|
|
144
|
-
"version": "0.6.
|
|
144
|
+
"version": "0.6.4"
|
|
145
145
|
},
|
|
146
146
|
"created_at": "2026-09-19T01:12:20Z",
|
|
147
147
|
"params": {
|
|
@@ -233,7 +233,7 @@ row by `(%IDENTITY, %COVERAGE)`. Real document (trimmed):
|
|
|
233
233
|
```json
|
|
234
234
|
{
|
|
235
235
|
"schema": "gapit.typing_result/1",
|
|
236
|
-
"tool": {"name": "gapit", "version": "0.6.
|
|
236
|
+
"tool": {"name": "gapit", "version": "0.6.4"},
|
|
237
237
|
"created_at": "2026-10-02T10:04:55Z",
|
|
238
238
|
"source": ["dec.tsv"],
|
|
239
239
|
"db": "ecoli_dec",
|
|
@@ -420,7 +420,7 @@ summarizing two report files, one with a `tetA` hit and one with none:
|
|
|
420
420
|
"schema": "gapit.summary/1",
|
|
421
421
|
"tool": {
|
|
422
422
|
"name": "gapit",
|
|
423
|
-
"version": "0.6.
|
|
423
|
+
"version": "0.6.4"
|
|
424
424
|
},
|
|
425
425
|
"created_at": "2026-09-19T01:11:09Z",
|
|
426
426
|
"params": {
|
|
@@ -544,7 +544,7 @@ An agent can discover the whole contract from the binary alone.
|
|
|
544
544
|
|
|
545
545
|
```console
|
|
546
546
|
$ gapit --version --json
|
|
547
|
-
{"schema":"gapit.version/1","name":"gapit","version":"0.6.
|
|
547
|
+
{"schema":"gapit.version/1","name":"gapit","version":"0.6.4"}
|
|
548
548
|
```
|
|
549
549
|
|
|
550
550
|
`gapit schema <name>` prints the JSON Schema for each document. The eleven names: `report`,
|
|
@@ -130,7 +130,7 @@ non-DEC。零命中文件不产生筛查行,因此不会出现在判定输出
|
|
|
130
130
|
"schema": "gapit.report/1",
|
|
131
131
|
"tool": {
|
|
132
132
|
"name": "gapit",
|
|
133
|
-
"version": "0.6.
|
|
133
|
+
"version": "0.6.4"
|
|
134
134
|
},
|
|
135
135
|
"created_at": "2026-09-19T01:12:20Z",
|
|
136
136
|
"params": {
|
|
@@ -220,7 +220,7 @@ non-DEC。零命中文件不产生筛查行,因此不会出现在判定输出
|
|
|
220
220
|
```json
|
|
221
221
|
{
|
|
222
222
|
"schema": "gapit.typing_result/1",
|
|
223
|
-
"tool": {"name": "gapit", "version": "0.6.
|
|
223
|
+
"tool": {"name": "gapit", "version": "0.6.4"},
|
|
224
224
|
"created_at": "2026-10-02T10:04:55Z",
|
|
225
225
|
"source": ["dec.tsv"],
|
|
226
226
|
"db": "ecoli_dec",
|
|
@@ -403,7 +403,7 @@ typing 的数据库是同一个表头去掉 `PHENOTYPE`。没有位点判定的
|
|
|
403
403
|
"schema": "gapit.summary/1",
|
|
404
404
|
"tool": {
|
|
405
405
|
"name": "gapit",
|
|
406
|
-
"version": "0.6.
|
|
406
|
+
"version": "0.6.4"
|
|
407
407
|
},
|
|
408
408
|
"created_at": "2026-09-19T01:11:09Z",
|
|
409
409
|
"params": {
|
|
@@ -526,7 +526,7 @@ agent 只凭二进制就能发现整个契约。
|
|
|
526
526
|
|
|
527
527
|
```console
|
|
528
528
|
$ gapit --version --json
|
|
529
|
-
{"schema":"gapit.version/1","name":"gapit","version":"0.6.
|
|
529
|
+
{"schema":"gapit.version/1","name":"gapit","version":"0.6.4"}
|
|
530
530
|
```
|
|
531
531
|
|
|
532
532
|
`gapit schema <name>` 打印每个文档的 JSON Schema。十二个名字:`report`、
|
|
@@ -123,7 +123,7 @@ table, one chunk for the one sample).
|
|
|
123
123
|
## Options
|
|
124
124
|
|
|
125
125
|
Reads mode runs through the same `gapit screen` command; these are the flags that apply
|
|
126
|
-
(transcribed from `gapit screen --help`, gapit 0.6.
|
|
126
|
+
(transcribed from `gapit screen --help`, gapit 0.6.4). Contig-mode flags not listed here
|
|
127
127
|
(`--minid`, `--mincov`, `--fofn`, `--noheader`, `--nopath`) do not apply; `--jobs` applies
|
|
128
128
|
to the wildcard path only.
|
|
129
129
|
|
|
@@ -337,7 +337,7 @@ The short-read fixture behaves the same with one calibration: `sr` soft-clipping
|
|
|
337
337
|
$ gapit screen --r1 ont_homologs.fq --db homologs --read-type map-ont --min-identity 95 --format md --quiet
|
|
338
338
|
---
|
|
339
339
|
schema: gapit.reads/2
|
|
340
|
-
tool: gapit 0.6.
|
|
340
|
+
tool: gapit 0.6.4
|
|
341
341
|
created_at: 2026-09-20T14:23:33Z
|
|
342
342
|
db: homologs
|
|
343
343
|
read_type: map-ont
|
|
@@ -433,7 +433,7 @@ $ gapit screen --r1 tetx_full.fq --db tinyreads --format json
|
|
|
433
433
|
"schema": "gapit.reads/1",
|
|
434
434
|
"tool": {
|
|
435
435
|
"name": "gapit",
|
|
436
|
-
"version": "0.6.
|
|
436
|
+
"version": "0.6.4"
|
|
437
437
|
},
|
|
438
438
|
"created_at": "2026-09-19T01:12:25Z",
|
|
439
439
|
"params": {
|
|
@@ -528,7 +528,7 @@ $ gapit screen --r1 tetx_lane1.fq,tetx_lane2.fq --db tinyreads --format json --q
|
|
|
528
528
|
$ gapit screen --r1 tetx_full.fq --db tinyreads --format md
|
|
529
529
|
---
|
|
530
530
|
schema: gapit.reads/1
|
|
531
|
-
tool: gapit 0.6.
|
|
531
|
+
tool: gapit 0.6.4
|
|
532
532
|
created_at: 2026-09-19T01:12:25Z
|
|
533
533
|
db: tinyreads
|
|
534
534
|
read_type: sr
|
|
@@ -630,7 +630,7 @@ Detected 2 present genes in /tmp/gapit-demo/assembly.fa
|
|
|
630
630
|
"schema": "gapit.reads/1",
|
|
631
631
|
"tool": {
|
|
632
632
|
"name": "gapit",
|
|
633
|
-
"version": "0.6.
|
|
633
|
+
"version": "0.6.4"
|
|
634
634
|
},
|
|
635
635
|
"created_at": "2026-09-19T14:23:00Z",
|
|
636
636
|
"params": {
|
|
@@ -689,7 +689,7 @@ cost of allele-level precision. That trade suggests a two-stage workflow over ma
|
|
|
689
689
|
pipeline, which applies the identity and coverage floors at abricate parity.
|
|
690
690
|
|
|
691
691
|
Real numbers, one K. pneumoniae RefSeq assembly (GCF_000240185.1, 5.3 Mb, `--db ncbi`,
|
|
692
|
-
single-threaded, gapit 0.6.
|
|
692
|
+
single-threaded, gapit 0.6.4):
|
|
693
693
|
|
|
694
694
|
```console
|
|
695
695
|
$ # Stage 1: survey, ~0.9 s
|
|
@@ -113,7 +113,7 @@ frontmatter 保留 `files:`/`genes_found:` 运行总计(它的 tsv 默认渲
|
|
|
113
113
|
## 选项
|
|
114
114
|
|
|
115
115
|
reads 模式走同一条 `gapit screen` 命令;以下是适用的参数(转写自 `gapit screen
|
|
116
|
-
--help`,gapit 0.6.
|
|
116
|
+
--help`,gapit 0.6.4)。这里未列出的 contig 模式参数(`--minid`、`--mincov`、
|
|
117
117
|
`--fofn`、`--noheader`、`--nopath`)不适用;`--jobs` 只适用于通配符路径(见上文)。
|
|
118
118
|
|
|
119
119
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
@@ -318,7 +318,7 @@ Markdown 形式:
|
|
|
318
318
|
$ gapit screen --r1 ont_homologs.fq --db homologs --read-type map-ont --min-identity 95 --format md --quiet
|
|
319
319
|
---
|
|
320
320
|
schema: gapit.reads/2
|
|
321
|
-
tool: gapit 0.6.
|
|
321
|
+
tool: gapit 0.6.4
|
|
322
322
|
created_at: 2026-09-20T14:23:33Z
|
|
323
323
|
db: homologs
|
|
324
324
|
read_type: map-ont
|
|
@@ -410,7 +410,7 @@ $ gapit screen --r1 tetx_full.fq --db tinyreads --format json
|
|
|
410
410
|
"schema": "gapit.reads/1",
|
|
411
411
|
"tool": {
|
|
412
412
|
"name": "gapit",
|
|
413
|
-
"version": "0.6.
|
|
413
|
+
"version": "0.6.4"
|
|
414
414
|
},
|
|
415
415
|
"created_at": "2026-09-19T01:12:25Z",
|
|
416
416
|
"params": {
|
|
@@ -505,7 +505,7 @@ $ gapit screen --r1 tetx_lane1.fq,tetx_lane2.fq --db tinyreads --format json --q
|
|
|
505
505
|
$ gapit screen --r1 tetx_full.fq --db tinyreads --format md
|
|
506
506
|
---
|
|
507
507
|
schema: gapit.reads/1
|
|
508
|
-
tool: gapit 0.6.
|
|
508
|
+
tool: gapit 0.6.4
|
|
509
509
|
created_at: 2026-09-19T01:12:25Z
|
|
510
510
|
db: tinyreads
|
|
511
511
|
read_type: sr
|
|
@@ -605,7 +605,7 @@ Detected 2 present genes in /tmp/gapit-demo/assembly.fa
|
|
|
605
605
|
"schema": "gapit.reads/1",
|
|
606
606
|
"tool": {
|
|
607
607
|
"name": "gapit",
|
|
608
|
-
"version": "0.6.
|
|
608
|
+
"version": "0.6.4"
|
|
609
609
|
},
|
|
610
610
|
"created_at": "2026-09-19T14:23:00Z",
|
|
611
611
|
"params": {
|
|
@@ -663,7 +663,7 @@ minimap2 一段完全跳过 BLAST 索引,把 assembly 送进 minimap2 引擎
|
|
|
663
663
|
性应用一致性与覆盖度下限。
|
|
664
664
|
|
|
665
665
|
真实数字,一株 K. pneumoniae RefSeq assembly(GCF_000240185.1,5.3 Mb,`--db ncbi`,
|
|
666
|
-
单线程,gapit 0.6.
|
|
666
|
+
单线程,gapit 0.6.4):
|
|
667
667
|
|
|
668
668
|
```console
|
|
669
669
|
$ # Stage 1: survey, ~0.9 s
|
|
@@ -9,7 +9,7 @@ Database setup is covered in [./databases.md](./databases.md); a full walk-throu
|
|
|
9
9
|
|
|
10
10
|
## Options
|
|
11
11
|
|
|
12
|
-
Transcribed from `gapit screen --help` (gapit 0.6.
|
|
12
|
+
Transcribed from `gapit screen --help` (gapit 0.6.4). Flags marked *reads mode* apply only when
|
|
13
13
|
you pass `--r1`/`--r2`; they are documented in [./reads.md](./reads.md).
|
|
14
14
|
|
|
15
15
|
Every option also accepts the single-dash short form listed in the **Short** column (e.g.
|
|
@@ -107,7 +107,7 @@ $ gapit screen tests/data/contigs/full.fa --db tinyamr --format json
|
|
|
107
107
|
"schema": "gapit.report/1",
|
|
108
108
|
"tool": {
|
|
109
109
|
"name": "gapit",
|
|
110
|
-
"version": "0.6.
|
|
110
|
+
"version": "0.6.4"
|
|
111
111
|
},
|
|
112
112
|
"created_at": "2026-09-19T01:12:04Z",
|
|
113
113
|
"params": {
|
|
@@ -199,8 +199,10 @@ progress bar on **stderr** — spinner, the current file's basename, bar, M/N co
|
|
|
199
199
|
elapsed time — replacing the per-file `Processing:`/`Found N genes` notes while it runs (the
|
|
200
200
|
`--jobs × --threads` oversubscription note still prints). Piped or redirected stderr and
|
|
201
201
|
`--quiet` keep the plain notes byte-identically — progress bars in logs are noise. The bar
|
|
202
|
-
lives entirely on stderr: stdout bytes are identical with it on or off.
|
|
203
|
-
|
|
202
|
+
lives entirely on stderr: stdout bytes are identical with it on or off. Before each
|
|
203
|
+
stdout chunk the bar is suspended, so rows start on a clean line and the bar redraws below
|
|
204
|
+
them instead of mixing with the data. The positional-FASTQ wildcard batch
|
|
205
|
+
([./reads.md](./reads.md)) and `gapit db fetch all` carry the same bar.
|
|
204
206
|
|
|
205
207
|
### Typed gene databases: designation is a second command
|
|
206
208
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
## 选项
|
|
11
11
|
|
|
12
|
-
转写自 `gapit screen --help`(gapit 0.6.
|
|
12
|
+
转写自 `gapit screen --help`(gapit 0.6.4)。标记为 *reads 模式* 的参数只在传入
|
|
13
13
|
`--r1`/`--r2` 时生效,记录在 [./reads.md](./reads.md)。
|
|
14
14
|
|
|
15
15
|
每个选项都接受 **短** 列给出的单横线短形式(例如 `--db` 的 `-d`);长形式仍是规范写法,
|
|
@@ -104,7 +104,7 @@ $ gapit screen tests/data/contigs/full.fa --db tinyamr --format json
|
|
|
104
104
|
"schema": "gapit.report/1",
|
|
105
105
|
"tool": {
|
|
106
106
|
"name": "gapit",
|
|
107
|
-
"version": "0.6.
|
|
107
|
+
"version": "0.6.4"
|
|
108
108
|
},
|
|
109
109
|
"created_at": "2026-09-19T01:12:04Z",
|
|
110
110
|
"params": {
|
|
@@ -196,8 +196,9 @@ rich 进度条 —— 转轮、当前文件基名、进度条、M/N 计数、百
|
|
|
196
196
|
期间取代逐文件的 `Processing:`/`Found N genes` 提示(`--jobs × --threads` 超订用提示
|
|
197
197
|
仍然打印)。stderr 被管道或重定向、以及 `--quiet` 时,保持与今天逐字节相同的纯文本
|
|
198
198
|
提示 —— 日志里的进度条只是噪音。进度条完全生存在 stderr 一侧:开与关的 stdout 字节
|
|
199
|
-
|
|
200
|
-
|
|
199
|
+
完全一致。每次写 stdout 数据块前会暂停进度条,因此数据行从干净的新行开始,进度条在
|
|
200
|
+
其下方重绘,而不是与数据混在同一行。位置参数 FASTQ 通配符批量
|
|
201
|
+
([./reads.zh.md](./reads.zh.md))与 `gapit db fetch all` 使用同一条进度条。
|
|
201
202
|
|
|
202
203
|
### typed 基因数据库:判定是第二条命令
|
|
203
204
|
|
|
@@ -10,7 +10,7 @@ exactly what `gapit screen` writes. See [./screen.md](./screen.md) for producing
|
|
|
10
10
|
|
|
11
11
|
## Options
|
|
12
12
|
|
|
13
|
-
Transcribed from `gapit summary --help` (gapit 0.6.
|
|
13
|
+
Transcribed from `gapit summary --help` (gapit 0.6.4):
|
|
14
14
|
|
|
15
15
|
| Flag | Type | Default | Description |
|
|
16
16
|
|---|---|---|---|
|
|
@@ -150,7 +150,7 @@ $ gapit summary tests/data/summary/sample_a.tsv tests/data/summary/sample_b.tsv
|
|
|
150
150
|
"schema": "gapit.summary/1",
|
|
151
151
|
"tool": {
|
|
152
152
|
"name": "gapit",
|
|
153
|
-
"version": "0.6.
|
|
153
|
+
"version": "0.6.4"
|
|
154
154
|
},
|
|
155
155
|
"created_at": "2026-09-19T01:12:48Z",
|
|
156
156
|
"params": {
|
|
@@ -10,7 +10,7 @@ screen` 写出的格式。如何产生报告见 [./screen.md](./screen.md);输
|
|
|
10
10
|
|
|
11
11
|
## 选项
|
|
12
12
|
|
|
13
|
-
转写自 `gapit summary --help`(gapit 0.6.
|
|
13
|
+
转写自 `gapit summary --help`(gapit 0.6.4):
|
|
14
14
|
|
|
15
15
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
16
16
|
|---|---|---|---|
|
|
@@ -143,7 +143,7 @@ $ gapit summary tests/data/summary/sample_a.tsv tests/data/summary/sample_b.tsv
|
|
|
143
143
|
"schema": "gapit.summary/1",
|
|
144
144
|
"tool": {
|
|
145
145
|
"name": "gapit",
|
|
146
|
-
"version": "0.6.
|
|
146
|
+
"version": "0.6.4"
|
|
147
147
|
},
|
|
148
148
|
"created_at": "2026-09-19T01:12:48Z",
|
|
149
149
|
"params": {
|
|
@@ -923,8 +923,8 @@ packages:
|
|
|
923
923
|
timestamp: 1694615932610
|
|
924
924
|
- pypi: ./
|
|
925
925
|
name: gapit
|
|
926
|
-
version: 0.6.
|
|
927
|
-
sha256:
|
|
926
|
+
version: 0.6.4
|
|
927
|
+
sha256: 5a3b9387d4bbec0acf7e69021610599ff52129bc02237f19aba0a79bfa317acd
|
|
928
928
|
requires_dist:
|
|
929
929
|
- click>=8.2
|
|
930
930
|
- pydantic>=2.7
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gapit"
|
|
7
|
-
version = "0.6.
|
|
7
|
+
version = "0.6.4"
|
|
8
8
|
description = "Mass screening of contigs and reads for known genes — agent-first Python reimplementation of abricate"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [{ name = "indexofire", email = "indexofire@gmail.com" }]
|
|
@@ -73,8 +73,15 @@ def db_fetch_command(
|
|
|
73
73
|
# invocation with no NAME reaches this guard.
|
|
74
74
|
if name is None:
|
|
75
75
|
usage_fail("db fetch requires a database NAME or 'all' (see: gapit db list)")
|
|
76
|
-
for
|
|
77
|
-
|
|
76
|
+
for _receipt in perform_fetch(
|
|
77
|
+
name,
|
|
78
|
+
datadir,
|
|
79
|
+
force=force,
|
|
80
|
+
quiet=quiet,
|
|
81
|
+
debug=debug,
|
|
82
|
+
emit=lambda receipt: click.echo(receipt.model_dump_json()),
|
|
83
|
+
):
|
|
84
|
+
pass
|
|
78
85
|
|
|
79
86
|
dispatch(run)
|
|
80
87
|
|
|
@@ -299,6 +299,7 @@ def screen_command(
|
|
|
299
299
|
jobs=jobs,
|
|
300
300
|
emit=deliver,
|
|
301
301
|
all_genes=all_genes,
|
|
302
|
+
stdout_emit=output is None,
|
|
302
303
|
)
|
|
303
304
|
elif aligner is AlignerEnum.minimap2:
|
|
304
305
|
if merge_fragments:
|
|
@@ -350,6 +351,7 @@ def screen_command(
|
|
|
350
351
|
min_gene_id=min_gene_id,
|
|
351
352
|
min_cluster_cov=min_cluster_cov,
|
|
352
353
|
emit=deliver,
|
|
354
|
+
stdout_emit=output is None,
|
|
353
355
|
)
|
|
354
356
|
|
|
355
357
|
dispatch(run)
|
|
@@ -7,7 +7,7 @@ the gapit.dblist/1 database listing. The CLI commands
|
|
|
7
7
|
callers — this module owns the behavior and imports no CLI plumbing.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
-
from collections.abc import Iterator, Sequence
|
|
10
|
+
from collections.abc import Callable, Iterator, Sequence
|
|
11
11
|
from datetime import UTC, datetime
|
|
12
12
|
from pathlib import Path
|
|
13
13
|
from typing import Literal
|
|
@@ -112,6 +112,7 @@ def perform_fetch(
|
|
|
112
112
|
force: bool = False,
|
|
113
113
|
quiet: bool = True,
|
|
114
114
|
debug: bool = False,
|
|
115
|
+
emit: Callable[[ProviderReceipt], None] | None = None,
|
|
115
116
|
) -> Iterator[ProviderReceipt]:
|
|
116
117
|
"""Fetch database(s) into <datadir>/NAME — the shared CLI + MCP
|
|
117
118
|
path. NAME ``all`` installs every database in DEFAULT_DBS order; each
|
|
@@ -163,6 +164,9 @@ def perform_fetch(
|
|
|
163
164
|
bar.describe(provider_name)
|
|
164
165
|
receipt = fetch_one(provider_name)
|
|
165
166
|
bar.advance()
|
|
167
|
+
if emit is not None:
|
|
168
|
+
with bar.suspend():
|
|
169
|
+
emit(receipt)
|
|
166
170
|
yield receipt
|
|
167
171
|
|
|
168
172
|
|