phagemine 1.3.1__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.
- phagemine-1.3.1/.dockerignore +15 -0
- phagemine-1.3.1/.zenodo.json +21 -0
- phagemine-1.3.1/CHANGELOG.md +252 -0
- phagemine-1.3.1/CITATION.cff +18 -0
- phagemine-1.3.1/Dockerfile +27 -0
- phagemine-1.3.1/LICENSE +21 -0
- phagemine-1.3.1/MANIFEST.in +9 -0
- phagemine-1.3.1/PKG-INFO +171 -0
- phagemine-1.3.1/README.md +114 -0
- phagemine-1.3.1/RELEASE_VALIDATION.md +43 -0
- phagemine-1.3.1/RESEARCHER_VALIDATION.md +81 -0
- phagemine-1.3.1/docs/BENCHMARK.md +75 -0
- phagemine-1.3.1/docs/FUNCTIONAL_BENCHMARK.md +102 -0
- phagemine-1.3.1/docs/INPHARED.md +79 -0
- phagemine-1.3.1/docs/annotation-naming.md +118 -0
- phagemine-1.3.1/docs/annotation-workflows.md +103 -0
- phagemine-1.3.1/docs/architecture-phase-a.md +13 -0
- phagemine-1.3.1/docs/benchmark_v1.2/README.md +39 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/functional_yield.pdf +0 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/functional_yield.png +0 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/functional_yield.svg +1052 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/per_genome_strict_f1.pdf +0 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/per_genome_strict_f1.png +0 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/per_genome_strict_f1.svg +1350 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/prediction_category_composition.pdf +0 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/prediction_category_composition.png +0 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/prediction_category_composition.svg +1662 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/strict_vs_relaxed_f1.pdf +0 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/strict_vs_relaxed_f1.png +0 -0
- phagemine-1.3.1/docs/benchmark_v1.2/figures/strict_vs_relaxed_f1.svg +1116 -0
- phagemine-1.3.1/docs/benchmark_v1.2/scripts/make_figures.py +42 -0
- phagemine-1.3.1/docs/benchmark_v1.2/tables/functional_yield_by_genome.tsv +22 -0
- phagemine-1.3.1/docs/benchmark_v1.2/tables/functional_yield_totals.tsv +4 -0
- phagemine-1.3.1/docs/benchmark_v1.2/tables/phagemine_vs_prokka_count_difference.tsv +8 -0
- phagemine-1.3.1/docs/benchmark_v1.2/tables/prediction_category_counts.tsv +22 -0
- phagemine-1.3.1/docs/benchmark_v1.2/tables/reference_provenance.tsv +8 -0
- phagemine-1.3.1/docs/benchmark_v1.2/tables/strict_relaxed_metrics.tsv +22 -0
- phagemine-1.3.1/docs/database-policy.md +19 -0
- phagemine-1.3.1/docs/databases.md +100 -0
- phagemine-1.3.1/docs/evidence-framework.md +7 -0
- phagemine-1.3.1/docs/genbank-submission.md +24 -0
- phagemine-1.3.1/docs/gui.md +69 -0
- phagemine-1.3.1/docs/images/phagemine-gui/annotation-development.png +0 -0
- phagemine-1.3.1/docs/images/phagemine-gui/home-development.png +0 -0
- phagemine-1.3.1/docs/installation.md +127 -0
- phagemine-1.3.1/docs/limitations.md +57 -0
- phagemine-1.3.1/docs/next-generation-evidence-engine.md +31 -0
- phagemine-1.3.1/docs/release-checklist.md +40 -0
- phagemine-1.3.1/docs/releases/v1.3.0.md +30 -0
- phagemine-1.3.1/docs/releases/v1.3.1.md +15 -0
- phagemine-1.3.1/docs/researcher-readiness.md +69 -0
- phagemine-1.3.1/docs/v1.2-biological-feature-freeze.md +23 -0
- phagemine-1.3.1/docs/v1.2-consensus-gene-model-policy.md +54 -0
- phagemine-1.3.1/docs/v1.2-development-environment.md +40 -0
- phagemine-1.3.1/docs/v1.2-finalization-policy.md +37 -0
- phagemine-1.3.1/docs/v1.2-gene-model-adjudication.md +29 -0
- phagemine-1.3.1/docs/v1.2-gene-model-provider-architecture.md +49 -0
- phagemine-1.3.1/docs/v1.2-prodigal-gv-provider.md +23 -0
- phagemine-1.3.1/docs/v1.2-pyrodigal-provider.md +31 -0
- phagemine-1.3.1/docs/v1.2-reconciliation-policy.md +29 -0
- phagemine-1.3.1/docs/v1.2-rna-phage-support.md +26 -0
- phagemine-1.3.1/docs/v1.2-segmented-performance-analysis.md +25 -0
- phagemine-1.3.1/docs/validation-protocol.md +35 -0
- phagemine-1.3.1/environment.yml +26 -0
- phagemine-1.3.1/examples/demo_phage.fasta +2 -0
- phagemine-1.3.1/examples/sequencing_provenance_ont.json +13 -0
- phagemine-1.3.1/examples/submission_metadata.json +13 -0
- phagemine-1.3.1/packaging/bioconda/post-link.sh +16 -0
- phagemine-1.3.1/packaging/bioconda/recipe/meta.yaml +63 -0
- phagemine-1.3.1/pyproject.toml +70 -0
- phagemine-1.3.1/setup.cfg +4 -0
- phagemine-1.3.1/setup.py +3 -0
- phagemine-1.3.1/src/phagemine/__init__.py +3 -0
- phagemine-1.3.1/src/phagemine/__main__.py +4 -0
- phagemine-1.3.1/src/phagemine/adjudication.py +49 -0
- phagemine-1.3.1/src/phagemine/alternative_evidence.py +171 -0
- phagemine-1.3.1/src/phagemine/annotation.py +46 -0
- phagemine-1.3.1/src/phagemine/annotation_labels.py +35 -0
- phagemine-1.3.1/src/phagemine/artifact_ops.py +87 -0
- phagemine-1.3.1/src/phagemine/batch.py +540 -0
- phagemine-1.3.1/src/phagemine/benchmark.py +229 -0
- phagemine-1.3.1/src/phagemine/cli.py +423 -0
- phagemine-1.3.1/src/phagemine/compare.py +105 -0
- phagemine-1.3.1/src/phagemine/conflict_review.py +45 -0
- phagemine-1.3.1/src/phagemine/context.py +95 -0
- phagemine-1.3.1/src/phagemine/curated_benchmark.py +97 -0
- phagemine-1.3.1/src/phagemine/curation.py +188 -0
- phagemine-1.3.1/src/phagemine/database_health.py +61 -0
- phagemine-1.3.1/src/phagemine/database_installer.py +723 -0
- phagemine-1.3.1/src/phagemine/discovery.py +314 -0
- phagemine-1.3.1/src/phagemine/evidence.py +53 -0
- phagemine-1.3.1/src/phagemine/evidence_engine.py +269 -0
- phagemine-1.3.1/src/phagemine/external_annotation.py +88 -0
- phagemine-1.3.1/src/phagemine/family.py +143 -0
- phagemine-1.3.1/src/phagemine/family_compare.py +64 -0
- phagemine-1.3.1/src/phagemine/family_enrichment.py +58 -0
- phagemine-1.3.1/src/phagemine/family_external.py +113 -0
- phagemine-1.3.1/src/phagemine/family_priority.py +20 -0
- phagemine-1.3.1/src/phagemine/figures.py +174 -0
- phagemine-1.3.1/src/phagemine/functional_benchmark.py +152 -0
- phagemine-1.3.1/src/phagemine/fusion.py +810 -0
- phagemine-1.3.1/src/phagemine/genbank.py +166 -0
- phagemine-1.3.1/src/phagemine/gene_callers.py +630 -0
- phagemine-1.3.1/src/phagemine/gene_model_selection.py +232 -0
- phagemine-1.3.1/src/phagemine/gene_models.py +107 -0
- phagemine-1.3.1/src/phagemine/gene_prediction.py +151 -0
- phagemine-1.3.1/src/phagemine/genome.py +31 -0
- phagemine-1.3.1/src/phagemine/genome_representation.py +108 -0
- phagemine-1.3.1/src/phagemine/gui/__init__.py +9 -0
- phagemine-1.3.1/src/phagemine/gui/app.py +226 -0
- phagemine-1.3.1/src/phagemine/gui/launcher.py +19 -0
- phagemine-1.3.1/src/phagemine/gui/services/__init__.py +1 -0
- phagemine-1.3.1/src/phagemine/gui/services/execution.py +107 -0
- phagemine-1.3.1/src/phagemine/gui/services/results.py +101 -0
- phagemine-1.3.1/src/phagemine/gui/services/status.py +101 -0
- phagemine-1.3.1/src/phagemine/hallmarks.py +58 -0
- phagemine-1.3.1/src/phagemine/hmmer_chunking.py +41 -0
- phagemine-1.3.1/src/phagemine/inphared.py +695 -0
- phagemine-1.3.1/src/phagemine/io.py +88 -0
- phagemine-1.3.1/src/phagemine/mining.py +78 -0
- phagemine-1.3.1/src/phagemine/model_adjudication.py +206 -0
- phagemine-1.3.1/src/phagemine/models.py +100 -0
- phagemine-1.3.1/src/phagemine/operational_validation.py +94 -0
- phagemine-1.3.1/src/phagemine/pfam.py +120 -0
- phagemine-1.3.1/src/phagemine/phrogs.py +412 -0
- phagemine-1.3.1/src/phagemine/pipeline.py +1004 -0
- phagemine-1.3.1/src/phagemine/pooled.py +41 -0
- phagemine-1.3.1/src/phagemine/preflight.py +303 -0
- phagemine-1.3.1/src/phagemine/progress.py +69 -0
- phagemine-1.3.1/src/phagemine/quality.py +83 -0
- phagemine-1.3.1/src/phagemine/reconciliation.py +148 -0
- phagemine-1.3.1/src/phagemine/reconciliation_engine.py +380 -0
- phagemine-1.3.1/src/phagemine/reporting.py +327 -0
- phagemine-1.3.1/src/phagemine/reproducibility.py +71 -0
- phagemine-1.3.1/src/phagemine/resources.py +333 -0
- phagemine-1.3.1/src/phagemine/resume.py +362 -0
- phagemine-1.3.1/src/phagemine/review.py +35 -0
- phagemine-1.3.1/src/phagemine/review_priority.py +32 -0
- phagemine-1.3.1/src/phagemine/rna_features.py +186 -0
- phagemine-1.3.1/src/phagemine/search_cache.py +113 -0
- phagemine-1.3.1/src/phagemine/sentinel_diagnostic.py +112 -0
- phagemine-1.3.1/src/phagemine/sequencing_provenance.py +47 -0
- phagemine-1.3.1/src/phagemine/stage_dag.py +62 -0
- phagemine-1.3.1/src/phagemine/stage_resume.py +91 -0
- phagemine-1.3.1/src/phagemine/submission_revision.py +71 -0
- phagemine-1.3.1/src/phagemine/swissprot.py +253 -0
- phagemine-1.3.1/src/phagemine/triage.py +55 -0
- phagemine-1.3.1/src/phagemine/validation.py +203 -0
- phagemine-1.3.1/src/phagemine/vog.py +139 -0
- phagemine-1.3.1/src/phagemine/workflow_cli.py +86 -0
- phagemine-1.3.1/src/phagemine.egg-info/PKG-INFO +171 -0
- phagemine-1.3.1/src/phagemine.egg-info/SOURCES.txt +194 -0
- phagemine-1.3.1/src/phagemine.egg-info/dependency_links.txt +1 -0
- phagemine-1.3.1/src/phagemine.egg-info/entry_points.txt +3 -0
- phagemine-1.3.1/src/phagemine.egg-info/requires.txt +18 -0
- phagemine-1.3.1/src/phagemine.egg-info/top_level.txt +1 -0
- phagemine-1.3.1/tests/test_accuracy_review.py +65 -0
- phagemine-1.3.1/tests/test_annotation_workflows.py +197 -0
- phagemine-1.3.1/tests/test_automatic_pyrodigal_gv.py +66 -0
- phagemine-1.3.1/tests/test_batch_failure_reporting.py +36 -0
- phagemine-1.3.1/tests/test_benchmark_integrity.py +145 -0
- phagemine-1.3.1/tests/test_database_installer.py +282 -0
- phagemine-1.3.1/tests/test_evidence_engine.py +60 -0
- phagemine-1.3.1/tests/test_fresh_benchmark.py +82 -0
- phagemine-1.3.1/tests/test_full_system_benchmark.py +40 -0
- phagemine-1.3.1/tests/test_functional_benchmark.py +198 -0
- phagemine-1.3.1/tests/test_gene_callers.py +130 -0
- phagemine-1.3.1/tests/test_gene_model_selection.py +88 -0
- phagemine-1.3.1/tests/test_gene_models.py +45 -0
- phagemine-1.3.1/tests/test_gui.py +190 -0
- phagemine-1.3.1/tests/test_gui_app.py +31 -0
- phagemine-1.3.1/tests/test_inphared.py +254 -0
- phagemine-1.3.1/tests/test_model_adjudication.py +84 -0
- phagemine-1.3.1/tests/test_naming_policy.py +250 -0
- phagemine-1.3.1/tests/test_ncbi_presubmission.py +38 -0
- phagemine-1.3.1/tests/test_next_steps.py +137 -0
- phagemine-1.3.1/tests/test_packaging_pyrodigal_gv.py +51 -0
- phagemine-1.3.1/tests/test_phagemine.py +1957 -0
- phagemine-1.3.1/tests/test_phrogs_pyhmmer.py +102 -0
- phagemine-1.3.1/tests/test_preflight.py +159 -0
- phagemine-1.3.1/tests/test_python_compatibility.py +22 -0
- phagemine-1.3.1/tests/test_reconciliation_engine.py +89 -0
- phagemine-1.3.1/tests/test_release_metadata.py +23 -0
- phagemine-1.3.1/tests/test_release_publication.py +54 -0
- phagemine-1.3.1/tests/test_release_v12.py +36 -0
- phagemine-1.3.1/tests/test_sentinel_diagnostic.py +23 -0
- phagemine-1.3.1/tests/test_small_genome_fallback.py +43 -0
- phagemine-1.3.1/tests/test_stage_dag_pooled.py +41 -0
- phagemine-1.3.1/tests/test_step7b_provider_policy.py +11 -0
- phagemine-1.3.1/tests/test_step8_rna.py +50 -0
- phagemine-1.3.1/tests/test_step9a_performance.py +42 -0
- phagemine-1.3.1/tests/test_swissprot_metadata_cache.py +39 -0
- phagemine-1.3.1/tests/test_triage_report.py +17 -0
- phagemine-1.3.1/tests/test_validation.py +89 -0
- phagemine-1.3.1/tools/publish_verified_release.py +115 -0
- phagemine-1.3.1/tools/smoke_installed.py +72 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "PhageMine",
|
|
3
|
+
"version": "1.3.1",
|
|
4
|
+
"upload_type": "software",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"creators": [
|
|
7
|
+
{
|
|
8
|
+
"name": "Nnaemeka Emmanuel Nnadi",
|
|
9
|
+
"orcid": "https://orcid.org/0000-0002-8424-4859",
|
|
10
|
+
"affiliation": "Department of Microbiology, Plateau State University, Bokkos, Plateau State, Nigeria; Centre for Phage Biology and Therapeutics LTD/GTE, Jos, Plateau State, Nigeria"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"keywords": [
|
|
14
|
+
"bacteriophage",
|
|
15
|
+
"genome annotation",
|
|
16
|
+
"comparative genomics",
|
|
17
|
+
"bioinformatics",
|
|
18
|
+
"INPHARED",
|
|
19
|
+
"PHANOTATE"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.3.1 — 2026-10-07
|
|
4
|
+
|
|
5
|
+
- Add the PyPI publishing workflow, refresh the Bioconda recipe, and surface
|
|
6
|
+
packaged install paths in the README. No functional changes to annotation,
|
|
7
|
+
gene calling or evidence handling.
|
|
8
|
+
|
|
9
|
+
## 1.3.0 — 2026-10-04
|
|
10
|
+
|
|
11
|
+
- Return a failing exit status for failed batch samples, reject empty inputs,
|
|
12
|
+
and stop Both before discovery when its annotation cohort is incomplete.
|
|
13
|
+
|
|
14
|
+
- Correct GUI completion checks, Both result loading and sample protein
|
|
15
|
+
selection; expose operational Doctor checks and provider readiness.
|
|
16
|
+
- Validate input types, reject duplicate uploads, support home paths, bind
|
|
17
|
+
the launcher to localhost and prepare symlink-free exports on demand.
|
|
18
|
+
- Add built-wheel execution, application-level GUI and real-caller Core
|
|
19
|
+
smoke checks to CI; include installation resources in source distributions.
|
|
20
|
+
- Retain the PHANOTATE pkg_resources compatibility dependency and document
|
|
21
|
+
Core-first onboarding and outstanding independent-validation gates.
|
|
22
|
+
|
|
23
|
+
- Improve multi-resource product naming, suppress identifier-only labels, and
|
|
24
|
+
prioritize complete 100%-identity reviewed alignments while retaining alternatives.
|
|
25
|
+
- Publish ten-genome full-system benchmarking and a sequence-bound Prokka naming
|
|
26
|
+
review; retain unresolved cases and avoid claims of accuracy superiority.
|
|
27
|
+
|
|
28
|
+
- Optional tRNAscan-SE and validated noncoding-RNA GFF3 imports with feature exports.
|
|
29
|
+
- Sequence-validated external GenBank annotation proposals with source/database provenance.
|
|
30
|
+
- Audited manual product, gene and note review in CLI and GUI with regenerated exports.
|
|
31
|
+
- Streaming reproducibility bundles, artifact consistency checks and sampled runtime profiling.
|
|
32
|
+
- Correct cross-genome, negative-strand and CDS-only benchmark imports.
|
|
33
|
+
- Docker build workflow and local development Bioconda recipe.
|
|
34
|
+
- Core-only GUI launcher test isolation.
|
|
35
|
+
|
|
36
|
+
- Offline database health/version/freshness diagnostics and per-run health reports.
|
|
37
|
+
- Explicit evidence-conflict and external-label review reports, including a GUI filter.
|
|
38
|
+
- Opt-in checksum-validated persistent reuse for single-genome evidence searches.
|
|
39
|
+
- Curator-provenance-bearing benchmark CLI with unresolved review queues and auditable adjudication.
|
|
40
|
+
- Correct tRNAscan-SE help-banner probe and modern-Python container dependency cleanup.
|
|
41
|
+
|
|
42
|
+
- Accept empty zero-hit tRNAscan-SE tables only with explicit successful-scan statistics.
|
|
43
|
+
|
|
44
|
+
## 1.2.0 (finalization)
|
|
45
|
+
|
|
46
|
+
- Fixed IUPAC ambiguity-code handling and provider-specific sequence
|
|
47
|
+
normalization with auditable provenance and controlled provider outcomes.
|
|
48
|
+
- Established PHANOTATE as the sole primary DNA caller; Pyrodigal and
|
|
49
|
+
Prodigal-gv remain available for corroboration and conflict detection only.
|
|
50
|
+
- Added deterministic NO_REVIEW, LOW_PRIORITY_REVIEW,
|
|
51
|
+
MODERATE_REVIEW, and HIGH_PRIORITY_REVIEW tiers while retaining detailed
|
|
52
|
+
underlying conflict fields.
|
|
53
|
+
- Added a reproducible PHANOTATE-versus-PhageMine structural benchmark.
|
|
54
|
+
- Integrated validated INPHARED nearest-reference genomic context into
|
|
55
|
+
single-genome and cohort workflows, with Mash screening, optional
|
|
56
|
+
bidirectional BLASTN similarity, resource manifests, and conservative
|
|
57
|
+
taxonomy interpretation.
|
|
58
|
+
|
|
59
|
+
## 1.1.0
|
|
60
|
+
|
|
61
|
+
- Promote the scientifically hardened development line to the PhageMine 1.1.0
|
|
62
|
+
package release while retaining functional-fusion rules version 1.8 as an
|
|
63
|
+
independent annotation-rule version.
|
|
64
|
+
|
|
65
|
+
- Refine conservative phage functional evidence fusion, including stronger
|
|
66
|
+
source agreement requirements, safer product normalization, curated phage
|
|
67
|
+
anchors, conflict handling, and explicit review states.
|
|
68
|
+
|
|
69
|
+
- Prevent organism-specific or source-phage locus labels from being
|
|
70
|
+
transferred unsafely into final product names while preserving supporting
|
|
71
|
+
homolog and family evidence.
|
|
72
|
+
|
|
73
|
+
- Harden mining and quality-control evidence accounting so short-ORF QC
|
|
74
|
+
records are idempotent and annotation-evidence totals remain reproducible
|
|
75
|
+
and auditable.
|
|
76
|
+
|
|
77
|
+
- Run validated INPHARED nearest-reference whole-genome comparison
|
|
78
|
+
automatically in `annotate`, `run`, and batch annotation workflows when the
|
|
79
|
+
INPHARED resource is READY.
|
|
80
|
+
|
|
81
|
+
- Preserve the existing cohort-level INPHARED comparison in batch discovery
|
|
82
|
+
workflows while keeping PMFDB/discovery analysis separate from ordinary
|
|
83
|
+
`annotate`.
|
|
84
|
+
|
|
85
|
+
- Add an explicit INPHARED pipeline stage and report unavailable resources as
|
|
86
|
+
SKIPPED rather than silently omitting the comparison.
|
|
87
|
+
|
|
88
|
+
- Make INPHARED comparative-report insertion idempotent so resumed or repeated
|
|
89
|
+
report updates do not duplicate the nearest-reference section.
|
|
90
|
+
|
|
91
|
+
- Correct ordinary batch annotation to invoke the annotation workflow rather
|
|
92
|
+
than the broader single-genome `run` workflow.
|
|
93
|
+
|
|
94
|
+
- Extend regression coverage for INPHARED workflow consumption, batch command
|
|
95
|
+
semantics, comparative-report idempotency, and progress reporting.
|
|
96
|
+
|
|
97
|
+
## 1.0.6
|
|
98
|
+
|
|
99
|
+
- Separate domain evidence notes from final product names; organism-specific
|
|
100
|
+
Pfam descriptions remain in raw evidence and cannot become phage products.
|
|
101
|
+
- Label functional strength as rule-based and explicitly uncalibrated.
|
|
102
|
+
- Remove the universal 70% genus rule, abstain from numerical-taxonomy
|
|
103
|
+
interpretation for partial/poorly aligned sequences, and stop describing the
|
|
104
|
+
internal BLASTN calculation as VIRIDIC output.
|
|
105
|
+
- Mark hallmark results as annotation-text screening rather than independent
|
|
106
|
+
profile validation or genome-completeness estimates.
|
|
107
|
+
- Add truth-set benchmark inputs and calibration-ready performance outputs.
|
|
108
|
+
- Add reproducible environment metadata, declared plotting/test dependencies,
|
|
109
|
+
package metadata, and automated multi-platform checks.
|
|
110
|
+
|
|
111
|
+
## 1.0.5
|
|
112
|
+
|
|
113
|
+
- Isolate tests from the persistent user database registry and make registry
|
|
114
|
+
writes atomic with a recoverable backup.
|
|
115
|
+
- Add `phagemine doctor --deep` to open and validate the registered PHROGs
|
|
116
|
+
MMseqs2 and PyHMMER databases, rather than inferring readiness from filenames.
|
|
117
|
+
- Report MMseqs2 and PyHMMER PHROGs backend status in normal run progress.
|
|
118
|
+
- Promote repeated, concordant, high-coverage annotated PHROGs profile hits
|
|
119
|
+
over a single unannotated profile and add Ijeoma-derived HNH/terminase
|
|
120
|
+
regression cases.
|
|
121
|
+
- Keep functional uncertainty separate from gene-call confidence; exact
|
|
122
|
+
PHANOTATE/Prodigal coordinate and strand agreement is now reported
|
|
123
|
+
consistently and is never converted into a possible-false-ORF flag.
|
|
124
|
+
- Add gene-call confidence and independent functional/gene-call review fields
|
|
125
|
+
to researcher-facing annotation tables.
|
|
126
|
+
- Propagate `--threads` from `phagemine batch` into every single-genome run and
|
|
127
|
+
repair nested progress-stage reporting.
|
|
128
|
+
|
|
129
|
+
## 1.0.4
|
|
130
|
+
|
|
131
|
+
- Add sensitive PHROGs profile-HMM searching through PyHMMER while retaining
|
|
132
|
+
the existing MMseqs2 search.
|
|
133
|
+
- Extract and register the existing `all_phrogs.h3m` from the checksum-pinned
|
|
134
|
+
Pharokka PHROGs distribution; no additional database download is required.
|
|
135
|
+
- Deduplicate identical PHROG calls across MMseqs2 and PyHMMER so one
|
|
136
|
+
biological source cannot be counted twice, while recording backend
|
|
137
|
+
corroboration and search-specific statistics.
|
|
138
|
+
- Add `phagemine databases attach-phrogs-hmm` for attaching an already
|
|
139
|
+
installed Pharokka `all_phrogs.h3m` to an existing PHROGs registration.
|
|
140
|
+
- Extend PHROGs refresh/resume to replace older PHROGs evidence rather than
|
|
141
|
+
silently duplicating it, and allow targeted profile-HMM refreshes without
|
|
142
|
+
rerunning gene prediction or unrelated database searches.
|
|
143
|
+
- Report PyHMMER and sensitive PHROGs profile-search readiness explicitly in
|
|
144
|
+
`phagemine doctor`.
|
|
145
|
+
|
|
146
|
+
## 1.0.3
|
|
147
|
+
|
|
148
|
+
- Replace the invalid `1 - Mash distance` pseudo-similarity with Mash-only
|
|
149
|
+
candidate screening followed by VIRIDIC-compatible bidirectional BLASTN
|
|
150
|
+
whole-genome intergenomic similarity.
|
|
151
|
+
- Report query/reference aligned fractions, genome-length ratio, explicit
|
|
152
|
+
species/genus thresholds, threshold provenance, and cautious numerical-
|
|
153
|
+
taxonomy interpretations.
|
|
154
|
+
- Add the completed INPHARED numerical-taxonomy table and downloads to the
|
|
155
|
+
primary `report.html` after comparative discovery finishes.
|
|
156
|
+
- Add simple Prokka-style `gene`, `product`, `EC_number`, evidence-source and
|
|
157
|
+
biotechnology-relevance columns. Gene symbols and EC numbers are transferred
|
|
158
|
+
only from explicit, strong, non-conflicting evidence.
|
|
159
|
+
- Normalize defensible phage terms including major capsid, Hoc-like head
|
|
160
|
+
decoration, head-scaffolding, terminase, endolysin and helicase products;
|
|
161
|
+
suppress unsupported fungal, apoptosis and bacterial-envelope labels.
|
|
162
|
+
- Identify Hoc-like decoration proteins as potential capsid-display candidates
|
|
163
|
+
in a separate application note that explicitly requires experimental
|
|
164
|
+
confirmation.
|
|
165
|
+
- Correct the progress denominator for runs that include PHANOTATE/Prodigal
|
|
166
|
+
reconciliation and alternative-ORF adjudication.
|
|
167
|
+
- Allow Core `run` to complete without invoking MMseqs2 discovery when no
|
|
168
|
+
comparative resources are registered.
|
|
169
|
+
|
|
170
|
+
## 1.0.2
|
|
171
|
+
|
|
172
|
+
- Simplify the primary annotation table to protein ID, coordinates, strand,
|
|
173
|
+
length, plain-language classification, proposed function, confidence, best
|
|
174
|
+
evidence, and a review flag. Detailed evidence remains in the dedicated
|
|
175
|
+
classification and protein-detail outputs.
|
|
176
|
+
- Add `annotated_proteins.faa` with the proposed product, coordinates, strand,
|
|
177
|
+
and confidence in every FASTA header.
|
|
178
|
+
- Make full single-genome `run` perform PHANOTATE/Prodigal comparison and write
|
|
179
|
+
explicit gene-call confidence and review tables without silently deleting
|
|
180
|
+
caller-specific ORFs.
|
|
181
|
+
- Place results in `./<input stem>_phagemine_results` when `--output` is not
|
|
182
|
+
supplied; an explicit output path continues to take precedence.
|
|
183
|
+
- Add a duplicate-collapsed INPHARED summary and distinguish exact sketch
|
|
184
|
+
matches from nearest-neighbour screens while retaining the accession-level
|
|
185
|
+
audit table.
|
|
186
|
+
- Extend annotation comparison imports to Pharokka, Phold, multiPhATE2, and
|
|
187
|
+
Prokka, with separate gene-model and product-name comparisons.
|
|
188
|
+
- Add an explicit six-tier evidence hierarchy to the detailed classification
|
|
189
|
+
output; the hierarchy contains no structural-search dependency.
|
|
190
|
+
- Add conservative hallmark-system checks and a single prioritized
|
|
191
|
+
`annotation_review.tsv` combining function conflicts, disputed gene calls,
|
|
192
|
+
and hallmark components not established by current evidence.
|
|
193
|
+
- Confirm zero-distance INPHARED matches by built-in exact nucleotide,
|
|
194
|
+
reverse-complement, and rotation-equivalence checks when the reference
|
|
195
|
+
sequence is available; do not infer ANI or taxonomy from Mash.
|
|
196
|
+
- Record checksummed external-tool inputs and hallmark-name comparisons in the
|
|
197
|
+
reproducible annotation benchmark output.
|
|
198
|
+
- Do not infer or report phage lifestyle.
|
|
199
|
+
|
|
200
|
+
## 1.0.1
|
|
201
|
+
|
|
202
|
+
- Synchronize the release version with the post-1.0.0 database installer and
|
|
203
|
+
INPHARED functionality published on GitHub.
|
|
204
|
+
- Make executable validation fail closed: a binary is `READY` only when its
|
|
205
|
+
version/help probe exits successfully. Dynamic-linker failures and other
|
|
206
|
+
runtime errors are now reported as `BROKEN` with their diagnostic text.
|
|
207
|
+
- Make `phagemine doctor` return a non-zero process status when a required
|
|
208
|
+
production executable is missing or broken; Prodigal and table2asn remain
|
|
209
|
+
optional for the normal annotation and pre-submission workflows.
|
|
210
|
+
- Distinguish an installed-but-blocked database from a database that is not
|
|
211
|
+
installed, and recommend executable repair instead of unnecessary database
|
|
212
|
+
reinstallation.
|
|
213
|
+
- Load unknown future registry resource types without crashing access to all
|
|
214
|
+
existing registered databases.
|
|
215
|
+
- Require Mash in the Bioconda run dependencies for whole-genome INPHARED
|
|
216
|
+
comparison.
|
|
217
|
+
|
|
218
|
+
- Add `phagemine databases install pfam`, `vogdb`, `swissprot`, `phrogs`,
|
|
219
|
+
`pmfdb`, and `inphared`.
|
|
220
|
+
- Add `phagemine databases install --all` with resumable downloads, published
|
|
221
|
+
checksum verification, database preparation, manifests, registration, and
|
|
222
|
+
fail-closed readiness validation.
|
|
223
|
+
- Add post-install database guidance to top-level help, the Bioconda post-link
|
|
224
|
+
template, and `phagemine doctor` recommendations.
|
|
225
|
+
- Build PMFDB and the whole-genome Mash resource from the checksum-pinned
|
|
226
|
+
INPHARED 7 April 2026 release, with conservative annotation semantics,
|
|
227
|
+
resource QC, provenance, automatic discovery use, and nearest-phage outputs.
|
|
228
|
+
|
|
229
|
+
## 1.0.0
|
|
230
|
+
|
|
231
|
+
The first stable public release. This release provides evidence-based
|
|
232
|
+
single-genome annotation, batch annotation, Discovery Mode, and Both Mode;
|
|
233
|
+
PHANOTATE integration; Pfam/VOGDB/Swiss-Prot/PHROGs evidence; conservative
|
|
234
|
+
evidence fusion and classification; genomic context/modules; candidate
|
|
235
|
+
ranking; PMF clustering and recurrence; PMFDB validation; discovery ranking;
|
|
236
|
+
publication figures with source data; HTML reports; protein/CDS retrieval;
|
|
237
|
+
GenBank pre-submission packaging; resume/checkpointing; and evidence reuse
|
|
238
|
+
with provenance.
|
|
239
|
+
|
|
240
|
+
The release does not bundle external evidence databases, PMFDB, or research
|
|
241
|
+
datasets. Unknown and no-match states are not interpreted as novelty.
|
|
242
|
+
|
|
243
|
+
## 1.0.0rc1 (historical)
|
|
244
|
+
|
|
245
|
+
This release candidate freezes the v1.0 computational workflow. It provides
|
|
246
|
+
the lightweight PhageMine Core FASTA-to-report workflow, optional evidence
|
|
247
|
+
integration, PMF/PMFDB integration when explicitly requested, local GenBank
|
|
248
|
+
pre-submission validation, and submission revision from an explicit correction
|
|
249
|
+
file without rerunning biological analysis.
|
|
250
|
+
|
|
251
|
+
The release does not bundle external evidence databases, PMFDB, or research
|
|
252
|
+
datasets. See `docs/limitations.md` for interpretation and validation limits.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
title: PhageMine
|
|
3
|
+
version: 1.3.1
|
|
4
|
+
type: software
|
|
5
|
+
message: "If you use PhageMine, please cite this release."
|
|
6
|
+
authors:
|
|
7
|
+
- family-names: Nnadi
|
|
8
|
+
given-names: Nnaemeka Emmanuel
|
|
9
|
+
orcid: https://orcid.org/0000-0002-8424-4859
|
|
10
|
+
affiliation: Department of Microbiology, Plateau State University, Bokkos, Plateau State, Nigeria; Centre for Phage Biology and Therapeutics LTD/GTE, Jos, Plateau State, Nigeria
|
|
11
|
+
license: MIT
|
|
12
|
+
repository-code: "https://github.com/emmannaemeka/PhageMine"
|
|
13
|
+
url: "https://github.com/emmannaemeka/PhageMine"
|
|
14
|
+
keywords:
|
|
15
|
+
- bacteriophage
|
|
16
|
+
- genome annotation
|
|
17
|
+
- bioinformatics
|
|
18
|
+
date-released: 2026-10-07
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# syntax=docker/dockerfile:1.7
|
|
2
|
+
FROM mambaorg/micromamba:2.3.2
|
|
3
|
+
|
|
4
|
+
LABEL org.opencontainers.image.title="PhageMine" \
|
|
5
|
+
org.opencontainers.image.source="https://github.com/emmannaemeka/PhageMine" \
|
|
6
|
+
org.opencontainers.image.version="1.3.0.dev0"
|
|
7
|
+
|
|
8
|
+
COPY --chown=$MAMBA_USER:$MAMBA_USER environment.yml /tmp/environment.yml
|
|
9
|
+
# The optional CA secret is for managed environments with a trusted proxy.
|
|
10
|
+
# Ordinary Docker builds use the base image's public CA store.
|
|
11
|
+
RUN --mount=type=secret,id=proxy_ca \
|
|
12
|
+
if [ -f /run/secrets/proxy_ca ]; then export SSL_CERT_FILE=/run/secrets/proxy_ca PIP_CERT=/run/secrets/proxy_ca CURL_CA_BUNDLE=/run/secrets/proxy_ca CONDA_SSL_VERIFY=/run/secrets/proxy_ca; fi; \
|
|
13
|
+
micromamba install --yes --name base --file /tmp/environment.yml && \
|
|
14
|
+
micromamba clean --all --yes
|
|
15
|
+
|
|
16
|
+
COPY --chown=$MAMBA_USER:$MAMBA_USER . /opt/phagemine
|
|
17
|
+
WORKDIR /opt/phagemine
|
|
18
|
+
ARG MAMBA_DOCKERFILE_ACTIVATE=1
|
|
19
|
+
RUN --mount=type=secret,id=proxy_ca \
|
|
20
|
+
if [ -f /run/secrets/proxy_ca ]; then export PIP_CERT=/run/secrets/proxy_ca; fi; \
|
|
21
|
+
python -m pip install --no-cache-dir . && \
|
|
22
|
+
python -m pip uninstall --yes textwrap3 backports.tempfile && python -m pip check
|
|
23
|
+
|
|
24
|
+
ENV PHAGEMINE_REGISTRY_PATH=/data/resources.json
|
|
25
|
+
WORKDIR /data
|
|
26
|
+
ENTRYPOINT ["/usr/local/bin/_entrypoint.sh", "phagemine"]
|
|
27
|
+
CMD ["--help"]
|
phagemine-1.3.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 PhageMine contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
include environment.yml CITATION.cff CHANGELOG.md RELEASE_VALIDATION.md
|
|
2
|
+
include .zenodo.json
|
|
3
|
+
include Dockerfile .dockerignore
|
|
4
|
+
recursive-include packaging *.yaml *.sh
|
|
5
|
+
recursive-include examples *.fasta *.json
|
|
6
|
+
recursive-include docs *.md *.png *.svg *.pdf *.tsv *.py
|
|
7
|
+
include RESEARCHER_VALIDATION.md
|
|
8
|
+
include tools/smoke_installed.py
|
|
9
|
+
include tools/publish_verified_release.py
|
phagemine-1.3.1/PKG-INFO
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: phagemine
|
|
3
|
+
Version: 1.3.1
|
|
4
|
+
Summary: Evidence-first phage annotation and discovery mining
|
|
5
|
+
Author: Nnaemeka Emmanuel Nnadi
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 PhageMine contributors
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
|
|
28
|
+
Project-URL: Homepage, https://github.com/emmannaemeka/PhageMine
|
|
29
|
+
Project-URL: Repository, https://github.com/emmannaemeka/PhageMine
|
|
30
|
+
Project-URL: Issues, https://github.com/emmannaemeka/PhageMine/issues
|
|
31
|
+
Project-URL: Changelog, https://github.com/emmannaemeka/PhageMine/blob/main/CHANGELOG.md
|
|
32
|
+
Project-URL: Documentation, https://github.com/emmannaemeka/PhageMine/blob/main/docs/installation.md
|
|
33
|
+
Keywords: bacteriophage,phage,genome annotation,comparative genomics,bioinformatics,viral genomics,PHANOTATE,PHROGs,INPHARED
|
|
34
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
35
|
+
Classifier: Intended Audience :: Science/Research
|
|
36
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
37
|
+
Classifier: Programming Language :: Python :: 3
|
|
38
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
39
|
+
Requires-Python: >=3.10
|
|
40
|
+
Description-Content-Type: text/markdown
|
|
41
|
+
License-File: LICENSE
|
|
42
|
+
Requires-Dist: biopython<2,>=1.85
|
|
43
|
+
Requires-Dist: psutil<8,>=5
|
|
44
|
+
Requires-Dist: matplotlib<4,>=3.7
|
|
45
|
+
Requires-Dist: pyhmmer<0.13,>=0.10
|
|
46
|
+
Requires-Dist: pyrodigal==3.7.1
|
|
47
|
+
Requires-Dist: pyrodigal-gv==0.3.2
|
|
48
|
+
Requires-Dist: pyrodigal-rv==0.1.0
|
|
49
|
+
Provides-Extra: gui
|
|
50
|
+
Requires-Dist: streamlit<2,>=1.49; extra == "gui"
|
|
51
|
+
Provides-Extra: test
|
|
52
|
+
Requires-Dist: biopython<2,>=1.85; extra == "test"
|
|
53
|
+
Requires-Dist: build<2,>=1; extra == "test"
|
|
54
|
+
Requires-Dist: pytest<10,>=8; extra == "test"
|
|
55
|
+
Requires-Dist: tomli; python_version < "3.11" and extra == "test"
|
|
56
|
+
Dynamic: license-file
|
|
57
|
+
|
|
58
|
+
# PhageMine: Bacteriophage Genome Annotation and Comparative Genomics
|
|
59
|
+
|
|
60
|
+
[](https://github.com/emmannaemeka/PhageMine/actions/workflows/ci.yml)
|
|
61
|
+
[](https://bioconda.github.io/recipes/phagemine/README.html)
|
|
62
|
+
[](https://doi.org/10.5281/zenodo.22794629)
|
|
63
|
+
[](LICENSE)
|
|
64
|
+
|
|
65
|
+
**PhageMine** is an open-source bioinformatics pipeline for bacteriophage genome
|
|
66
|
+
annotation, functional evidence integration and comparative genomics. It combines
|
|
67
|
+
phage-focused gene prediction with protein sequence and profile searches, links
|
|
68
|
+
functional assignments to their supporting evidence, and produces annotated
|
|
69
|
+
sequences, evidence tables and an HTML report.
|
|
70
|
+
|
|
71
|
+
PhageMine uses PHANOTATE for protein-coding gene prediction; PHROGs, VOGDB, Pfam
|
|
72
|
+
and Swiss-Prot for functional evidence; and INPHARED references for comparative
|
|
73
|
+
genomic context. It is designed for researchers working in phage genomics,
|
|
74
|
+
bacteriophage genome annotation, viral genomics and related bioinformatics
|
|
75
|
+
workflows.
|
|
76
|
+
|
|
77
|
+
## What it does
|
|
78
|
+
|
|
79
|
+
- Predicts protein-coding genes with PHANOTATE.
|
|
80
|
+
- Uses PHROGs, VOGDB, Pfam and Swiss-Prot to assess protein function.
|
|
81
|
+
- Reports supporting evidence, conflicting assignments and unknown functions.
|
|
82
|
+
- Processes individual genomes or genome collections.
|
|
83
|
+
- Groups related proteins into families and compares genomes with INPHARED references.
|
|
84
|
+
- Exports GFF3, protein FASTA and GenBank preparation files.
|
|
85
|
+
|
|
86
|
+
## Install
|
|
87
|
+
|
|
88
|
+
The current stable release is [v1.3.1](https://github.com/emmannaemeka/PhageMine/releases/tag/v1.3.1).
|
|
89
|
+
Python 3.10 or later is required.
|
|
90
|
+
|
|
91
|
+
Install from Bioconda, which brings the external analysis tools with it:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
conda create --name phagemine --channel conda-forge --channel bioconda phagemine
|
|
95
|
+
conda activate phagemine
|
|
96
|
+
phagemine doctor
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Or from PyPI, with the external tools installed separately:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
pip install phagemine
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
To install from source instead:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
git clone --branch v1.3.1 --depth 1 https://github.com/emmannaemeka/PhageMine.git
|
|
109
|
+
cd PhageMine
|
|
110
|
+
conda env create --file environment.yml
|
|
111
|
+
conda activate phagemine
|
|
112
|
+
python -m pip install .
|
|
113
|
+
phagemine doctor
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Install the databases before running functional annotation:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
phagemine databases install --all
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
This installs PHROGs, Swiss-Prot, Pfam and VOGDB, plus PMFDB and INPHARED
|
|
123
|
+
comparative references. Prepared databases require additional disk space beyond
|
|
124
|
+
the download sizes.
|
|
125
|
+
|
|
126
|
+
See the [installation guide](docs/installation.md) for platform requirements
|
|
127
|
+
and troubleshooting.
|
|
128
|
+
|
|
129
|
+
## Annotate a genome
|
|
130
|
+
|
|
131
|
+
Supply a single-genome nucleotide FASTA file:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
phagemine run genome.fasta --output results/genome --threads 8
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Open `results/genome/report.html` to browse the results. The output directory
|
|
138
|
+
also contains `annotation.tsv`, `genes.gff3`, `proteins.faa` and supporting
|
|
139
|
+
evidence files.
|
|
140
|
+
|
|
141
|
+
To check the installation with the bundled example:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
phagemine run examples/demo_phage.fasta --output results/example
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Installed databases are detected automatically. Without them, the example
|
|
148
|
+
checks gene prediction and report generation; functional evidence is unavailable.
|
|
149
|
+
|
|
150
|
+
Run `phagemine --help` for all commands and `phagemine run --help` for annotation
|
|
151
|
+
options.
|
|
152
|
+
|
|
153
|
+
## Reading the results
|
|
154
|
+
|
|
155
|
+
Product names describe the function supported by the available evidence.
|
|
156
|
+
Proteins without a supported function remain hypothetical or are identified as
|
|
157
|
+
conserved proteins of unknown function. Gene symbols, protein products and
|
|
158
|
+
locus identifiers are reported separately.
|
|
159
|
+
|
|
160
|
+
PhageMine is research software. Functional predictions require review,
|
|
161
|
+
and confidence labels describe evidence strength rather than calibrated
|
|
162
|
+
probabilities. See the [limitations](docs/limitations.md) for interpretation.
|
|
163
|
+
|
|
164
|
+
## Citation and support
|
|
165
|
+
|
|
166
|
+
Citation information is available in [CITATION.cff](CITATION.cff) and the
|
|
167
|
+
[archived release](https://doi.org/10.5281/zenodo.22794629).
|
|
168
|
+
|
|
169
|
+
Report bugs or request features through
|
|
170
|
+
[GitHub Issues](https://github.com/emmannaemeka/PhageMine/issues).
|
|
171
|
+
PhageMine is distributed under the [MIT licence](LICENSE).
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# PhageMine: Bacteriophage Genome Annotation and Comparative Genomics
|
|
2
|
+
|
|
3
|
+
[](https://github.com/emmannaemeka/PhageMine/actions/workflows/ci.yml)
|
|
4
|
+
[](https://bioconda.github.io/recipes/phagemine/README.html)
|
|
5
|
+
[](https://doi.org/10.5281/zenodo.22794629)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
**PhageMine** is an open-source bioinformatics pipeline for bacteriophage genome
|
|
9
|
+
annotation, functional evidence integration and comparative genomics. It combines
|
|
10
|
+
phage-focused gene prediction with protein sequence and profile searches, links
|
|
11
|
+
functional assignments to their supporting evidence, and produces annotated
|
|
12
|
+
sequences, evidence tables and an HTML report.
|
|
13
|
+
|
|
14
|
+
PhageMine uses PHANOTATE for protein-coding gene prediction; PHROGs, VOGDB, Pfam
|
|
15
|
+
and Swiss-Prot for functional evidence; and INPHARED references for comparative
|
|
16
|
+
genomic context. It is designed for researchers working in phage genomics,
|
|
17
|
+
bacteriophage genome annotation, viral genomics and related bioinformatics
|
|
18
|
+
workflows.
|
|
19
|
+
|
|
20
|
+
## What it does
|
|
21
|
+
|
|
22
|
+
- Predicts protein-coding genes with PHANOTATE.
|
|
23
|
+
- Uses PHROGs, VOGDB, Pfam and Swiss-Prot to assess protein function.
|
|
24
|
+
- Reports supporting evidence, conflicting assignments and unknown functions.
|
|
25
|
+
- Processes individual genomes or genome collections.
|
|
26
|
+
- Groups related proteins into families and compares genomes with INPHARED references.
|
|
27
|
+
- Exports GFF3, protein FASTA and GenBank preparation files.
|
|
28
|
+
|
|
29
|
+
## Install
|
|
30
|
+
|
|
31
|
+
The current stable release is [v1.3.1](https://github.com/emmannaemeka/PhageMine/releases/tag/v1.3.1).
|
|
32
|
+
Python 3.10 or later is required.
|
|
33
|
+
|
|
34
|
+
Install from Bioconda, which brings the external analysis tools with it:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
conda create --name phagemine --channel conda-forge --channel bioconda phagemine
|
|
38
|
+
conda activate phagemine
|
|
39
|
+
phagemine doctor
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Or from PyPI, with the external tools installed separately:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install phagemine
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
To install from source instead:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
git clone --branch v1.3.1 --depth 1 https://github.com/emmannaemeka/PhageMine.git
|
|
52
|
+
cd PhageMine
|
|
53
|
+
conda env create --file environment.yml
|
|
54
|
+
conda activate phagemine
|
|
55
|
+
python -m pip install .
|
|
56
|
+
phagemine doctor
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Install the databases before running functional annotation:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
phagemine databases install --all
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
This installs PHROGs, Swiss-Prot, Pfam and VOGDB, plus PMFDB and INPHARED
|
|
66
|
+
comparative references. Prepared databases require additional disk space beyond
|
|
67
|
+
the download sizes.
|
|
68
|
+
|
|
69
|
+
See the [installation guide](docs/installation.md) for platform requirements
|
|
70
|
+
and troubleshooting.
|
|
71
|
+
|
|
72
|
+
## Annotate a genome
|
|
73
|
+
|
|
74
|
+
Supply a single-genome nucleotide FASTA file:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
phagemine run genome.fasta --output results/genome --threads 8
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Open `results/genome/report.html` to browse the results. The output directory
|
|
81
|
+
also contains `annotation.tsv`, `genes.gff3`, `proteins.faa` and supporting
|
|
82
|
+
evidence files.
|
|
83
|
+
|
|
84
|
+
To check the installation with the bundled example:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
phagemine run examples/demo_phage.fasta --output results/example
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Installed databases are detected automatically. Without them, the example
|
|
91
|
+
checks gene prediction and report generation; functional evidence is unavailable.
|
|
92
|
+
|
|
93
|
+
Run `phagemine --help` for all commands and `phagemine run --help` for annotation
|
|
94
|
+
options.
|
|
95
|
+
|
|
96
|
+
## Reading the results
|
|
97
|
+
|
|
98
|
+
Product names describe the function supported by the available evidence.
|
|
99
|
+
Proteins without a supported function remain hypothetical or are identified as
|
|
100
|
+
conserved proteins of unknown function. Gene symbols, protein products and
|
|
101
|
+
locus identifiers are reported separately.
|
|
102
|
+
|
|
103
|
+
PhageMine is research software. Functional predictions require review,
|
|
104
|
+
and confidence labels describe evidence strength rather than calibrated
|
|
105
|
+
probabilities. See the [limitations](docs/limitations.md) for interpretation.
|
|
106
|
+
|
|
107
|
+
## Citation and support
|
|
108
|
+
|
|
109
|
+
Citation information is available in [CITATION.cff](CITATION.cff) and the
|
|
110
|
+
[archived release](https://doi.org/10.5281/zenodo.22794629).
|
|
111
|
+
|
|
112
|
+
Report bugs or request features through
|
|
113
|
+
[GitHub Issues](https://github.com/emmannaemeka/PhageMine/issues).
|
|
114
|
+
PhageMine is distributed under the [MIT licence](LICENSE).
|