bio-phylogenomics
Skill9 starsChanged 4 months agoMITView on GitHub
Build marker-gene alignments and ML trees and find closest relatives. Use when inferring phylogenies, placing genomes, choosing substitution models, or checking tree support.
In this repository35 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/agents.mdAGENTS.md
- ai-scientist-evaluatorSkill
- arxiv-searchSkill
- beautiful-data-vizSkill
- bio-annotationSkill
- bio-assembly-qcSkill
- bio-binning-qcSkill
- bio-fasta-database-curatorSkill
- bio-foundation-housekeepingSkill
- bio-gene-callingSkill
- bioinformatics-projectSkill
- bio-interdomain-hgtSkill
- bio-logicSkill
- bio-prefect-dask-nextflowSkill
- bio-protein-clustering-pangenomeSkill
- bio-reads-qc-mappingSkill
- biorxiv-searchSkill
- bio-stats-ml-reportingSkill
- bio-structure-annotationSkill
- bio-viromicsSkill
- bio-workflow-methods-docwriterSkill
- crossref-lookupSkill
- csag-extractionSkill
- exploratory-data-analysisSkill
- manuscript-review-councilSkill
- notebooksSkill
- pdf-to-mdSkill
- plotly-dashboard-skillSkill
- polars-dovmedSkill
- proposal-reviewSkill
- public-db-lookupSkill
- scientific-impact-assessmentSkill
- scientific-writingSkill
- tracking-taxonomy-updatesSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Use the literature-derived analysis playbook to choose markers, reference sampling, rooting, and placement strategy for the inferred group.
- Very specific: line 34
Use iqtree3 --fast only when VeryFastTree is unavailable or the project requires IQ-TREE output.
- Very specific: line 42
Run tree inference for real datasets on a workstation or compute node with an explicit thread count.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Bio Phylogenomics
Build marker-gene alignments and maximum-likelihood trees, identify closest relatives, and fetch the relative genomes that downstream comparisons need.
Instructions
Tool guides, versions, and verified flags: docs/README.md.
- Use the literature-derived analysis playbook to choose markers, reference sampling, rooting, and placement strategy for the inferred group.
- Extract marker genes or SSU rRNA sequences for the queries and references.
Validate the marker and reference manifests and write a checksum-gated, fixed-seed plan; inspect
run_manifest.json, then rerun with--execute:uv run --script skills/bio-phylogenomics/scripts/run_phylogenomics.py \ markers.tsv --references references.tsv --seed 1729 \ --tree-tool veryfasttree --threads 4 --out results/bio-phylogenomics/treesmarkers.tsvcolumns:marker_id fasta sequence_type(proteinornucleotide); each FASTA holds the unaligned marker sequences.references.tsvcolumns:accession path sha256; every reference file must match its checksum before anything runs.- Per marker the plan runs
mafft --auto,trimal -automated1, then the tree tool, and writessupport.tsv.--tree-tool iqtree3(default) runs-m MFP -B 1000 --alrt 1000;veryfasttreeruns-boot 1000and adds-ntfor nucleotide markers.--threadssets the thread count for MAFFT and the tree tool. - A stage is reused only when its outputs are non-empty and its
.donemarker exists. support.tsvholds every internal support value on a 0–1 scale. IQ-TREESH-aLRT/UFBootlabels become separatesh_alrtandufbootrows; mixed 0–1 and 0–100 values within one support type fail validation.--normalize-only TREE --out support.tsvnormalizes an existing tree.
- Align with MAFFT v7.5 or later and trim with trimAl v1.5 (or ClipKIT when phylogenetically informed trimming is preferred).
- Choose the tree builder by objective first, then by leaf count:
- Exploratory placement, reference-set screening, benchmark iterations, or any time-bounded run: VeryFastTree v4.0.5, at any size.
VeryFastTree -boot 1000 -threads <n> alignment.faa > tree.nwk; add-ntfor nucleotides. - Final or publication trees up to about 2,000 taxa: IQ-TREE v3.1.4 with ModelFinder (
-m MFP), UFBoot and SH-aLRT, and a fixed--seed. - Above about 2,000 taxa, or when memory or runtime is uncertain: VeryFastTree, with
-disk-computingfor very large trees. - Use
iqtree3 --fastonly when VeryFastTree is unavailable or the project requires IQ-TREE output; record the fallback in the report.
- Exploratory placement, reference-set screening, benchmark iterations, or any time-bounded run: VeryFastTree v4.0.5, at any size.
- Post-process trees with ETE v4 (
ete4): root, prune, collapse weak nodes, compute distances, and attach taxonomy or trait annotations. ETE's default Newick parser rejects IQ-TREESH-aLRT/UFBootlabels; load those trees withparser=1as shown in docs/ete-toolkit.md. - Draw tree figures in greyscale by default. Use color only when it encodes information the reader must tell apart (for example the query versus references, or a small set of clades), choose a colorblind-safe palette, and pair color with a second encoding such as label text, shape, or line style.
- Identify nearest neighbors and the closest named relatives for each query when the marker and reference set support that interpretation. Separate well-supported nearest relatives from weak placements.
- Export
closest_relatives.tsvwith support values, distances, taxonomy, reference accessions, and uncertainty notes. - Fetch and persist the close-relative genomes and proteomes for downstream comparisons:
results/bio-phylogenomics/relatives/{accession}/genome.fnaandproteins.faa, plusrelatives_manifest.tsvwith accession, source database, taxonomy, genome size, gene count, and the reason for inclusion. Record each failed download with its reason. The comparative axes downstream cannot run without this table. - Pass the well-supported relatives, or a documented broader comparison set, to
/bio-protein-clustering-pangenomeand/bio-annotation.
Run tree inference for real datasets on a workstation or compute node with an explicit thread count; on HPC, submit it through sbatch with CPUs matched to --threads.
Input Requirements
Prerequisites:
- MAFFT, trimAl, IQ-TREE 3, VeryFastTree, and ETE 4 pinned in the project's Pixi environment; see docs/README.md.
Inputs:
markers.tsvwith one unaligned FASTA per marker (markers.faa), or existing alignmentsreferences.tsvwith reference file paths and SHA-256 checksums
Output
Driver outputs under the --out directory (results/bio-phylogenomics/trees/ above):
- one directory per marker (
{marker_id}/) withalignment.fasta,trimmed.fasta,support.tsv, and stage.donemarkers - the tree in the same directory:
tree.nwkfrom VeryFastTree, or IQ-TREE's.treefileand companion files next totrimmed.fasta run_manifest.json: seed, tree tool, threads, inputs, and every stage command- stdout: the last line is one JSON envelope
{ok, skill, out, manifest, warnings}(driver stdout contract in AGENTS.md)
Workflow outputs under results/bio-phylogenomics/, written by the agent:
- (agent-authored)
closest_relatives.tsv - (agent-authored)
relatives/{accession}/genome.fnaandrelatives/{accession}/proteins.faa - (agent-authored)
relatives_manifest.tsv - (agent-authored)
phylo_report.md,logs/
Quality Gates
markers.faais non-empty and aligned sequences are consistent.- Every reference checksum matches before alignment, and the run manifest records a positive fixed seed and the thread count.
- Alignment length and missingness meet the project thresholds.
- A stage is reused only when its outputs are non-empty and its
.donemarker exists. - Internal supports are exported on a documented 0–1 scale without mixing IQ-TREE and VeryFastTree conventions.
- Support summaries meet the project thresholds, or the shortfall is reported.
- Marker and reference choices are justified against the literature-derived playbook.
- Closest relatives are reported with support and distance, or the uncertainty is stated.
relatives_manifest.tsvis populated and the matching genome and proteome files exist, or each failure is recorded with a reason.- Tree figures are greyscale unless color encodes information, and no information is carried by color alone.
- On execution failure, logs are kept and the failed command is reported; a retry follows a diagnosis and records the changed parameters. Parameters are never tuned only to pass a gate.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

